2.9 KiB
2.9 KiB
Task: Fix Windows titlebar logo overlap
Identity
- Task ID: 20260901-windows-titlebar-logo-overlap-5100e298
- Mode: Feature
- Branch: codex/20260901-windows-titlebar-logo-overlap-5100e298-windows-titlebar-logo-overlap
- Worktree: D:\Datas\OthersProjects\makelore-windows-titlebar-logo-overlap-5100e298
- Base commit:
7f0e9310a7 - Owner: codex
- Status: Ready for integration
Scope
- Reproduce and fix the Windows application-shell overlap between the Makelore logo and native minimize/maximize/close controls.
- Add focused regression coverage at the existing window/layout seam.
- Preserve existing macOS/Linux behavior and the single Makelore light visual system.
Intent And Constraints
- Use the smallest platform-aware layout or window-configuration change that guarantees a non-overlapping Windows caption-control reserve.
- Do not change app identity, protocols, global user-data paths, environment variables, backend contracts, or unrelated product layout.
- Verify the exact reported symptom first; run focused tests, typecheck, relevant lint, and
pnpm run build:vitefor the final change. - Work only in the isolated task worktree; no subagent is authorized for this repository task.
Outcome
- Confirmed the exact Windows Canvas failure with a deterministic Electron E2E: the 96px Logo ended at x=1280 while the minimize button began at x=1140.
- Added a single 148px Windows control-region width (three 44px buttons plus 8px padding on each side) and use it both to size the control container and inset the Logo. macOS keeps its existing zero inset and native traffic-light behavior.
- Added a dedicated Windows Canvas titlebar E2E and updated the existing Coding titlebar geometry assertion for the platform-specific layout.
- Updated the focused TitleBar unit test to lock the Windows inset.
Verification
- Red-capable reproduction before the fix, twice:
node .\node_modules\@playwright\test\cli.js test tests/e2e/windows-titlebar.spec.tsfailed consistently withExpected <= 1140, Received 1280. pnpm exec vitest run tests/unit/title-bar.test.tsx --maxWorkers=1: 1 file / 11 tests passed.pnpm run typecheck: passed.- Scoped ESLint for the four touched production/test files: passed with no output.
pnpm run lint:check: passed with 0 errors and 5 pre-existing warnings in untouchedsrc/pages/Home/index.tsxandsrc/pages/Makelore/index.tsx.pnpm test: 214 files / 1759 tests passed, 2 skipped; pressure suite 1/1 passed.pnpm run build:vite: passed after the production change.node .\node_modules\@playwright\test\cli.js test tests/e2e/windows-titlebar.spec.ts: 1/1 passed.node .\node_modules\@playwright\test\cli.js test tests/e2e/pi-coding-first-chat.spec.ts --grep 'PI feature UI isolates Conversations': 1/1 passed.
Follow-ups
- None.
Promotion Candidates
- None. This is a local Renderer layout correction and does not change canonical architecture, domain rules, or product direction.