Skip to content

fix(web): reconcile session lifecycle and surface hierarchy - #2838

Merged
GCWing merged 2 commits into
mainfrom
gcwing/session-lifecycle-surface-hierarchy
Sep 6, 2026
Merged

fix(web): reconcile session lifecycle and surface hierarchy#2838
GCWing merged 2 commits into
mainfrom
gcwing/session-lifecycle-surface-hierarchy

Conversation

@GCWing

@GCWing GCWing commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • make FlowChatStore the single session-selection owner and reconcile the Session scene for archive, delete, workspace removal, and device-surface changes
  • improve workspace session batch management and destructive confirmations while keeping archive actions immediate and recoverable
  • align startup and runtime window controls, native dragging boundaries, and maximize or restore state
  • strengthen built-in theme chrome, scene, and elevated-surface hierarchy and refresh generated appearance projections

Type and Areas

Type: bug fix, UI/UX, refactor, test, docs

Areas: web UI, desktop/Tauri, appearance and theme governance, session projection docs

Motivation / Impact

Prevents orphaned Session scenes and stale presentation state after sessions disappear, makes session management available consistently from workspace menus, and improves visual separation across named themes and startup window chrome.

Verification

  • PASS: pnpm run check:web
  • PASS: pnpm run theme:color-audit:all
  • PASS: pnpm run i18n:audit
  • PASS: focused Web UI Vitest suite covering session lifecycle, activation and sync, scene top bar, startup preload, workspace/session actions, layout, appearance output, and surface recipes (12 files, 128 tests)
  • PASS: cargo build -p openbitfun-desktop (existing MSVC LNK4098 warning only)
  • PARTIAL: cargo test -p openbitfun-desktop --lib startup_window_control_contract_exposes_the_native_maximize_state compiled and linked, but the local Windows test binary exited before the harness with STATUS_ENTRYPOINT_NOT_FOUND; no Rust assertion failure was reported
  • Not run: browser or E2E visual validation, per repository guidance; CI remains the merge gate

Remote scenarios: local desktop/Web UI paths were exercised. Peer Device Mode surface switching is covered by the focused state contract. Remote workspace, remote-control transports, and Detached Dispatch were not exercised; this change does not alter their wire contracts or persistence shapes.

Reviewer Notes

The branch is rebased onto the current origin/main. Generated startup and appearance snapshots are included with their canonical palette changes.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@GCWing
GCWing merged commit 9abedcb into main Sep 6, 2026
12 checks passed
@GCWing
GCWing deleted the gcwing/session-lifecycle-surface-hierarchy branch September 8, 2026 13:36
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.

1 participant