- Shipped
- September 12, 2026 at 2:38 AM UTC
- Author
- Kamo
- Commit
- da29ff5
A pass over everything the bulk sender and warm-up screens are built from, fixing what it found: - a warm-up poll that started while a write was on the wire could land first and paint the old server state over the optimistic change; polls now wait for writes, and a failed write puts back what was on screen and then re-reads, since that snapshot may itself be stale - a refused (403) warm-up stopped its polling but still asked again on every return to the tab - changing pace with the arrow keys, or flipping the switch, dropped keyboard focus, because both were disabled while the write was out; they stay enabled and a second change is ignored instead - the countdown sat on "due now" until the next 15-second poll; it now asks for the next send a moment after one falls due - the fourteen schedule tiles were fourteen tab stops; they are one, with the arrow keys, Home and End moving between days, and week-two caps in the tens of thousands no longer overflow a tile - the pacing banner was one live region, so every poll that moved a number was read aloud again; only its headline announces changes now - the test recipient was copied from the saved From by an effect that lagged a save and could fight typing; it is derived instead - the send rhythm animated calc() positions, which cannot be interpolated; the ticks are placed instead - brand ink, borders and the white-on-brand tiles now hold up with a very pale or very dark tenant colour - a truncated connection summary shows in full on hover or focus - Cmd/Ctrl+S saves the bulk sender draft while focus is in the tab