Skip to content

Commit 2722542

Browse files
committed
fix: Adjust for timeOrigin shifts
1 parent eb6f9af commit 2722542

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

packages/utils/src/misc.ts

+12-1
Original file line numberDiff line numberDiff line change
@@ -400,11 +400,22 @@ export const crossPlatformPerformance: CrossPlatformPerformance = (() => {
400400
return getGlobalObject<Window>().performance || performanceFallback;
401401
})();
402402

403+
let FIRST_CLOCK_READ: number | undefined;
404+
405+
/**
406+
* This returns a timestamp of the first time we look at the clock
407+
*/
408+
function getFirstClockRead(): number {
409+
if (!FIRST_CLOCK_READ) {
410+
FIRST_CLOCK_READ = crossPlatformPerformance.timeOrigin;
411+
}
412+
return FIRST_CLOCK_READ;
413+
}
403414
/**
404415
* Returns a timestamp in seconds with milliseconds precision since the UNIX epoch calculated with the monotonic clock.
405416
*/
406417
export function timestampWithMs(): number {
407-
return (crossPlatformPerformance.timeOrigin + crossPlatformPerformance.now()) / 1000;
418+
return (getFirstClockRead() + crossPlatformPerformance.now()) / 1000;
408419
}
409420

410421
// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string

0 commit comments

Comments
 (0)