fix: display story age from firstSeenAt, not updatedAt
Old stories were reading "1 hr ago" because updatedAt bumps every time the backend attaches another article to a cluster, however loosely related. firstSeenAt is when the cluster actually first appeared and is already in the API response — just wasn't decoded. Verified live: story_1a37c858235b (F1 Austria GP recap) has firstSeenAt 2026-06-16 but updatedAt 2026-07-11, freshnessScore 0.96 — looked brand new despite being 25 days old. Also confirmed the API's isStale field is unusable as a stopgap (always false regardless of age). Ranking still surfaces old stories at the top — that's server-side (signalScore/freshnessScore) and out of scope for the client per the architecture rule against re-ranking. Logged in BACKLOG #15. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -312,7 +312,8 @@ final class StoryStore: ObservableObject {
|
||||
consensus: old.consensus,
|
||||
conflict: old.conflict,
|
||||
updatedAt: old.updatedAt,
|
||||
createdAt: old.createdAt
|
||||
createdAt: old.createdAt,
|
||||
firstSeenAt: old.firstSeenAt
|
||||
)
|
||||
stories[idx] = updated
|
||||
stories.sort(by: StorySummary.feedOrder)
|
||||
|
||||
Reference in New Issue
Block a user