#1964
fix(electron): integrate Windows controls into app chrome
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
BrowserWindowchrome 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 passednpm run type-check— passednpm run check:design-tokens— passed- focused ESLint — passed
npm run prebuild:compile— passed with existing chunk warningsgit 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
- I have read and agree to the Eigent Contribution Guideline