jellyfin / jellyfin-vue

A modern web client for Jellyfin based on Vue
https://jellyfin.org
GNU General Public License v3.0
1.29k stars 229 forks source link

Remaining episodes counter doesn't update #1717

Closed LPkkjHD closed 10 months ago

LPkkjHD commented 2 years ago

Description of the bug

When in an overview of a library which is marked as TV-Shows there's the option to mark entire seasons as watched. However doing so doesn't update the view but rather only calls the route.

Manually refreshing the page is required to display the changes made.

Steps to reproduce

In a TV-Shows marked library overview:

Expected behavior

Pill with the remaining episodes is updated as soon as the call to the server is successful.

Logs

No response

Screenshots

No response

Platform

Linux

Browser

Firefox

Jellyfin server version

10.7.7

Additional context

No response

LPkkjHD commented 2 years ago

After a bit of digging it seems that we don't subscribe to changes in the item.UserData object which are done by nested components (in our case the mark-played-button) in components/Item/Card/Card.vue.

ferferga commented 10 months ago

@LPkkjHD Hello! Can you please check if #2201 fixes the issue for you? There will always be a deployment link in the PR.

Feedback is much appreciated.

LPkkjHD commented 10 months ago

Thank you for getting back on this one. Unfortunately this does not fix the issue as of #2201 with the most recent deployment.

ferferga commented 10 months ago

@LPkkjHD Can you please give me more detailed reproduction steps? I can't reproduce

https://github.com/jellyfin/jellyfin-vue/assets/10274099/7857cb40-fdd8-47c4-8e4b-50254c7231ef

EDIT: I forced pushed the branch to rerun the CI, so the commit number of the sidebar will change in a couple of minutes, however I didn't change anything.

LPkkjHD commented 10 months ago

Now that I see your video I think my description of this issue is not quite accurate. I was noticing the Issue at hand during the "library" view. Anyhow, I tested this again (this time against a 10.8.13 Server) and I can't reproduce your behaviour.

https://github.com/jellyfin/jellyfin-vue/assets/11832982/441a230c-2f53-4edc-bc47-a1d15d93a0e4

https://github.com/jellyfin/jellyfin-vue/assets/11832982/99d1b8f4-0374-435a-847b-2779eaa116e4

ferferga commented 10 months ago

@LPkkjHD Is my behaviour what this issue was about, right?

Did you see any error message about not having Internet connection at any point while browsing? The websocket is not getting updates, perhaps an issue with your reverse proxy. Can you try the following?

ferferga commented 10 months ago

@LPkkjHD I merged the PR to have playback working again in master asap. Although the issue was closed automatically, count on me to keep troubleshooting, but this no longer should be a Vue issue (unless there's an issue in the way we get updates from the server or the server is sending incorrect updates)

LPkkjHD commented 10 months ago

@ferferga the behaviour you've shown is the correct one.

Did you see any error message about not having Internet connection at any point while browsing? This did not occur.

It happens the same with favoriting? Favouriting shows works instantly

Open an item side to side with Web. If you favorite an item in Vue, does it replicate instantly in Web? (It should) This works as expected

I'm going to dig into my reverse proxy settings. Maybe I'll find something

ferferga commented 8 months ago

@LPkkjHD I found the probable issue you were facing: https://github.com/vueuse/vueuse/pull/3870

After login, the socket was not being connected because it did not react to the socketUrl ref update, so it only connected if you started the client when being logged in.

The above PR will fix the issue upstream.