WatchSync Dev 0.2.0-rc.2 (8b945a2)
Pre-release
Pre-release
A testing build of WatchSync 0.2.0-rc.2 from the dev branch, commit 8b945a2. It is not a release: for everyday use install WatchSync from https://watchsync.space.
In this build
Chat and reactions: talk with your room while you watch, without leaving the film.
Added
- Chat in a side panel next to the player. Each message shows the moment in the film it was sent at, so friends know what you were reacting to.
- Messages show "Sending" until the room has them; if one doesn't get through it says "Not sent" with Retry.
- Unread messages show as a count on the on-page pill and on the toolbar icon.
- Reactions: six buttons in the chat; a tap floats the reaction with your name on everyone's screen for a moment.
- Room activity in the chat: joins, leaves, closing the show and title moves show as plain lines among the messages. Play, pause and skips stay as pop-ups on the page. A Show pop-ups switch in the chat turns those pop-ups off on your page.
- Open chat from the popup.
- Alt+Shift+W opens and closes the chat (Control+Shift+W on a Mac). You can change it at chrome://extensions/shortcuts.
- Rooms survive a WatchSync server update: the room comes back by itself with the same code, people, title and position.
- Honest reconnect messages: while the server updates, the page says "WatchSync is updating, back in a moment" and reconnects within a few seconds; after 2 minutes without a connection it says "Can't reach WatchSync. Still trying." with Try now.
- Chrome extension updates wait until you leave the room, so an auto-update never drops you mid-film.
Changed
- The pill's buttons have clearer names: Start with 3-2-1, Pause everyone, Bring everyone here and Watch with the room. Bring everyone here appears only when your player is out of step with the room.
- Reactions work like live hearts: a burst of taps floats up as that many separate emojis, from different spots, each fading at its own time (up to 5 on screen).
Fixed
- A friend's 10-second skip on Netflix now shows as one "skipped ahead" notice instead of paused and played.
- Typing in chat no longer gets cut off when a streaming site's player grabs focus: the chat box takes focus back and the player's shortcuts stay out of your message.
- Skipping no longer risks pulling the room back when the player has to load the new spot, and one skip is sent as one update.
- Everyone's clocks line up faster and more precisely when a room starts and after a reconnect, so players stay closer together.
- Skipping with the arrow keys or clicking the timeline no longer leaves a friend a fraction of a second behind: the player allows for how long the seek takes and corrects itself once it lands, so you don't need to press Start with 3-2-1 again.
- Jumping to a part of the episode that hasn't loaded yet no longer leaves the person who jumped behind everyone: the room starts its clock once their player is playing there. Each later jump is fine-tuned again too, instead of only the first.
- Small gaps between friends (up to half a second) now close by playing a touch faster or slower, at most 5%, instead of jumping, so the picture never skips and you end up within a few hundredths of a second. Bigger gaps still jump first. If a service won't take the speed change, WatchSync goes back to jumping there.
- The room now starts its clock from the moment the person who pressed play or jumped read their position, not when the message reached the room service, so being far from the server no longer leaves everyone a little behind them. Players are held within 5 ms of the room's clock, and the clock is checked every 5 s instead of 20.
- A pause now leaves everyone on the same frame, even for a friend whose pause arrives a moment late, and pressing play again starts everyone from it together instead of easing a late player back over several seconds.
Security
- The chat panel runs in an extension frame, so the streaming page can't read what you type.
- Chat limits: up to 500 characters a message, 5 messages every 5 seconds per person and 20 every 10 seconds per room, and a cap on how much chat the room service holds.
- Room tokens are signed, expire after 24 hours, and travel in the connection header instead of the URL (older extensions still connect the old way until v0.8).
- Restored rooms count toward the room limits; idle and per-address connection limits.
- Title names can't carry control or direction-changing characters, so a title can't make a line read as something else.
Known issues
- Chat and reactions are not yet checked on the real Netflix, Prime Video and JioHotstar players.
- Chat has not had a VoiceOver screen-reader pass yet.
- Skips, the typing fix and the pill's new buttons are checked on a mock player and on Prime Video's skip events, not yet with a friend on the real services.
- The check that the chat panel isn't covered by the page is weaker in the automated headless browser than in a real one.
- The room service needs
ROOM_SIGNING_SECRETset on every Railway environment before this version is deployed, or it will not start.
Install or update
- Download
watchsync-extension-dev.zipbelow and unzip it. To update, unzip over the same folder. - Open chrome://extensions, turn on Developer mode, choose Load unpacked and pick the folder. To update, press the reload arrow on the WatchSync Dev card.
- The name on that card reads "WatchSync Dev" and its version reads "0.2.0-rc.2 dev 8b945a2".
Good to know
- It talks to the dev room service, which sleeps when idle, so the first room can take a few seconds.
- Rooms on the dev service and on watchsync.space are separate: everyone in a room needs the same build.