Skip to content

feat(macOS): enable cross app update#309812

Merged
deepak1556 merged 5 commits intomainfrom
robo/cross_app_update_macos
Apr 15, 2026
Merged

feat(macOS): enable cross app update#309812
deepak1556 merged 5 commits intomainfrom
robo/cross_app_update_macos

Conversation

@deepak1556
Copy link
Copy Markdown
Collaborator

@deepak1556 deepak1556 commented Apr 14, 2026

Fixes #308646

ICrossAppIPCService:
- Owns the single crossAppIPC connection for the application
- Exposes onDidConnect, onDidDisconnect, onDidReceiveMessage events

Secret sharing refactoring:
- MacOSCrossAppSecretSharing now takes ICrossAppIPCService instead of
  creating its own crossAppIPC connection

@deepak1556 deepak1556 added this to the 1.116.0 milestone Apr 14, 2026
@deepak1556 deepak1556 self-assigned this Apr 14, 2026
Copilot AI review requested due to automatic review settings April 14, 2026 11:13
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 14, 2026

Screenshot Changes

Base: a4af38f0 Current: 153ee338

Changed (3)

editor/inlineCompletions/other/JumpToHint/Dark
Before After
before after
chat/aiCustomizations/aiCustomizationManagementEditor/McpBrowseMode/Light
Before After
before after
agentSessionsViewer/NeedsInput/Dark
Before After
before after

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Enables macOS cross-app update coordination for the Agents app (mirroring existing Windows behavior) by introducing a shared cross-app IPC service and refactoring existing crossAppIPC consumers to use it.

Changes:

  • Enable cross-app update coordinator on macOS (insider/exploration) in the Agents UI and app bootstrap.
  • Introduce ICrossAppIPCService to own a single crossAppIPC connection and expose connect/disconnect/message events.
  • Refactor CrossAppUpdateCoordinator and MacOSCrossAppSecretSharing to consume ICrossAppIPCService instead of creating their own connections.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/vs/sessions/contrib/accountMenu/browser/account.contribution.ts Treat macOS insider/exploration as having cross-app update coordination available.
src/vs/platform/update/electron-main/crossAppUpdateIpc.ts Update coordinator now uses shared IPC service instead of owning Electron crossAppIPC directly.
src/vs/platform/secrets/electron-main/macOSCrossAppSecretSharing.ts Secret sharing refactored to use shared IPC service.
src/vs/platform/crossAppIpc/electron-main/crossAppIpcService.ts New shared service that manages the single crossAppIPC connection and events.
src/vs/code/electron-main/app.ts Registers the service and initializes it for cross-app update coordination on macOS/Windows insider/exploration.
package.json Updates distro identifier.
build/lib/electron.ts Alters Electron build tag logic (now hard-coded).
Comments suppressed due to low confidence (1)

src/vs/platform/secrets/electron-main/macOSCrossAppSecretSharing.ts:176

  • initializeAsHostApp checks crossAppIPCService.available, but available is currently false unless CrossAppIPCService.initialize() has already been called somewhere else. This makes host-side secret sharing a no-op when the update coordinator path doesn’t run (e.g. non-insider/exploration). Ensure the IPC service is initialized before checking availability / registering message handlers so the host can actually respond to SecretRequest.
		if (!this.crossAppIPCService.available) {
			this.logService.info('[CrossAppSecretSharing] crossAppIPC not available');
			onComplete?.();
			return;
		}

Comment thread src/vs/platform/update/electron-main/crossAppUpdateIpc.ts
Comment thread src/vs/platform/crossAppIpc/electron-main/crossAppIpcService.ts Outdated
Comment thread src/vs/platform/crossAppIpc/electron-main/crossAppIpcService.ts
Comment thread src/vs/code/electron-main/app.ts
Comment thread build/lib/electron.ts Outdated
Comment thread src/vs/platform/secrets/electron-main/macOSCrossAppSecretSharing.ts
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Comment thread src/vs/platform/crossAppIpc/electron-main/crossAppIpcService.ts
Comment thread src/vs/platform/secrets/electron-main/macOSCrossAppSecretSharing.ts
Comment thread src/vs/platform/secrets/electron-main/macOSCrossAppSecretSharing.ts
@deepak1556 deepak1556 force-pushed the robo/cross_app_update_macos branch from e983f77 to fdb49b9 Compare April 14, 2026 13:09
@deepak1556 deepak1556 modified the milestones: 1.116.0, 1.117.0 Apr 14, 2026
ICrossAppIPCService:
- Owns the single crossAppIPC connection for the application
- Exposes onDidConnect, onDidDisconnect, onDidReceiveMessage events

Secret sharing refactoring:
- MacOSCrossAppSecretSharing now takes ICrossAppIPCService instead of
  creating its own crossAppIPC connection
@deepak1556 deepak1556 force-pushed the robo/cross_app_update_macos branch from 58ca902 to 2b7108d Compare April 15, 2026 10:10
@deepak1556 deepak1556 marked this pull request as ready for review April 15, 2026 10:10
@deepak1556 deepak1556 enabled auto-merge (squash) April 15, 2026 10:10
@vs-code-engineering
Copy link
Copy Markdown
Contributor

vs-code-engineering bot commented Apr 15, 2026

📬 CODENOTIFY

The following users are being notified based on files changed in this PR:

@bpasero

Matched files:

  • src/vs/code/electron-main/app.ts

@TylerLeonhardt

Matched files:

  • src/vs/platform/secrets/electron-main/macOSCrossAppSecretSharing.ts

@deepak1556 deepak1556 merged commit 7e07af9 into main Apr 15, 2026
26 of 27 checks passed
@deepak1556 deepak1556 deleted the robo/cross_app_update_macos branch April 15, 2026 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Agents: Self-update support (macOS)

3 participants