Update 2026-04-13
- Another big update, after moving to the sdk we* were able to add some new features
- New layout, using side panels for new tools and a floating toolbar which should allow more space for the main stream
- UI now scales for correctly for portrait / landscape use and generally works on mobile now
- UI responds and behave correctly with touch interfaces and no longer "sticks"
- Over all UI should be more responsive and stable over all devices
- Main toolbar now floats and fades out after a few seconds of inactivity
- Markups have also become "stateful", a user who connects late will receive any active markups to bring them up to date, any erased markups however remain erased
- More colours have been added to markups.
- User microphone states are now visually displayed, black no microphone, red muted, white active
- Users now have individual VU meters in their previews, VU is calculated by the individual user and only the VU value is sent to others to limit bandwidth and processing
- Host can now remote mute or un-mute a user, since there's always one, you know who you are, Dave
- Remote muting is the same as if a user muted themselves, their interface will update and the "your microphone is muted" banner will appear
- Added a lobby / waiting room
- User links can now be sent that force the user to join the lobby first and the host has to manually admit them, by default they will join the main room
- Added the ability for the host to move people between the lobby and main room at any time, users can only see and hear users in the same room, and those in the lobby can not see or hear the main stream or access the chat or files
- Added "one on one" between host and another user, helpful if you wish to run something past a user without the rest of the room hearing
- Other users are not fully muted during one on one, you as host will still hear them but they will not hear you
- Added the ability to kick users from a session, but in fairness they can just reconnect, so satisfaction may be temporary
- User panel can be collapsed to allow more space for main stream
- Text chat has been added, simple text only, no fancy gifs or emoji's but URL's are recognised and display as a link correctly
- Chat bubbles show the poster and time, remote users are in grey to the left as in most text chat apps
- Text chat is also "stateful" if a user joins late they will receive all the chats they have missed
- Chats are not saved to the session history and are deleted at the end of every session
- Added the ability to share files peer to peer, based on the send app we created earlier but with significant updates
- Links to files are created and shared between users allowing them to directly download files from each other, files are never uploaded to a central server
- Use the buttons on the top of the panel to upload files or folder or simply drag and drop anywhere on to the app
- Drag and drop works throughout the app for sharing files or folders
- Files and folders can be sorted by name or latest (default)
- Files or folders you share will be in grey and have a delete icon to the right to remove them from the share (this will not remove them from your drive, only the share)
- Files or folders shared with you are displayed in blue and have a download icon to their right
- You can expand or collapse folders during navigation
- You can download entire folders and their contents but unfortunately browsers can not create folders in your download folder and so any structure will be lost
- Files are chunked and stored in indexdb on download and then streamed to disk to minimize memory use
- A software worker is used to stream from indexdb to drive to not block the main thread
- Files are only chunked when requested and stored by the sender in indexdb, once completed they are marked for removal from the indexdb after a few minutes, if another user requests the same file it does not need to be re-chunked and the purge will be delayed
- If files are moved or deleted off the source disk but not the share, they will be marked as dead for all users
- Transferring files can overload the network very quickly, if you have ten users all downloading four files simultaneously this adds up very, very fast, so use with discretion
- File shares are stopped the moment a user disconnects from the session, any files they were sharing will be removed from the file list immediately
- File shares are not like torrents and spread between users, each user sends directly, peer to peer, well for now any way
- Like markups or chats users who join late will receive the same list of files shared
- Changed layout for session creation to be a simpler and clearer
- Previous sessions list has been upgraded to ten items and to ask for confirmation before loading and launching
- For hosts the settings menu has been split into session / user sections same as on session creation to simplify layout
- Ability to connect to a smart TV (depends on model and version, but works on some TV browsers)
- Visit https://rpxl.app/tv on your smart TV web browser and take note of the code displayed, use this code in the share menu to add the smart TV to the session, only the main stream will be sent to the smart TV
- On the backend side we've split the css documents and javascript files up substantially to help break up development
- Removed the old vdo ninja app as it's no longer required at all since everything is running through the SDK now
- Help has been updated for new interface and features
- *the royal we
Update 2026-02-13
- Updated the help document
- Fixed an error that would allow infinite length project names
- Minor interface cleanups and layout tweaks
- Cleaned up some mobile interface issues, in the help
- Fixed an audio issue that was causing corruption of the main audio stream
Update 2026-02-01
- Major re-write to use the vdo ninja sdk in-stead of butchering vdo ninja application
- Functionality is almost the same but over all experience will be smoother and faster
- Have removed the TV and PI interfaces for the moment
- Only one popup asking for device permissions, not multiple popups, multiple times
- Will no longer get flashes of the original vdo ninja interface
- No more using cookies, only local and session storage
- Local storage is correctly serialised
- No more need to continually connect / disconnect when changing devices, username or project name
- Project name can be changed after creation
- Increased room entropy to 24 random alpha-numeric, upper and lower case, characters - 6224
- Store 5 previous rooms and the settings for each (not encrypted but in browser local storage), so yes if somebody had access to your machine they could access previous rooms, but I'm guessing if somebody has access to your machine you probably have bigger issues
- Host can reload previous session settings and re-use previous rooms (for multi day events)
- Device capture and resolution now in sync (if set to stream at 1080p the device will try to capture at 1080p, no higher)
- Overall stability improvements and interface consistency
- Interface now dynamic, no markup if no video source and no volume control if no audio source connected
- Markups should be smoother and no longer glitch
- Markup now consistent between screens with different DPI settings
- Markups now maintain state (if a user joins late the latest markups are sent so all users have the same markup data)
- Changed the way the markup erase function works, users will now only erase their own markups, the host will still erase all markups as before
- Zoom in and out now more responsive, markups also behave more consistently when zoomed in
- Main stream bitrate and resolutions can now be changed in session without reconnect
- Resolution settings sets Maximum capture and encode resolution now
- Stream will never scale to greater than their original source for display at 100%
- Streams now auto calibrate for best resolution they start out at a slightly lower resolution and climb to the maximum set by the host over a few seconds.
- Streams will drop resolution to maintain frame rate on a peer by peer basis
- Bitrates updated to Low : 2mbps - 4mbps, med : 4mbps - 8mbps and high : 8mbps - 16mbps
- Bitrate is dynamic and will start lower until eventually reaching maximum selected
- Bitrate is adaptive and may drop on peer by peer basis, will attempt to maintain frame rate
- Streaming can be started without selecting any devices, a temporary audio and video stream is created and is replaced as devices are selected
- Host can blind or deafen main stream for all peers dynamically
- Automatically add (host) to host streamer user name
- Host is always top of peer list, user is always second, other users appear below
- Added help section for users on connect
- Users must enter a user name, this is optional for the host
- Users can join without selecting a microphone or camera
- Users who join without a device display their name correctly in the peer list
- Peer camera previews are smaller than before (60px now, were 80px before)
- Visual clues if user has connected without audio or is mute (No outline, no audio device. Red outline, mute. White outline, live)
- Interface updates dynamically to show mute microphone and camera buttons for user if they have selected corresponding device
- Peer list updates dynamically to show user microphone status
- User camera is now limited to less than 50 kbps and 15 fps
- Audio cue on user connect and disconnect for the host only
- Have limited to h264 and OPUS for compatibility at moment
- New notifications panel
- Mobile will no longer show the peers on the left
- Added a check to see. if the app is in focus to stop device sleep
- Simplified home page splurb, will add back as new features get added