diff --git a/src/app/features/call-status/CallStatus.tsx b/src/app/features/call-status/CallStatus.tsx index 37bd9cfb4..4b4be1543 100644 --- a/src/app/features/call-status/CallStatus.tsx +++ b/src/app/features/call-status/CallStatus.tsx @@ -72,9 +72,9 @@ export function CallStatus({ callEmbed }: CallStatusProps) { size="T200" truncate style={{ color: color.Warning.Main }} - title="Fix your computer's clock — calls and encryption depend on it" + title="This device's clock is off. Calls and encryption depend on it: turn on automatic time in your system settings." > - Clock {describeSkewVsServer(clockSkew.skewMs)} — calls will fail + Device clock {describeSkewVsServer(clockSkew.skewMs)}: calls may fail )} diff --git a/src/app/pages/client/ClientNonUIFeatures.tsx b/src/app/pages/client/ClientNonUIFeatures.tsx index 95ea1bc44..79e6a4d73 100644 --- a/src/app/pages/client/ClientNonUIFeatures.tsx +++ b/src/app/pages/client/ClientNonUIFeatures.tsx @@ -1071,6 +1071,10 @@ function ClockSkewFeature() { data, ) => { if (!data.liveEvent) return; + // Only events our homeserver stamped: a federated event's + // origin_server_ts is the other server's clock. + const senderServer = mEvent.getSender()?.split(':').slice(1).join(':'); + if (senderServer !== mx.getDomain()) return; monitor.sample(mEvent.getTs(), mEvent.getAge(), mEvent.localTimestamp); }; mx.on(RoomEvent.Timeline, onTimeline); diff --git a/src/app/pages/client/ClockSkewBanner.tsx b/src/app/pages/client/ClockSkewBanner.tsx index 0c39d3f7d..ae86ea8c0 100644 --- a/src/app/pages/client/ClockSkewBanner.tsx +++ b/src/app/pages/client/ClockSkewBanner.tsx @@ -19,7 +19,7 @@ const readDismissedUntil = (): number => { }; /** - * [Gitea #158] "Your computer's clock is 14 minutes ahead of the server." + * [Gitea #158] "This device's clock is 14 minutes ahead of the server." * Same slot and style as the sync banners. Shown while the skew monitor is * over its threshold; the direction matters, so it is said. Dismissable for * 24 h; never auto-corrects anything. @@ -53,8 +53,8 @@ export function ClockSkewBanner() { > - Your computer's clock is {describeSkewVsServer(skewMs)}. Encrypted messages - and voice calls will fail until it is fixed. + This device's clock is {describeSkewVsServer(skewMs)}. Voice calls and + encrypted messages can fail until it's corrected.