jellyfin / jellyfin-web

Web Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.37k stars 1.26k forks source link

[Issue]: Users with "Play next episode automatically" unchecked cannot skip to previous/next episode and won't be presented 'next video info popup' at end of playback #5382

Closed mahriman closed 6 months ago

mahriman commented 6 months ago

Please describe your bug

If a user doesn't have "Play next episode automatically" selected in the user's playback settings, they are unable to use the "Skip to Previous" and "Skip to next" buttons and they're not shown the 'next video info' popup at end of episodes even though there are more episodes in that show's season.

The workaround for this is to check the "Play next episode automatically" setting under Playback in the user's settings and the logging out and logging in the user again (the setting seem cached on login).

I'm suspecting this is not supposed to happen, as a user (IMO) ought to be able to at least flip back/forth through episodes even though they don't have "Play next episode automatically". Regarding the 'next video info' popup I guess it makes somewhat more sense, but even that I think a better behavior is to not block the next episode popup even though Play next episode automatically is deselected.

Reproduction Steps

  1. Make sure "Play next episode automatically" is deselected for a user's playback settings and save settings. Bonus if 'show next video info' is selected. Logout and login again for this change to take effect.
  2. Play any series episode that has a preceding or succeeding episode
  3. In web player and Jellyfin Media Player buttons to skip to previous/next episode will do nothing. On Android Jellyfin client at least "skip to next episode" button will be grayed out. At end of episode, "Next video info" popup will not be displayed.
  4. Enable "Play next episode automatically" and save settings. Logout and login again for change to take effect for current session.
  5. Skipping episodes and "Next video info" popup will now work as expected

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: Windows 11 (Jellyfin server), Windows 11 (client), Android (client)
- Clients: Web player, Jellyfin Media Player, Android player all confirmed having this issue.
- Browser: Chrome and Firefox latest versions as of writing both have this issue with web player.
- FFmpeg Version: ffmpeg version 2022-06-20-git-56419428a8-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11.3.0 (Rev1, Built by MSYS2 project)
- Playback Method: Direct Play, Direct Stream (unsupported audio codec) both exhibit this behavior
- Reverse Proxy: Yes (Apache 2.4 reverse proxying ext_ip:8920 to int_ip:8920 (valid TLS cert on Jellyfin server and HTTPS enabled in Network) 
- Base URL: N/A (not set)
- Networking: Jellyfin server is on host network (standard Windows IPv4 LAN address)
- Storage: Media is located on a Samba share

Jellyfin logs

---start jellyfin server log + 10 lines before and after same operation as above---
[2024-04-10 20:32:45.798 +02:00] [INF] [248] Jellyfin.Api.Helpers.TranscodingJobHelper: Stopping ffmpeg process with q command for "C:\Users\mahriman\AppData\Local\Jellyfin\transcodes\9c4243c6fdeb2f7f31ef504eddf650a9.m3u8"
[2024-04-10 20:32:45.806 +02:00] [INF] [109] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Adding playback tracker : TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6MTI0LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTI0LjB8MTcxMjc3MTE0ODE5MQ11-3b57de27d3c74bd8948bec7df2c0d9af-2031e2c34bee71d062043747c4cb3c17
[2024-04-10 20:32:45.807 +02:00] [INF] [109] Jellyfin.Plugin.PlaybackReporting.Data.PlaybackTracker: PlaybackTracker : Adding Start Event : 04/10/2024 20:32:45
[2024-04-10 20:32:45.807 +02:00] [INF] [109] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Creating StartPlaybackTimer Task
[2024-04-10 20:32:45.808 +02:00] [INF] [220] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Entered
[2024-04-10 20:32:45.885 +02:00] [INF] [248] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[2024-04-10 20:32:45.886 +02:00] [INF] [248] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-04-10 20:32:45.887 +02:00] [INF] [248] Jellyfin.Api.Helpers.TranscodingJobHelper: "C:\tools\ffmpeg\bin\ffmpeg.exe" "-analyzeduration 200M -ss 00:09:18.558 -fflags +genpts  -i file:\"M:\unrared-mergerfs\TV\After.Midnight.2024\After.Midnight.2024.S01.1080p.WEB.h264-EDITH\After.Midnight.2024.2024.01.16.Whitney.Cummings.1080p.WEB.h264-EDITH\After.Midnight.2024.2024.01.16.Whitney.Cummings.1080p.WEB.h264-EDITH.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -bsf:v h264_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type mpegts -start_number 93 -hls_segment_filename \"C:\Users\mahriman\AppData\Local\Jellyfin\transcodes\9c4243c6fdeb2f7f31ef504eddf650a9%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"C:\Users\mahriman\AppData\Local\Jellyfin\transcodes\9c4243c6fdeb2f7f31ef504eddf650a9.m3u8\""
[2024-04-10 20:32:46.334 +02:00] [INF] [89] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6MTI0LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTI0LjB8MTcxMjc3MTE0ODE5MQ11-3b57de27d3c74bd8948bec7df2c0d9af-2031e2c34bee71d062043747c4cb3c17"
[2024-04-10 20:32:50.605 +02:00] [INF] [197] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[2024-04-10 20:33:05.810 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: session.RemoteEndPoint : "192.168.1.1"
[2024-04-10 20:33:05.811 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_playing_id     = "2031e2c34bee71d062043747c4cb3c17"
[2024-04-10 20:33:05.811 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id        = "3b57de27d3c74bd8948bec7df2c0d9af"
[2024-04-10 20:33:05.812 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id_int    = 1
[2024-04-10 20:33:05.812 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_playing_id   = "2031e2c34bee71d062043747c4cb3c17"
[2024-04-10 20:33:05.813 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_user_id      = "3b57de27d3c74bd8948bec7df2c0d9af"
[2024-04-10 20:33:05.813 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : play_method          = "Transcode (v:direct a:direct)"
[2024-04-10 20:33:05.814 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.ClientName         = "Jellyfin Web"
[2024-04-10 20:33:05.814 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.DeviceName         = "Firefox"
[2024-04-10 20:33:05.815 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemName             = "After Midnight - s01e01 - Whitney Cummings, Aparna Nancherla, Kurt Braunohler"
[2024-04-10 20:33:05.815 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemId               = "2031e2c34bee71d062043747c4cb3c17"
[2024-04-10 20:33:05.815 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemType             = "Episode"
[2024-04-10 20:33:05.816 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : All matches, playback registered
[2024-04-10 20:33:05.816 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback tracker found, adding playback info : "TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6MTI0LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTI0LjB8MTcxMjc3MTE0ODE5MQ11-3b57de27d3c74bd8948bec7df2c0d9af-2031e2c34bee71d062043747c4cb3c17"
[2024-04-10 20:33:05.817 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Saving playback tracking activity in DB
[2024-04-10 20:33:05.819 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited
[2024-04-10 20:33:11.393 +02:00] [INF] [54] Emby.Server.Implementations.ScheduledTasks.TaskManager: "IntervalTrigger" fired for task: "Webhook Item Added Notifier"
[2024-04-10 20:33:11.394 +02:00] [INF] [54] Emby.Server.Implementations.ScheduledTasks.TaskManager: Queuing task "ItemAddedScheduledTask"
[2024-04-10 20:33:11.394 +02:00] [INF] [351] Emby.Server.Implementations.ScheduledTasks.TaskManager: Executing "Webhook Item Added Notifier"
[2024-04-10 20:33:11.395 +02:00] [DBG] [351] Jellyfin.Plugin.Webhook.Notifiers.ItemAddedNotifier.ItemAddedManager: ProcessItemsAsync
[2024-04-10 20:33:11.395 +02:00] [INF] [351] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Webhook Item Added Notifier" Completed after 0 minute(s) and 0 seconds
[2024-04-10 20:33:11.396 +02:00] [INF] [351] Emby.Server.Implementations.ScheduledTasks.TaskManager: ExecuteQueuedTasks
[2024-04-10 20:33:12.365 +02:00] [INF] [301] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6MTI0LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTI0LjB8MTcxMjc3MTE0ODE5MQ11-3b57de27d3c74bd8948bec7df2c0d9af-2031e2c34bee71d062043747c4cb3c17"
[2024-04-10 20:33:32.390 +02:00] [INF] [54] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6MTI0LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTI0LjB8MTcxMjc3MTE0ODE5MQ11-3b57de27d3c74bd8948bec7df2c0d9af-2031e2c34bee71d062043747c4cb3c17"
[2024-04-10 20:33:41.407 +02:00] [INF] [334] Emby.Server.Implementations.ScheduledTasks.TaskManager: "IntervalTrigger" fired for task: "Webhook Item Added Notifier"
[2024-04-10 20:33:41.407 +02:00] [INF] [334] Emby.Server.Implementations.ScheduledTasks.TaskManager: Queuing task "ItemAddedScheduledTask"
---end jellyfin server log + 10 lines before and after same operation as above---

FFmpeg logs

No response

Please attach any browser or client logs here

jellyfin-issue-dev-tools-console-output

Please attach any screenshots here

No response

Code of Conduct

jellyfin-bot commented 6 months ago

Hi, it seems like your issue report has the following item(s) that need to be addressed:

This is an automated message, currently under testing. Please file an issue here if you encounter any problems.

crobibero commented 6 months ago

The client manages play next, so moving this to the web repo.

mahriman commented 6 months ago

The client manages play next, so moving this to the web repo.

Yeah sorry about that, since the behavior was over three different clients I had no idea where to put it, also I had some tiny suspicion it would have to do with a leftover illogical representation of the Automatically Play Next in user's settings from emby, but thanks for the move.

dmitrylyzo commented 6 months ago

dup #2596