Room and Member Management
Room management affects online users. Query current state first, then validate joining, playback, chat, and permissions from a normal member account.
| Category | Common commands | Risk |
|---|---|---|
| Lifecycle | room create, room delete, room ban, room transfer-owner | Visibility, ownership, and data retention |
| Members | room member add/kick/set-permissions | Access and administration capability |
| Settings | room settings update/reset | Join rules, guests, chat, and defaults |
| Playback | room playback play/pause/seek/start/stop | All online members see the change |
| Livestream | room stream list, provider rtmp create-publish-key | Publish keys and live sessions |
Operation Order
Section titled “Operation Order”- Query room, members, and current settings.
- Decide whether the change is long-term responsibility or a single-member exception.
- Use room roles or defaults for long-term changes; use member overrides for exceptions.
- Do not delegate
DELETE_ROOMas an ordinary room capability. - Validate WebSocket sync, join flow, chat, and playback controls.
- Keep reasons for delete, ban, and ownership-transfer actions.
Member Issues
Section titled “Member Issues”| Goal | Action | Note |
|---|---|---|
| Temporarily mute | Remove send_chat from the member | Smaller blast radius than disabling chat |
| Allow playback control | Add play_control | Media switching also needs change_current_media |
| Remove disruptive member | Kick member | After a kick, the member enters a temporary rejoin cooldown |
| Change long-term responsibility | Change room role or defaults | Avoid long-lived piles of member overrides |
Room concepts are in Rooms. Permission evaluation is in Permissions Model.