previousYearWindow gives a zero-length or reversed prior window when the window ends on Feb 29Done
Wave

iOS — Settings, Analytics & tools build

Remaining build work across Settings, Analytics, ConnectCard, the AI panel, and QR/NFC programming. Everything marked 'coming soon' here is intended to ship.

TacTile › Launch TacTile › iOS › iOS — Settings, Analytics & tools build
60/133 done73 open1 open blocker
Selected taskclear

previousYearWindow gives a zero-length or reversed prior window when the window ends on Feb 29

DoneOwner · Vivt_6e3f6272

Found by the safety reader on ca8f4610 (t_3f63c464) and reproduced read-only with node on 16 Oct. apps/api/tactile-api/src/utils/analytics/query.ts yearEarlier/previousYearWindow (about :102-125 on local r32/ios-r3-ship) shifts each bound back a year separately and maps Feb 29 to Feb 28. A window whose `to` lands on Feb 29 right after a Feb 28 `from` collapses: [2024-02-28T00:00Z, 2024-02-29T00:00Z) maps to [2023-02-28T00:00Z, 2023-02-28T00:00Z), zero length; [2024-02-28T12:00Z, 2024-02-29T06:00Z) maps to a reversed window. The RPC raises nothing, the prior total comes back empty and deltaPct(current, 0) reads +100. Only a window touching Feb 28 to Feb 29 in a leap year triggers it (next: 2028, or any historical custom range). Low priority, non-blocking.

Show the prompt
To doIn progressDoneBlockedPick a wave on the left · tap a task to expand it