Message struct per the #8 contract (nest_id, id, kind, author, text, to, refers_to, tagged_by, ts; MsgID() = <nest_id>-<n>).
MessageStore: append-only per nest, auto-incrementing ids, After(nestID,lastID) replay, All(); persisted as JSON Lines per nest (.crows/messages/<nest>.jsonl), loaded on startup, atomic tmp+rename save like NestStore.save().
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Messagestruct per the #8 contract (nest_id, id, kind, author, text, to, refers_to, tagged_by, ts;MsgID()=<nest_id>-<n>).MessageStore: append-only per nest, auto-incrementing ids,After(nestID,lastID)replay,All(); persisted as JSON Lines per nest (.crows/messages/<nest>.jsonl), loaded on startup, atomic tmp+rename save likeNestStore.save().Closes #9 · Epic: #2
Red (before):
Green (after):