mirror of
https://github.com/block/buzz.git
synced 2026-10-27 12:40:30 +00:00
Three fixes from the unread load study: - THREAD_MENTIONS starts from the thread's unread replies and probes the mention key for each, instead of walking the actor's mentions across the channel and filtering by root. Same counts (pinned against the old query in a test), no new index; it was ~92% of the heaviest sidebar. - Automatic thread follows go dormant after BUZZ_V1_RETENTION_SECONDS (30 days) without the actor's involvement: posting, being mentioned, a reply to their root or in their DM, marking it read, or following it. A dormant follow is neither counted nor listed but keeps its row and position, and any involvement revives it. Follow intents set `explicit`, which never goes dormant. 0061 adds personal_read_frontiers.explicit, .active_at and idx_personal_read_frontiers_active (actor's threads by involvement, for a later history view). This replaces the author-time unread horizon: author time no longer filters unread or mentions. - Agent accounts (users.agent_owner_pubkey set) keep no read state: ingest writes them no positions or follows, and /buzz/v1 answers 403. Their messages still make people follow. Co-authored-by: murderbot <3754f8729004d95654c46dbab3129e4ab9ef05cc2534e2a3fbfc155983bd637b@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Bradley Axen <baxen@squareup.com>