Skip to content

feat(electron): the desktop host implements the PlatformPort (0406) - #649

Merged
crs48 merged 1 commit into
mainfrom
claude/0406-desktop-port
Jul 28, 2026
Merged

feat(electron): the desktop host implements the PlatformPort (0406)#649
crs48 merged 1 commit into
mainfrom
claude/0406-desktop-port

Conversation

@crs48

@crs48 crs48 commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Continues exploration 0406 (14/33 after this). The desktop's half of the seam #641 defined.

useDesktopPlatformPort resolves NavTarget intents to ShellState transitions through the shell's own handlers (home restores the viewport; documents go through type lookup and the canvas glide), and synthesizes pathnames in web's route grammar so shared core modules (tabFromPathname, route titles) behave identically on both hosts. Unhandled targets return false and warn loudly — the silent dead click is the failure mode this exploration exists to kill.

PlatformProvider now wraps the desktop shell tree: the moment shared chrome mounts here, its navigation already works.

Verification: 6 new unit tests pin the pathname grammar and dispatch table (155 electron total, all green); typecheck clean; verified live over CDP that the provider mounts and the shell + Assistant behave unchanged.

skip-changelog: internal plumbing, no user-visible change.

🤖 Generated with Claude Code

Adds useDesktopPlatformPort (0406 phase 3): NavTarget intents resolve to
ShellState transitions through the shell's own handlers — home restores the
viewport, documents go through type lookup and the canvas glide — and the
pathname is synthesized in web's route grammar so shared core modules
(tabFromPathname, route titles) behave identically on both hosts.

Unhandled targets return false and the port warns loudly — the silent dead
click is the failure mode 0406 exists to kill. Six unit tests pin the
pathname grammar and dispatch table; verified live that the provider mounts
and the shell + Assistant behave unchanged.

This is the desktop's half of the seam #641 defined: the moment shared
chrome mounts here, its navigation already works.

Signed-off-by: xNet Test <test@xnet.dev>
@crs48 crs48 added the skip-changelog Exclude this PR from the changelog label Jul 28, 2026
@crs48
crs48 temporarily deployed to pr-649 July 28, 2026 20:59 — with GitHub Actions Inactive
@github-actions

Copy link
Copy Markdown
Contributor

🖼️ UI changes in this PR

No visual differences detected in the changed UI.

CI run

github-actions Bot added a commit that referenced this pull request Jul 28, 2026
github-actions Bot added a commit that referenced this pull request Jul 28, 2026
@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Preview removed for PR #649.

github-actions Bot added a commit that referenced this pull request Jul 28, 2026
@crs48
crs48 merged commit d116903 into main Jul 28, 2026
21 of 22 checks passed
@crs48
crs48 deleted the claude/0406-desktop-port branch July 28, 2026 21:08
github-actions Bot added a commit that referenced this pull request Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog Exclude this PR from the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant