Suppose I call setTimeout(() => {...}, 1000), i.e, a 1 second wait, but the computer has its internal clock wrong. After 500ms, the OS receive a NTP update, realize its clock was 30 second in the future, and thus set back its clock 30 second. When will my timeout fire? In 500ms, monotonic time; or 30500ms, wall clock time?
If its in 30 second... is there a way to set up a timer that will fire correctly after 500ms as measured with performance.now()?
Do the behavior vary between browser?
Note: of course you'll never get a highly accurate setTimeout, because browser mitigate Spectre and old code rely on a minimum delay, but my question is about the huge jump in time du to a change in the internal clock.