#1964

fix(electron): integrate Windows controls into app chrome

OpenDouglasymlaiwants to merge intofrom

Pull Request

Related Issue

No accepted issue or discussion is linked yet. This PR is opened as a draft until that project requirement is satisfied.

Description

Windows currently renders a native title row above Eigent's own top bar, producing duplicated window chrome. This change keeps the native Windows frame for resizing and Snap behavior while using Electron's Window Controls Overlay to place the system caption buttons inside the app-owned 40px header.

  • centralizes platform-specific BrowserWindow chrome options in a tested helper
  • reserves the OS-provided title-bar safe area across the app shell and authentication screens
  • synchronizes native caption-symbol colors with the resolved light/dark theme through a validated IPC boundary
  • removes the redundant shell-card treatment and uses design-system hairlines for the remaining structural separators

Testing Evidence (REQUIRED)

Automated validation completed locally:

  • npx vitest run test/unit/electron/main/index.test.ts test/unit/electron/preload/appCommands.test.ts test/unit/shared/windowChrome.test.ts test/unit/components/Layout/ThemeProvider.test.tsx — 100 tests passed
  • npm run type-check — passed
  • npm run check:design-tokens — passed
  • focused ESLint — passed
  • npm run prebuild:compile — passed with existing chunk warnings
  • git diff --check — passed

Native Windows runtime verification and an after screenshot or recording are still required before this draft is marked ready. That verification should cover resizing, Snap Layouts, maximized state, DPI scaling, light/dark themes, and Windows High Contrast mode.

  • I have included human-verified testing evidence in this PR.
  • This PR includes frontend/UI changes, and I attached screenshot(s) or screen recording(s).
  • No frontend/UI changes in this PR.

What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

Contribution Guidelines Acknowledgement