Skip to content

feat(window): support multiple Harness session windows - #477

Open
anticipate218 wants to merge 1 commit into
dataelement:mainfrom
anticipate218:feat/multi-session-windows
Open

anticipate218 wants to merge 1 commit into
dataelement:mainfrom
anticipate218:feat/multi-session-windows

Conversation

@anticipate218

Copy link
Copy Markdown

Summary

  • add a registry for every desktop-created Harness window so privileged IPC remains main-frame scoped without being tied to one singleton window
  • add Window → New Window / CmdOrCtrl+Shift+N, a matching Windows titlebar menu entry, and user-initiated second-launch behavior for opening another session window
  • route zoom, reload, theme, menu, About, and directory-picker actions to the window that issued them
  • keep one persisted primary window state, cascade additional windows, and transfer state ownership if a surviving window is promoted
  • close secondary windows before shared Harness runtime/Profile transitions so stale origins, auth tokens, or Normal/Safe Mode pages cannot survive a restart
  • keep migration/plugin-removal boot confirmation restricted to the current primary main frame

Verification

Passed locally on Windows:

  • npm run typecheck
  • npm run build
  • npm test -- test/windows-titlebar.test.ts test/app-window-registry.test.ts test/window-state.test.ts (13 tests)
  • git diff --check

Also ran the complete npm test suite: 934 tests passed and 8 skipped; 21 tests failed for environment/resource reasons unrelated to these window changes (missing python3 command, Windows symlink privileges, local mobile-bridge resource/port failures, pnpm build-approval environment, and a PPT hook timeout).

Manual validation still recommended

  • open several session windows on Windows and macOS and confirm independent session navigation
  • restart Harness and switch into/out of Safe Mode with secondary windows open
  • verify Windows per-window titlebar menus and close-to-tray behavior

Register every desktop-created window for trusted IPC, route Windows menu actions to their owning window, and add a New Window command with a standard accelerator.

Close secondary views across shared runtime transitions and keep primary-only boot health confirmation and window-state ownership intact.
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