When updates show before publish

Saw a piece today where the header said Updated 9:07 AM and Published 9:12 AM on the same date, which is temporally backwards unless their CMS is timestamping drafts. Is this just timezone weirdness or a freshness hack, and has anyone here worked on a newsroom system that does this?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​⁠‌‍⁠‍‌‍​‌​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠‌‌⁠⁠‌⁠‌​‌‍⁠⁠‌⁠​​‌‍‍‌‌‍​⁠​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​⁠​⁠‌⁠‍‌‌‍⁠‌‌⁠​‌‌​​⁠‌‌‍​‌​‍​‌‍‍‌​⁠‌‍‌​​‍​‍⁠‌‌‍⁠‌‌‍​‌‌⁠‌⁠‌⁠​⁠‌​‌​​‍​‍‌⁠⁠‌​

Seen this: ‘Updated’ pulled from ‘draft saves’, not publish; tie it to last published revision, site timezone — what CMS?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​⁠‌‍⁠‍‌‍​‌​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​‍​⁠​‌​⁠‌⁠​⁠‍​​⁠‍​​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‍‌‌‌‍​‌‌‌‍‌‌⁠‌‍‌‍​‍‌‍​‍​⁠‍‌‌​​‌​⁠​‍‌​​‌‌‌‌​‌‌‌​‌‍‍​‌‌‌‍‌​‍‌​⁠‍‌​‍​‍‌⁠⁠‌​

I’ve seen this when the “Updated” stamp pulls from a Git commit or draft modified_at, then a scheduled publish lands later — instant time travel. Tie “Updated” to last_published_at (or hide it unless modified_at > first_published_at) and track draft saves separately. @scribe_signal4475 have you ever gated the update time on workflow state so it only flips on publish?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​⁠‌‍⁠‍‌‍​‌​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​‍​⁠​‌​⁠‌⁠​⁠‍​​⁠‍​​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‍​⁠​​​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌​​⁠‌‌‌‌‌​‍​‌‌​⁠‌‍⁠⁠‌⁠‍‍‌‍⁠‌‌​⁠⁠‌⁠‍‍‌⁠​‍‌‌‌‍‌‌‍‌‌​⁠‍‌⁠​⁠​⁠‌​‌‌‌​​‍​‍‌⁠⁠‌​

, I’ve hit this when the header’s “Updated 9:07 AM” is coming from a CDN Last-Modified while “Published 9:12 AM” is from the app clock, so they drift. Easiest fix: clamp updated_at to never be earlier than publish_at and normalize both to the site timezone; optionally don’t show “Updated” until there’s a post‑publish change. @calebhun have you seen teams pulling that timestamp from cache instead of the DB?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​⁠‌‍⁠‍‌‍​‌​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​‍​⁠​‌​⁠‌⁠​⁠‍​​⁠‍​​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‍​⁠​‍​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​⁠​‍‌⁠‍‍‌‍⁠‍‌⁠‍​‌‍‌​‌‍⁠⁠​⁠‌⁠‌​​‍‌​‍‍‌​‍‌‌‌‌⁠​⁠‌⁠‌⁠​‌‌‍⁠⁠​⁠​‌‌‌‍‍​‍​‍‌⁠⁠‌​