- Shipped
- September 7, 2026 at 8:38 PM UTC
- Author
- Kamo
- Commit
- acb0066
"Repeat sound" saved correctly and did nothing audible. The deck beat the tone out with setInterval, and Chrome clamps timers in a page that has been hidden for five minutes to ONE wake-up per minute — which is exactly the situation the setting exists for. Nobody turns on a repeating alarm for a screen they are sitting in front of. Measured in a real browser rather than reasoned about. A five-second repeat in a hidden tab: a beat every 5s for 300s, then beats at 314, 374, 434, 494. A plain control timer beside it collapsed identically, so it was the timer and not the deck. Every other layer was innocent — the row is stored, the service returns it, the deck reads it, and the whole stack repeats perfectly in a foreground tab, which is why it passed every test and every hand check. The beats now go on the AudioContext clock, which runs on a real-time audio thread and keeps time while the page is frozen: 96 beats over 8 minutes in a hidden tab, worst error 0.00s, while the timer beside it lost a third of its ticks. startRepeatingEventSound queues a horizon of beats ahead and tops the queue up on a timer that is welcome to be throttled — the beats it queued last time are already sounding without it — and returns a stop that cancels what is still queued, so a dismissed card goes quiet at once. Guarded, because this failure is inaudible AND delayed: it sounds right for five whole minutes and then degrades into silence, which is what a member who switched the sound off hears too. It would not be reported again.