diff --git a/js/components/src/time-sync/time-sync.ts b/js/components/src/time-sync/time-sync.ts index 166e2eeb6..bffb239c6 100644 --- a/js/components/src/time-sync/time-sync.ts +++ b/js/components/src/time-sync/time-sync.ts @@ -43,10 +43,13 @@ export function checkClockDrift(serverTime: string): { } } -export function syncTimeWithServer(serverTime: string): void { +export function syncTimeWithServer( + serverTime: string, + networkLatencyMs: number, +): void { const serverDate = new OriginalDate(serverTime); const clientDate = new OriginalDate(); - const offset = serverDate.getTime() - clientDate.getTime(); + const offset = serverDate.getTime() - clientDate.getTime() - networkLatencyMs; setTimeOffset(offset); } diff --git a/js/components/src/time-sync/useTimeSync.tsx b/js/components/src/time-sync/useTimeSync.tsx index bb3c2cb9a..ddabfd8fa 100644 --- a/js/components/src/time-sync/useTimeSync.tsx +++ b/js/components/src/time-sync/useTimeSync.tsx @@ -18,9 +18,9 @@ export function useTimeSync() { } try { const agent = new StreamplaceAgent(url); - const start = Date.getTime(); + const start = new Date().getTime(); const response = await agent.place.stream.server.getServerTime(); - const roundTripLatency = Date.getTime() - start; + const roundTripLatency = new Date().getTime() - start; const serverTime = response.data.serverTime; // always sync with server time