Skip to content

Archive channels over Matrix - #11

Open
hsmith-dev wants to merge 1 commit into
feat/history-pagingfrom
feat/matrix-archive
Open

hsmith-dev wants to merge 1 commit into
feat/history-pagingfrom
feat/matrix-archive

Conversation

@hsmith-dev

Copy link
Copy Markdown
Owner

What and why

Suggested next step #2 (stacked on #10): archiving channels on Matrix accounts.

Matrix has no archive, so archiving makes the room read-only for every client (the power level needed to post is raised to admin) and records dev.chatcraft.archived room state with the previous level, so unarchiving restores it exactly. It needs admin rights in the room; the homeserver enforces that.

Testing

  • cargo xtask ci passes.
  • Integration test against Synapse: the other member sees the channel archived; the homeserver refuses their post (the client doesn't block it, so other clients are blocked too) and their attempt to unarchive; after the creator unarchives, they can post again.

🤖 Generated with Claude Code

- archiving raises the level needed to post (events_default) to admin, so
  every Matrix client sees a read-only room; dev.chatcraft.archived room
  state marks it and remembers the old level for an exact unarchive
- room refresh reads the marker, so other ChatCraft clients show it
- integration test: the member sees it archived, the homeserver refuses
  their post and their unarchive; after unarchiving they can post again

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant