Jump to content

New Plugin Because You Watched on the Home screen


Recommended Posts

fillidill
Posted

@bwarthenSeems to still be a problem and now it doesn't seem to successfully create any playlists either. I can see this in the log and as you can see the path is not correct still. Thanks for looking into it!

	
2024-12-09 16:13:06.162 Error BaseItem: Error refreshing item A Fishful of Dollars 4614499 /config/Because You Watched/TV Shows/Because You Watched Show The IT Crowd/Futurama/Season 01Futurama - S01E06 - A Fishful of Dollars WEBDL-1080p NiXON.strm
	*** Error Report ***
	Version: 4.8.10.0
	Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
	Operating system: Linux version 4.4.302+ (root@build5) (gcc version 12.2.0 (GCC) ) #72806 SMP Thu Sep 5 13:44:44 CST 2024
	Framework: .NET 6.0.31
	OS/Process: x64/x64
	Runtime: system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: /config
	Application path: /system
	SQLitePCL.pretty.SQLiteException: Constraint: FOREIGN KEY constraint failed
	SQLitePCL.pretty.SQLiteException: Exception of type 'SQLitePCL.pretty.SQLiteException' was thrown.
	   at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3 db, Int32 rc)
	   at SQLitePCL.pretty.StatementImpl.MoveNext()
	   at Emby.Sqlite.SqliteExtensions.ExecuteQuery(IStatement This)+MoveNext()
	   at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItem(IDatabaseConnection db, BaseItem item, Int64 userDataKeyId, IStatement insertItemStatement, IStatement updateItemStatement)
	   at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItemsInTranscation(IDatabaseConnection db, List`1 tuples, MetadataRefreshOptions metadataRefreshOptions)
	   at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItems(List`1 items, MetadataRefreshOptions metadataRefreshOptions, Action`1 afterSave, Boolean disableForeignKeys, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItems(List`1 items, MetadataRefreshOptions metadataRefreshOptions, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Library.LibraryManager.CreateItems(List`1 items, BaseItem parent, MetadataRefreshOptions metadataRefreshOptions, BaseItem[] collectionFolders, Boolean triggerItemAdded, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Library.LibraryManager.CreateItem(BaseItem item, BaseItem parent, BaseItem[] collectionFolders)
	   at MediaBrowser.Controller.Entities.Folder.AddChild(BaseItem item, BaseItem[] collectionFolders)
	   at Emby.Providers.TV.DummySeasonProvider.GetOrAddSeason(Series series, BaseItem[] collectionFolders, LibraryOptions libraryOptions, Episode episode, IDirectoryService directoryService, CancellationToken cancellationToken)
	   at Emby.Providers.TV.EpisodeMetadataService.BeforeSave(Episode item, BaseItem[] collectionFolders, LibraryOptions libraryOptions, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService, ItemUpdateType currentUpdateType, CancellationToken cancellationToken)
	   at Emby.Providers.Manager.MetadataService`2.RefreshMetadata(BaseItem item, MetadataRefreshOptions refreshOptions, BaseItem[] collectionFolders, LibraryOptions libraryOptions, CancellationToken cancellationToken)
	   at MediaBrowser.Controller.Entities.BaseItem.RefreshMetadata(MetadataRefreshOptions options, BaseItem[] collectionFolders, LibraryOptions libraryOptions, CancellationToken cancellationToken)
	   at MediaBrowser.Controller.Entities.BaseItem.RefreshMetadataRecursive(BaseItem[] children, MetadataRefreshOptions refreshOptions, BaseItem[] collectionFolders, LibraryOptions libraryOptions, Boolean recursive, Dictionary`2 newItemIds, IProgress`1 progress, CancellationToken cancellationToken)
	Source: SQLitePCL.pretty
	TargetSite: Void CheckOk(SQLitePCLEx.sqlite3, Int32)
	
2024-12-09 16:13:06.164 Error App: Error in ffprobe
	*** Error Report ***
	Version: 4.8.10.0
	Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
	Operating system: Linux version 4.4.302+ (root@build5) (gcc version 12.2.0 (GCC) ) #72806 SMP Thu Sep 5 13:44:44 CST 2024
	Framework: .NET 6.0.31
	OS/Process: x64/x64
	Runtime: system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: /config
	Application path: /system
	System.IO.DirectoryNotFoundException: System.IO.DirectoryNotFoundException: Could not find a part of the path '/config/Because You Watched/TV Shows/Because You Watched Show The IT Crowd/Futurama/Season 01Futurama - S01E07 - My Three Suns WEBDL-1080p NiXON.strm'.
	   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
	   at Interop.CheckIo(Error error, String path, Boolean isDirectory, Func`2 errorRewriter)
	   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
	   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
	   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
	   at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
	   at System.IO.File.AsyncStreamReader(String path, Encoding encoding)
	   at System.IO.File.InternalReadAllLinesAsync(String path, Encoding encoding, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Library.StrmMounter.FetchShortcutPath(ReadOnlyMemory`1 path, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.Library.StrmMounter.Mount(ReadOnlyMemory`1 mediaPath, ReadOnlyMemory`1 container, CancellationToken cancellationToken)
	   at Emby.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](MetadataResult`1 metadataResult, MetadataRefreshOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
	   at Emby.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, MetadataResult`1 itemResult, String logName, MetadataRefreshOptions options, LibraryOptions libraryOptions, RefreshResult refreshResult, CancellationToken cancellationToken)
	Source: System.Private.CoreLib
	TargetSite: Void ThrowExceptionForIoErrno(ErrorInfo, System.String, Boolean, System.Func`2[Interop+ErrorInfo,Interop+ErrorInfo])
	

 

Posted

I tried the plugin but it’s not working im getting this error :

Error App: One or more errors occurred. (Access to the path '/opt/emby-server/testmovie - 1080p.mkv' is denied.

It’s doing this for all the items but there is no file movies or anything else in that path

Posted

I added the Path.Combine if a couple spots that might fix this issue.  Try this latest .dll.  If it doesn't fix the issue then it will take me a few days to have time to dig out the old linux box and run through some testing.

Emby.WatchedSuggestions.dll

fillidill
Posted

@bwarthen Success! Kind of... :D looking at the logs (attached) the path looks correct now but no files or folders are generated at all.

log.txt

Posted

Does the emby user have access to create folders and files in the location you provided?  

fillidill
Posted

@bwarthen This plugin could create new folders and copy files in the old versions so i don't think that is the problem here. I did however, as a test, give all users full access to the folder and it still resulted in the same error.
I think the logic for creating folders is the reason why it is failing because when I manually created one folder files where added to it.

Posted (edited)

@bwarthenThank you for the plugin, it's working as expected!

I’m not sure if this would be too much trouble, but would it be possible to set the language preference exclusively based on the server settings? Many of my friends watch content in VO (English) with French subtitles, but currently, they’re getting the English version instead of the one you’ve translated into French.

Either way, it’s working great for now! By the way, I’m on Linux (Debian).

Edited by filzituero
Posted

@fillidillI will dig out my old linux system and get it up and running to see if I can get this working for you.

@filzitueroAll you friends should need to do to get the language to change is go into their settings and update their audio preference to French.  Currently the plugin looks for the audio preference per user and if that isn't set then it will go for the server setting.  

  • Thanks 1
  • 2 weeks later...
  • 5 months later...
keitaro26
Posted

I tried installing this on the beta and I am getting the following error in the logs.

 

	*** Error Report ***
Version: 4.9.1.0
Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
Operating system: Linux version 6.12.24-Unraid (root@Develop) (gcc (GCC) 14.2.0, GNU ld version 2.44-slack151) #1 SMP PREEMPT_DYNAMIC Sat May 3 00:12:52 PDT 2025
OS/Process: x64/x64
Framework: .NET 8.0.11
Runtime: system/System.Private.CoreLib.dll
Processor count: 16
Data path: /config
Application path: /system
System.MissingMethodException: System.MissingMethodException: Method not found: 'System.Collections.Generic.List`1<MediaBrowser.Model.Entities.VirtualFolderInfo> MediaBrowser.Controller.Library.ILibraryManager.GetVirtualFolders(MediaBrowser.Controller.Entities.User, Boolean)'.
at Emby.WatchedSuggestions.LibraryBuilder.cleanUp(User user)
at Emby.WatchedSuggestions.BecauseYouWatchedUpdateScheduledTask.Execute(CancellationToken cancellationToken, IProgress`1 progress)
at Emby.Server.Implementations.ScheduledTasks.ScheduledTaskWorker.ExecuteInternal(TaskOptions options)
Source: Emby.WatchedSuggestions
TargetSite: Void cleanUp(MediaBrowser.Controller.Entities.User)
2025-06-03 20:19:37.637 Info TaskManager: Update Because You Watched Libraries Failed after 0 minute(s) and 0 seconds

 

  • 3 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...