* Updating series detail cover
# Fixed
- Fixed: Fixed an issue where the series detail cover would resize too large on ultra wide displays.
* Fixing typos
* Allow .NET to optimize code as it's running.
* Implemented the ability to restrict users Bookmark ability. By default, users will need to now opt-in to get bookmark roles.
* Fixed a tachiyomi progress syncing logic bug
* Tweaked log messaging for library scan when no files were scanned.
* When a theme that is set gets removed due to a scan, inform the user to refresh.
* Fixed a typo and make Darkness -> Brightness
* Make download theme files allowed to be invoked by non-authenticated users, to allow new users to get the default theme.
* Hide all series side nav item if there are no libraries exposed to the user
* Fixed an API for Tachiyomi when syncing progress
* Fixed dashboard not responding to Series Removed and Added events.
Ensure we send SeriesRemoved events when they are deleted.
* Reverted Hangfire SQLite due to aborted jobs being resumed, when they shouldnt. Fixed some scan loop issues where cover gen wouldn't be invoked always on new libraries.
* Added a no data section to collection detail.
* Remove an optimization for skipping the whole library scan as it wasn't reliable
* When resetting password, ensure the input is colored correctly
* Fixed setting new password after resetting, throwing an error despite it actually being successful.
Fixed incorrect messaging for Password Reset page.
* Fixed a bug where reset password would show the side nav button and skew the page.
Updated a lot of references to use Typed version for formcontrols.
* Removed a migration from 0.5.0, 6 releases ago.
* Added a null check so we don't throw an exception when connecting with signalR on unauthenticated users.
* Refactored invite user flow to separate error handling on create user flow and email flow. This should help users that have unique situations.
* Switch to using files to check LastWriteTime. Debug code in for Robbie to test on rclone
* Updated Parser namespace. Changed the LastWriteTime to check all files and folders.
* Fixed a bug where typeahead wouldn't automatically show results on relationship screen without an additional click.
* Tweaked the code which checks if a modification occured to check on seconds rather than minutes
* Clear cache will now clear temp/ directory as well.
* Fixed an issue where Chrome was caching api responses when it shouldn't had.
* Added a cleanup temp code
* Ensure genres get removed during series scan when removed from metadata.
* Fixed a bug where all epubs with a volume would show as Volume 0 in reading list
* When a scan is in progress, don't let the user delete the library.
* Update to use SQLIte for Hangfire to retain information on tasks
* Updated all external links to have noopener noreferrer
* When watching folders, ensure the folders exist before creating watchers.
* Tweaked the messaging for Email Service and added link to the project.
* Sort series by chapter number only when some chapters have no volume information
* Implement a Default static instance of ChapterSortComparer
* Further use Default static Comparers
* Add missing ToLit() as per comments
* Refactored Library Watcher to use Hangfire under the hood.
* Support .kavitaignore at root level.
* Refactored a lot of the library watching code to process faster and handle when FileSystemWatcher runs out of internal buffer space. It's still not perfect, but good enough for basic use.
* Make folder watching as experimental and default it to off by default.
* Revert #1479
* Tweaked the messaging for OPDS to remove a note about download role.
Moved some code closer to where it's used.
* Cleaned up how the events widget reports
* Fixed a null issue when deleting series in the UI
* Cleaned up some debug code
* Added more information for when we skip a scan
* Cleaned up some logging messages in CoverGen tasks
* More log message tweaks
* Added some debug to help identify a rare issue
* Fixed a bug where save bookmarks as webp could get reset to false when saving other server settings
* Updated some documentation on library watcher.
* Make LibraryWatcher fire every 5 mins
* Fixed a bootstrap bug
* Fixed repeating images on collection detail
* Fixed up some logic in library watcher which wasn't processing all of the queue.
* When parsing non-epubs in Book library, use Manga parsing for Volume support to better support Light Novels
* Fixed some bugs with the tachiyomi plugin api's for progress tracking
* Tweaked a Migration to log correctly only if something is going to be done.
* Refactored Reading List Controller code into a dedicated service and cleaned up some methods that aren't needed anymore.
* Fixed a bug where adding a new item to a reading list wasn't adding it at the end.
* Fixed an issue where collection page would re-render the same covers on multiple items.
* Fixed a missing margin-top which made the page extras drawer not render correctly and hence unclosable on small screens.
* Added some timeout on manage users screen to give data time to flush.
Added a dedicated token log for account flows, in case url encoding plays a part (but from testing it doesn't).
* Reverted back to building for ES6 instead of es2020 for old Safari 12.5.5 browsers (10MB difference in build size).
* Cleaned up the logic in removing series not found during scan loop.
* Tweaked the timings for Library Watcher to 1 min and reprocess queue every 30 seconds.
* Added a ToList() to avoid a bug where a person could be removed from a list while iterating over the list.
* When deleting a series, want to read page will now automatically remove that series from the view.
* Fixed a series lookup which was ignoring format
* Ignore XML comment warnings
* Removed a note since it was already working that way
* Fixed unit test
* Updated scan time for watcher to 30 seconds for non-dev. Moved ScanFolder off the Scan queue as it doesn't need to be there. Updated loggers
* Fixed jumpbar missing
* Tweaked the messaging for CoverGen
* When we return early due to nothing being done on library and series scan, make sure we kick off other tasks that need to occur.
* Fixed a foreign constraint issue on Volumes when we were adding to a new series.
* Fixed a case where when picking normalized series, capitalization differences wouldn't stack when they should.
* Reduced the logging output on dev and prod settings.
* Fixed a bug in the code that finds the highest directory from a file, where we were not checking against a normalized path.
* Cleaned up some code
* Fixed broken unit tests
* Hooked in a server setting to enable/disable folder watching
* Validated the file rename change event
* Validated delete file works
* Tweaked some logic to determine if a change occurs on a folder or a file.
* Added a note for an upcoming branch
* Some minor changes in the loop that just shift where code runs.
* Implemented ScanFolder api
* Ensure we restart watchers when we modify a library folder.
* Fixed a unit test
* Misc fixes
- Fixed modal being stretched when not needed.
- Fixed Logo vertical align
- Fixed drawer content scroll, and from it being squished due to overridden by bootstrap.
* series detail cover image stretch fix
- Fixes: Fixes series detail cover image being stretched on larger resolutions
* fixing empty lists scrollbar
* Fixing want to read error
* fixing unnecessary scrollbar
* Fixing recently updated tooltip
* When we navigate from a page then back, resume back on the last scroll key (if clicked)
* Resume jump key position when navigating back to a page. Removed some extra blank space on collection detail when a collection doesn't have a summary or cover image.
* Ignore progress events on series cards
* Added a url to swagger for /, which could be reverse proxy url
* Added Last Folder Scanned time to series info modal.
Tweaked the info event detail modal to have a primary and thus be auto-dismissable
* Added an error event when multiple series are found in processing a series.
* Fixed a bug where a series could get stuck with other series due to a bad select query.
Started adding the force flag hook for the UI and designing the confirm.
Confirm service now also has ability to hide the close button.
Updated error events and logging in the loop, to be more informative
* Fixed a bug where confirm service wasn't showing the proper body content.
* Hooked up force scan series
* refresh metadata now has force update
* Fixed up the messaging with the prompt on scan, hooked it up properly in the scan library to avoid the check if the whole library needs to even be scanned. Fixed a bug where NormalizedLocalizedName wasn't being calculated on new entities.
Started adding unit tests for this problematic repo method.
* Fixed a bug where we updated NormalizedLocalizedName before we set it.
* Send an info to the UI when series are spread between multiple library level folders.
* Added some logger output when there are no files found in a folder. Return early if there are no files found, so we can avoid some small loops of code.
* Fixed an issue where multiple series in a folder with localized series would cause unintended grouping. This is not supported and hence we will warn them and allow the bad grouping.
* Added a case where scan series fails due to the folder being removed. We will now log an error
* Normalize paths when finding the highest directory till root.
* Fixed an issue with Scan Series where changing a series' folder to a different path but the original series folder existed with another series in it, would cause the series to not be deleted.
* Fixed some bugs around specials causing a series merge issue on scan series.
* Removed a bug marker
* Cleaned up some of the scan loop and removed a test I don't need.
* Remove any prompts for force flow, it doesn't work well. Leave the API as is though.
* Fixed up a check for duplicate ScanLibrary calls