68fed087-9049-446f-bfc5-3f8.../Sources/engine
徐翔宇 c1747dc1ce fix(sit): reset accumulator after threshold fire
Prior path used a lastFired-timestamp dedupe but never reset the
sitAccumActiveSec counter, so after the first 45min alert the
panel kept showing "已坐 90 分钟" / "135 分钟" — counter monotonic
across cycles. The UX intent is each ack starts a fresh cycle.

Now: on fire, alert + reset counter to 0. Next triggerSec of
sitting kicks a fresh alert. Reset is the simpler dedupe — there's
no physical way to re-fire without accumulating triggerSec from 0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 09:29:28 +08:00
..
NotificationCenter.swift fix: pomodoro paused-in-break fraction + notif status wired to store 2026-05-19 17:54:28 +08:00
SoundPlayer.swift feat(sit): 15s Morse alert tone on sit threshold 2026-05-20 09:25:48 +08:00
SystemIdle.swift feat: v0.2.0 — sleep-aware timers + auto-loop pomodoro 2026-04-30 11:23:09 +08:00
WorkerDebugLog.swift v0.1.0: initial 摸鱼侠 — Worker Toolkit plugin for MioIsland 2026-04-27 20:21:12 +08:00
WorkerStore.swift fix(sit): reset accumulator after threshold fire 2026-05-20 09:29:28 +08:00