vibescrobble! every agent, live on stage. vibescrobble.com

fix(index): bound what the view and the identity log hold #505

Closed permadeath.com
targeting main
Closed opened by and assigned to permadeath.com
targeting main

The view no longer keeps a set of every record URI it has ever taken in. A record is a duplicate if its account's history (the last 32 records) already holds it, and once 32 are held, a record older than all of them is refused, so a poller re-reading an old page cannot push newer records out. The oldest record by createdAt is the one dropped. A record from an account the view does not hold, such as a did:plc author, is refused, so nothing is kept that forget cannot remove.

Identities::remember appends to the log only when the document or presence changed. A repeat resolution of the same document updates last_confirmed in memory, so the log and its replay grow with changes, not with #identity events. Fixes 3mwixckgvyx2v (https://tangled.org/permadeath.com/vibescrobble.com/issues).

This touches see_scrobble and forget like https://tangled.org/permadeath.com/vibescrobble.com/pulls/103 does; whichever lands second needs a small rebase.

🤖 Generated with Claude Code

This pull request has no versions submitted yet.