* Allow Other Videos Library Type on Plex to be sync
* Migrating database: Creating PlexOtherVideo table
* Using Plex Media path to create tags for OtherVideos
* missed these in the merge
* Getting PlexLibrary for Tag set on OtherVideo
* fix migrations
* set tag metadata on plex other videos
* update changelog
---------
Co-authored-by: Jason Dove <1695733+jasongdove@users.noreply.github.com>
* fix embedded subtitles from media servers
* fix plex external subtitles
* fix artwork bug, delete orphaned subtitles
* jellyfin subtitles work again
* emby subtitles work
* rescan all media server libraries
* start to stream directly from plex
* update metadata and statistics with one plex api call
* stream movies from plex
* scanning bug fix; update changelog
* start moving local scans to separate process
* send progress updates to main process
* move scanners and tests
* simplify dependencies; sync search index
* commit search index more often when scanning
* support forced scan and cancellation
* use scanner process for plex libraries
* update changelog
* update dockerfiles
* fix search index for local folder scanning
* rework plex scanners
* rework scanner handlers
* emby works again
* sync jellyfin
* cleanup
* update build
* update changelog
* remove scanner dependency in pr and artifacts workflows
* fix mac sed syntax
* fix pr build
* catch health check cancellation
* local library scanner cleanup
* emby and jf library scanner cleanup
* rework emby movie library scanner
* refactor emby movie library scanner
* refactor jellyfin movie library scanner
* clear etag until after new media has been processed
* refactor plex movie library scanner
* update changelog
* rework plex movie library scanner; add unavailable media item state
* plex television scanner improvements
* reset plex etags as needed
* update changelog
* support external subtitles in local movie libraries
* code cleanup
* simplify subtitle updating
* skip external subtitles from media servers
* fix plex subtitles
* add new columns
* store local content ratings
* display and search content ratings
* add content_rating to search docs
* sync content rating from jellyfin, emby, plex
* force sync content rating for all libraries
* code cleanup
* add actor metadata
* show actors in ui
* get full movie/show metadata from plex
* store actor thumbnail url
* rework movie detail page
* metadata fixes
* rework show detail page
* rework artist page
* code cleanup
* add explicit warning for zero/invalid duration media items
* set dateadded on plex media versions
* add media stream table
* save local media streams to db
* save plex media streams to db
* add preferred language settings (no validation)
* use preferred language if possible
* code cleanup
* proper language code validation
* force scan of all libraries to pull in media streams
* fix episode fallback metadata processing, fix show fallback metadata year parsing
* fix sort title for "a" and "an"
* add and index studio metadata
* minimize circular logging with search index errors
* update plex movie sort titles as needed
* properly escape search links
* force refreshing all movie/show metadata
* add letter bar with no links
* use lucene for search, add paged search results
* add search index version
* index library_name; rebuild index when folder is missing
* maintain index as local movies change
* fix tests
* maintain index as local shows change
* maintain index as plex movies change
* maintain index as plex shows change
* code cleanup
* add duplicate filter to search
* add links to letter bar
* code cleanup