[0.2.1.0] - 2025-11-27
- Stretched Grid Layout:CSS: Removed forced
50% height on sub-grids in stretched mode. Grids now naturally stack based on content height.
- CSS: Removed forced
50% height on sub-grids in stretched mode. Grids now naturally stack based on content height.
- Critical Tile Visibility (Data-First Architecture):Changed the tile creation logic from "Video-First" to "Data-First".Tiles are now created immediately upon receiving RTM attributes (
USER_ATTRIBUTES_UPDATE).Benefit: Users without cameras (Audio-Only) or those with delayed video tracks now appear instantly as avatars.
- Changed the tile creation logic from "Video-First" to "Data-First".
- Tiles are now created immediately upon receiving RTM attributes (
USER_ATTRIBUTES_UPDATE).
- Benefit: Users without cameras (Audio-Only) or those with delayed video tracks now appear instantly as avatars.
- Background Throttling (Heartbeat System):Implemented
attributeSyncInterval (10s) to periodically broadcast user presence.Benefit: Fixes issues where users in background tabs (minimized browsers) would "disappear" or fail to sync status.
- Implemented
attributeSyncInterval (10s) to periodically broadcast user presence.
- Benefit: Fixes issues where users in background tabs (minimized browsers) would "disappear" or fail to sync status.
- Grid Stability (Anti-Flashing):Added Data Diffing logic to the RTM listener. The grid only re-sorts if
role or joinTime changes, eliminating UI flicker during Heartbeat updates.
- Added Data Diffing logic to the RTM listener. The grid only re-sorts if
role or joinTime changes, eliminating UI flicker during Heartbeat updates.
- Screen Share Border Radius (The Clipper Fix):Implemented a JS-based Clipper Wrapper (
<div class="clipper">) for screen sharing.Benefit: Solves the persistent "Overflow Hidden" bug on Chrome/Edge where the video player ignored border-radius.
- Implemented a JS-based Clipper Wrapper (
<div class="clipper">) for screen sharing.
- Benefit: Solves the persistent "Overflow Hidden" bug on Chrome/Edge where the video player ignored border-radius.
- Page Refresh Logic:Updated
leaveMeeting() with a shouldRedirect parameter.Browser refresh (beforeunload) now gracefully cleans up resources without kicking the user back to the lobby.
- Updated
leaveMeeting() with a shouldRedirect parameter.
- Browser refresh (
beforeunload) now gracefully cleans up resources without kicking the user back to the lobby.