<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jellyfin/MediaBrowser.Controller/SyncPlay, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.b0n.dev/jellyfin/atom?h=master</id>
<link rel='self' href='https://git.b0n.dev/jellyfin/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/'/>
<updated>2026-09-15T15:13:44Z</updated>
<entry>
<title>Backport pull request #17797 from jellyfin/release-12.z</title>
<updated>2026-09-15T15:13:44Z</updated>
<author>
<name>fmarcac</name>
<email>188743521+fmarcac@users.noreply.github.com</email>
</author>
<published>2026-09-15T15:13:44Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=b70e7f60ffe19847ef6259a13075c26fb6994363'/>
<id>urn:sha1:b70e7f60ffe19847ef6259a13075c26fb6994363</id>
<content type='text'>
Correct SyncPlay sessions that report playback at a stale position

Original-merge: a93180d35f3528a556b1c81aac4ba4132b34391e

Merged-by: crobibero &lt;cody@robibe.ro&gt;

Backported-by: Cody Robibero &lt;cody@robibe.ro&gt;
</content>
</entry>
<entry>
<title>Merge pull request #17796 from fmarcac/fix/syncplay-shuffle-mode-crash</title>
<updated>2026-09-05T14:58:31Z</updated>
<author>
<name>Cody Robibero</name>
<email>cody@robibe.ro</email>
</author>
<published>2026-09-05T14:58:31Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=44ecc909ff516824275b9de6d8a16d808d3c95a4'/>
<id>urn:sha1:44ecc909ff516824275b9de6d8a16d808d3c95a4</id>
<content type='text'>
Fix crash when SyncPlay shuffle mode is set to sorted twice</content>
</entry>
<entry>
<title>Apply the SyncPlay resume delay floor in the correct unit</title>
<updated>2026-09-05T12:24:49Z</updated>
<author>
<name>fmarcac</name>
<email>188743521+fmarcac@users.noreply.github.com</email>
</author>
<published>2026-09-05T12:20:26Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=0c05d9d1a97ccf77571c7cffd39314c5cf3ad4e6'/>
<id>urn:sha1:0c05d9d1a97ccf77571c7cffd39314c5cf3ad4e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix crash when SyncPlay shuffle mode is set to sorted twice</title>
<updated>2026-09-05T12:24:48Z</updated>
<author>
<name>fmarcac</name>
<email>188743521+fmarcac@users.noreply.github.com</email>
</author>
<published>2026-09-05T12:19:01Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=e5bfe562bc04b23afd9dcf1cb7067c94372558be'/>
<id>urn:sha1:e5bfe562bc04b23afd9dcf1cb7067c94372558be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reduce cognitive complexity of RemoveFromPlaylist</title>
<updated>2026-07-16T19:03:29Z</updated>
<author>
<name>Enea D'Angiò</name>
<email>enea.dangio162006@gmail.com</email>
</author>
<published>2026-07-16T19:03:29Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=d36c8ebce8593abd9cd32f37a6206b0cde25af8d'/>
<id>urn:sha1:d36c8ebce8593abd9cd32f37a6206b0cde25af8d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix play queue index handling in SyncPlay</title>
<updated>2026-07-04T09:38:05Z</updated>
<author>
<name>Enea D'Angiò</name>
<email>enea.dangio162006@gmail.com</email>
</author>
<published>2026-07-03T09:14:11Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=6883cd0969e40ad380d20b5b338c681767bc73f1'/>
<id>urn:sha1:6883cd0969e40ad380d20b5b338c681767bc73f1</id>
<content type='text'>
Three index bugs in PlayQueueManager, two of which leave
PlayingItemIndex out of bounds, making every subsequent Buffering/Ready
request throw and leaving the group unusable until it empties:

- RemoveFromPlaylist did not compensate for removed items preceding the
  playing item: removing the playing item together with earlier items
  could select the wrong item or crash with an out-of-bounds index.
- Next/Previous on an empty playlist with RepeatOne/RepeatAll reported
  success or set PlayingItemIndex to 0 on an empty list, crashing
  downstream in Group and corrupting the index.
- SetPlayingItemByIndex accepted an index equal to the playlist count
  (latent off-by-one, callers currently pre-validate).
</content>
</entry>
<entry>
<title>Run tree-wide dotnet format</title>
<updated>2026-05-21T18:48:41Z</updated>
<author>
<name>jakobkukla</name>
<email>jakob.kukla@gmail.com</email>
</author>
<published>2026-04-16T09:38:01Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=37350282cc18a977162dcf14fe9b6068d29d6edf'/>
<id>urn:sha1:37350282cc18a977162dcf14fe9b6068d29d6edf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Return SyncPlay group info after creation, add GET group endpoint (#13935)</title>
<updated>2025-04-21T01:40:23Z</updated>
<author>
<name>Niels van Velzen</name>
<email>nielsvanvelzen@users.noreply.github.com</email>
</author>
<published>2025-04-21T01:40:23Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=5e4bd744c07d44d75c8e9eb7b6dc03b7ff4f147c'/>
<id>urn:sha1:5e4bd744c07d44d75c8e9eb7b6dc03b7ff4f147c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix SyncPlay WebSocket OpenAPI schemas (#13946)</title>
<updated>2025-04-19T19:08:15Z</updated>
<author>
<name>Niels van Velzen</name>
<email>nielsvanvelzen@users.noreply.github.com</email>
</author>
<published>2025-04-19T19:08:15Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=269508be9f78901b3a3b2bea88392aeef88359e4'/>
<id>urn:sha1:269508be9f78901b3a3b2bea88392aeef88359e4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add all websocket messages to generated openapi spec (#9682)</title>
<updated>2023-06-10T13:28:21Z</updated>
<author>
<name>Cody Robibero</name>
<email>cody@robibe.ro</email>
</author>
<published>2023-06-10T13:28:21Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=9a0dfc00f1e36092476f62984ba66886032f4f89'/>
<id>urn:sha1:9a0dfc00f1e36092476f62984ba66886032f4f89</id>
<content type='text'>
* Add all websocket messages to generated openapi spec

* Use oneOf

* JsonIgnore ServerId

* Oops

* Add discriminators

* Add WebSocketMessage container for Inbound and Outbound messages</content>
</entry>
</feed>
