fix(desktop): draw the folded title bar's offline mark as its buttons draw their glyphs
Merged
DA
6d ago+12+12+01234567890123456789-3-3-0123456789
Summary
Follow-up to #3523 from the task "Add UI to show when offline" (https://tryluke.dev/stage/plan/519afac9-0e94-428c-bb83-2afe6908a2d0). The developer reported that the folded title bar looked broken offline, on the Inbox and other pages.
- Root cause of what was reported (already fixed on
mainby #3631). #3523 widened--sidebar-toggle-clearanceand sized the title-bar mark with--control-heightand--control-gap. #3524 and #3569 had retired those aliases after #3523's branch was cut, so the override became invalid at computed-value time while offline. The Inbox bar'sgrid-template-columnsthen fell back to implicit auto tracks, and the "Inbox" heading slid under the traffic lights and the sidebar toggle. Every other folded toolbar lost its clearance the same way. #3631 renamed those reads to--luke-control-heightand--luke-control-gapand added the repository check that refuses a read nothing declares. A build from before #3631 still shows the bug. - This PR. With the clearance valid, the folded mark was still a tinted 30px circle. The Inbox heading sits right against it, 2px off its fill, so the row looked cramped. The mark now draws like the buttons beside it: the amber glyph on no fill, at
--luke-control-icon, one button wide. A heading next to it keeps the same gap it keeps next to New task when online. The pill in the sidebar's foot and on the sign-in screen is unchanged.
Evidence
- Measured in Chromium with the built
dist/renderer/styles.cssand a copy of the folded Inbox bar's DOM (318px list):- With the CSS as #3523 merged it (
--control-*), offline: the heading starts at 70.6px and the grid falls back to56.6px 95.8px 124.6px. This reproduces the screenshot. - On
main, offline: the heading starts at 179px, right after the cluster, which ends at 177px. Online it is 149 after 147. - After this change the offline row reads like the online one, with the glyph standing where a button would.
- With the CSS as #3523 merged it (
scripts/repository-checks.sh✅ (including the undeclared-property check from #3631),biome check✅. CSS only.
Invariants
-
./scripts/check.shgreen. (CI) - JSON Schema goldens unchanged.
- Every behavior change has, in this PR, the test that fails without it; no change-detector test added. CSS only:
desktop-shell.test.tsalready covers the mark standing in the folded title bar, and jsdom computes no layout. - Gateway envelope goldens unchanged.
- No new
astype assertion. - No
Effect.runPromise/runSync/runForkoutside the runtime edges. - No new raw async primitives.
- No Effect, Stream, or Layer dropped.
- Test count unchanged.
- No hand-rolled file replaced.
- No
CLAUDE.md/AGENTS.mdsentence names a changed part. -
PRIVACY.mdunchanged. - Package deps unchanged.
- Barrel/door rule unaffected.
Notes
- Not checked on a Mac. Fold the sidebar, turn Wi-Fi off, and open the Inbox. The amber glyph should stand beside New task, with "Inbox" centred after it the way it is online.
Made with Luke
Summary by cubic
Fixes the folded title bar's offline mark so it draws like the buttons beside it.
The mark was a tinted 30px circle sitting 2px off the "Inbox" heading, which looked cramped. It now draws the amber glyph on no fill, at --luke-control-icon size and one button wide, keeping the same gap a heading keeps beside New task when online. The pill in the sidebar's foot and on the sign-in screen is unchanged.