Skip to content

System messages (content_type='system') for membership + key events #175

Description

@codebestia

Add systemPayload jsonb nullable to messages. System messages carry structured JSON for events (member joined/left, device added/revoked, conversation renamed, MLS epoch change). These are NOT secret — they are routing/UX events. Add a check constraint ensuring systemPayload is null for non-system messages.

Acceptance criteria:

  • systemPayload column added; only set when contentType='system'
  • System events ordered inline with real messages
  • Check constraint prevents systemPayload on non-system messages

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions