702e2e00eb
P5-10 Voice Channel User Limit:
- New StateEvent.LotusVoiceLimit (io.lotus.voice_limit) with { max_users }
- RoomVoiceLimit admin control in Room Settings > General > Voice
(power-level gated via permissions.stateEvent)
- CallPrescreen reads the limit reactively and disables Join with a
'Channel Full (N/N)' message at capacity; existing members can rejoin
P5-16 Custom Join/Leave Sound Effects:
- useCallJoinLeaveSounds hook wired into CallUtils; detects participant
join/leave via MatrixRTCSession membership changes (sender|deviceId),
filters out self, only fires while joined
- Sounds synthesized in-browser with Web Audio (callSounds.ts) - no
assets bundled; styles Off/Chime/Soft/Retro
- 'Join & Leave Sounds' selector in Settings > Calls (previews on change)
Docs: LOTUS_FEATURES.md, README.md, LOTUS_TODO.md (P5-10/P5-16 marked done)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
10 lines
301 B
TypeScript
10 lines
301 B
TypeScript
export * from './RoomAddress';
|
|
export * from './RoomEncryption';
|
|
export * from './RoomHistoryVisibility';
|
|
export * from './RoomJoinRules';
|
|
export * from './RoomProfile';
|
|
export * from './RoomPublish';
|
|
export * from './RoomShareInvite';
|
|
export * from './RoomUpgrade';
|
|
export * from './RoomVoiceLimit';
|