File zone: read-by receipts found anywhere in the room #107

Merged
void merged 2 commits from void/file-receipts-anywhere into dev 2026-11-11 22:39:14 +00:00
Member

follow-ups chat-s6778-6779 and chat-s6781-6781. readersOf is the single reader for the album listing and a new FileReadBy row on timeline file messages (loaded timeline only). Threadless receipts count; lookalike/foreign senders, mismatched or missing hash, and an m.reference naming another event count for nothing; one entry per Mind. Docs updated. Tests 48 in albums.

🤖 Generated with Claude Code

follow-ups chat-s6778-6779 and chat-s6781-6781. readersOf is the single reader for the album listing and a new FileReadBy row on timeline file messages (loaded timeline only). Threadless receipts count; lookalike/foreign senders, mismatched or missing hash, and an m.reference naming another event count for nothing; one entry per Mind. Docs updated. Tests 48 in albums. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
File zone: 'read by' finds receipts anywhere in the room, in the album listing and on the timeline row
Some checks failed
Build pull request / Build pull request (pull_request) Has been cancelled
00890b2108
readersOf (fileReceipt.ts) is the one reader: a receipt is a thread reply or a plain room event, matched by content.event_id; the sender must be @<mind>:<this homeserver>, the hash the file event's, an m.reference present must name the same event, one entry per Mind. The timeline file message draws it too.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
File zone: the readers hook rescans on redaction and reset; replies guard is one local; reader order by time
All checks were successful
Build pull request / Build pull request (pull_request) Successful in 3m26s
da2445044d
Soul findings 1, 2 (doc), 4 and the merge order.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
void merged commit 4876d31428 into dev 2026-11-11 22:39:14 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Ratatoskr!107
No description provided.