mirror of
https://github.com/runbear-io/beardrive.git
synced 2026-08-25 08:08:08 +02:00
The change feed is flat reverse-chron with no notion of when you last looked, so "what happened while I was away" is date arithmetic in your head — and cheap agents write more files per day than that scales to. Server: `?since=<RFC3339>` on GET /api/p/<id>/history, one case in the existing filter switch. It sits after the kinds[] classification (which must keep walking every op, or a filtered view relabels an edit as an add) and before the sort, so next_cursor is minted from the filtered list and paging a since-feed terminates on its own oldest match. Client: /<project-id>/since — a real VIEW_ROUTES entry — renders the existing HistoryView with that filter and a header line. The anchor is a per-(account, project) localStorage marker, read once from a useState initializer and stamped after entries render: read it any later and the page empties itself while you are reading it. SinceView is the only caller of stampVisit, so no other page moves the marker. Known ceiling: the marker is per browser, not per account — laptop and phone keep separate last-visit times. The server-side marker is the larger follow-up.