mirror of
https://github.com/openclaw/openclaw.git
synced 2026-09-28 14:12:28 +08:00
* feat(ui): add a native conversation surface for macOS Keep the web chat header, transcript, composer, side panels, and overlays in one embedded pane while native windows own surrounding navigation. Add a lazy document-bound conversation bridge with state publication, in-page session navigation, Dashboard handoff, presentation, and composer focus. Preserve existing browser and iOS settings embeds. Validate navigation completion, superseding web navigation, hidden-window route ownership, and agent-scoped state with unit and mocked-Gateway browser coverage. Raise only the paired startup JS baseline/cap by the authorized measured 249 bytes; retain all other budgets and allowances. * fix(ui): preserve native conversation reply and presentation ownership Echo each command result with its originating document ID, including stale-document rejections. Suspend retained panes and clear drag state only on effective presented-to-hidden transitions. Restore the normal 12px leading header inset through the lazy native embed stylesheet. Cover same-requestId commands across documents, repeated hidden updates for web and native presentation, and matching browser/native header geometry. Keep all performance budgets unchanged. * fix(ui): separate the native conversation bridge contract * fix(ui): preserve native conversation interactions and bounded navigation Preserve transcript file, session, and panel link ownership. Show a translated toast when Dashboard handoff fails, and keep visible inactive native windows presented. Bound host navigation by a 15-second receipt deadline, fence expired continuations, and allow an explicit navigation to recover a failed state acknowledgement. Validation: pre-fix regression failures; 82 focused tests, 3 mocked-Gateway E2E cases, 52 performance tests, UI lint/typecheck/i18n, import-cycle checks, production build at 371541 bytes under the unchanged 371581-byte startup cap, and scoped-clean independent review.