Skip to content

refactor(desktop): remove consumer-less IPC bridge surface - #2065

Merged
Astro-Han merged 2 commits into
apache:mainfrom
UncertaintyDeterminesYou4ndMe:chore/remove-dead-ipc-surface
Aug 4, 2026
Merged

refactor(desktop): remove consumer-less IPC bridge surface#2065
Astro-Han merged 2 commits into
apache:mainfrom
UncertaintyDeterminesYou4ndMe:chore/remove-dead-ipc-surface

Conversation

@UncertaintyDeterminesYou4ndMe

Copy link
Copy Markdown
Contributor

Summary

Removes the three renderer-dead IPC bridge surfaces from #1978 plus the maka.usage preload namespace per the decision recorded on #1982. Pure deletion apart from the contract-test allowlist; all items re-verified zero-consumer on current main before removal.

The third #1978 finding (cursor-subscription:logout not gated) became moot when #2037 retired the entire Cursor subscription surface.

Closes #1978. Ref #1982 (decision 2 of the recorded plan; Pricing Settings spec remains a separate follow-up).

Verification

  • npm run typecheck (all four desktop tsconfigs) clean.
  • Desktop main suite: 1585/1585 pass, including ipc-surface-contract and app-shell-effect-stability-contract.
  • ⌘/Ctrl+, settings shortcut: keydown path untouched (app-shell-effects.ts handleKeyDown).
  • Daily Review archive journey unaffected: listArchives/getArchive/saveMarkdownToFile and all main-side store methods unchanged.

Deletes three renderer-dead bridge surfaces, all verified zero-consumer
across renderer/overlay/e2e:

- appWindow.subscribeOpenSettings + the window:openSettings wiring in
  app-shell-effects: the only sender (app-menu item) was removed in apache#390;
  Cmd/Ctrl+, keeps working through the renderer keydown handler.
- dailyReview.list/get/delete aliases duplicating the live *Archive
  variants, plus the daily-review:delete channel end-to-end - retention
  cleanup calls store.deleteArchive directly and no renderer spelling of
  delete has a consumer.
- The speculative maka.usage preload namespace, per the decision recorded
  on apache#1982: the main-side usage:* authority handlers (apache#1596) stay for the
  apache#2010 M4 client adapter, so the IPC surface contract test now carries a
  self-checking MAIN_ONLY_CHANNELS allowlist documenting that state.

The third apache#1978 item (ungated cursor-subscription:logout) became moot when
apache#2037 retired the whole Cursor subscription surface.

Closes apache#1978. Ref apache#1982.

Verification: desktop typecheck clean; main suite 1585/1585 including the
IPC surface contract and app-shell effect stability contracts.
The leave-and-return journey only asserted the first chip before
navigating away; leaving while the second token is still committing
races the draft snapshot and loses the chip on return, which is exactly
how this spec failed on CI. Mirror the projectChip assertion for
workspaceChip so the draft is known-complete before the navigation.
@UncertaintyDeterminesYou4ndMe

Copy link
Copy Markdown
Contributor Author

The first CI run failed on composer-skill-invocation.spec.ts › staged Skills come back as chips after leaving and returning (shard 1). Analysis:

  • Not caused by this PR's changes: with a full build:with-deps, the spec passes locally on this branch (--repeat-each=3, plus the whole file 7/7) and on unmodified main. None of the removed surfaces (openSettings push, dailyReview aliases, maka.usage) touch the composer draft path.
  • The spec had a real race: before navigating away it asserted only the first chip (projectChip, line 213); the second Skill was picked and the test navigated away immediately. Leaving while the second token is still committing races the draft snapshot — exactly the observed failure (Project Only restored, Workspace Only missing on return).

e8502c4f8 mirrors the existing projectChip assertion for workspaceChip before the navigation, closing the window.

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.

refactor(desktop): remove consumer-less IPC bridge surface

2 participants