jellyfin icon indicating copy to clipboard operation
jellyfin copied to clipboard

[Issue]: Library folder with "other" pathname component is ignored

Open simmonmt opened this issue 1 year ago • 3 comments

Please describe your bug

I create a library with a folder whose final pathname component is other, that entire folder is ignored. That is, if I create a library from folder /foo/bar/movies, it'll be scanned just fine. If I create it from folder /foo/bar/other, the "scan" will complete instantly, leaving no debugging messages behind, and discovering nothing.

Is it possible that the filtering of extra components is being too aggressive? That is, rather than starting below the library source folder it starts at root (or the final component)?

Reproduction Steps

  1. Create a new library, Type movies, folder source /media/other
  2. Observe instant scan that discovers nothing.

Jellyfin Version

10.9.0

if other:

No response

Environment

- OS: Ubuntu 22.04
- Linux Kernel: 5.15
- Virtualization: Docker
- Clients: n/a
- Browser: n/a
- FFmpeg Version: n/a
- Playback Method: n/a
- Hardware Acceleration: n/a
- GPU Model: n/a
- Plugins: n/a
- Reverse Proxy: nginx
- Base URL: /jellyfin
- Networking: n/a
- Storage: nfs

Jellyfin logs

[23:18:02] [DBG] [43] Emby.Server.Implementations.Session.SessionWebSocketListener: Watching 1 WebSockets.
[23:18:03] [DBG] [41] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.
[23:18:03] [DBG] [41] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.
[23:18:03] [DBG] [41] MediaBrowser.Providers.Folders.FolderMetadataService: Refreshing Folder /config/root because item.RequiresRefresh() returned true
[23:18:03] [DBG] [41] MediaBrowser.Providers.Folders.FolderMetadataService: Running FolderImageProvider for /config/root
[23:18:03] [WRN] [41] MediaBrowser.Controller.Entities.BaseItem: Library folder /config/data/playlists is inaccessible or empty, skipping
[23:18:03] [DBG] [43] MediaBrowser.Providers.Folders.FolderMetadataService: Running FolderImageProvider for /media/other
[23:18:03] [DBG] [43] MediaBrowser.Providers.Folders.CollectionFolderMetadataService: Running CollectionFolderImageProvider for /config/root/default/Movies
[23:18:03] [DBG] [43] MediaBrowser.Providers.Folders.CollectionFolderMetadataService: CollectionFolderImageProvider reports change to /config/root/default/Movies
[23:18:03] [DBG] [43] MediaBrowser.Providers.Folders.CollectionFolderMetadataService: Running CollectionFolderImageProvider for /config/root/default/Movies
[23:18:03] [DBG] [41] Emby.Server.Implementations.ScheduledTasks.TaskManager: Queuing task RefreshMediaLibraryTask
[23:18:03] [DBG] [41] Emby.Server.Implementations.ScheduledTasks.TaskManager: Executing Scan Media Library
[23:18:03] [INF] [41] Emby.Server.Implementations.Library.LibraryManager: Validating media library
[23:18:03] [DBG] [41] MediaBrowser.Providers.Folders.FolderMetadataService: Refreshing Folder /config/root because item.RequiresRefresh() returned true
[23:18:03] [DBG] [41] MediaBrowser.Providers.Folders.FolderMetadataService: Running FolderImageProvider for /config/root
[23:18:03] [WRN] [41] MediaBrowser.Controller.Entities.BaseItem: Library folder /config/data/playlists is inaccessible or empty, skipping
[23:18:03] [DBG] [43] MediaBrowser.Providers.Folders.CollectionFolderMetadataService: CollectionFolderImageProvider reports change to /config/root/default/Movies
[23:18:03] [DBG] [43] MediaBrowser.Providers.Folders.CollectionFolderMetadataService: Running CollectionFolderImageProvider for /config/root/default/Movies
[23:18:04] [DBG] [43] MediaBrowser.Providers.Folders.CollectionFolderMetadataService: CollectionFolderImageProvider reports change to /config/root/default/Movies
[23:18:04] [DBG] [43] MediaBrowser.Providers.Folders.CollectionFolderMetadataService: Running CollectionFolderImageProvider for /config/root/default/Movies
[23:18:04] [DBG] [43] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshStart f27caa37e5142225cceded48f6553502
[23:18:04] [DBG] [43] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshProgress f27caa37e5142225cceded48f6553502 5
[23:18:04] [WRN] [43] MediaBrowser.Controller.Entities.BaseItem: Library folder /config/data/playlists is inaccessible or empty, skipping
[23:18:04] [DBG] [43] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshProgress f27caa37e5142225cceded48f6553502 10
[23:18:04] [DBG] [41] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshStart a7ffffe3e53adc25bfc99faeec5b336c
[23:18:04] [DBG] [43] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshProgress f27caa37e5142225cceded48f6553502 12
[23:18:04] [DBG] [41] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshProgress a7ffffe3e53adc25bfc99faeec5b336c 5
[23:18:04] [DBG] [43] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshProgress f27caa37e5142225cceded48f6553502 14
[23:18:04] [DBG] [41] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshProgress a7ffffe3e53adc25bfc99faeec5b336c 10
[23:18:04] [DBG] [41] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshComplete a7ffffe3e53adc25bfc99faeec5b336c
[23:18:04] [DBG] [43] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshProgress f27caa37e5142225cceded48f6553502 50
[23:18:04] [DBG] [43] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshProgress f27caa37e5142225cceded48f6553502 50
[23:18:04] [DBG] [43] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshComplete f27caa37e5142225cceded48f6553502
[23:18:04] [DBG] [46] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshProgress f27caa37e5142225cceded48f6553502 100
[23:18:04] [DBG] [43] Emby.Server.Implementations.Library.LibraryManager: Running post-scan task SplashscreenPostScanTask
[23:18:04] [DBG] [43] Emby.Server.Implementations.Library.SplashscreenPostScanTask: No thumb images found. Using backdrops to generate splashscreen
[23:18:04] [DBG] [43] Emby.Server.Implementations.Library.LibraryManager: Running post-scan task ArtistsPostScanTask
[23:18:04] [DBG] [43] Emby.Server.Implementations.Library.LibraryManager: Running post-scan task CollectionPostScanTask
[23:18:04] [DBG] [43] Emby.Server.Implementations.Library.LibraryManager: Running post-scan task GenresPostScanTask
[23:18:04] [DBG] [43] Emby.Server.Implementations.Library.LibraryManager: Running post-scan task MusicGenresPostScanTask
[23:18:04] [DBG] [43] Emby.Server.Implementations.Library.LibraryManager: Running post-scan task StudiosPostScanTask
[23:18:04] [DBG] [43] Emby.Server.Implementations.Library.LibraryManager: Running post-scan task CleanDatabaseScheduledTask
[23:18:04] [DBG] [43] Emby.Server.Implementations.Data.CleanDatabaseScheduledTask: Cleaning 0 items with dead parent links
[23:18:04] [INF] [43] Emby.Server.Implementations.ScheduledTasks.TaskManager: Scan Media Library Completed after 0 minute(s) and 0 seconds
[23:18:04] [INF] [41] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory /media/other
[23:18:04] [DBG] [43] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.
[23:18:04] [DBG] [43] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was successfully authenticated.
[23:18:04] [DBG] [43] Emby.Server.Implementations.Library.LibraryManager: Getting topLibraryFolders
[23:18:04] [DBG] [43] Emby.Server.Implementations.Library.LibraryManager: Getting refreshQueue

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

No response

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

simmonmt avatar Jun 19 '24 23:06 simmonmt

An additional detail that just occurred to me:

/media/other
/media/other/Movie Name (2024)/
/media/other/Movie Name (2024)/Movie Name (2024) Part 1.mp4
/media/other/somename.mp4

With a library whose folder is /media/other the scanner will find the "Movie Name" movie, but will not find somename.mp4.

simmonmt avatar Jun 19 '24 23:06 simmonmt

I also found the same issue with a folder named "extra"

MattBlackOnly avatar Jun 23 '24 22:06 MattBlackOnly

This issue exists for library folders with all of the following folder names:

  • backdrops
  • behind the scenes
  • clips
  • deleted scenes
  • extra
  • extras
  • featurettes
  • interviews
  • other
  • samples
  • scenes
  • shorts
  • theme-music
  • trailers

I've submitted a pull request for a fix.

mcmcelro avatar Jun 24 '24 20:06 mcmcelro

I have a related issue where episodes with "scene"/"Scene" in their file names are being marked as specials even though they aren't in a specials folder (in my case they are in the season 1 folder) and aren't specials.

This one might be harder to solve though as there doesn't seem to be a specials tag for the nfo as an alternative to parsing the filenames.

zhjihuang avatar Sep 20 '24 16:09 zhjihuang

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

jellyfin-bot avatar Jan 19 '25 02:01 jellyfin-bot

Just updated my PR a couple of days ago - it was apparently 'conflicting' because of updates in the Contributor list. Hopefully it will catch some attention again and get a second review.

mcmcelro avatar Feb 02 '25 07:02 mcmcelro