Skip to content

feat(broker): carry shell project identity to embedded apps - #13

Merged
huhn511 merged 1 commit into
mainfrom
feat/projects-broker-identity
Jun 20, 2026
Merged

feat(broker): carry shell project identity to embedded apps#13
huhn511 merged 1 commit into
mainfrom
feat/projects-broker-identity

Conversation

@huhn511

@huhn511 huhn511 commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

What

Makes the capability bridge propagate the shell's active project to embedded apps, and registers the Projects app in the launcher catalog.

Why

The broker's welcome handler dropped BridgeIdentity.project (only surfaced webId + podRoot). A project-scoped embedded app (Projects) fell back to its build-time default and silently disagreed with the shell's project switcher ("No project" in the shell while the app showed a phantom project).

Changes

  • BrokerIdentity gains project: { id, name } | null (null = whole-workspace / "no project" scope), parsed from the welcome message.
  • New subscribeBrokeredIdentity(fn) — fires when the brokered identity/project changes so embedded apps re-resolve without an iframe reload.
  • catalog.ts: register Projects (NEXT_PUBLIC_APP_PROJECTS_URL, default http://localhost:3160).

Companion PRs

  • shell: live setProject() push over the bridge
  • apps/projects: follows the brokered project + "no project" empty state

Verification

Playwright-verified live: switching No-project ↔ My-Workspace in the shell updates the embedded app without reloading the iframe.

🤖 Generated with Claude Code

The capability-bridge welcome dropped BridgeIdentity.project, surfacing
only webId + podRoot. A project-scoped embedded app (Projects) therefore
fell back to its own build-time default and silently disagreed with the
shell's project switcher.

- BrokerIdentity gains `project: { id, name } | null` (null = whole-
  workspace / "no project" scope), parsed from the welcome message.
- Add subscribeBrokeredIdentity(fn): fires when the brokered identity or
  active project changes so embedded apps re-resolve without an iframe
  reload.
- Register the Projects app in the launcher catalog
  (NEXT_PUBLIC_APP_PROJECTS_URL, default http://localhost:3160).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@huhn511
huhn511 merged commit 90bb4a2 into main Jun 20, 2026
1 check passed
@huhn511
huhn511 deleted the feat/projects-broker-identity branch June 20, 2026 17:20
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.

1 participant