Skip to content

[pull] main from microsoft:main#1283

Merged
pull[bot] merged 5 commits into
code:mainfrom
microsoft:main
May 22, 2026
Merged

[pull] main from microsoft:main#1283
pull[bot] merged 5 commits into
code:mainfrom
microsoft:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 22, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

digitarald and others added 5 commits May 21, 2026 22:21
* Forward session sync setting to copilot-sdk via remote flag

When chat.sessionSync.enabled is true, pass remote: true in
CopilotClientOptions so the SDK exports sessions to cloud storage.

- Add AgentHostSessionSyncEnabledConfigKey to platformRootSchema
- Forward setting from renderer via RootConfigChanged action
- Read config in CopilotAgent and pass as remote in client options
- Restart CLI client on setting change when no active sessions

The remote field uses an intersection type for forward-compat until
the SDK bump in #317241 lands (CopilotClientOptions natively gains it).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address review: handle async errors and init _lastSessionSyncEnabled

- Add .catch() to _restartClientIfSessionSyncChanged() call to prevent
  unhandled promise rejections
- Initialize _lastSessionSyncEnabled from config eagerly to avoid
  spurious client restarts on unrelated root config changes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Enhance feedback widget behavior: implement auto-hide logic and preserve state when text is present
Fix #317643

The shared-process `UnusedWorkspaceStorageDataCleaner` was deleting the
agents window's workspace storage folder (chat sessions, edits, images,
test results, etc.) when the agents window was not open within ~30s of
Code launching.

The agents window uses a synthetic workspace identifier computed in the
renderer via the browser-side `getWorkspaceIdentifier` (a short hex
hash). The on-disk storage folder is named with this short id, but none
of the cleaner's preservation checks matched it:
- length check expects 32-char MD5 ids
- ext-dev id check does not match
- main-side `window.workspace.id` is the 32-char MD5 (mismatch)
- `isUsed` only true while the agents window is actually open

Changes:
- Move `getWorkspaceIdentifier`/`getSingleFolderWorkspaceIdentifier`
  from `workbench/services/workspaces/browser/workspaces.ts` to
  `platform/workspaces/common/workspaceIdentifier.ts` so the
  shared-process cleaner can import them without layer violations.
- Promote `IEnvironmentService.agentSessionsWorkspace` to required and
  add a browser-side implementation in `BrowserWorkbenchEnvironmentService`
  (stub in `StandaloneEnvironmentService`).
- In the cleaner, preserve the folder matching
  `getWorkspaceIdentifier(env.agentSessionsWorkspace).id`.
- Add a unit test that asserts the agents window folder survives cleanup
  while other empty-workspace folders are removed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* promptFileContributions are missing sessionTypes

* update
This is easily isolated in a contrib, simplifying the core terminal further
@pull pull Bot locked and limited conversation to collaborators May 22, 2026
@pull pull Bot added the ⤵️ pull label May 22, 2026
@pull pull Bot merged commit 9f6c94c into code:main May 22, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants