unkin-agent
9f4c857b23
test(session): cover the maintenance sweeps and capabilities routing
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-09-26 22:11:03 +10:00
unkin-agent
ce7e9f0c3d
fix(session): bound a routed request and stop hiding a failed subscribe
2026-09-26 22:11:03 +10:00
unkin-agent
bb26760011
fix(session): keep the maintenance sweeps and capabilities with the session owner
2026-09-26 22:11:03 +10:00
unkin-agent
af4e44173f
Merge remote-tracking branch 'origin/main' into benvin/session-directory
...
# Conflicts:
# .woodpecker/ci.yaml
# Jellyfin.Server/CoreAppHost.cs
# tests/Jellyfin.Server.Tests/HighAvailability/RedisTestServer.cs
2026-09-26 20:43:52 +10:00
unkin-agent
577d24d190
test(session): prove the directory and bus fall back together
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-09-26 15:12:04 +10:00
unkin-agent
611bcf2c4a
fix(session): confirm routed delivery and keep playback state with the owner
2026-09-26 14:45:40 +10:00
unkin-agent
086fdb8257
fix(session): parse the owner key without assuming the pod id
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
2026-09-25 00:04:54 +10:00
unkin-agent
51261b0128
test(session): sample ownership after each non-owner request
ci/woodpecker/push/ci Pipeline was canceled
ci/woodpecker/pr/ci Pipeline was canceled
2026-09-25 00:01:42 +10:00
unkin-agent
9e66708d87
fix(session): tie directory ownership to the live connection
...
Ownership is claimed with a Lua check-and-set keyed on the instance holding
the websocket, routing prefers a live controller over a local copy, the
session list deduplicates by owner, removal is ownership-checked, undelivered
routed messages surface, single-session lookups stop scanning the keyspace and
directory writes leave the request path bounded by a timeout.
2026-09-24 23:50:01 +10:00
unkin-agent
6f362c33c9
fix(session): satisfy StyleCop member ordering and indentation
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-09-24 23:08:52 +10:00
unkin-agent
00d0765152
feat(session): share the session directory between instances
...
ci/woodpecker/pr/ci Pipeline failed
ci/woodpecker/push/ci Pipeline failed
Publish every session to valkey with the instance holding it, and route a
command for a non-local session to its owner over a per-instance pub/sub
channel. Entries expire, so a dead instance leaves the directory.
2026-09-24 22:48:48 +10:00