-
v1.4.0
Stablereleased this
2026-10-18 16:36:32 +01:00 | 0 commits to main since this releaseStarsync 1.4.0
Links you put up are downloaded once for everyone, quick chat and danmaku in the player, plus What's new and fixes for Windows, the relay and chat.
Added
- What's new: the update band shows what changed, and after an update the app shows the full list once (also in Settings → About)
- Update channel in Settings → Updates: Stable, or Dev for test builds; Dev stays on test builds after a release and still gets the newer release when there is one
- Sharper subtitles and picture: the video and its subtitles are drawn at your screen's resolution instead of the video's (Settings → Player → Sharp video and subtitles, on by default)
- Invite links: Invite copies just a starsync:// link, password included, so a friend just clicks it (or copies it and switches to Starsync) and the app asks "Join Bob's server?"
- Invite finds your internet address on its own and says when your router needs the port forwarded; Other addresses picks your home-network or VPN address instead
- Starsync runs once: a link clicked while it is open goes to the open window
- Quick chat: press Enter in the big player to type a message in a small box at the bottom, without opening the chat panel and without the mouse pointer or the controls popping up; it shares its draft with the chat panel, closes by itself when you stop typing, and subtitles move up out of its way
- Danmaku notifications: chat, joins, leaves and Up next can fly across the top of the picture instead of popping up (Settings → Notifications & sounds → Notifications: Danmaku, off by default), with speed, how many at once, where, opacity, size, boldness, outline and avatars all adjustable and a live preview
- Player panel: ⚙ → Player settings opens a panel at the right of the player that stays open while you watch, with tracks, subtitle size, picture, volume and notification settings
- Subtitles can move up above the controls while they show (Settings → Player → Subtitles above the controls, off by default), and their size can be changed
Changed
- A link you put up is downloaded once: you and everyone else watch the same stream, so nobody drifts ahead or stalls alone, and sites like Bilibili are far less likely to block it
Fixed
- Upscaling shaders (Anime4K, the HQ modes) no longer shift the colours or draw a grid over the picture, which showed most in a large window or fullscreen
- Sharp video: resizing the window or opening the chat panel no longer shrinks the picture for a moment before it jumps back
- Joining while something plays on Windows: the video opens again by itself when it was too early
- Relay: players no longer get stuck after a slow or stalled source
- Relay: X (Twitter) clips play through the relay
- Relay: gentler retries, so Bilibili stops blocking the server
- Relay: a source that refuses the old link (412) gets a fresh address and keeps playing
- Chat pop-ups stay away while the chat panel is open (the sound still plays)
- Bilibili and other sites no longer stop a video halfway when you watch alone or with "Everyone fetches it": a cut connection picks up where it left off
In the app: Update and restart in the band at the top, or Settings → Updates → Check now. New here: download the archive for your system below.
Downloads
-
v1.3.2
Stablereleased this
2026-10-17 00:20:37 +01:00 | 17 commits to main since this releaseStarsync 1.3.2
- Server test: flaky_link's silence limit 1.5 s (600 ms marked a reporting client gone on a busy CI runner)
- Windows: every start ended itself after 3 s (1.3.0, 1.3.1)
- Revert "Sounds: survive an audio device that crashes the app on open"
Downloads
-
v1.3.1
Stablereleased this
2026-10-16 23:01:47 +01:00 | 21 commits to main since this releaseStarsync 1.3.1
- Sounds: survive an audio device that crashes the app on open
- tool/windows_report.cmd: double-click crash report for Windows friends (logs, crash events, files, test start, zip on the clipboard)
- Roadmap: P35 notification bursts, P36 stale warm relay re-dial
- Mini player cleanup: no full-player controls left under it, the full player's play button, a plain progress bar
- Roadmap: AniList browser (requests to AnimeFlow, later Sonarr), real cached ranges on the timelines
- Minimal: the hidden line is the band shrunk (same colours, no switch), stronger stripes on it, lighter chapter cuts
- Joining another server no longer opens an empty player
- Roadmap: 1.3.0 released
Downloads
-
v1.3.0
Stablereleased this
2026-10-16 05:41:45 +01:00 | 30 commits to main since this releaseStarsync 1.3.0
- Roadmap: tray (close to tray, like Discord)
- CI: add the C++ ATL component on the Windows runner (notifications plugin needs atlbase.h)
- Open media only once the video output is up (black video on X11 when joining mid-play)
- Restructure step 6: what's next and watch tracking
- Vendor media_kit_video 2.0.1 with the X11/EGL fix (hardware rendering on X11 with Flutter >= 3.38)
- Restructure step 5: one media pipeline on a player host
- Roadmap: no upstream PRs; Windows libmpv update possible on its own
- Roadmap: media_kit fork evaluation after the restructure
- Restructure step 4: local library and media identity
- Restructure step 3: your server, Invite, version gate, AppGraph
- Restructure step 2: Status as one computed level, the Notifier's real policy, system notifications
- release scripts: read protoMax (protoVersion is no longer a literal)
- Restructure step 1: lasting identity, presence and protocol 16
- Restructure step R: the app is Starsync (dev.foxyz.starsync)
- Restructure step 0 done: notice table test, flaky-link proxy, liveness on the engine clock, STARSYNC_PROFILE
- Restructure step 0: Connection extracted from the coordinator
- Roadmap: second review applied (rename before step 1, drops keep the session, pipeline before what's next, release step, AppGraph root, protocol 16 additions)
- Restructure step 0: test safety net, AppEvent/Notifier seam, platform ports, protocol 16 planned
- Roadmap: no Windows dev builds; Windows friends move at 1.3.0
- Roadmap: how the restructure runs (incremental on main, signals, 1.3.0-dev), rooms out, Windows dev builds in step 0, rename as its own step
Downloads
-
v1.2.0
Stablereleased this
2026-10-12 23:34:59 +01:00 | 61 commits to main since this releaseWatch together 1.2.0
- release.sh: notes via git log -n (head broke the pipe under pipefail past 20 commits)
- server: lock file catches up with core's version
- leaf_widgets from Gitea (v0.1.0) instead of a local path, so CI can build
- dev_release.sh: --minor / --major start a new dev line, later runs follow it
- Links: yt-dlp's "No video formats found" reads as a sign-in/cookies hint
- Jellyfin: a watched episode leaves Continue (resume point cleared); watched at 70 %, or reaching the ending or last 15 % after 40 %
- Protocol 15: one shared session log on the server, chat never logged, Mark a problem
- Sessions leave redacted logs; viewers wait for a member relay's source before opening it
- Schedule: "waiting · searched N min ago" and "release rejected" (with AnimeFlow's reason) from its new episode fields
- Schedule: watched marks and progress on episodes, "waiting for release" instead of a Request for missing ones, air dates matched as Japan days
- Side-app use: copy/open links and titles everywhere, version on the Settings tab, known links preview instantly, Ctrl+V adds to Up next
- uosc timeline ported from uosc (hatching on the uncached part, line marker, remaining time, buffered label, diamonds); mouse wheel sets the volume anywhere on the video, with a volume readout
- Protocol 14: a warm relay preloads relayed Up next items for everyone
- A fresh player for every media change (the frozen frame after a swap needed Ctrl+R); promotion and fresh players share one hand-over
- dev_release.sh: retry the upload up to 3 times
- Jellyfin rows reload after watching: the Stopped report clears the server's cached lists
- Dev publish: new archive before deleting the old, manifest last (a failed upload no longer empties the dev release)
- Protocol 13: Up next preloads, so switching to it is instant
- Up next control: the next item's picture and title in the bar, a preview card on hover
- Menus: one weight, balanced padding, focus shown only for keys, picker text lines up with its button
Downloads
-
Test build
Pre-Releasereleased this
2026-10-11 00:35:59 +01:00 | 90 commits to main since this releaseLatest test build; dev builds update from here.
Starsync 1.4.1-dev.1
Added
- The video's volume is remembered: the next start begins where you left it
- M mutes and unmutes the video
Changed
- The volume slider now stays next to the speaker in the player (in a narrow window it still slides out when you point at the speaker)
- The player panel opens with Sound: the video's volume and App sounds (how loud the app's own cues are, so the two are no longer confused); its All settings button opens the matching Settings page
- ⚙ in the player now opens and closes the player settings panel directly. Change video, Copy link, Reload video, Skip 1:30, Chapters, Mark everyone ready, Mark a problem and Leave server moved to a new ⋯ button in the player's top bar ("Video and session"), next to Up next. The shader is picked in the panel (or with Ctrl+0…6)
- The player panel shows the same rows with the same names as Settings: Subtitles & audio together, the upscaling shader with HQ or Fast under it, sharp video and hardware decoding folded under Troubleshooting, and now chat pop-ups and the controls size too
- Settings → Notifications & sounds starts with what shows over the video (toasts or danmaku, chat pop-ups, joins and leaves); the danmaku look with its preview, what pops up when, and each sound's own settings are under More
- Settings has six pages: Player, Party, Notifications & sounds, Library & accounts, Updates, and Help & about. Each starts with the settings people change and folds the rest under More, and Ctrl+, opens on Player
- Your picture, name and colour can be changed right in Settings → Party, next to auto sit-out, your server and recent servers
- yt-dlp and its cookies are in Settings → Library & accounts → Web links (where a "needs cookies" message now points), and "Play the next episode automatically" is in Settings → Player
- Diagnostics, sharing them with the server, the keyboard shortcuts (now all of them: M, Ctrl+, Ctrl+V and the library's keys) and About are together in Settings → Help & about
- A few choices made way for their defaults: the controls always hide after 3 s, you stay ready when the video changes, and updates are always checked (nothing installs without asking). The time display follows a click on the time, and hiding re-releases is in the Latest row's menu
- Joining without a name no longer stops with an error: the app asks "Wait, what do we call you?" right there (your computer's user name to start with, plus picture and colour), and OK carries on with the join
- In fullscreen the party's avatars come up with the controls, also while the video plays, and work like the ones in the strip: hover for names, click for who is in the server
- A message sent from the quick chat box now shows as your own chat bubble with everyone else's, instead of a separate echo where the box was
Fixed
- The player panel's hardware decoding offered Custom with nowhere to type the value; it has the field now, as in Settings
- A chat message that arrived before the sender's picture showed only their initial; the picture now appears as soon as it is there
- After a server is updated, the members card shows its new version (it kept the old one until you rejoined)
In the app: Update and restart in the band at the top, or Settings → Updates → Check now. New here: download the archive for your system below.
Downloads
-
v1.1.2
Stablereleased this
2026-10-10 20:00:09 +01:00 | 91 commits to main since this releaseWatch together 1.1.2
- Roadmap: drop the link-token item (what a user pastes is theirs)
- Errors: refuse links the probe can't play (with Put it up anyway), plain error texts, and others see who can't play
- Player: mpv logs at warn (v only while probing the render mode), 4xx fails at once, load errors show
- Schedule: remove the per-user follow (bookmark, Following filter, AnimeFlow follow calls)
- Schedule: AnimeFlow's AniList episode number wins outright (JoJo S6E4 no longer claims next week's ep 4)
- Dependencies: Flutter upgrade, file_picker 13, flutter_lints 6
- Schedule: On Jellyfin only when the episode itself is there; Aired · not on Jellyfin yet otherwise
Downloads
-
v1.1.1
Stablereleased this
2026-10-09 23:08:01 +01:00 | 99 commits to main since this releaseWatch together 1.1.1
- CI (Windows): fetch git dependencies fresh; the host's cached fox_utils clone was stale
- fox_utils 0.1.9: fixes the Windows build (broken since 1.0.1)
- CI: show the verbose Windows build's error lines and tail
- CI: capture the verbose Windows build through cmd (PowerShell 'Stop' aborted on stderr)
- CI: build Windows on every push; a failed Windows build prints the compiler errors
Downloads
-
v1.1.0
Stablereleased this
2026-10-09 22:00:48 +01:00 | 105 commits to main since this releaseWatch together 1.1.0
- One updater for app and server: updater in core; watch-together-server --upgrade / --check-update; update.sh uses the server
- Solo: no idle unready, no party corner in fullscreen; a cancelled Invite returns to solo
- Strip shows the joined server's name (its --name via /health), the address until known
- Relay HLS/DASH-only pages as pieces tracks (protocol 11)
- Cookies: keep every site of an imported file (no site picker); only the cookies box takes drops on Settings
- Welcome band only for newcomers, with Don't show again
- Solo watching and a clearer offline start
- yt-dlp cookies: from a browser or a file (cookies.txt or extension JSON), per site, private; server --yt-dlp-cookies
- Protocol 11: sit out replaces kicking; nudge
- Relay picks the most compact video codec (HEVC, AV1, VP9, then h264)
- Sounds: three presets (Cosmic, Abyss, Wood & glass), chosen overall or per sound; nudge sound
- Protocol 11: split-track relay (YouTube video+audio), chunked upstream reads
- Hot-restart guard comes from fox_utils 0.1.8 (shared with other media_kit apps)
- Linux debug: hot restart no longer crashes with live mpv players
- Show the app as Starsync (window titles, launcher entry, About, README); internals unchanged
- yt-dlp for page links in every Link mode; app icon and Linux launcher entry
- Esc steps out one level: chat, fullscreen, big player to mini, then ask to leave
- No buffering rings at the end of short videos; links never guess an AniList show
- Schedule: AniList entries split within a season (anilist_map, per-episode AniList id) count as on Jellyfin
Downloads
-
v1.0.1
Stablereleased this
2026-10-09 06:24:42 +01:00 | 125 commits to main since this releaseWatch together 1.0.1
- Space never presses a focused button; chat toasts open the chat; plain wheel always scrolls the page
- End of video plays out, no false 'loading' near/after the end; bigger status pill avatars; start card fits the mini
- Protocol 10 presence gate, drop/paste anywhere, quick UI fixes
- Roadmap: wishlist placed (ready gate, quick UI, drop/paste, Files, yt-dlp, AniList, ops)
- Desktop: depend on fox_utils v0.1.7 (git) for drag & drop and clipboard
- Sounds: full volume by default; everyone ready is the bell alone
- Sounds: Japanese-house sound set in the app, layout demo removed
- Sounds: synthesized sound set and a debug sound board
Downloads