Live WebSocket notifications only reach clients on the writing pod #20
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context: multi-replica stateless deployment (two 2-replica apps,
cheeztvandfafflix, each one PostgreSQL plus valkey, no sticky sessions). Not a 12.0 regression — live in the deployed build. Tracking: #12.Problem
Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs:80-82— and the user-data change notifier alongside it — broadcast only to WebSocket connections held by the pod that performed the write.Clients connected to any other pod keep a stale UI until they poll or the user refreshes: newly added episodes do not appear, played marks and resume positions do not update live. The database is correct; only the push is missing.
Proposal
Falls out of #16: once a session directory and cross-pod bus exist, publish these notifications onto the bus and let each pod deliver to its own local connections. No separate mechanism is needed.
Depends on #16.
Acceptance
PostgreSqlTestServerintests/Jellyfin.Server.Testsand run in thepostgres-migration-chainWoodpecker step (JELLYFIN_TEST_POSTGRES). In-memory providers have hidden different semantics and are how three bugs reached production.