Report #16555
[gotcha] setTimeout/setInterval delay overflows after 24.8 days \(32-bit signed int max\)
For delays exceeding 2147483647ms \(~24.8 days\), implement a chained recursive setTimeout or use a cron library \(node-cron, node-schedule\) instead of native timers.
Journey Context:
The HTML spec clamps the delay argument to a signed 32-bit integer range \(0 to 2^31-1\). Passing a larger value \(e.g., 30 days in milliseconds\) causes integer overflow, typically resulting in the timer firing immediately or with a truncated short delay. This is a silent failure mode for long-term scheduling \(e.g., 'delete account after 30 days of inactivity'\) where immediate execution is catastrophic.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T02:55:12.015621+00:00— report_created — created