2024-02-09, 05:40 PM
So TLDR: New media/updated status is added to Kodi in one of two ways.
If you're not getting updates while your client devices are running, that means your websocket connection has failed. And unfortunately, there's not a whole lot to be done about that. It's a result of having a network interruption somewhere (router/switch blip, server restarting, Pi hardware being less than great, etc). Could be any of half a dozen reasons why your connection has failed, all getting singled down to network instability of some kind. The addon has some code to attempt to reconnect the websocket when it fails, but it seems to be hit or miss if it works or not. There's a PR out there trying to improve it, but it hasn't been merged yet and it seems to have various success rates based on other commenters. Issue is here: https://github.com/jellyfin/jellyfin-kodi/issues/797. PR is linked, and you can make the code changes yourself on your client and see if that improves things.
However, if addon mode is failing to playback, that kinda indicates you have something else screwy going on, possibly the network issues mentioned above. Native mode is wholly unnecessary in 99% of use cases and is kinda a relic of an old emby bug that was fixed years ago. The only time native mode makes sense is if your server/network is a literal potato and simply can't handle any amount of reasonable bandwidth, or if your storage is local but your server is remote on a VPS somewhere.
- New content added to server/updated when Kodi is not running: When Kodi starts, it reaches out to the plugin and says "give me all updated content from $DATE" which is the last time it checked in with the server. Any new content, watched status updates, etc will be synced at this time. This requires the Kodi Sync Queue plugin to be installed in the server.
- New content added to server/updated when Kodi is running: The server pushes out notifications and Kodi will process and add it to it's local library immediately. This happens over a websocket connection and shouldn't involve any other extra steps or requests.
If you're not getting updates while your client devices are running, that means your websocket connection has failed. And unfortunately, there's not a whole lot to be done about that. It's a result of having a network interruption somewhere (router/switch blip, server restarting, Pi hardware being less than great, etc). Could be any of half a dozen reasons why your connection has failed, all getting singled down to network instability of some kind. The addon has some code to attempt to reconnect the websocket when it fails, but it seems to be hit or miss if it works or not. There's a PR out there trying to improve it, but it hasn't been merged yet and it seems to have various success rates based on other commenters. Issue is here: https://github.com/jellyfin/jellyfin-kodi/issues/797. PR is linked, and you can make the code changes yourself on your client and see if that improves things.
However, if addon mode is failing to playback, that kinda indicates you have something else screwy going on, possibly the network issues mentioned above. Native mode is wholly unnecessary in 99% of use cases and is kinda a relic of an old emby bug that was fixed years ago. The only time native mode makes sense is if your server/network is a literal potato and simply can't handle any amount of reasonable bandwidth, or if your storage is local but your server is remote on a VPS somewhere.