* 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
* clean up genre, tag, studio orphans
* enforce foreign keys at connection level
* wip
* fix fragment scroll offset
* fix see all link for music videos
* add fake artist metadata
* not null artist id
* add artist scanning
* remove improperly named music videos
* code cleanup
* add artists to search results and collections
* clean up music video metadata / artist
* add artist view
* show music videos on artist page
* add music video artwork placeholder
* 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