Skip to content

refactor(desktop): drop unused bridge endpoints and the e2e starter - #3102

Merged
Astro-Han merged 3 commits into
apache:mainfrom
1625567290:fix/desktop-dead-bridge-endpoints
Aug 17, 2026
Merged

refactor(desktop): drop unused bridge endpoints and the e2e starter#3102
Astro-Han merged 3 commits into
apache:mainfrom
1625567290:fix/desktop-dead-bridge-endpoints

Conversation

@1625567290

Copy link
Copy Markdown
Contributor

Summary

Six Desktop bridge + IPC surfaces had no renderer, e2e, or test consumers, and skills.createStarter existed only for skill-draft-lifecycle e2e.

Removed across preload, bridge-contract, and the matching main handlers:

  • memory:propose/remember/listProposals/approveProposal/rejectProposal/archiveEntry/restoreEntry
  • artifacts:get
  • skills:details
  • onboarding:clearMilestone
  • mcp:reconnect
  • git-review:mutate
  • skills:createStarter

Live memory document ops (getState/save/reset/openFile), artifact list/read/delete, and skills list/enable/pin/delete stay.

The draft-lifecycle e2e now opens the Skills module for the fixture-seeded Workspace Only skill instead of calling createStarter. Disable/enable during a revision still uses the live setEnabled bridge so the composer is not unmounted.

Fixes #3090

Verification

  • Grep: no remaining renderer/e2e/test callers of the removed channels
  • npx biome check on the 13 changed files — clean
  • npm --workspace @maka/desktop run typecheck — clean
  • npm --workspace @maka/desktop test862/862
  • playwright test e2e/skill-draft-lifecycle.spec.ts2/2

Not run: full desktop e2e suite

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope:

Grok authored the deletion, e2e rewrite, and this PR description.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Remove Desktop preload, contract, and main IPC for memory
proposal/entry CRUD, artifacts:get, skills:details, skills.createStarter,
onboarding:clearMilestone, mcp:reconnect, and git-review:mutate. None of
those had a renderer, e2e, or test consumer.

The skill draft e2e now opens the Skills module for the fixture-seeded
workspace skill instead of calling createStarter.

Fixes apache#3090

Generated-by: Grok
@coderabbitai

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 9845bdc3-87b7-4f0f-b84c-a6241dacfccd

📥 Commits

Reviewing files that changed from the base of the PR and between 63c320d and 6b9bd38.

📒 Files selected for processing (5)
  • apps/desktop/e2e/slash-command-menu.spec.ts
  • apps/desktop/src/main/onboarding-service.ts
  • apps/desktop/src/main/runtime-host-boot.ts
  • apps/desktop/src/preload/bridge-contract.d.ts
  • apps/desktop/src/preload/preload.ts
🚧 Files skipped from review as they are similar to previous changes (4)
  • apps/desktop/src/main/onboarding-service.ts
  • apps/desktop/src/main/runtime-host-boot.ts
  • apps/desktop/src/preload/preload.ts
  • apps/desktop/src/preload/bridge-contract.d.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 1 remains after this review.


📝 Walkthrough

Summary

This PR removes unused Desktop bridge and IPC endpoints with no renderer, E2E, or test consumers. It removes memory proposal and entry mutations, artifacts:get, skills:details, onboarding:clearMilestone, mcp:reconnect, git-review:mutate, and skills:createStarter.

The draft-lifecycle E2E test now uses the installed workspace-only Skill through the real Skills module. Live memory document operations, artifact list/read/delete operations, and Skills management operations remain.

Design assessment

  • The PR removes obsolete paths. It does not create a parallel path.
  • The changes are the smallest coherent solution. Each removed endpoint is deleted from the preload bridge, bridge contract, and main-process wiring. Related mocks, validators, helpers, and dependencies are also removed.
  • The E2E test retains retry and cancellation coverage through the real Skills UI.
  • Further deletion appears limited to code already removed by this change. Removing remaining handlers or tests could weaken supported behavior or regression coverage.

Risks and validation

The main risk is an accidental caller of a removed bridge method. The E2E changes also require validation that the real Skills UI preserves draft-lifecycle coverage.

Reported validation passed:

  • Biome
  • Typecheck
  • Desktop tests: 862/862
  • Focused Playwright test: 2/2

The full Desktop E2E suite was not run. The repository search did not provide direct evidence for these result claims. Required-check status therefore remains unverified.

Review-relevant risks

The change removes public preload bridge and bridge-contract APIs, including memory mutations, artifact lookup, skill details and starter creation, onboarding milestone clearing, MCP reconnect, and Git review mutation. Any material public-contract change requires independent human review under repository policy.

The change moves the E2E path from skills.createStarter to the real Skills settings UI. Any material user-visible behavior change requires independent human review under repository policy.

No protected-area effect was identified for licensing, releases, security, or governance in the current diff.

The person performing the merge must review the final diff. A maintainer makes the final determination.

Walkthrough

Desktop removes unused IPC endpoints across main, preload, and bridge contracts. It updates MCP fixtures and migrates skill lifecycle and slash-command E2E tests.

Changes

Desktop endpoint cleanup

Layer / File(s) Summary
Remove main-process endpoints
apps/desktop/src/main/mcp-ipc-main.ts, apps/desktop/src/main/onboarding-*, apps/desktop/src/main/runtime-host-*
Removed unused MCP, onboarding, artifact, memory, skills, and Git review mutation handlers and supporting contracts.
Synchronize preload bridge APIs
apps/desktop/src/preload/bridge-contract.d.ts, apps/desktop/src/preload/preload.ts
Removed matching bridge methods, result types, imports, and IPC wrappers.
Update fixtures and E2E coverage
apps/desktop/src/main/__tests__/mcp-ipc-main.test.ts, apps/desktop/stories/module-hubs.stories.tsx, apps/desktop/e2e/*
Removed MCP reconnect fixtures. E2E tests now use installed skills and sequential slash-command input.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to 6b9bd

The PR removes unused desktop bridge and IPC endpoints while updating the affected end-to-end flow; the reported checks pass, and no actionable merge-blocking risk remains after normal review.

Possibly related PRs

Suggested reviewers: astro-han

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The slash-command-menu E2E change is unrelated to the linked issue's bridge cleanup and Skills test migration. Remove the unrelated slash-command-menu change or link it to a separate issue with a clear rationale.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes removal of unused bridge endpoints and the e2e-only starter.
Description check ✅ Passed The description includes the required summary, issue link, verification results, AI-use declaration, and checklist status.
Linked Issues check ✅ Passed The PR removes all listed endpoints across main, preload, and contract layers and updates the e2e test to use the real Skills UI.
Ai Use Disclosure ✅ Passed The PR selects only substantive AI use, names Grok and its scope, and commit 63c320d containing the disclosed deletion/E2E rewrite has a standalone Generated-by: Grok trailer; no conflict exists.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@Astro-Han Astro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed the deletion of the unused Desktop bridge endpoints and the e2e starter.

The removed channels have no remaining renderer, e2e, or test consumers on the PR branch. The two skill e2e cases now use the seeded invocable catalog instead of skills.createStarter, which is the product path. Desktop-side deletion looks complete.

Non-blocking follow-ups, not in this PR's boundary: mutateGitReview is now test-only in the same package; runtime-host still has create_starter and the memory proposal mutations with no Desktop client.

Approve.

AI-assisted review: Grok 4.6 and opencode-go/deepseek-v4-flash:max each reviewed the PR independently. A third pass on ark-coding-plan/glm-5.3 hit a quota limit and did not finish. I grepped the deleted symbols on the PR branch and checked the rewritten e2e specs. Unverified by me: I did not rerun desktop e2e locally.

@Astro-Han

Copy link
Copy Markdown
Contributor

Fast-path merge

This change qualifies for the self-merge fast path: it is low impact and easy to reverse (drops Desktop bridge/IPC endpoints with no renderer, e2e, or test consumers, plus the e2e-only skills.createStarter), does not touch the protected areas (Runtime Host execution authority, @maka/eval semantics, public Eval CLI, security, licensing, releases, governance), and passes all required checks. It already has a human APPROVED review (Astro-Han).

Human contributor @yuhan reviewed the final diff and chose the fast path.

@Astro-Han Astro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approving the change direction (removing unused Desktop bridge/IPC endpoints and the e2e-only skills.createStarter).

Note: this PR currently has merge conflicts with main and needs a rebase/merge before it can be merged. Conflicting files:

  • apps/desktop/src/preload/bridge-contract.d.ts
  • apps/desktop/src/preload/preload.ts
  • apps/desktop/src/main/onboarding-service.ts
  • apps/desktop/src/main/runtime-host-boot.ts

The preload conflicts are the endpoints this PR removes (memory proposal ops, git-review:mutate, onboarding:clearMilestone, artifacts:get, etc.) still present on main; resolve by keeping the removals and retaining main's DesktopTargetScope / getState(sessionId?) changes from #3097.

Keep the live memory getState(sessionId) signature from main. Continue
to omit the unused proposal, artifact get, git-review mutate, and
onboarding clearMilestone preload endpoints.
@1625567290
1625567290 force-pushed the fix/desktop-dead-bridge-endpoints branch from 522893b to 5f9261c Compare August 16, 2026 15:28
After a steering send, fill('/') can land on an unfocused composer so
the command list stays empty. /compact then looks absent and the /side
click times out in CI.
@coderabbitai coderabbitai Bot mentioned this pull request Aug 17, 2026
3 tasks
@Astro-Han
Astro-Han merged commit 5ef39c3 into apache:main Aug 17, 2026
13 checks passed
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 dead bridge endpoints and the e2e-only skills starter

2 participants