* Cleaned up a ton of warnings/suggestions from the IDE.
* Fixed a bug when clearing the filters some presets could be undone.
* Renamed a class in the OPDS spec
* Simplified logic for when Fit To Screen rendering logic occurs. It now works always rather than only on cover images.
* Give some additional info to the user on what the differences between Library Types are
* Don't scan .qpkg folders (QNAP devices)
* Refactored some code to enable ability to test CoverImage Test. This is a broken test, test.zip is waiting on an issue in NetVips.
* Fixed an issue where Extra might get flagged as special too early, if in a word like Extraordinary
* Cleaned up the regex for the extra issue to be more flexible
* Refactored updating chapter metadata from ComicInfo into the Scan loop. This let's us avoid an additional N file reads (expensive) in the metadata service, as we already have to read them in the scan loop.
* Refactored Series level metadata aggregation into the scan loop. This allows for the batching of DB updates to be much smaller, thus faster without much overhead of GC.
* Refactored some of the code for ProcessFile to remove a few redundant if statements
* Don't tag a series as completed if count is 0.
* Removed some dead code and added some spacers for when certain fields are disabled so filter section still looks good.
* Fixed a bug where last page of a manga reader would be rendered twice when paging backwards.
* Implemented Publication Status in SeriesMetadata and the ability to filter it.
* Updated the docs for Language on metadata to specify it's a BCP-47 code to match Anansi Project. Fixed a bug with reader from previous PR.
* Fixed the book reader off by one issue with loading last page
* Fixed a case where scanner would not delete a series if another series with same name but different format was added in that same scan.
* Added some missing tag generation (chapter language and summary)
* Added a tooltip to inform user that format and collection filter selections do not only show for the selected library.
* Refactored a lot of code around when we update chapter cover images. Applied an optimization for when we re-calculate volume/series covers, such that it only occurs when the first chapter's image updates.
* Updated code to ensure only lastmodified gets refreshed in metadata since it always follows a scan
* Optimized how metadata is populated on the series. Instead of re-reading the comicInfos, instead I read the data from the underlying chapter entities. This reduces N additional reads AND enables the ability in the future to show/edit chapter level metadata.
* Spelling mistake
* Fixed a concurency issue by not selecting Genres from DB. Added a test for long paths.
* Fixed a bug in filter where collection tag wasn't populating on load
* Cleaned up the logic for changelog to better compare against the installed verison. For nightly users, show the last stable as installed.
* Removed some demo code
* SplitQuery to allow loading tags much faster for series metadata load.
* Refactored the Font Escaping Regex with new unit tests.
* Fonts are now properly escaped, somehow a regression was introduced.
* Refactored most of the book page loading for the reader into the service.
* Fixed a bug where going into fullscreen in non dark mode will cause the background of the reader to go black. Fixed a rendering issue with margin left/right screwing html up. Fixed an issue where line-height: 100% would break book's css, now we remove the styles if they are non-valuable.
* Changed how I fixed the black mode in fullscreen
* Fixed an issue where anchors wouldn't be colored blue in white mode
* Fixed a bug in the code that checks if a filename is a cover where it would choose "backcover" as a cover, despite it not being a valid case.
* Validate if ReleaseYear is a valid year and if not, set it to 0 to disable it.
* Fixed an issue where some large images could blow out the screen when reading on mobile. Now images will force to be max of width of browser
* Put my hack back in for fullscreen putting background color to black
* Change forwarded headers from All to explicit names
* Fixed an issue where Scheme was not https when it should have been. Now the browser will handle which scheme to request.
* Cleaned up the user preferences to stack multiple controls onto one row
* Fixed fullscreen scroll issue with progress, but now sticky top is missing.
* Corrected the element on which we fullscreen
* Fixed a bug which didn't take sort direction when not changing sort field
* Added foundation for Bookmark refactor
* Code broken, need to take a break. Issue is Getting bookmark image needs authentication but UI doesn't send.
* Implemented the ability to send bookmarked files to the web. Implemented ability to clear bookmarks on disk on a re-occuring basis.
* Updated the bookmark design to have it's own card that is self contained. View bookmarks modal has been updated to better lay out the cards.
* Refactored download bookmark codes to select files from bookmark directory directly rather than open underlying files.
* Wrote the basic logic to kick start the bookmark migration.
Added Installed Version into the DB to allow us to know more accurately when to run migrations
* Implemented the ability to change the bookmarks directory
* Updated all references to BookmarkDirectory to use setting from the DB.
Updated Server Settings page to use 2 col for some rows.
* Refactored some code to DirectoryService (hasWriteAccess) and fixed up some unit tests from a previous PR.
* Treat folders that start with ._ as blacklisted.
* Implemented Reset User preferences. Some extra code to prep for the migration.
* Implemented a migration for existing bookmarks to using new filesystem based bookmarks
* Don't show an exception when bookmarking doesn't have anything to change.
* Cleaned up the bookmark code a bit.
* Implemented fullscreen mode in the web reader. Refactored User Settings to move Password and 3rd Party Clients to a tab rather than accordion. Removed color filters for web reader.
* Implemented fullscreen mode into book reader
* Added some code for toggling fullscreen which re-renders the screen to ensure the fitting works optimially
* Fixed an issue where moving from FitToScreen -> Split (L/R) wouldn't render the screen correctly due to canvas not being reset.
* Fixed bad optimization and scaling when drawing fit to screen
* Removed left/right highlights on page direction change in favor for icons. Double arrow will dictate the page change.
* Reduced overlay auto close time to 3 seconds
* Updated the paginging direction overlay to use icons and colors. Added a blur effect on menus
* Removed debug flags
* Send stack trace to the UI on prod mode
* Pdfs will now generate cover images. I missed something a few releases ago.
* Ignore @Recently-Snapshot directories for QNAP.
* Refactored Bitmap code to use ImageSharp so it's truly cross platform.
* Updated pdf extraction to use a multi-threaded approach to greatly speed up pdf image extraction
* Hooked in Characters tag from ComicInfo.xml
* Fixed OPDS urls to work with new Filtering schema
* Fixed a rendering issue with Language tag when it's null
* Fixed a bug where locked covers were resetting during refresh metadata.
* Redid all the migrations and put some extra checks due to a bad migration from previous release (EF Core was producing an error).
* Fixed a bug which didn't take sort direction when not changing sort field
* Default installs now backup daily
* Added a reoccuring task to cleanup db entries that might be abandoned. On library page, the Library in question will be prepoulated.
* Laid out the foundation for customized sorting. Added all series page to the UI when clicking on Libraries section header on home page so user can apply any filtering they like.
* When filtering, the current library filter will now automatically filter out the options for people and genres.
* Implemented Sorting controls
* Clear now clears sorting and read progress. Sorting is disabled on deck and recently added.
* Fixed an issue where all-series page couldn't click to open series
* Don't let the user unselect the last read progress. Added new comicinfo v2.1 draft tags.
* Hooked in Translator tag into backend and UI.
* Fixed an issue where you could open multiple typeaheads at the same time
* Integrated Translator and Tags ComicInfo extension fields. Started work on a badge expander.
* Reworked a bit more on badge expander. Added the UI code for Age Rating and Tags
* Integrated backend for Tags, Translator, and Age Rating
* Metadata tags now collapse if more than 4 present
* Some code cleanup
* Made the not read badge slightly smaller
* Implemented Language filter. Fixed up some logic around Release Year not being set when month is missing.
* Added a missing file and Updated Filter to use different design for layout
* Fixed up some alignment issues
* Refined the styles further