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>
P1-5: Voice message playback speed toggle (0.75×/1×/1.5×/2×) in AudioContent.tsx
P1-10: Private read receipts toggle in Privacy settings; wired to notifications.ts
P1-3: Room filter input on Home tab and DMs tab (client-side, clears on tab switch)
P1-8: Favorite rooms via m.favourite tag — Favorites section in Home sidebar, star/unstar in right-click menu
P1-9: Room invite link + QR code in room settings (Share Room tile, api.qrserver.com QR)
P1-6: Poll creation modal in composer (PollCreator.tsx, sends m.poll.start)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
C-1 complete sweep across all components and features:
- Call controls: mic mute/unmute, deafen/undeafen, video, screenshare, chat
- RoomInput: dismiss reply, attach file, sticker, emoji, GIF, location, toolbar
- Media viewers: close in image/pdf/text viewers and editors
- Settings dialogs: close buttons in all room/space/common settings panels
- Lobby: back, toggle member list, scroll to top, pack add/remove
- Auth: server picker, UIA flow cancel
- Upload cards: cancel uploads
- URL preview: prev/next buttons
- Members drawer: close + scroll to top
- RoomViewHeader: back, start call, toggle member list
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* WIP - support room version 12
* add room creators hook
* revert changes from powerlevels
* improve use room creators hook
* add hook to get dm users
* add options to add creators in create room/space
* add member item component in member drawer
* remove unused import
* extract member drawer header component
* get room creators as set only if room version support them
* add room permissions hook
* support room v12 creators power
* make predecessor event id optional
* add info about founders in permissions
* allow to create infinite powers to room creators
* allow everyone with permission to create infinite power
* handle additional creators in room upgrade
* add option to follow space tombstone
* WIP - add room settings dialog
* join rule setting - WIP
* show emojis & stickers in room settings - WIP
* restyle join rule switcher
* Merge branch 'dev' into new-room-settings
* add join rule hook
* open room settings from global state
* open new room settings from all places
* rearrange settings menu item
* add option for creating new image pack
* room devtools - WIP
* render room state events as list
* add option to open state event
* add option to edit state event
* refactor text area code editor into hook
* add option to send message and state event
* add cutout card component
* add hook for room account data
* display room account data - WIP
* refactor global account data editor component
* add account data editor in room
* fix font style in devtool
* show state events in compact form
* add option to delete room image pack
* add server badge component
* add member tile component
* render members in room settings
* add search in room settings member
* add option to reset member search
* add filter in room members
* fix member virtual item key
* remove color from serve badge in room members
* show room in settings
* fix loading indicator position
* power level tags in room setting - WIP
* generate fallback tag in backward compatible way
* add color picker
* add powers editor - WIP
* add props to stop adding emoji to recent usage
* add beta feature notice badge
* add types for power level tag icon
* refactor image pack rooms code to hook
* option for adding new power levels tags
* remove console log
* refactor power icon
* add option to edit power level tags
* remove power level from powers pill
* fix power level labels
* add option to delete power levels
* fix long power level name shrinks power integer
* room permissions - WIP
* add power level selector component
* add room permissions
* move user default permission setting to other group
* add power permission peek menu
* fix weigh of power switch text
* hide above for max power in permission switcher
* improve beta badge description
* render room profile in room settings
* add option to edit room profile
* make room topic input text area
* add option to enable room encryption in room settings
* add option to change message history visibility
* add option to change join rule
* add option for addresses in room settings
* close encryption dialog after enabling