Skip to content

feat(desktop): add observation navigation and unify feedback and context - #2188

Open
sunlight798 wants to merge 9 commits into
oceanbase:masterfrom
sunlight798:feat/desktop-shared-layout-2102
Open

sunlight798 wants to merge 9 commits into
oceanbase:masterfrom
sunlight798:feat/desktop-shared-layout-2102

Conversation

@sunlight798

@sunlight798 sunlight798 commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Which issue or RFC does this PR close?

Closes #2102.

Rationale for this change

Desktop needs consistent navigation, feedback and recovery guidance, with the current connection and exact Scope visible across pages. These improvements must preserve existing workflows and protect drafts when asynchronous connection, Scope and write results arrive.

Packaged macOS testing also exposed navigation-origin and confirmation-dialog issues that prevented reliable use of the shared shell.

What changes are included in this PR?

  • Add Observation with Runtime state, Current-Scope inventory & usage, and This session tabs. Preserve Overview as the initial page and keep Settings & diagnostics at the bottom.
  • Standardize loading, empty, unavailable and error feedback, including recovery guidance for definitively failed writes.
  • Show the current connection, full address and exact Scope ID globally. Present identity, compatibility and health facts separately.
  • Open the selected connection profile from the global menu without activating it.
  • Protect drafts during pending connection and Scope changes, cancelled navigation and late responses. Preserve unknown-write confirmation and duplicate-submission protections.
  • Add disconnected Memory entry paths for local setup and an existing Server, offline-accessible Local Server guidance, bilingual help and copyable documentation/support addresses.
  • Replace host confirmation dialogs with application dialogs supporting keyboard focus containment, Escape cancellation and focus restoration.
  • Accept the platform-specific packaged application origin, including tauri://localhost on macOS, while retaining navigation restrictions.
  • Update English/Chinese documentation, regression tests and validation records.

Observation data integrations remain explicitly unavailable pending #2105, #2106 and #2107. Server installation and lifecycle management remain owned by #2117.

Are there any user-facing changes?

Yes. Users gain Observation navigation, clearer global context, consistent recovery guidance, help and local setup entry points, and reliable application confirmations on macOS.

Existing connection, Scope, Memory and diagnostic workflows remain accessible. Language and theme changes preserve drafts. Selecting a saved profile opens its editor without activating it, and Observation navigation does not trigger connection checks.

There are no changes to public HTTP APIs, IPC command schemas, credential formats or persisted data formats. No migration is required.

How was this change tested?

Validation is recorded in desktop/VALIDATION.md, using Node 24.14.1, pnpm 11.13.1 and Rust 1.95.0.

Passed checks:

pnpm --dir desktop test
pnpm --dir desktop typecheck
pnpm --dir desktop lint
pnpm --dir desktop build
pnpm --dir desktop ipc:check
cargo fmt --manifest-path desktop/src-tauri/Cargo.toml --check
cargo clippy --locked --manifest-path desktop/src-tauri/Cargo.toml --all-targets -- -D warnings
cargo test --locked --manifest-path desktop/src-tauri/Cargo.toml

Generated contracts and icons were checked without regeneration.

Regression coverage includes navigation, bilingual feedback, exact Scope identity, targeted profile selection, draft cancellation, pending context changes, late responses, failed and unknown writes, confirmation dialogs and keyboard focus.

Windows headless Edge checks with synthetic IPC covered English/Chinese, light/dark/system themes, narrow windows, 800×600 layouts, error states and forced colors. The 200% layout check used an equivalent viewport; it was not native WebView zoom acceptance.

On macOS 26.5.1 Apple Silicon, a debug application was built with:

pnpm --dir desktop tauri build --debug --bundles app --ci -- --locked

The packaged application loaded without Vite, and native state/version IPC worked. Actual WebView checks covered bilingual draft navigation, cancel-editing confirmations, explicit discard, Escape cancellation, Tab/Shift+Tab containment and Scope-dialog focus restoration.

Packaged macOS checks did not use a real Server. Signing/notarization, Intel Mac, IME, VoiceOver, native 200% zoom, Keychain and installed Server workflows remain unqualified.

Repository-wide uv run --locked prek run -a encountered existing Windows Python type-check failures in unchanged code; the other hooks passed.

AI usage statement

OpenAI Codex assisted with implementation, regression tests, documentation and review.

Copilot AI balanced review requested due to automatic review settings October 22, 2026 05:28

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

Copilot AI balanced review requested due to automatic review settings October 22, 2026 08:58

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

This branch has not been deployed

No deployments
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(desktop): establish the shared application layout and navigation

2 participants