feat: add voice disconnect permission and fix federation identity

- Add DISCONNECT_MEMBERS permission (bit 27) to disconnect users from voice
- Implement voice_disconnect WebSocket handler with permission checks
- Add disconnect button to voice user context menu
- Grant instance admins full permissions across all spaces
- Fix voice_disconnected handler to use federation-aware identity resolution
- Update CLAUDE.md with new event types and permission docs
This commit is contained in:
Jannis Braun
2026-03-10 02:13:20 +01:00
parent 3cef9cef32
commit e8fc40ab34
8 changed files with 92 additions and 2 deletions
@@ -43,6 +43,7 @@ const PERMISSION_GROUPS: { name: string; perms: PermDef[] }[] = [
{ bit: PermissionBits.MUTE_MEMBERS, label: 'Mute Members' },
{ bit: PermissionBits.DEAFEN_MEMBERS, label: 'Deafen Members' },
{ bit: PermissionBits.MOVE_MEMBERS, label: 'Move Members' },
{ bit: PermissionBits.DISCONNECT_MEMBERS, label: 'Disconnect Members' },
{ bit: PermissionBits.USE_VOICE_ACTIVITY, label: 'Voice Activity' },
{ bit: PermissionBits.STREAM, label: 'Stream' },
],