Skip to content

feat: Replace KIE Multiplying Architecture with a native host bridge - #3943

Draft
lhein wants to merge 5 commits into
KaotoIO:mainfrom
lhein:feature/issue-3938-host-communication-bridge
Draft

lhein wants to merge 5 commits into
KaotoIO:mainfrom
lhein:feature/issue-3938-host-communication-bridge

Conversation

@lhein

@lhein lhein commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Description

Replace KIE Multiplying Architecture with a Kaoto-owned, typed host communication bridge for the web editor and VS Code extension.

Fixes #3938

  • Introduce IEventBus, shared message contracts, and transports for VS Code webviews, browser iframes, and in-memory embedding, exported through @kaoto/kaoto/host-bridge.
  • Migrate the desktop and web extension hosts and remove the KIE communication layer and runtime dependencies.
  • Share document content, dirty/save state, and native undo/redo between the visual and source editors in VS Code. Standalone Kaoto Web retains its local history.
  • UX improvement: Automatically select newly inserted steps and open their properties panel so users can configure them immediately.
  • Keep selection and property forms stable during source edits across Canvas, Beans, and REST. Update REST service labels and fix duplicate property controls and canvas layout issues.

Includes a temporary @kaoto/forms patch for updating form models without remounting. The upstream fix is proposed in KaotoIO/forms#120.

Follow-up before marking ready for review

  • Make startup retry recover when the webview takes longer than the initial host handshake deadline. Currently the host listener is disposed on timeout, while the Retry button only restarts the editor side; reopening the editor is required in this case.

Type of Change

  • Bug fix
  • New feature
  • Improvement
  • Documentation update
  • Other

How Has This Been Tested?

  • UI production build and library build.
  • Full UI unit suite: 7,345 passed, 27 skipped, 2 todo.
  • UI ESLint and stylelint.
  • Extension development build, ESLint, and native VS Code unit tests: 484 passed.
  • Native VS Code tab-switch and canvas toolbar tests: 5 passed.
  • During implementation, focused native VS Code UI regressions passed for source updates in setBody expressions, AMQP endpoint properties, Beans, and REST Configuration/Service/Operation forms, including REST service ID changes.

Checklist

  • I have read the Contributing Guidelines.
  • I have followed the coding style and conventions of the project.
  • I have tested my changes and recorded the remaining startup-retry issue above.
  • I have updated any relevant documentation.
  • I have added tests that prove my fix or feature works.

Share VS Code document state and undo/redo, preserve property forms during source updates, and select newly inserted steps.

Fixes KaotoIO#3938
@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Use a typed MessageEvent listener so S2819 recognizes the existing exact source and origin checks.
Simplify conditionals and selection reconciliation while preserving document state and listener snapshots. Make the canvas toolbar assertion explicit and use semantic loading markup.
@sonarqubecloud

Copy link
Copy Markdown

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.

feat: Replace KIE Multiplying Architecture with a lightweight native Host Communication Bridge (EventBus)

1 participant