Private
Public Access
Make archiving a room actually affect existing members (#57)
is_archived was previously only exposed on the admin-only AdminRoom schema and checked in one place (excluding a room from Browse rooms) -- for anyone already a member it was a complete no-op: still in their sidebar, still fully postable, no indication anywhere it was archived. Expose is_archived on the regular RoomRead/MyRoomItem schemas, drop archived rooms from the sidebar list (while keeping them directly reachable via URL so history stays readable), and reject new messages in one -- both the WS "message" handler and incoming webhooks -- with a clear "archived and read-only" response instead of silently no-op'ing or a confusing membership error. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -27,6 +27,11 @@ class RoomRead(BaseModel):
|
||||
description: str | None
|
||||
is_private: bool
|
||||
is_dm: bool
|
||||
# #57: previously only exposed on the admin-only AdminRoom schema, so a
|
||||
# member of an archived room had no way to even know it was archived --
|
||||
# the flag was set server-side but had no effect on their own view of
|
||||
# the room at all.
|
||||
is_archived: bool
|
||||
owner_id: uuid.UUID
|
||||
created_at: datetime
|
||||
|
||||
|
||||
Reference in New Issue
Block a user