Correction to the first heading above: the quick-add commit is dabf234 (dabf23443d4cde494f96644ab22c1bdfa37ab5d1). I left a placeholder there by mistake.
Review nits: quick-add fits a phone; datetime.js fix is upstream open
On branch chore/review-nits
Non-blocking findings left from Astra's review of #26.
1. Quick-add panel overflows at 390px (73f-, see head below)
- Cause: under 40rem the quick-add form and its textarea are both
width: 100%and content-box, so padding and border were added on top of the 100%. The open panel ran about 15px past the right edge, and the page scrolled sideways. This predates the migration. - Fix:
box-sizing: border-boxon[cal-quick-form]and[cal-quick-text]. - Test: TestQuickAddOnANarrowScreen (browser tag;
make browserpicks it up throughOnANarrowScreen) opens the panel at 320 and 390. It fails if any element of it, or the page, is wider than the viewport. Red before the fix: at 390 the form spanned 16-400, the textarea 29-405, and the page was 405px wide; at 320, 16-330, 29-335 and 335px. Green after.make ciandmake browserare green (GOTOOLCHAIN go1.26.5).
2. datetime.js native-picker button: aria-haspopup="listbox", permanently aria-expanded="false"
- Not fixed in this repo.
static/datetime.jsis a rastrillo vendored asset, pinned byte-identical toui.VendoredAssetsby TestVendoredAssetsMatchTheLibrary, so it is not hand-edited. - The fix is upstream on rastrillo/rastrillo branch
chore/review-nits(a5d82f3, discussion rastrillo/rastrillo#57). The popup attributes now appear only on the grid (dialog) and the clock (listbox). A browser test there drives a page without calendar.js, and it was red on all three checks before the fix. - Calendar takes it with the next rastrillo bump plus
rastrillo doctor --fix. Calendar runs without rastrillo's calendar.js (vendoredIsMine), so its date fields are exactly the case that was wrong.
Release. CSS only. After review and merge: make release, then carlos deploy per the README with --channel edge, flags before the binary path. Check /api/version.
Added 8a02f1e: CI on dabf234 went red on TestTransientControlFailureAtBootRecovers ("timer was not armed"). That is a pre-existing race; it also fails about 1 run in 10 on origin/main locally. The test inserted its queue row straight into the DB after boot, so when the retry loop's first attempt ran before the INSERT it found nothing due, succeeded, and was never woken again. The row is now written through a first boot of the same DB before the failing boot. 40/40 runs pass. Mutation check: dropping sync()'s retry request on a boot failure turns it red. Separately, one local make ci run hit TestTheTickExpiresHoldsAndWakesForThem ("NextDue does not see the expired hold") once; 5 full package runs and 20 isolated runs passed. It looks like another rare scheduler-timing flake that predates this branch, and I have not touched it.