Uh oh!
There was an error while loading. Please reload this page.
refactor(desktop): register Workbar surface descriptors - #4747
Conversation
CI triage: the only failure was The single Workbar commit is now rebased without conflict onto CI triage and base-sync update posted with OpenAI Codex assistance on behalf of @testikun. |
dd77ac3 to
10d5f8dComparetestikun
commented
Sep 4, 2026
The post-rebase CI reached Desktop E2E after architecture, lint, format, build, typecheck, knip, and affected workspace tests passed. Its sole failure was the unrelated existing |
10d5f8d to
b67c360CompareConverge Workbar labels, icons, launcher entries, and panel rendering on one exhaustive typed registry while preserving existing singleton and dynamic resource behavior. Generated-by: OpenAI Codex
b67c360 to
2f1a9beCompareAstro-Han
commented
Sep 5, 2026
Thanks for the careful work here, the behavior-equivalence is real: I traced launcher order, shortcuts, icons, lazy panels and the The real duplication this PR targets is already fixed in flight, by deletion. The only place The rest is a second registry, not a smaller surface. Two smaller notes for the record, since the tests would need to change regardless: the boundary test asserts source text with exact indentation, which Biome would break without any behavior change, and exhaustiveness is already enforced by the mapped type; and the new Electron case duplicates I will note on #4331 that the launcher half of "registered tab descriptor model" lands with #4789, and the rest should wait until third-party panels are actually scheduled. Closing. AI-assisted review: drafted with Maka; I verified the launcher equivalence, the #4789 overlap and the dead icon field myself. |
Summary
Fixes#4744
Verification
node --test apps/desktop/dist/main/__tests__/workbar-boundary.test.js apps/desktop/dist/main/__tests__/workbar-model.test.js— 14/14 passed after the base sync.npx playwright test --config e2e/playwright.config.ts e2e/session-workbar.spec.ts --grep "registered Workbar descriptors"— 1/1 passed in a real Electron fixture after the base sync.npm --workspace @maka/desktop run typecheck— passed after the base sync.npm --workspace @maka/desktop run check:architecture -- --base apache/main— 71/71 checker fixtures passed; renderer architecture check passed againstapache/main.npm --workspace @maka/desktop run build— passed, including renderer entry and third-party notice checks.npm run lintandnpm run format:check— passed across the repository.git diff --check— passed.Built and launched current head
b67c360cein a visible local Electron App and ran the registered-descriptor journey: the launcher exposed every registered first-party tool, singleton Todo stayed single, and Terminal and Side Conversation opened as distinct dynamic tabs.Real App screenshot
This direct capture comes from that locally running Electron test; it is not a mockup or generated image.
Base sync
Rebased the single feature commit without conflict onto
apache/mainata6fd57ba8, including #4741, which removes the unrelated layout-tier E2E that failed the first CI attempt. No functional Workbar code changed during the rebase.Review focus
The registry remains private to the Workbar feature. It does not introduce a plugin API or move Side Conversation/Terminal lifecycle ownership into the surface layer.
AI use
Select exactly one:
Tool(s) and scope: OpenAI Codex audited the existing Workbar boundaries, implemented the descriptor refactor and regression coverage, rebased the single feature commit onto the updated base, and ran the listed verification. The human contributor remains responsible for review and submission.
Checklist
Does this PR entail a change in behavior?