42 Commits

Author SHA1 Message Date
Joseph Milazzo
f130440bd0
Want to Read List (#1392)
* Implemented a Want To Read list of series for all users, as a way to keep track of what you want to read.

When canceling a bulk action, like Add to Reading list, the selected cards wont de-select.

* Hooked up Remove from Want to Read

* When making bulk selection, allow the user to click on anywhere on the card

* Added no series messaging

* Code cleanup
2022-07-28 15:18:35 -07:00
Joseph Milazzo
af4f35da5b
Better Caching & Global Downloads (#1372)
* Fixed a bug where cache TTL was using a field which always was 0.

* Updated Scan Series task (from UI) to always re-calculate what's on file and not rely on last update. This leads to more reliable results, despite extra overhead.

* Added image range processing on images for the reader, for slower networks or large files

* On manga (single) try to use prefetched image, rather than re-requesting an image on pagination

* Reduced some more latency when rendering first page of next chapter via continuous reading mode

* Fixed a bug where metadata filter, after updating a typeahead, collapsing filter area then re-opening, the filter would still be applied, but the typeahead wouldn't show the modification.

* Coded an idea around download reporting, commiting for history, might not go with it.

* Refactored the download indicator into it's own component. Cleaning up some code for download within card component

* Another throw away commit. Put in some temp code, not working but not sure if I'm ditching entirely.

* Updated download service to enable range processing (so downloads can resume) and to reduce re-zipping if we've just downloaded something.

* Refactored events widget download indicator to the correct design. I will be moving forward with this new functionality.

* Added Required fields to ProgressDTO

* Cleaned up the event widget and updated existing download progress to indicate preparing the download, rather than the download itself.

* Updated dependencies for security alerts

* Refactored all download code to be streamlined and globally handled

* Updated ScanSeries to find the highest folder path before library, not just within the files. This could lead to scan series missing files due to nested folders on same parent level.

* Updated the caching code to use a builtin annotation. Images are now caching correctly.

* Fixed a bad redirect on an auth guard

* Tweaked how long we allow cache for, as the cover update now doesn't work well.

* Fixed a bug on downloading bookmarks from multiple series, where it would just choose the first series id for the temp file.

* Added an extra check for downloading bookmarks

* UI Security updates, Fixed a bug on bookmark reader, the reader on last page would throw some errors and not show No Next Chapter toast.

* After scan, clear temp

* Code smells
2022-07-13 07:45:14 -07:00
Joseph Milazzo
9b2e61695a
Double Page Rendering (#1333)
* First commit

Enabling double layout mode (and minor fixes)

* Second commit

* bug-fix/side-nav-icon

Side nav icons were not aligned to centred.

* bug-fix/side-nav-icon

Side navigation icons were not aligned centred.

* Squashed commit of the following:

commit d796bcdc0a084ff3ab187b8c6aca74805b68d463
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu May 26 00:24:25 2022 +0000

    Bump versions by dotnet-bump-version.

commit 3c92b6d8a5250b8d52331d125a44290bab310697
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 19:11:01 2022 -0500

    Fixed the logic for caluclating time to read on comics

commit e7617862a597ec28d6623b6468d0d70d060bcbf0
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 17:49:45 2022 -0500

    Don't use plural if there is only 1 hour for reading

commit 713e20ebf4338e48591f01c3ccbdd2dd1bd8e4aa
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 17:48:50 2022 -0500

    Tweaked when we calculate min reading time

commit c0f7dd39a2e792ae1e385c15a5991bdf1e6bf76b
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed May 25 22:10:42 2022 +0000

    Bump versions by dotnet-bump-version.

commit c1490d6e86367377c11ccba568ddd9d206eaae87
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 16:53:39 2022 -0500

    Word Count (#1286)

    * Adding some code for Robbie

    * See more on series detail metadata area is now at the bottom on the section

    * Cleaned up subtitle headings to use a single class for offset with actionables

    * Added some markup for the new design, waiting for Robbie to finish it off

    * styling age-rating badge

    * Started hooking up basic analyze file service and hooks in the UI. Basic code to implement the count is implemented and in benchmarks.

    * Hooked up analyze ui to backend

    * Refactored Series Detail metadata area to use a new icon/title design

    * Cleaned up the new design

    * Pushing for robbie to do css

    * Massive performance improvement to scan series where we only need to scan folders reported that have series in them, rather than the whole library.

    * Removed theme page as we no longer need it. Added WordCount to DTOs so the UI can show them. Added new pipe to format numbers in compact mode.

    * Hooked up actual reading time based on user's words per hour

    * Refactor some magic numbers to consts

    * Hooked in progress reporting for series word count

    * Hooked up analyze files

    * Re-implemented time to read on comics

    * Removed the word Last Read

    * Show proper language name instead of iso tag on series detail page. Added some error handling on word count code.

    * Reworked error handling

    * Fixed some security vulnerabilities in npm.

    * Handle a case where there are no text nodes and instead of returning an empty list, htmlagilitypack returns null.

    * Tweaked the styles a bit on the icon-and-title

    * Code cleanup

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 0a70ac35dca3180b2b62927ddb22153945467c8a
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed May 25 19:39:11 2022 +0000

    Bump versions by dotnet-bump-version.

commit a9a1ec02cac0162b6d4dad5cb9c0b964cd11fded
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 14:25:53 2022 -0500

    Implemented the ability to parse some volume and chapter keywords for chinese. (#1285)

commit 1247f450e2c7001bcc4bb48ca16979656bd521c7
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed May 25 17:21:56 2022 +0000

    Bump versions by dotnet-bump-version.

commit 1a128a3af435e5d54e13ceb189648f5bfbcacd39
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 12:05:16 2022 -0500

    Implemented the ability to read format tag and force special status. (#1284)

commit a0e1ba8d67a232357a43040ac4e886635f61cbf2
Author: majora2007 <josephmajora@gmail.com>
Date:   Mon May 23 23:30:19 2022 +0000

    Bump versions by dotnet-bump-version.

commit e0a2fc615f0ea2c363394c9596711d08043e1738
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Mon May 23 18:19:52 2022 -0500

    UX Changes, Tasks, WebP, and More! (#1280)

    * When account updates occur for a user, send an event to them to tell them to refresh their account information (if they are on the site at the time). This way if we revoke permissions, the site will reactively adapt.

    * Some cleanup on the user preferences to remove some calls we don't need anymore.

    * Removed old bulk cleanup bookmark code as it's no longer needed.

    * Tweaked the messaging for stat collection to reflect what we collect now versus when this was initially implemented.

    * Implemented the ability for users to configure their servers to save bookmarks as webP. Reorganized the tabs for Admin dashboard to account for upcoming features.

    * Implemented the ability to bulk convert bookmarks (as many times as the user wants).

    Added a display of Reoccurring Jobs to the Tasks admin tab. Currently it's just placeholder, but will be enhanced further later in the release.

    * Tweaked the wording around the convert switch.

    * Moved System actions to the task tab

    * Added a controller just for Tachiyomi so we can have dedicated APIs for that client. Deprecated an existing API on the Reader route.

    * Fixed the unit tests

commit dd83b6a9a1ee06dd342b96b3be5ca36c6d1ba8d6
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 21 23:36:25 2022 +0000

    Bump versions by dotnet-bump-version.

commit 16eb1e3e8ed19f4b0857b1b14593448b072d48ca
Author: Joseph Milazzo <josephmajora@gmail.com>
Date:   Sat May 21 18:24:18 2022 -0500

    version bump (#1271)

commit f4f91fa5a957f92b175d63b9af30ad5e5c94decf
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 21 23:03:49 2022 +0000

    Bump versions by dotnet-bump-version.

commit 1801afd4a7e28f0c9da669b61fd5970002a44c8f
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sat May 21 17:52:57 2022 -0500

    Updated the readme to reflect new UX and some tweaks to wordings. (#1270)

commit bcad2e4a553e864b91dfef260527601cfd35da31
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 21 02:18:06 2022 +0000

    Bump versions by dotnet-bump-version.

commit 81082508f2d81dbff00856f1b1988147f2f2127f
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Fri May 20 21:05:09 2022 -0500

    Release Shakeout Part 2 (#1267)

    * Fixed manga reader and removed debug code

    * Removed some console.logs

commit 92010379f165cf56307af37d448cfe6734d677ba
Author: majora2007 <josephmajora@gmail.com>
Date:   Fri May 20 23:00:48 2022 +0000

    Bump versions by dotnet-bump-version.

commit a0623415647c276f6131f39172ae0dd2ffa6aee5
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Fri May 20 17:50:17 2022 -0500

    Release Shakeout (#1266)

    * Fixed an issue with fit to screen where spread images would fail to generate a paging area long enough.

    * Fixed pagination placement on original scaling

    * Fixed an issue with webtoon reader not reporting scroll events due to a fix from manga reader.

    * Fixing select on black book-reader theme

    * Fixing canvas split centering

    * Fixed a bug with white mode in book reader not rendering correctly. When bookmarking new pages after previously have viewing bookmarks for a series, ensure we clear out the temp cache else your new files wont be visible till next day.

    * Use grid on related tab

    * Clear bookmarks was not hooked up. Bulk add to collection didn't have label hidden

    * Fixed bug where filter might stay open between pages

    * Fixed typo on relationship for Adaptation

    * Contains was missing from series relation modal

    * Tweaked some methods and wording on reading list page

    * Cleaned up the phrasing when we abort a scan.

    * Fixed issue where typeahead wasn't reopening and it wasn't filtering selected options

    * Fixed some typeahead bugs and decreased interval for docker health check

    * Cleaned up and fixed some logic with receiving cover image update events

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 49d8a7c6cabc2cac2b2839b421af97854986f31e
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu May 19 12:24:13 2022 +0000

    Bump versions by dotnet-bump-version.

commit f2b1cd55f0e5b7f4f70c2a2029af6aa85225dc7e
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Thu May 19 07:14:18 2022 -0500

    Remove Light and E-Ink theme (#1263)

    * Refactored code to show action bar instead of drawer in immersive mode

    * Card grid

    * adding margin for pagination gap

    * Fixed a rare routing case that wouldn't redirect

    * Fixed a bug where series detail would show blank filtering

    * Fixing image scaling and library card spacing

    * Refactored some methods to be static

    * Adding card grid to series detail

    * Fixed a bug with webtoon going to non-webtoon mode, resulting in black screen.

    * Ensure emails are trimmed when trying to invite.

    * Don't show More In if there is only 1 item in there on library recommended tab

    * Fixed some bugs around locking metadata fields where the correct param wasn't being sent to backend.

    * Added some UI error messaging when the email doesn't match the confirm-email (or rather any email in the system).

    * Fixed some pages where actions weren't working (library detail) and removed some actionable buttons where they didn't make sense

    * Refactored the series detail to use Robbie's new grid system.

    * some styling fixes

    * Styling fixes

    - Removing select border gap
    - fixing switches on lite theme
    - fixing search result text-light

    * better css var naming

    * changing search lite text color override

    * fixing as per feedback

    * Removing boolean from being visible in bookreader

    * Fixed some bugs in bulk operations not being visible on light/eink screens. Added --bulk-selection-highlight-text-color and --bulk-selection-text-color.

    * Wrote basic code to remove other themes. Need a migration instead.

    * Added a migration to remove light/e-ink themes and migrate users over to Dark theme by default.

    * Fixed unit tests

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 876e19177e57e06a8919450e350eeefb1c2a0302
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu May 19 00:46:22 2022 +0000

    Bump versions by dotnet-bump-version.

commit 1961b412688f90f7b099d1f086bd5629dd1515e1
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 18 19:31:49 2022 -0500

    Last batch of bugfixes (#1262)

    * Refactored code to show action bar instead of drawer in immersive mode

    * Card grid

    * adding margin for pagination gap

    * Fixed a rare routing case that wouldn't redirect

    * Fixed a bug where series detail would show blank filtering

    * Fixing image scaling and library card spacing

    * Refactored some methods to be static

    * Adding card grid to series detail

    * Fixed a bug with webtoon going to non-webtoon mode, resulting in black screen.

    * Ensure emails are trimmed when trying to invite.

    * Don't show More In if there is only 1 item in there on library recommended tab

    * Fixed some bugs around locking metadata fields where the correct param wasn't being sent to backend.

    * Added some UI error messaging when the email doesn't match the confirm-email (or rather any email in the system).

    * Fixed some pages where actions weren't working (library detail) and removed some actionable buttons where they didn't make sense

    * Refactored the series detail to use Robbie's new grid system.

    * some styling fixes

    * Styling fixes

    - Removing select border gap
    - fixing switches on lite theme
    - fixing search result text-light

    * better css var naming

    * changing search lite text color override

    * fixing as per feedback

    * Removing boolean from being visible in bookreader

    * Fixed some bugs in bulk operations not being visible on light/eink screens. Added --bulk-selection-highlight-text-color and --bulk-selection-text-color.

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 6f23a3bc6d31ac1f0d0ca6e3d5a985e980d9649e
Author: majora2007 <josephmajora@gmail.com>
Date:   Sun May 15 21:31:42 2022 +0000

    Bump versions by dotnet-bump-version.

commit 92fb185f2030331a5c26c7c70b06531b00157c21
Author: Robbie Davis <robbie@therobbiedavis.com>
Date:   Sun May 15 17:21:17 2022 -0400

    Adding code to make sure bottom actionbar is applied on layout change (#1258)

commit bb791b7789b047b39c7c687477eccb3bd2f24786
Author: majora2007 <josephmajora@gmail.com>
Date:   Sun May 15 19:44:47 2022 +0000

    Bump versions by dotnet-bump-version.

commit cdc49317705d7a74aa9ed0cb0dfaa291039ca7ad
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sun May 15 14:34:53 2022 -0500

    Reader scroll area fix (#1257)

    * Changes to make the pagination area scrollable (not working, debug code for Robbie)

    * Adjusted the html to be easier to understand and more streamlined

    * Fixed inability to scroll in manga reader over pagination areas for everything but the bottom bar

    * Book reader now allows you to scroll over pagination area

commit ccb6414e9e07366efd6a1195e7dde77eda869a48
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 14 22:13:24 2022 +0000

    Bump versions by dotnet-bump-version.

commit d458a823ef6e3b779b6c5722db2b226597cb7793
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sat May 14 17:02:58 2022 -0500

    More Reader Bugfixes (#1255)

    * Added css to center images

    * Better scaling css

    * Removing vertical height css for actionbar calc

    * Fixed a bug where book settings couldn't be saved due to typo in model

    * fixing height across layouts

    * Fixed an issue where column mode would reset to user preference default between continuous reader loads

    * Fixing some more logic

    * Reading direction arrow keys now flip

    * Small code cleanup on Robbie's code

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit be5b997259f6442fcac8401a09db711971e257b2
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 14 00:40:11 2022 +0000

    Bump versions by dotnet-bump-version.

commit f701f8e5999da4e7ce8f8e1b4c7a968953426a92
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Fri May 13 19:30:37 2022 -0500

    Book Reader Bugfixes (#1254)

    * Fixed image scoping breaking and books not being able to load images

    * Cleaned up a lot of variables and added more jsdoc. After shifting the margin, we try to recover the column layout width,height, and scroll posisiton.

    * Tap to paginate is working on first load now

    * On resize, rescroll to attempt to avoid breakage

    * Fixed transparent background for action bar on white theme

    * Moved some lists to immutable arrays

    * Actually fixed backgournd now

    * Fixed some settings not updating in book reader on load

    * Put some code in place to test out opening menu with clicking on the document

    * Fixed settings not propagating to the reader

    * Fixing 2 column when loading annd ios mobile

    * Fixed an issue where paging to prev page would sometimes skip the first page.

    * Fixing previous page skipping first page of chapter

    * removing console logs

    * Save progress when we page

    * Click on document to show the side nav

    * Removed columns auto because it could render more columns than applicable. Don't explicitly call saveProgress on prev page, as we already do in another call.

    Adjusted the logic to calculate windowHeight and width to be the same throughout the reader.

    * Setting select fix and settings polish

    * Fixed awkward tooltip wording

    * Added a message for when there is nothing to show on recommended tab

    * Removed bug marker, there was no bug after all

    * Fixing book title truncation in action bar

    * When counting volumes or chapters that have range, count the max part of the range for publication status.

    * Fixing TOC rendering issue

    * Styling fixes

    - Fixed an issue where the image height in the book reader was the column height plus padding so it was breaking pagination calc.
    - Centered book reader setting pills
    - Made inactive setting pill into a ghost button
    - Fixed spacing across the reader settings drawer

    * Added a bit of code to allow us to disable buttons before we click for next chapter load

    * Removed titles from action bars

    * The next page button will now show as the primary color to indicate to the user what the next forward page is.

    * Added a view series to bookmark page and removed actions from header since it didn't work

    * Fixed a bug where pagination wasn't mutating url state

    * Lots of changes, code is kinda working.

    Added Immersive Mode, but didn't generate migration.

    Added concept of virtual pages with ability to see them. Math is still slightly off.

    Cleaned up prefetching code so we do it much earlier.

    Added some code that doesn't work to disable buttons with virtual paging included.

    * When turning immersive mode on, force tap to paginate

    * Refactored out the book reader state as it wasn't very beneficial

    * Fixed total virtual page calculation

    * Next/prev page seems to be working pretty well

    * Applied Robbie's virtual page logic and fixed a bug in prev page code

    * Changed the next page to use same virtual page logic

    * Getting back and forward working...somehow.

    * removing redundant code

    * Fixing book title overflow from new action bar changes

    * Polishing pagination styles

    * Changing chapter to section

    * Fixing up other book reader themes

    * Fixed the login header being off-center

    * Fixing styling to follow approach

    * Refactored the pagination buttons to properly call next/prev page based on reading direction

    * Drawer pagination buttons now respect when there is no chapters (prev/next)

    * Everything except disabling buttons when on last possible page working

    * Added Book Reader immersive mode migration

    * Disable next/prev buttons for continuous reading before we request next/prev chapter if there is no chapter.

    * Show a tooltip for the title

    * Fixed unit test

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit dfcc2f081311113fa4cf1b96097ccc92d3677f54
Author: majora2007 <josephmajora@gmail.com>
Date:   Mon May 9 01:01:46 2022 +0000

    Bump versions by dotnet-bump-version.

commit 2723a6cd1061a0abd575b60b4240897fd99ce93a
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sun May 8 19:52:15 2022 -0500

    Book Reader Redesign with e-ink focus (#1246)

    * Refactored the drawer into offcanvas component. Had to write some hacks to emulate how bootstrap's javascript implementation works as ngBootstrap doesn't have a component yet.

    * Cleaned up some of the code

    * Rewrote drawer to align it with the new design

    * First pass, refactored table of content into it's own component

    * Refactored all of the settings logic into a separate component. Everything is broken.

    * More settings on on reactive form

    * More code cleanup on settings

    * Misc fixes around the drawer code. Fixed a bug where range sliders were inheriting background color of normal text inputs

    * Fixed dark mode with book reader.

    We now clear the theme from the main app so book reader is self-contained. Styles for dark mode are injected into the reading-section. Styles that were previously in scss are now only for the actual menu system.

    * Cleaned up drawer styling on header

    * Removed an ngIf statement for click to paginate

    * Tweaked the accent style to have smaller font size and adjusted style on light mode. Cleaned up some clearTimeout code in a further effort to streamline codebase.

    * Refactored Dark mode into a basic theme. Currently styles are hardcoded.

    * Patched book theme in from themes branch

    * Patched in the backend for Book Theme (not tested yet)

    * Fixed a bug in seeding code for book themes. Started integration of themes into the reader settings

    * Everything except managing themes is working. Themes are a bit shakey, having second thoughts if we should have them or not.

    * Reverted the ability to do custom user book themes. Code is stable with system themes.

    * Stablize the Styles (#1128)

    * Fixed a bug where adding multiple series to reading list would throw an error on UI, but it was successful.

    * When a series has a reading list, we now show the connection on Series detail.

    * Removed all baseurl code from UI and not-connected component since we no longer use it.

    * Fixed tag badges not showing a border. Added last read time to the series detail page

    * Fixed up error interceptor to remove no-connection code

    * Changed implementation for series detail. Book libraries will never send chapters back. Volume 0 volumes will not be sent in volumes ever. Fixed up more renaming logic on books to send more accurate representations to the UI.

    * Cleaned up the selected tab and tab display logic

    * Fixed a bad where statement in reading lists for series

    * Fixed up tab logic again

    * Fixed a small margin on search backdrop

    * Made badge expander button smaller to align with badges

    * Fixed a few UIs due to .form-group and .form-row being removed

    * Updated Theme component page to help with style testing

    * Added more components to theme tester

    * Cleaned up some styling

    * Fixed opacity on search item hover

    * Bump versions by dotnet-bump-version.

    * Tweaked the accordion styles for light mode

    * Set dark book theme as default. Refactored resetSettings to be much cleaner

    * Started the refactor to allow book themes to affect global css variables

    * Fixed some issues with my css variable declarations

    * Fixed a close model state update

    * Lots of work, but dark mode on the book reader is basically done. We have to code the themes much like the site themes

    * Some black theme enhancements

    * Started working on column layout in book reader.

    * Cleaned up the CSS on Reader Settings

    * Hooked up reading direction

    * Got column and double column layout working

    * Implemented some basic virtual paging and hooked in book color theme and layout mode into user preferences.

    * Migration wrote, can edit page layout and color theme on book reader. Removed book dark mode since no longer needed.

    Fixed a bug on login/register forms where when input is focused, text is white and not black.

    * When loading book reader, apply column layout.

    * Lots of work around 2 column layout, working on images not splitting. Still not working, committing so i can merge develop in and validate code with new manga reader.

    * Fixed images being split into 2 BUT regression on each page boundary, total reading height is smaller and smaller

    * Fixed some rendering bugs where toggling column layouts would shrink images on screen constantly.

    Fixed a bug where bottom bar wouldn't render on column layout in some conditions (this might need to be reworked)

    * Started progress on progress work

    * Updated .NET to 6.0.4

    * Fixed a bug where DataContextModelSnapshot was being removed on build thus new migrations were broken.

    * Tweaked the code around progress saving so that we don't loose track of last scroll element on page load

    * Trying to restore progress, but stuck

    * Extra merge stuff

    * Fixed a bug where volumes that are a range fail to generate series detail

    * No gutters on whole app. Book reader backend now applies the image class automatically at the backend.

    * Added wiki documentation into invite user flow and register admin user to help users understand email isn't required and they can host their own service.

    * Removed bottom padding

    * Refactored the document height to be set and removed on nav service, so the book reader and manga reader aren't broken.

    * Fixed the height of the action bar to simplify logic and keep the code cleaner. Refactored book service image scoping to be much more streamlined and efficient

    * Fixed the height of action bar to 62px and adjusted code to use the hardcoded px. (code commented)

    * Removed commented out code from fixed action bar height

    * Progress restoration seems to be working

    * Code cleanup

    * Ensure the bottom action bar is at the bottom of the viewport on small pages

    * Fixed book fonts not setting properly and added OpenDyslexic font.

    * Fixed up some font issues

    * Updated drawer so all sections are open by default

    * Switched some LINQ to use MinBy

    * When navigating between pages and column layout, adjust the shift for the user.

    * Removed some debug code

    * Blacklist .qpkg folders and don't scan Recently-Snapshot or recycle folders.

    * Renamed the scale width to be scoped to kavita to avoid conflicts.

    * Refactored ngx-sliders out to use normal range instead. Changed up the preferences to separate image and book settinngs into own accordion.

    * updated user preferences for new migration options (not committed yet)

    * Removed some debug code

    * Remove console.logs

    * Migration committed, let's release this to users.

    * A lot of crazy code just to ensure that when you close drawer the toggle reflectst that state.

* bug-fix/typos and linting

* Update API.csproj

* Squashed commit of the following:

commit d796bcdc0a084ff3ab187b8c6aca74805b68d463
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu May 26 00:24:25 2022 +0000

    Bump versions by dotnet-bump-version.

commit 3c92b6d8a5250b8d52331d125a44290bab310697
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 19:11:01 2022 -0500

    Fixed the logic for caluclating time to read on comics

commit e7617862a597ec28d6623b6468d0d70d060bcbf0
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 17:49:45 2022 -0500

    Don't use plural if there is only 1 hour for reading

commit 713e20ebf4338e48591f01c3ccbdd2dd1bd8e4aa
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 17:48:50 2022 -0500

    Tweaked when we calculate min reading time

commit c0f7dd39a2e792ae1e385c15a5991bdf1e6bf76b
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed May 25 22:10:42 2022 +0000

    Bump versions by dotnet-bump-version.

commit c1490d6e86367377c11ccba568ddd9d206eaae87
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 16:53:39 2022 -0500

    Word Count (#1286)

    * Adding some code for Robbie

    * See more on series detail metadata area is now at the bottom on the section

    * Cleaned up subtitle headings to use a single class for offset with actionables

    * Added some markup for the new design, waiting for Robbie to finish it off

    * styling age-rating badge

    * Started hooking up basic analyze file service and hooks in the UI. Basic code to implement the count is implemented and in benchmarks.

    * Hooked up analyze ui to backend

    * Refactored Series Detail metadata area to use a new icon/title design

    * Cleaned up the new design

    * Pushing for robbie to do css

    * Massive performance improvement to scan series where we only need to scan folders reported that have series in them, rather than the whole library.

    * Removed theme page as we no longer need it. Added WordCount to DTOs so the UI can show them. Added new pipe to format numbers in compact mode.

    * Hooked up actual reading time based on user's words per hour

    * Refactor some magic numbers to consts

    * Hooked in progress reporting for series word count

    * Hooked up analyze files

    * Re-implemented time to read on comics

    * Removed the word Last Read

    * Show proper language name instead of iso tag on series detail page. Added some error handling on word count code.

    * Reworked error handling

    * Fixed some security vulnerabilities in npm.

    * Handle a case where there are no text nodes and instead of returning an empty list, htmlagilitypack returns null.

    * Tweaked the styles a bit on the icon-and-title

    * Code cleanup

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 0a70ac35dca3180b2b62927ddb22153945467c8a
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed May 25 19:39:11 2022 +0000

    Bump versions by dotnet-bump-version.

commit a9a1ec02cac0162b6d4dad5cb9c0b964cd11fded
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 14:25:53 2022 -0500

    Implemented the ability to parse some volume and chapter keywords for chinese. (#1285)

commit 1247f450e2c7001bcc4bb48ca16979656bd521c7
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed May 25 17:21:56 2022 +0000

    Bump versions by dotnet-bump-version.

commit 1a128a3af435e5d54e13ceb189648f5bfbcacd39
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 12:05:16 2022 -0500

    Implemented the ability to read format tag and force special status. (#1284)

commit a0e1ba8d67a232357a43040ac4e886635f61cbf2
Author: majora2007 <josephmajora@gmail.com>
Date:   Mon May 23 23:30:19 2022 +0000

    Bump versions by dotnet-bump-version.

commit e0a2fc615f0ea2c363394c9596711d08043e1738
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Mon May 23 18:19:52 2022 -0500

    UX Changes, Tasks, WebP, and More! (#1280)

    * When account updates occur for a user, send an event to them to tell them to refresh their account information (if they are on the site at the time). This way if we revoke permissions, the site will reactively adapt.

    * Some cleanup on the user preferences to remove some calls we don't need anymore.

    * Removed old bulk cleanup bookmark code as it's no longer needed.

    * Tweaked the messaging for stat collection to reflect what we collect now versus when this was initially implemented.

    * Implemented the ability for users to configure their servers to save bookmarks as webP. Reorganized the tabs for Admin dashboard to account for upcoming features.

    * Implemented the ability to bulk convert bookmarks (as many times as the user wants).

    Added a display of Reoccurring Jobs to the Tasks admin tab. Currently it's just placeholder, but will be enhanced further later in the release.

    * Tweaked the wording around the convert switch.

    * Moved System actions to the task tab

    * Added a controller just for Tachiyomi so we can have dedicated APIs for that client. Deprecated an existing API on the Reader route.

    * Fixed the unit tests

commit dd83b6a9a1ee06dd342b96b3be5ca36c6d1ba8d6
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 21 23:36:25 2022 +0000

    Bump versions by dotnet-bump-version.

commit 16eb1e3e8ed19f4b0857b1b14593448b072d48ca
Author: Joseph Milazzo <josephmajora@gmail.com>
Date:   Sat May 21 18:24:18 2022 -0500

    version bump (#1271)

commit f4f91fa5a957f92b175d63b9af30ad5e5c94decf
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 21 23:03:49 2022 +0000

    Bump versions by dotnet-bump-version.

commit 1801afd4a7e28f0c9da669b61fd5970002a44c8f
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sat May 21 17:52:57 2022 -0500

    Updated the readme to reflect new UX and some tweaks to wordings. (#1270)

commit bcad2e4a553e864b91dfef260527601cfd35da31
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 21 02:18:06 2022 +0000

    Bump versions by dotnet-bump-version.

commit 81082508f2d81dbff00856f1b1988147f2f2127f
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Fri May 20 21:05:09 2022 -0500

    Release Shakeout Part 2 (#1267)

    * Fixed manga reader and removed debug code

    * Removed some console.logs

commit 92010379f165cf56307af37d448cfe6734d677ba
Author: majora2007 <josephmajora@gmail.com>
Date:   Fri May 20 23:00:48 2022 +0000

    Bump versions by dotnet-bump-version.

commit a0623415647c276f6131f39172ae0dd2ffa6aee5
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Fri May 20 17:50:17 2022 -0500

    Release Shakeout (#1266)

    * Fixed an issue with fit to screen where spread images would fail to generate a paging area long enough.

    * Fixed pagination placement on original scaling

    * Fixed an issue with webtoon reader not reporting scroll events due to a fix from manga reader.

    * Fixing select on black book-reader theme

    * Fixing canvas split centering

    * Fixed a bug with white mode in book reader not rendering correctly. When bookmarking new pages after previously have viewing bookmarks for a series, ensure we clear out the temp cache else your new files wont be visible till next day.

    * Use grid on related tab

    * Clear bookmarks was not hooked up. Bulk add to collection didn't have label hidden

    * Fixed bug where filter might stay open between pages

    * Fixed typo on relationship for Adaptation

    * Contains was missing from series relation modal

    * Tweaked some methods and wording on reading list page

    * Cleaned up the phrasing when we abort a scan.

    * Fixed issue where typeahead wasn't reopening and it wasn't filtering selected options

    * Fixed some typeahead bugs and decreased interval for docker health check

    * Cleaned up and fixed some logic with receiving cover image update events

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 49d8a7c6cabc2cac2b2839b421af97854986f31e
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu May 19 12:24:13 2022 +0000

    Bump versions by dotnet-bump-version.

commit f2b1cd55f0e5b7f4f70c2a2029af6aa85225dc7e
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Thu May 19 07:14:18 2022 -0500

    Remove Light and E-Ink theme (#1263)

    * Refactored code to show action bar instead of drawer in immersive mode

    * Card grid

    * adding margin for pagination gap

    * Fixed a rare routing case that wouldn't redirect

    * Fixed a bug where series detail would show blank filtering

    * Fixing image scaling and library card spacing

    * Refactored some methods to be static

    * Adding card grid to series detail

    * Fixed a bug with webtoon going to non-webtoon mode, resulting in black screen.

    * Ensure emails are trimmed when trying to invite.

    * Don't show More In if there is only 1 item in there on library recommended tab

    * Fixed some bugs around locking metadata fields where the correct param wasn't being sent to backend.

    * Added some UI error messaging when the email doesn't match the confirm-email (or rather any email in the system).

    * Fixed some pages where actions weren't working (library detail) and removed some actionable buttons where they didn't make sense

    * Refactored the series detail to use Robbie's new grid system.

    * some styling fixes

    * Styling fixes

    - Removing select border gap
    - fixing switches on lite theme
    - fixing search result text-light

    * better css var naming

    * changing search lite text color override

    * fixing as per feedback

    * Removing boolean from being visible in bookreader

    * Fixed some bugs in bulk operations not being visible on light/eink screens. Added --bulk-selection-highlight-text-color and --bulk-selection-text-color.

    * Wrote basic code to remove other themes. Need a migration instead.

    * Added a migration to remove light/e-ink themes and migrate users over to Dark theme by default.

    * Fixed unit tests

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 876e19177e57e06a8919450e350eeefb1c2a0302
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu May 19 00:46:22 2022 +0000

    Bump versions by dotnet-bump-version.

commit 1961b412688f90f7b099d1f086bd5629dd1515e1
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 18 19:31:49 2022 -0500

    Last batch of bugfixes (#1262)

    * Refactored code to show action bar instead of drawer in immersive mode

    * Card grid

    * adding margin for pagination gap

    * Fixed a rare routing case that wouldn't redirect

    * Fixed a bug where series detail would show blank filtering

    * Fixing image scaling and library card spacing

    * Refactored some methods to be static

    * Adding card grid to series detail

    * Fixed a bug with webtoon going to non-webtoon mode, resulting in black screen.

    * Ensure emails are trimmed when trying to invite.

    * Don't show More In if there is only 1 item in there on library recommended tab

    * Fixed some bugs around locking metadata fields where the correct param wasn't being sent to backend.

    * Added some UI error messaging when the email doesn't match the confirm-email (or rather any email in the system).

    * Fixed some pages where actions weren't working (library detail) and removed some actionable buttons where they didn't make sense

    * Refactored the series detail to use Robbie's new grid system.

    * some styling fixes

    * Styling fixes

    - Removing select border gap
    - fixing switches on lite theme
    - fixing search result text-light

    * better css var naming

    * changing search lite text color override

    * fixing as per feedback

    * Removing boolean from being visible in bookreader

    * Fixed some bugs in bulk operations not being visible on light/eink screens. Added --bulk-selection-highlight-text-color and --bulk-selection-text-color.

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 6f23a3bc6d31ac1f0d0ca6e3d5a985e980d9649e
Author: majora2007 <josephmajora@gmail.com>
Date:   Sun May 15 21:31:42 2022 +0000

    Bump versions by dotnet-bump-version.

commit 92fb185f2030331a5c26c7c70b06531b00157c21
Author: Robbie Davis <robbie@therobbiedavis.com>
Date:   Sun May 15 17:21:17 2022 -0400

    Adding code to make sure bottom actionbar is applied on layout change (#1258)

commit bb791b7789b047b39c7c687477eccb3bd2f24786
Author: majora2007 <josephmajora@gmail.com>
Date:   Sun May 15 19:44:47 2022 +0000

    Bump versions by dotnet-bump-version.

commit cdc49317705d7a74aa9ed0cb0dfaa291039ca7ad
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sun May 15 14:34:53 2022 -0500

    Reader scroll area fix (#1257)

    * Changes to make the pagination area scrollable (not working, debug code for Robbie)

    * Adjusted the html to be easier to understand and more streamlined

    * Fixed inability to scroll in manga reader over pagination areas for everything but the bottom bar

    * Book reader now allows you to scroll over pagination area

commit ccb6414e9e07366efd6a1195e7dde77eda869a48
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 14 22:13:24 2022 +0000

    Bump versions by dotnet-bump-version.

commit d458a823ef6e3b779b6c5722db2b226597cb7793
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sat May 14 17:02:58 2022 -0500

    More Reader Bugfixes (#1255)

    * Added css to center images

    * Better scaling css

    * Removing vertical height css for actionbar calc

    * Fixed a bug where book settings couldn't be saved due to typo in model

    * fixing height across layouts

    * Fixed an issue where column mode would reset to user preference default between continuous reader loads

    * Fixing some more logic

    * Reading direction arrow keys now flip

    * Small code cleanup on Robbie's code

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit be5b997259f6442fcac8401a09db711971e257b2
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 14 00:40:11 2022 +0000

    Bump versions by dotnet-bump-version.

commit f701f8e5999da4e7ce8f8e1b4c7a968953426a92
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Fri May 13 19:30:37 2022 -0500

    Book Reader Bugfixes (#1254)

    * Fixed image scoping breaking and books not being able to load images

    * Cleaned up a lot of variables and added more jsdoc. After shifting the margin, we try to recover the column layout width,height, and scroll posisiton.

    * Tap to paginate is working on first load now

    * On resize, rescroll to attempt to avoid breakage

    * Fixed transparent background for action bar on white theme

    * Moved some lists to immutable arrays

    * Actually fixed backgournd now

    * Fixed some settings not updating in book reader on load

    * Put some code in place to test out opening menu with clicking on the document

    * Fixed settings not propagating to the reader

    * Fixing 2 column when loading annd ios mobile

    * Fixed an issue where paging to prev page would sometimes skip the first page.

    * Fixing previous page skipping first page of chapter

    * removing console logs

    * Save progress when we page

    * Click on document to show the side nav

    * Removed columns auto because it could render more columns than applicable. Don't explicitly call saveProgress on prev page, as we already do in another call.

    Adjusted the logic to calculate windowHeight and width to be the same throughout the reader.

    * Setting select fix and settings polish

    * Fixed awkward tooltip wording

    * Added a message for when there is nothing to show on recommended tab

    * Removed bug marker, there was no bug after all

    * Fixing book title truncation in action bar

    * When counting volumes or chapters that have range, count the max part of the range for publication status.

    * Fixing TOC rendering issue

    * Styling fixes

    - Fixed an issue where the image height in the book reader was the column height plus padding so it was breaking pagination calc.
    - Centered book reader setting pills
    - Made inactive setting pill into a ghost button
    - Fixed spacing across the reader settings drawer

    * Added a bit of code to allow us to disable buttons before we click for next chapter load

    * Removed titles from action bars

    * The next page button will now show as the primary color to indicate to the user what the next forward page is.

    * Added a view series to bookmark page and removed actions from header since it didn't work

    * Fixed a bug where pagination wasn't mutating url state

    * Lots of changes, code is kinda working.

    Added Immersive Mode, but didn't generate migration.

    Added concept of virtual pages with ability to see them. Math is still slightly off.

    Cleaned up prefetching code so we do it much earlier.

    Added some code that doesn't work to disable buttons with virtual paging included.

    * When turning immersive mode on, force tap to paginate

    * Refactored out the book reader state as it wasn't very beneficial

    * Fixed total virtual page calculation

    * Next/prev page seems to be working pretty well

    * Applied Robbie's virtual page logic and fixed a bug in prev page code

    * Changed the next page to use same virtual page logic

    * Getting back and forward working...somehow.

    * removing redundant code

    * Fixing book title overflow from new action bar changes

    * Polishing pagination styles

    * Changing chapter to section

    * Fixing up other book reader themes

    * Fixed the login header being off-center

    * Fixing styling to follow approach

    * Refactored the pagination buttons to properly call next/prev page based on reading direction

    * Drawer pagination buttons now respect when there is no chapters (prev/next)

    * Everything except disabling buttons when on last possible page working

    * Added Book Reader immersive mode migration

    * Disable next/prev buttons for continuous reading before we request next/prev chapter if there is no chapter.

    * Show a tooltip for the title

    * Fixed unit test

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit dfcc2f081311113fa4cf1b96097ccc92d3677f54
Author: majora2007 <josephmajora@gmail.com>
Date:   Mon May 9 01:01:46 2022 +0000

    Bump versions by dotnet-bump-version.

commit 2723a6cd1061a0abd575b60b4240897fd99ce93a
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sun May 8 19:52:15 2022 -0500

    Book Reader Redesign with e-ink focus (#1246)

    * Refactored the drawer into offcanvas component. Had to write some hacks to emulate how bootstrap's javascript implementation works as ngBootstrap doesn't have a component yet.

    * Cleaned up some of the code

    * Rewrote drawer to align it with the new design

    * First pass, refactored table of content into it's own component

    * Refactored all of the settings logic into a separate component. Everything is broken.

    * More settings on on reactive form

    * More code cleanup on settings

    * Misc fixes around the drawer code. Fixed a bug where range sliders were inheriting background color of normal text inputs

    * Fixed dark mode with book reader.

    We now clear the theme from the main app so book reader is self-contained. Styles for dark mode are injected into the reading-section. Styles that were previously in scss are now only for the actual menu system.

    * Cleaned up drawer styling on header

    * Removed an ngIf statement for click to paginate

    * Tweaked the accent style to have smaller font size and adjusted style on light mode. Cleaned up some clearTimeout code in a further effort to streamline codebase.

    * Refactored Dark mode into a basic theme. Currently styles are hardcoded.

    * Patched book theme in from themes branch

    * Patched in the backend for Book Theme (not tested yet)

    * Fixed a bug in seeding code for book themes. Started integration of themes into the reader settings

    * Everything except managing themes is working. Themes are a bit shakey, having second thoughts if we should have them or not.

    * Reverted the ability to do custom user book themes. Code is stable with system themes.

    * Stablize the Styles (#1128)

    * Fixed a bug where adding multiple series to reading list would throw an error on UI, but it was successful.

    * When a series has a reading list, we now show the connection on Series detail.

    * Removed all baseurl code from UI and not-connected component since we no longer use it.

    * Fixed tag badges not showing a border. Added last read time to the series detail page

    * Fixed up error interceptor to remove no-connection code

    * Changed implementation for series detail. Book libraries will never send chapters back. Volume 0 volumes will not be sent in volumes ever. Fixed up more renaming logic on books to send more accurate representations to the UI.

    * Cleaned up the selected tab and tab display logic

    * Fixed a bad where statement in reading lists for series

    * Fixed up tab logic again

    * Fixed a small margin on search backdrop

    * Made badge expander button smaller to align with badges

    * Fixed a few UIs due to .form-group and .form-row being removed

    * Updated Theme component page to help with style testing

    * Added more components to theme tester

    * Cleaned up some styling

    * Fixed opacity on search item hover

    * Bump versions by dotnet-bump-version.

    * Tweaked the accordion styles for light mode

    * Set dark book theme as default. Refactored resetSettings to be much cleaner

    * Started the refactor to allow book themes to affect global css variables

    * Fixed some issues with my css variable declarations

    * Fixed a close model state update

    * Lots of work, but dark mode on the book reader is basically done. We have to code the themes much like the site themes

    * Some black theme enhancements

    * Started working on column layout in book reader.

    * Cleaned up the CSS on Reader Settings

    * Hooked up reading direction

    * Got column and double column layout working

    * Implemented some basic virtual paging and hooked in book color theme and layout mode into user preferences.

    * Migration wrote, can edit page layout and color theme on book reader. Removed book dark mode since no longer needed.

    Fixed a bug on login/register forms where when input is focused, text is white and not black.

    * When loading book reader, apply column layout.

    * Lots of work around 2 column layout, working on images not splitting. Still not working, committing so i can merge develop in and validate code with new manga reader.

    * Fixed images being split into 2 BUT regression on each page boundary, total reading height is smaller and smaller

    * Fixed some rendering bugs where toggling column layouts would shrink images on screen constantly.

    Fixed a bug where bottom bar wouldn't render on column layout in some conditions (this might need to be reworked)

    * Started progress on progress work

    * Updated .NET to 6.0.4

    * Fixed a bug where DataContextModelSnapshot was being removed on build thus new migrations were broken.

    * Tweaked the code around progress saving so that we don't loose track of last scroll element on page load

    * Trying to restore progress, but stuck

    * Extra merge stuff

    * Fixed a bug where volumes that are a range fail to generate series detail

    * No gutters on whole app. Book reader backend now applies the image class automatically at the backend.

    * Added wiki documentation into invite user flow and register admin user to help users understand email isn't required and they can host their own service.

    * Removed bottom padding

    * Refactored the document height to be set and removed on nav service, so the book reader and manga reader aren't broken.

    * Fixed the height of the action bar to simplify logic and keep the code cleaner. Refactored book service image scoping to be much more streamlined and efficient

    * Fixed the height of action bar to 62px and adjusted code to use the hardcoded px. (code commented)

    * Removed commented out code from fixed action bar height

    * Progress restoration seems to be working

    * Code cleanup

    * Ensure the bottom action bar is at the bottom of the viewport on small pages

    * Fixed book fonts not setting properly and added OpenDyslexic font.

    * Fixed up some font issues

    * Updated drawer so all sections are open by default

    * Switched some LINQ to use MinBy

    * When navigating between pages and column layout, adjust the shift for the user.

    * Removed some debug code

    * Blacklist .qpkg folders and don't scan Recently-Snapshot or recycle folders.

    * Renamed the scale width to be scoped to kavita to avoid conflicts.

    * Refactored ngx-sliders out to use normal range instead. Changed up the preferences to separate image and book settinngs into own accordion.

    * updated user preferences for new migration options (not committed yet)

    * Removed some debug code

    * Remove console.logs

    * Migration committed, let's release this to users.

    * A lot of crazy code just to ensure that when you close drawer the toggle reflectst that state.

* bug-fix/typos & linting

* Add files via upload

* bug-fix/double layout

html: image-1 <img> needed closing
scss: full-height needed display: inline-block (not grid)

* bug-fix/itemsPerPage

Set items per page to 112 (%8=0, %7=0)

* Revert "Add files via upload"

This reverts commit 446e3e0f046859a0695aedfe79f28965ad104864.

Revert upload package.json

* bugfix/user-preferences

Fixed a bug with the BookReader panel id missing brackets which prevented the accordion from functioning correctly.

* Squashed commit of the following:

commit ebbb3ec86b546bd01d17d5b631620de6ec6b7f54
Merge: 24d90527 2ed0aca8
Author: marcelo <mguimaraes@okanagan.bc.ca>
Date:   Fri Jun 17 21:15:42 2022 -0700

    Merge remote-tracking branch 'upstream/develop' into develop

commit 2ed0aca866eebf40edf13fe44e1a4cbd417ad47f
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu Jun 16 17:20:39 2022 +0000

    Bump versions by dotnet-bump-version.

commit 9c851b0f0e2e473e229456913ac026b6cb7ab5e1
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Thu Jun 16 12:08:09 2022 -0500

    Directory Picker Rework (#1325)

    * Started on the directory picker refactor.

    * Coded some basic working version. Needs styling and variable cleanup

    * code cleanup

    * Implemented the ability to expose swagger on non-development servers.

    * Implemented the ability to expose swagger on non-development servers.

commit 0f5a7ee6fac33767208901ec7bf6ef61c547e523
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu Jun 16 14:09:35 2022 +0000

    Bump versions by dotnet-bump-version.

commit c8418d127c3a36cee16393ee70748f9fb0216efc
Author: Robbie Davis <robbie@therobbiedavis.com>
Date:   Thu Jun 16 09:50:23 2022 -0400

    Bugfix for sticky tabs on firefox (#1322)

    * Updating calcs for firefox

    * Removing unused code

    * Fixed up browser discrepencies

    * Review updates

    * Review updates

    * Added debouncing to scroll

    * Fixed a janky scroll issue with overscrolling

    * Cleaned up the code to use renderer and injectable document for SSR.

    * Removing sticky tabs

    Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>

commit 5b829af5312ca107d4d16ded6efb02d5475287b4
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed Jun 15 21:57:45 2022 +0000

    Bump versions by dotnet-bump-version.

commit 3ab3a10ae79445ebf6d0fe2ecf3d1de989adb398
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed Jun 15 16:43:32 2022 -0500

    New PDF Reader (#1324)

    * Refactored all the code that opens the reader to use a unified function. Added new library and setup basic pdf reader route.

    * Progress saving is implemented. Targeting ES6 now.

    * Customized the toolbar to remove things we don't want, made the download button download with correct filename. Adjusted zoom setting to work well on first load regardless of device.

    * Stream the pdf file to the UI rather than handling the download ourselves.

    * Started implementing a custom toolbar.

    * Fixed up the jump bar calculations

    * Fixed filtering being broken

    * Pushing up for Robbie to cleanup the toolbar layout

    * Added an additional button. Working on logic while robbie takes styling

    * Tried to fix the code for robbie

    * Tweaks for fonts

    * Added button for book mode, but doesn't seem to work after renderer is built

    * Removed book mode

    * Removed the old image caching code for pdfs as it's not needed with new reader

    * Removed the interfaces to extract images from pdf.

    * Fixed original pagination area not scaling correctly

    * Integrated series remove events to library detail

    * Cleaned up the getter naming convention

    * Cleaned up some of the manga reader code to reduce cluter and improve re-use

    * Implemented Japanese parser support for volume and chapters.

    * Fixed a bug where resetting scroll in manga reader wasn't working

    * Fixed a bug where word count grew on each scan.

    * Removed unused variable

    * Ensure we calculate word count on files with their own cache timestamp

    * Adjusted size of reel headers

    * Put some code in for moving on original image with keyboard, but it's not in use.

    * Cleaned up the css for the pdf reader

    * Cleaned up the code

    * Tweaked the list item so we show scrollbar now when fully read

commit 384fac68c443c3c7aaa159f0944d400e236a5177
Author: majora2007 <josephmajora@gmail.com>
Date:   Tue Jun 14 15:18:27 2022 +0000

    Bump versions by dotnet-bump-version.

commit 78f0bad144b487bbe7dee3f6eecb9a827062c741
Author: Robbie Davis <robbie@therobbiedavis.com>
Date:   Tue Jun 14 11:01:06 2022 -0400

    dynamic height for series detail (#1321)

    * Adding dynamic height function

    * pushing change requests

    * Moved method to getter

    * Changed carousel reel to onpush strat

    Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>

commit 1edf23d8c37a1bfde12e980b487e3d0636d411b6
Author: majora2007 <josephmajora@gmail.com>
Date:   Tue Jun 14 12:20:50 2022 +0000

    Bump versions by dotnet-bump-version.

commit 791e852596245447682c3fbe370048a31f578314
Author: Robbie Davis <robbie@therobbiedavis.com>
Date:   Tue Jun 14 08:07:28 2022 -0400

    Fixing sticky tabs overlapping title on longer titles (#1320)

commit 549b889639b9164ca1406e958667b8236a3fd6a4
Author: majora2007 <josephmajora@gmail.com>
Date:   Mon Jun 13 21:51:00 2022 +0000

    Bump versions by dotnet-bump-version.

commit bbc48a5f5b4742ca206ad5606c58ad789069fe2f
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Mon Jun 13 16:37:49 2022 -0500

    Infinite Scroll + List View + Cover Upload Redesign (#1319)

    * Started with the redesign of the cover image chooser redesign to be less click intensive for volume/chapter images.

    Made some headings bold in card detail drawer.

    * Tweaked the styles

    * Moved where the info cards show

    * Added an ability to open a page settings drawer

    * Cleaned up some old code that isn't needed anymore.

    * Started implementing a list view. Refactored some title code to a dedicated component

    * List view implemented but way too many API calls. Either need caching or adjusting the SeriesDetail api.

    * Fixed a bug where if the progress bar didn't render on a card item while a download was in progress, the download indicator would be removed.

    * Large refactor to move a lot of the needed fields to the chapter and volume dtos for series detail. All fields are noted when only used in series detail.

    * Implemented cards for other tabs (except related)

    * Fixed the unit test which needed a mocked reader service call.

    * More cleanup around age rating and removing old code from the refactor. Commented out sorting till i feel motivated to work on that.

    * Some cleanup and restored cards as initial layout. Time to test this out and see if there is value add.

    * Added ability for Chapters tab to show the volume chapters belong to (if applicable)

    * Adding style fixes

    * Cover image updates, don't allow the first image (which is what is currently set) to respond to cover changes.

    Hide the ID field on list item for series detail.

    * Refactored the title for list item to be injectable

    * Cleaned up the selection code to make it less finicky on mobile when tap scrolling.

    * Refactored chapter tab to show volume as well on list view.

    * Ensure word count shows for Volumes

    * Started adding virtual scrolling, pushing up so Robbie can mess around

    * Started adding virtual scrolling, pushing up so Robbie can mess around

    * Fixed a bug where all chapters would come under specials

    * Show title data as accent if set.

    * Style fixes for virtual scroller

    * Restyling scroll

    * Implemented a way to show storyline with virtual scrolling

    * Show Word Count for chapters and cleaned up some logics.

    * I might have card layout working with virtual scroll code.

    * Some cleanup to hide more system like properties from info bar on series detail page. Fixed some missing time estimate info on storyline chapters.

    * Fixed a regression on series service when I integrated VolumeTitle.

    * Refactored read time to the backend. Added WordCount to the volume itself so we don't need to calculate on frontend. When asking to analyze files from a series, force the calculation.

    * Fixed SeriesDetail api code

    * Fixed up the code in the drawer to better update list/card mode

    * Basic infinite scroll implemented, however due to how we are updating the list to render, we are re-rending cards that haven't been touched.

    * Updated how we render and layout data for infinite scroll on library detail. It's almost there.

    * Started laying foundation for loading pages backwards.

    Removed lazy loading of images since we are now using virtual paging.

    * Hooked in some basic code to allow user to load a prev page with infinite scroll.

    * Fixed up series detail api and undid the non-lazy loaded images.

    Changed the router to help with this infinite loading on Firefox issue.

    * Fixed up some naming issues with Series Detail and added a new test.

    * This is an infinite scroll without pagination implementation. It is not fully done, but off to a good start. Virtual scroller with jump bar is working pretty well, def needs more polishing and tweaking. There are hacks in this implementation that need to be revisited.

    * Refactored code so that we don't use any pagination and load all results by default.

    * Misc code cleanup from build warnings.

    * Cleaned up some logic for how to display titles in list view.

    * More title cleanup for specials

    * Hooked up page layout to user preferences and renamed an existing user pref name to match the dto.

    * Swapped out everything but storyline with virtual-scroller over CDK

    * Removed CDK from series detail.

    * Default value for migration on page layout

    * Updating card layout for library detail page

    * fixing height for mobile

    * Moved scrollbar

    * Tweaked some styling for layouts when there is no data

    * Refactored the series cards into their own component to make it re-usable.

    * More tweaks on series info cards layout and enhanced a few pages with trackby functions.

    * Removed some dead code

    * Added download on series detail to actionables to fit in with new scroll strategy.

    * Fixed language not being updated and sent to the backend for series update.

    * Fixed a bad migration (if you ran any prior migration in this branch, you need to undo before you use this commit)

    * Adding sticky tabs

    * fixed mobile gap on sticky tab

    * Enhanced the card title for books to show number up front.

    * Adjusted the gutters on admin dashboard

    * Removed debug code

    * Removing duplicate book title

    * Cleaned up old references to cdk scroller

    * Implemented a basic jump bar scaling algorithm. Not perfect, but works pretty well.

    * Code smells

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit f0f0e23e88845dc36430df031305f9765aeaa26e
Author: majora2007 <josephmajora@gmail.com>
Date:   Fri Jun 10 15:05:27 2022 +0000

    Bump versions by dotnet-bump-version.

commit 54e94bfcb22753c89c3ceee104130937e296b0d4
Author: Marcelo Guimarães Junior <75567460+magujun@users.noreply.github.com>
Date:   Fri Jun 10 07:52:42 2022 -0700

    bugfix/user-preferences-accordion (#1307)

    * Add files via upload

    * Revert "Add files via upload"

    This reverts commit 446e3e0f046859a0695aedfe79f28965ad104864.

    Revert upload package.json

    * bugfix/user-preferences

    Fixed a bug with the BookReader panel id missing brackets which prevented the accordion from functioning correctly.

commit 0124620e36c4db090e834d76199cd67c0e3bbe9e
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed Jun 8 00:06:51 2022 +0000

    Bump versions by dotnet-bump-version.

commit 77b8551620ff43475de5a32dd799ee70a4c97996
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Tue Jun 7 18:48:25 2022 -0500

    Bugfix/reader issues (#1311)

    * Updated the design of icon and text to show a label.

    * Fixed a bug when fit to height and there is overflow on horizontal, the pagination area is stuck to the original width and after scrolling right, the pagination area doesn't move.

    * Attempt to fix a border showing on eink readers white mode with book reader

    * Removed debug code

    * Added back in pagination controls

    * fixing viewport overflow issue

    * Ensure volume detail drawer shows all pages for the volume, not just first chapter. Don't show release date when it's not a real date. Non-ongoing series will now show a different icon.

    * Fixing drawer viewport issue

    * Fix for book cover extending across multiple pages (#1269)

    * Attaching book-reader scale style to parent instead of image

    * Fixing some width issues on images

    * Making sure max-height is respected

    * Fixing duplicate styles which caused excessive breaks

    * Updated the readme to reflect new UX and some tweaks to wordings. (#1270)

    * Bump versions by dotnet-bump-version.

    * version bump (#1271)

    * Bump versions by dotnet-bump-version.

    * UX Changes, Tasks, WebP, and More! (#1280)

    * When account updates occur for a user, send an event to them to tell them to refresh their account information (if they are on the site at the time). This way if we revoke permissions, the site will reactively adapt.

    * Some cleanup on the user preferences to remove some calls we don't need anymore.

    * Removed old bulk cleanup bookmark code as it's no longer needed.

    * Tweaked the messaging for stat collection to reflect what we collect now versus when this was initially implemented.

    * Implemented the ability for users to configure their servers to save bookmarks as webP. Reorganized the tabs for Admin dashboard to account for upcoming features.

    * Implemented the ability to bulk convert bookmarks (as many times as the user wants).

    Added a display of Reoccurring Jobs to the Tasks admin tab. Currently it's just placeholder, but will be enhanced further later in the release.

    * Tweaked the wording around the convert switch.

    * Moved System actions to the task tab

    * Added a controller just for Tachiyomi so we can have dedicated APIs for that client. Deprecated an existing API on the Reader route.

    * Fixed the unit tests

    * Bump versions by dotnet-bump-version.

    * Implemented the ability to read format tag and force special status. (#1284)

    * Bump versions by dotnet-bump-version.

    * Implemented the ability to parse some volume and chapter keywords for chinese. (#1285)

    * Bump versions by dotnet-bump-version.

    * Word Count (#1286)

    * Adding some code for Robbie

    * See more on series detail metadata area is now at the bottom on the section

    * Cleaned up subtitle headings to use a single class for offset with actionables

    * Added some markup for the new design, waiting for Robbie to finish it off

    * styling age-rating badge

    * Started hooking up basic analyze file service and hooks in the UI. Basic code to implement the count is implemented and in benchmarks.

    * Hooked up analyze ui to backend

    * Refactored Series Detail metadata area to use a new icon/title design

    * Cleaned up the new design

    * Pushing for robbie to do css

    * Massive performance improvement to scan series where we only need to scan folders reported that have series in them, rather than the whole library.

    * Removed theme page as we no longer need it. Added WordCount to DTOs so the UI can show them. Added new pipe to format numbers in compact mode.

    * Hooked up actual reading time based on user's words per hour

    * Refactor some magic numbers to consts

    * Hooked in progress reporting for series word count

    * Hooked up analyze files

    * Re-implemented time to read on comics

    * Removed the word Last Read

    * Show proper language name instead of iso tag on series detail page. Added some error handling on word count code.

    * Reworked error handling

    * Fixed some security vulnerabilities in npm.

    * Handle a case where there are no text nodes and instead of returning an empty list, htmlagilitypack returns null.

    * Tweaked the styles a bit on the icon-and-title

    * Code cleanup

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

    * Bump versions by dotnet-bump-version.

    * Tweaked when we calculate min reading time

    * Don't use plural if there is only 1 hour for reading

    * Fixed the logic for caluclating time to read on comics

    * Bump versions by dotnet-bump-version.

    * Drawers, Estimated Reading Time, Korean Parsing Support (#1297)

    * Started building out idea around detail drawer. Need code from word count to continue

    * Fixed the logic for caluclating time to read on comics

    * Adding styles

    * more styling fixes

    * Cleaned up the styles a bit more so it's at least functional. Not sure on the feature, might abandon.

    * Pulled Robbie's changes in and partially migrated them to the drawer.

    * Add offset overrides for offcanvas so it takes our header into account

    * Implemented a basic time left to finish the series (or at least what's in Kavita). Rough around the edges.

    * Cleaned up the drawer code.

    * Added Quick Catch ups to recommended page. Updated the timeout for scan tasks to ensure we don't run 2 at the same time.

    * Quick catchups implemented

    * Added preliminary support for Korean filename parsing. Reduced an array alloc that is called many thousands of times per scan.

    * Fixing drawer overflow

    * Fixed a calculation bug with average reading time.

    * Small spacing changes to drawer

    * Don't show estimated reading time if the user hasn't read anything

    * Bump eventsource from 1.1.1 to 2.0.2 in /UI/Web

    Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.1.1 to 2.0.2.
    - [Release notes](https://github.com/EventSource/eventsource/releases)
    - [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
    - [Commits](https://github.com/EventSource/eventsource/compare/v1.1.1...v2.0.2)

    ---
    updated-dependencies:
    - dependency-name: eventsource
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <support@github.com>

    * Added image to series detail drawer

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * Bump versions by dotnet-bump-version.

    * Time Estimation Cleanup (#1301)

    * Moved the calculation for time to read to the backend. Tweaked some logic around showing est time to complete.

    * Added debug logging to help pinpoint a duplicate issue in Kavita.

    * More combination logic is error checked in a special way for Robbie to reproduce an issue.

    * Migrated chapter detail card to use backend for time calculation. Ensure we take all chapters into account for volume time calcs

    * Tweaked messaging for some critical logs to include file

    * Ensure pages count uses comma separated number

    * Moved Hangfire annotations to interface level. Adjusted word count service to always recalculate when user requests via analyze series files.

    * Bump versions by dotnet-bump-version.

    * Jump Bar Testing (#1302)

    * Implemented a basic jump bar for the library view. This currently just interacts with existing pagination controls and is not inlined with infinite scroll yet. This is a first pass implementation.

    * Refactored time estimates into the reading service.

    * Cleaned up when the jump bar is shown to mimic pagination controls

    * Cleanup up code in reader service.

    * Scroll to card when selecting a jump key that is shown on the current page.

    * Ensure estimated times always has the smaller number on left hand side.

    * Fixed a bug with a missing vertical rule

    * Fixed an off by 1 pixel for search overlay

    * Bump versions by dotnet-bump-version.

    * Jumpbar Tweaks (#1305)

    * Adjusted the detail drawer to be slightly larger.

    * Attempted to shorten the jump bar on smaller screens. Robbie needs to take a look at this.

    * Adding plex-like styling to jumpbar

    * style fixes

    * style fixes

    * More fixes *sigh*

    * fix height issue

    * Fixing jumpbar on mobile

    * viewport height fix

    * added --primary-color-scrollbar for overflow across the app

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

    * Bump versions by dotnet-bump-version.

    Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
    Co-authored-by: majora2007 <josephmajora@gmail.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * Bump versions by dotnet-bump-version.

    * Close drawer when opening a chapter to read

    * The actionables were not working on chapters in the detail drawer for a volume. Added a distinct read action instead of having the user to have hidden knowledge you can click the cover images.

    * Debug code in.

    Fixed a bug where book reader pagination wasn't covering from top to bottom when immersive mode was on.

    Trying to better ensure images don't span multiple virtual pages in column mode.

    Changed icon/title so label is bolded

    * Updated some dependencies for security issues. Fixed up the fix for images on column view wrapping to next virtual page. Lots of css tweaks to the layout code to make it easier to work with.

    * When switching from column layout to default, scroll back to where the user was.

    * Fixed some overlap on default mode with bottom bar

    * Series Detail uses the cover image update mechanism builtin, instead of the old way to handle.

    Added some text when there is no summary on a volume/chapter.

    * Side nav filter now has clear button within field. Filter no longer shows when side nav is collapsed.

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 0906ca49a9ffc3b0d1e5faa84a9547c0a86db855
Author: majora2007 <josephmajora@gmail.com>
Date:   Mon Jun 6 15:02:51 2022 +0000

    Bump versions by dotnet-bump-version.

commit da312e3ceef0feeb3dae5db9fad537818a09f3ee
Author: Robbie Davis <robbie@therobbiedavis.com>
Date:   Mon Jun 6 10:47:19 2022 -0400

    Fix for book cover extending across multiple pages (#1269)

    * Attaching book-reader scale style to parent instead of image

    * Fixing some width issues on images

    * Making sure max-height is respected

    * Fixing duplicate styles which caused excessive breaks

    * Updated the readme to reflect new UX and some tweaks to wordings. (#1270)

    * Bump versions by dotnet-bump-version.

    * version bump (#1271)

    * Bump versions by dotnet-bump-version.

    * UX Changes, Tasks, WebP, and More! (#1280)

    * When account updates occur for a user, send an event to them to tell them to refresh their account information (if they are on the site at the time). This way if we revoke permissions, the site will reactively adapt.

    * Some cleanup on the user preferences to remove some calls we don't need anymore.

    * Removed old bulk cleanup bookmark code as it's no longer needed.

    * Tweaked the messaging for stat collection to reflect what we collect now versus when this was initially implemented.

    * Implemented the ability for users to configure their servers to save bookmarks as webP. Reorganized the tabs for Admin dashboard to account for upcoming features.

    * Implemented the ability to bulk convert bookmarks (as many times as the user wants).

    Added a display of Reoccurring Jobs to the Tasks admin tab. Currently it's just placeholder, but will be enhanced further later in the release.

    * Tweaked the wording around the convert switch.

    * Moved System actions to the task tab

    * Added a controller just for Tachiyomi so we can have dedicated APIs for that client. Deprecated an existing API on the Reader route.

    * Fixed the unit tests

    * Bump versions by dotnet-bump-version.

    * Implemented the ability to read format tag and force special status. (#1284)

    * Bump versions by dotnet-bump-version.

    * Implemented the ability to parse some volume and chapter keywords for chinese. (#1285)

    * Bump versions by dotnet-bump-version.

    * Word Count (#1286)

    * Adding some code for Robbie

    * See more on series detail metadata area is now at the bottom on the section

    * Cleaned up subtitle headings to use a single class for offset with actionables

    * Added some markup for the new design, waiting for Robbie to finish it off

    * styling age-rating badge

    * Started hooking up basic analyze file service and hooks in the UI. Basic code to implement the count is implemented and in benchmarks.

    * Hooked up analyze ui to backend

    * Refactored Series Detail metadata area to use a new icon/title design

    * Cleaned up the new design

    * Pushing for robbie to do css

    * Massive performance improvement to scan series where we only need to scan folders reported that have series in them, rather than the whole library.

    * Removed theme page as we no longer need it. Added WordCount to DTOs so the UI can show them. Added new pipe to format numbers in compact mode.

    * Hooked up actual reading time based on user's words per hour

    * Refactor some magic numbers to consts

    * Hooked in progress reporting for series word count

    * Hooked up analyze files

    * Re-implemented time to read on comics

    * Removed the word Last Read

    * Show proper language name instead of iso tag on series detail page. Added some error handling on word count code.

    * Reworked error handling

    * Fixed some security vulnerabilities in npm.

    * Handle a case where there are no text nodes and instead of returning an empty list, htmlagilitypack returns null.

    * Tweaked the styles a bit on the icon-and-title

    * Code cleanup

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

    * Bump versions by dotnet-bump-version.

    * Tweaked when we calculate min reading time

    * Don't use plural if there is only 1 hour for reading

    * Fixed the logic for caluclating time to read on comics

    * Bump versions by dotnet-bump-version.

    * Drawers, Estimated Reading Time, Korean Parsing Support (#1297)

    * Started building out idea around detail drawer. Need code from word count to continue

    * Fixed the logic for caluclating time to read on comics

    * Adding styles

    * more styling fixes

    * Cleaned up the styles a bit more so it's at least functional. Not sure on the feature, might abandon.

    * Pulled Robbie's changes in and partially migrated them to the drawer.

    * Add offset overrides for offcanvas so it takes our header into account

    * Implemented a basic time left to finish the series (or at least what's in Kavita). Rough around the edges.

    * Cleaned up the drawer code.

    * Added Quick Catch ups to recommended page. Updated the timeout for scan tasks to ensure we don't run 2 at the same time.

    * Quick catchups implemented

    * Added preliminary support for Korean filename parsing. Reduced an array alloc that is called many thousands of times per scan.

    * Fixing drawer overflow

    * Fixed a calculation bug with average reading time.

    * Small spacing changes to drawer

    * Don't show estimated reading time if the user hasn't read anything

    * Bump eventsource from 1.1.1 to 2.0.2 in /UI/Web

    Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.1.1 to 2.0.2.
    - [Release notes](https://github.com/EventSource/eventsource/releases)
    - [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
    - [Commits](https://github.com/EventSource/eventsource/compare/v1.1.1...v2.0.2)

    ---
    updated-dependencies:
    - dependency-name: eventsource
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <support@github.com>

    * Added image to series detail drawer

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * Bump versions by dotnet-bump-version.

    * Time Estimation Cleanup (#1301)

    * Moved the calculation for time to read to the backend. Tweaked some logic around showing est time to complete.

    * Added debug logging to help pinpoint a duplicate issue in Kavita.

    * More combination logic is error checked in a special way for Robbie to reproduce an issue.

    * Migrated chapter detail card to use backend for time calculation. Ensure we take all chapters into account for volume time calcs

    * Tweaked messaging for some critical logs to include file

    * Ensure pages count uses comma separated number

    * Moved Hangfire annotations to interface level. Adjusted word count service to always recalculate when user requests via analyze series files.

    * Bump versions by dotnet-bump-version.

    * Jump Bar Testing (#1302)

    * Implemented a basic jump bar for the library view. This currently just interacts with existing pagination controls and is not inlined with infinite scroll yet. This is a first pass implementation.

    * Refactored time estimates into the reading service.

    * Cleaned up when the jump bar is shown to mimic pagination controls

    * Cleanup up code in reader service.

    * Scroll to card when selecting a jump key that is shown on the current page.

    * Ensure estimated times always has the smaller number on left hand side.

    * Fixed a bug with a missing vertical rule

    * Fixed an off by 1 pixel for search overlay

    * Bump versions by dotnet-bump-version.

    * Jumpbar Tweaks (#1305)

    * Adjusted the detail drawer to be slightly larger.

    * Attempted to shorten the jump bar on smaller screens. Robbie needs to take a look at this.

    * Adding plex-like styling to jumpbar

    * style fixes

    * style fixes

    * More fixes *sigh*

    * fix height issue

    * Fixing jumpbar on mobile

    * viewport height fix

    * added --primary-color-scrollbar for overflow across the app

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

    * Bump versions by dotnet-bump-version.

    Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
    Co-authored-by: majora2007 <josephmajora@gmail.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 24d905275c4151744488381da0202294c52b1055
Author: magujun <guimaraesjunior.marcelo@gmail.com>
Date:   Sun Jun 5 23:41:02 2022 -0700

    bugfix/user-preferences

    Fixed a bug with the BookReader panel id missing brackets which prevented the accordion from functioning correctly.

commit fbdf8dfe8a50ee99b1c6309f4e0cb24f8538467d
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu Jun 2 14:40:21 2022 +0000

    Bump versions by dotnet-bump-version.

commit a19f4641f4b1bd90cc2f549e3d9bd22c20993a50
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Thu Jun 2 09:22:21 2022 -0500

    Jumpbar Tweaks (#1305)

    * Adjusted the detail drawer to be slightly larger.

    * Attempted to shorten the jump bar on smaller screens. Robbie needs to take a look at this.

    * Adding plex-like styling to jumpbar

    * style fixes

    * style fixes

    * More fixes *sigh*

    * fix height issue

    * Fixing jumpbar on mobile

    * viewport height fix

    * added --primary-color-scrollbar for overflow across the app

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 7f51ea2d0fcaea0527405f46c2f9de65a812448a
Author: majora2007 <josephmajora@gmail.com>
Date:   Mon May 30 22:02:06 2022 +0000

    Bump versions by dotnet-bump-version.

commit 742cfd3293e55ac2c96e8ba282b48c1b11f75339
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Mon May 30 16:50:12 2022 -0500

    Jump Bar Testing (#1302)

    * Implemented a basic jump bar for the library view. This currently just interacts with existing pagination controls and is not inlined with infinite scroll yet. This is a first pass implementation.

    * Refactored time estimates into the reading service.

    * Cleaned up when the jump bar is shown to mimic pagination controls

    * Cleanup up code in reader service.

    * Scroll to card when selecting a jump key that is shown on the current page.

    * Ensure estimated times always has the smaller number on left hand side.

    * Fixed a bug with a missing vertical rule

    * Fixed an off by 1 pixel for search overlay

commit 64c0b5a71e7ba7830a9999a6830076e659111fe1
Author: majora2007 <josephmajora@gmail.com>
Date:   Sun May 29 15:01:47 2022 +0000

    Bump versions by dotnet-bump-version.

commit 8e69b6cfc01c463b62dbacc44362f3cfc186de36
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sun May 29 09:50:59 2022 -0500

    Time Estimation Cleanup (#1301)

    * Moved the calculation for time to read to the backend. Tweaked some logic around showing est time to complete.

    * Added debug logging to help pinpoint a duplicate issue in Kavita.

    * More combination logic is error checked in a special way for Robbie to reproduce an issue.

    * Migrated chapter detail card to use backend for time calculation. Ensure we take all chapters into account for volume time calcs

    * Tweaked messaging for some critical logs to include file

    * Ensure pages count uses comma separated number

    * Moved Hangfire annotations to interface level. Adjusted word count service to always recalculate when user requests via analyze series files.

commit 99d603bb80a326a64124f74259896288793e2382
Author: magujun <guimaraesjunior.marcelo@gmail.com>
Date:   Sat May 28 08:08:25 2022 -0700

    Revert "Add files via upload"

    This reverts commit 446e3e0f046859a0695aedfe79f28965ad104864.

    Revert upload package.json

commit 446e3e0f046859a0695aedfe79f28965ad104864
Author: Marcelo Guimarães Junior <75567460+magujun@users.noreply.github.com>
Date:   Fri May 27 17:45:38 2022 -0700

    Add files via upload

commit 85b4ad0c58351950cb8caa28dae3ceae1de752f5
Author: majora2007 <josephmajora@gmail.com>
Date:   Fri May 27 14:20:33 2022 +0000

    Bump versions by dotnet-bump-version.

commit 63475722eae8181c502c67727e843926c9243a62
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Fri May 27 09:08:54 2022 -0500

    Drawers, Estimated Reading Time, Korean Parsing Support (#1297)

    * Started building out idea around detail drawer. Need code from word count to continue

    * Fixed the logic for caluclating time to read on comics

    * Adding styles

    * more styling fixes

    * Cleaned up the styles a bit more so it's at least functional. Not sure on the feature, might abandon.

    * Pulled Robbie's changes in and partially migrated them to the drawer.

    * Add offset overrides for offcanvas so it takes our header into account

    * Implemented a basic time left to finish the series (or at least what's in Kavita). Rough around the edges.

    * Cleaned up the drawer code.

    * Added Quick Catch ups to recommended page. Updated the timeout for scan tasks to ensure we don't run 2 at the same time.

    * Quick catchups implemented

    * Added preliminary support for Korean filename parsing. Reduced an array alloc that is called many thousands of times per scan.

    * Fixing drawer overflow

    * Fixed a calculation bug with average reading time.

    * Small spacing changes to drawer

    * Don't show estimated reading time if the user hasn't read anything

    * Bump eventsource from 1.1.1 to 2.0.2 in /UI/Web

    Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.1.1 to 2.0.2.
    - [Release notes](https://github.com/EventSource/eventsource/releases)
    - [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
    - [Commits](https://github.com/EventSource/eventsource/compare/v1.1.1...v2.0.2)

    ---
    updated-dependencies:
    - dependency-name: eventsource
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <support@github.com>

    * Added image to series detail drawer

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit d796bcdc0a084ff3ab187b8c6aca74805b68d463
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu May 26 00:24:25 2022 +0000

    Bump versions by dotnet-bump-version.

commit 3c92b6d8a5250b8d52331d125a44290bab310697
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 19:11:01 2022 -0500

    Fixed the logic for caluclating time to read on comics

commit e7617862a597ec28d6623b6468d0d70d060bcbf0
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 17:49:45 2022 -0500

    Don't use plural if there is only 1 hour for reading

commit 713e20ebf4338e48591f01c3ccbdd2dd1bd8e4aa
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 17:48:50 2022 -0500

    Tweaked when we calculate min reading time

commit c0f7dd39a2e792ae1e385c15a5991bdf1e6bf76b
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed May 25 22:10:42 2022 +0000

    Bump versions by dotnet-bump-version.

commit c1490d6e86367377c11ccba568ddd9d206eaae87
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 16:53:39 2022 -0500

    Word Count (#1286)

    * Adding some code for Robbie

    * See more on series detail metadata area is now at the bottom on the section

    * Cleaned up subtitle headings to use a single class for offset with actionables

    * Added some markup for the new design, waiting for Robbie to finish it off

    * styling age-rating badge

    * Started hooking up basic analyze file service and hooks in the UI. Basic code to implement the count is implemented and in benchmarks.

    * Hooked up analyze ui to backend

    * Refactored Series Detail metadata area to use a new icon/title design

    * Cleaned up the new design

    * Pushing for robbie to do css

    * Massive performance improvement to scan series where we only need to scan folders reported that have series in them, rather than the whole library.

    * Removed theme page as we no longer need it. Added WordCount to DTOs so the UI can show them. Added new pipe to format numbers in compact mode.

    * Hooked up actual reading time based on user's words per hour

    * Refactor some magic numbers to consts

    * Hooked in progress reporting for series word count

    * Hooked up analyze files

    * Re-implemented time to read on comics

    * Removed the word Last Read

    * Show proper language name instead of iso tag on series detail page. Added some error handling on word count code.

    * Reworked error handling

    * Fixed some security vulnerabilities in npm.

    * Handle a case where there are no text nodes and instead of returning an empty list, htmlagilitypack returns null.

    * Tweaked the styles a bit on the icon-and-title

    * Code cleanup

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 0a70ac35dca3180b2b62927ddb22153945467c8a
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed May 25 19:39:11 2022 +0000

    Bump versions by dotnet-bump-version.

commit a9a1ec02cac0162b6d4dad5cb9c0b964cd11fded
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 14:25:53 2022 -0500

    Implemented the ability to parse some volume and chapter keywords for chinese. (#1285)

commit 1247f450e2c7001bcc4bb48ca16979656bd521c7
Author: majora2007 <josephmajora@gmail.com>
Date:   Wed May 25 17:21:56 2022 +0000

    Bump versions by dotnet-bump-version.

commit 1a128a3af435e5d54e13ceb189648f5bfbcacd39
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 25 12:05:16 2022 -0500

    Implemented the ability to read format tag and force special status. (#1284)

commit a0e1ba8d67a232357a43040ac4e886635f61cbf2
Author: majora2007 <josephmajora@gmail.com>
Date:   Mon May 23 23:30:19 2022 +0000

    Bump versions by dotnet-bump-version.

commit e0a2fc615f0ea2c363394c9596711d08043e1738
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Mon May 23 18:19:52 2022 -0500

    UX Changes, Tasks, WebP, and More! (#1280)

    * When account updates occur for a user, send an event to them to tell them to refresh their account information (if they are on the site at the time). This way if we revoke permissions, the site will reactively adapt.

    * Some cleanup on the user preferences to remove some calls we don't need anymore.

    * Removed old bulk cleanup bookmark code as it's no longer needed.

    * Tweaked the messaging for stat collection to reflect what we collect now versus when this was initially implemented.

    * Implemented the ability for users to configure their servers to save bookmarks as webP. Reorganized the tabs for Admin dashboard to account for upcoming features.

    * Implemented the ability to bulk convert bookmarks (as many times as the user wants).

    Added a display of Reoccurring Jobs to the Tasks admin tab. Currently it's just placeholder, but will be enhanced further later in the release.

    * Tweaked the wording around the convert switch.

    * Moved System actions to the task tab

    * Added a controller just for Tachiyomi so we can have dedicated APIs for that client. Deprecated an existing API on the Reader route.

    * Fixed the unit tests

commit dd83b6a9a1ee06dd342b96b3be5ca36c6d1ba8d6
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 21 23:36:25 2022 +0000

    Bump versions by dotnet-bump-version.

commit 16eb1e3e8ed19f4b0857b1b14593448b072d48ca
Author: Joseph Milazzo <josephmajora@gmail.com>
Date:   Sat May 21 18:24:18 2022 -0500

    version bump (#1271)

commit f4f91fa5a957f92b175d63b9af30ad5e5c94decf
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 21 23:03:49 2022 +0000

    Bump versions by dotnet-bump-version.

commit 1801afd4a7e28f0c9da669b61fd5970002a44c8f
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sat May 21 17:52:57 2022 -0500

    Updated the readme to reflect new UX and some tweaks to wordings. (#1270)

commit bcad2e4a553e864b91dfef260527601cfd35da31
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 21 02:18:06 2022 +0000

    Bump versions by dotnet-bump-version.

commit 81082508f2d81dbff00856f1b1988147f2f2127f
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Fri May 20 21:05:09 2022 -0500

    Release Shakeout Part 2 (#1267)

    * Fixed manga reader and removed debug code

    * Removed some console.logs

commit 92010379f165cf56307af37d448cfe6734d677ba
Author: majora2007 <josephmajora@gmail.com>
Date:   Fri May 20 23:00:48 2022 +0000

    Bump versions by dotnet-bump-version.

commit a0623415647c276f6131f39172ae0dd2ffa6aee5
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Fri May 20 17:50:17 2022 -0500

    Release Shakeout (#1266)

    * Fixed an issue with fit to screen where spread images would fail to generate a paging area long enough.

    * Fixed pagination placement on original scaling

    * Fixed an issue with webtoon reader not reporting scroll events due to a fix from manga reader.

    * Fixing select on black book-reader theme

    * Fixing canvas split centering

    * Fixed a bug with white mode in book reader not rendering correctly. When bookmarking new pages after previously have viewing bookmarks for a series, ensure we clear out the temp cache else your new files wont be visible till next day.

    * Use grid on related tab

    * Clear bookmarks was not hooked up. Bulk add to collection didn't have label hidden

    * Fixed bug where filter might stay open between pages

    * Fixed typo on relationship for Adaptation

    * Contains was missing from series relation modal

    * Tweaked some methods and wording on reading list page

    * Cleaned up the phrasing when we abort a scan.

    * Fixed issue where typeahead wasn't reopening and it wasn't filtering selected options

    * Fixed some typeahead bugs and decreased interval for docker health check

    * Cleaned up and fixed some logic with receiving cover image update events

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 49d8a7c6cabc2cac2b2839b421af97854986f31e
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu May 19 12:24:13 2022 +0000

    Bump versions by dotnet-bump-version.

commit f2b1cd55f0e5b7f4f70c2a2029af6aa85225dc7e
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Thu May 19 07:14:18 2022 -0500

    Remove Light and E-Ink theme (#1263)

    * Refactored code to show action bar instead of drawer in immersive mode

    * Card grid

    * adding margin for pagination gap

    * Fixed a rare routing case that wouldn't redirect

    * Fixed a bug where series detail would show blank filtering

    * Fixing image scaling and library card spacing

    * Refactored some methods to be static

    * Adding card grid to series detail

    * Fixed a bug with webtoon going to non-webtoon mode, resulting in black screen.

    * Ensure emails are trimmed when trying to invite.

    * Don't show More In if there is only 1 item in there on library recommended tab

    * Fixed some bugs around locking metadata fields where the correct param wasn't being sent to backend.

    * Added some UI error messaging when the email doesn't match the confirm-email (or rather any email in the system).

    * Fixed some pages where actions weren't working (library detail) and removed some actionable buttons where they didn't make sense

    * Refactored the series detail to use Robbie's new grid system.

    * some styling fixes

    * Styling fixes

    - Removing select border gap
    - fixing switches on lite theme
    - fixing search result text-light

    * better css var naming

    * changing search lite text color override

    * fixing as per feedback

    * Removing boolean from being visible in bookreader

    * Fixed some bugs in bulk operations not being visible on light/eink screens. Added --bulk-selection-highlight-text-color and --bulk-selection-text-color.

    * Wrote basic code to remove other themes. Need a migration instead.

    * Added a migration to remove light/e-ink themes and migrate users over to Dark theme by default.

    * Fixed unit tests

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 876e19177e57e06a8919450e350eeefb1c2a0302
Author: majora2007 <josephmajora@gmail.com>
Date:   Thu May 19 00:46:22 2022 +0000

    Bump versions by dotnet-bump-version.

commit 1961b412688f90f7b099d1f086bd5629dd1515e1
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Wed May 18 19:31:49 2022 -0500

    Last batch of bugfixes (#1262)

    * Refactored code to show action bar instead of drawer in immersive mode

    * Card grid

    * adding margin for pagination gap

    * Fixed a rare routing case that wouldn't redirect

    * Fixed a bug where series detail would show blank filtering

    * Fixing image scaling and library card spacing

    * Refactored some methods to be static

    * Adding card grid to series detail

    * Fixed a bug with webtoon going to non-webtoon mode, resulting in black screen.

    * Ensure emails are trimmed when trying to invite.

    * Don't show More In if there is only 1 item in there on library recommended tab

    * Fixed some bugs around locking metadata fields where the correct param wasn't being sent to backend.

    * Added some UI error messaging when the email doesn't match the confirm-email (or rather any email in the system).

    * Fixed some pages where actions weren't working (library detail) and removed some actionable buttons where they didn't make sense

    * Refactored the series detail to use Robbie's new grid system.

    * some styling fixes

    * Styling fixes

    - Removing select border gap
    - fixing switches on lite theme
    - fixing search result text-light

    * better css var naming

    * changing search lite text color override

    * fixing as per feedback

    * Removing boolean from being visible in bookreader

    * Fixed some bugs in bulk operations not being visible on light/eink screens. Added --bulk-selection-highlight-text-color and --bulk-selection-text-color.

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit 6f23a3bc6d31ac1f0d0ca6e3d5a985e980d9649e
Author: majora2007 <josephmajora@gmail.com>
Date:   Sun May 15 21:31:42 2022 +0000

    Bump versions by dotnet-bump-version.

commit 92fb185f2030331a5c26c7c70b06531b00157c21
Author: Robbie Davis <robbie@therobbiedavis.com>
Date:   Sun May 15 17:21:17 2022 -0400

    Adding code to make sure bottom actionbar is applied on layout change (#1258)

commit bb791b7789b047b39c7c687477eccb3bd2f24786
Author: majora2007 <josephmajora@gmail.com>
Date:   Sun May 15 19:44:47 2022 +0000

    Bump versions by dotnet-bump-version.

commit cdc49317705d7a74aa9ed0cb0dfaa291039ca7ad
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sun May 15 14:34:53 2022 -0500

    Reader scroll area fix (#1257)

    * Changes to make the pagination area scrollable (not working, debug code for Robbie)

    * Adjusted the html to be easier to understand and more streamlined

    * Fixed inability to scroll in manga reader over pagination areas for everything but the bottom bar

    * Book reader now allows you to scroll over pagination area

commit ccb6414e9e07366efd6a1195e7dde77eda869a48
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 14 22:13:24 2022 +0000

    Bump versions by dotnet-bump-version.

commit d458a823ef6e3b779b6c5722db2b226597cb7793
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sat May 14 17:02:58 2022 -0500

    More Reader Bugfixes (#1255)

    * Added css to center images

    * Better scaling css

    * Removing vertical height css for actionbar calc

    * Fixed a bug where book settings couldn't be saved due to typo in model

    * fixing height across layouts

    * Fixed an issue where column mode would reset to user preference default between continuous reader loads

    * Fixing some more logic

    * Reading direction arrow keys now flip

    * Small code cleanup on Robbie's code

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit be5b997259f6442fcac8401a09db711971e257b2
Author: majora2007 <josephmajora@gmail.com>
Date:   Sat May 14 00:40:11 2022 +0000

    Bump versions by dotnet-bump-version.

commit f701f8e5999da4e7ce8f8e1b4c7a968953426a92
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Fri May 13 19:30:37 2022 -0500

    Book Reader Bugfixes (#1254)

    * Fixed image scoping breaking and books not being able to load images

    * Cleaned up a lot of variables and added more jsdoc. After shifting the margin, we try to recover the column layout width,height, and scroll posisiton.

    * Tap to paginate is working on first load now

    * On resize, rescroll to attempt to avoid breakage

    * Fixed transparent background for action bar on white theme

    * Moved some lists to immutable arrays

    * Actually fixed backgournd now

    * Fixed some settings not updating in book reader on load

    * Put some code in place to test out opening menu with clicking on the document

    * Fixed settings not propagating to the reader

    * Fixing 2 column when loading annd ios mobile

    * Fixed an issue where paging to prev page would sometimes skip the first page.

    * Fixing previous page skipping first page of chapter

    * removing console logs

    * Save progress when we page

    * Click on document to show the side nav

    * Removed columns auto because it could render more columns than applicable. Don't explicitly call saveProgress on prev page, as we already do in another call.

    Adjusted the logic to calculate windowHeight and width to be the same throughout the reader.

    * Setting select fix and settings polish

    * Fixed awkward tooltip wording

    * Added a message for when there is nothing to show on recommended tab

    * Removed bug marker, there was no bug after all

    * Fixing book title truncation in action bar

    * When counting volumes or chapters that have range, count the max part of the range for publication status.

    * Fixing TOC rendering issue

    * Styling fixes

    - Fixed an issue where the image height in the book reader was the column height plus padding so it was breaking pagination calc.
    - Centered book reader setting pills
    - Made inactive setting pill into a ghost button
    - Fixed spacing across the reader settings drawer

    * Added a bit of code to allow us to disable buttons before we click for next chapter load

    * Removed titles from action bars

    * The next page button will now show as the primary color to indicate to the user what the next forward page is.

    * Added a view series to bookmark page and removed actions from header since it didn't work

    * Fixed a bug where pagination wasn't mutating url state

    * Lots of changes, code is kinda working.

    Added Immersive Mode, but didn't generate migration.

    Added concept of virtual pages with ability to see them. Math is still slightly off.

    Cleaned up prefetching code so we do it much earlier.

    Added some code that doesn't work to disable buttons with virtual paging included.

    * When turning immersive mode on, force tap to paginate

    * Refactored out the book reader state as it wasn't very beneficial

    * Fixed total virtual page calculation

    * Next/prev page seems to be working pretty well

    * Applied Robbie's virtual page logic and fixed a bug in prev page code

    * Changed the next page to use same virtual page logic

    * Getting back and forward working...somehow.

    * removing redundant code

    * Fixing book title overflow from new action bar changes

    * Polishing pagination styles

    * Changing chapter to section

    * Fixing up other book reader themes

    * Fixed the login header being off-center

    * Fixing styling to follow approach

    * Refactored the pagination buttons to properly call next/prev page based on reading direction

    * Drawer pagination buttons now respect when there is no chapters (prev/next)

    * Everything except disabling buttons when on last possible page working

    * Added Book Reader immersive mode migration

    * Disable next/prev buttons for continuous reading before we request next/prev chapter if there is no chapter.

    * Show a tooltip for the title

    * Fixed unit test

    Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>

commit dfcc2f081311113fa4cf1b96097ccc92d3677f54
Author: majora2007 <josephmajora@gmail.com>
Date:   Mon May 9 01:01:46 2022 +0000

    Bump versions by dotnet-bump-version.

commit 2723a6cd1061a0abd575b60b4240897fd99ce93a
Author: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Date:   Sun May 8 19:52:15 2022 -0500

    Book Reader Redesign with e-ink focus (#1246)

    * Refactored the drawer into offcanvas component. Had to write some hacks to emulate how bootstrap's javascript implementation works as ngBootstrap doesn't have a component yet.

    * Cleaned up some of the code

    * Rewrote drawer to align it with the new design

    * First pass, refactored table of content into it's own component

    * Refactored all of the settings logic into a separate component. Everything is broken.

    * More settings on on reactive form

    * More code cleanup on settings

    * Misc fixes around the drawer code. Fixed a bug where range sliders were inheriting background color of normal text inputs

    * Fixed dark mode with book reader.

    We now clear the theme from the main app so book reader is self-contained. Styles for dark mode are injected into the reading-section. Styles that were previously in scss are now only for the actual menu system.

    * Cleaned up drawer styling on header

    * Removed an ngIf statement for click to paginate

    * Tweaked the accent style to have smaller font size and adjusted style on light mode. Cleaned up some clearTimeout code in a further effort to streamline codebase.

    * Refactored Dark mode into a basic theme. Currently styles are hardcoded.

    * Patched book theme in from themes branch

    * Patched in the backend for Book Theme (not tested yet)

    * Fixed a bug in seeding code for book themes. Started integration of themes into the reader settings

    * Everything except managing themes is working. Themes are a bit shakey, having second thoughts if we should have them or not.

    * Reverted the ability to do custom user book themes. Code is stable with system themes.

    * Stablize the Styles (#1128)

    * Fixed a bug where adding multiple series to reading list would throw an error on UI, but it was successful.

    * When a series has a reading list, we now show the connection on Series detail.

    * Removed all baseurl code from UI and not-connected component since we no longer use it.

    * Fixed tag badges not showing a border. Added last read time to the series detail page

    * Fixed up error interceptor to remove no-connection code

    * Changed implementation for series detail. Book libraries will never send chapters back. Volume 0 volumes will not be sent in volumes ever. Fixed up more renaming logic on books to send more accurate representations to the UI.

    * Cleaned up the selected tab and tab display logic

    * Fixed a bad where statement in reading lists for series

    * Fixed up tab logic again

    * Fixed a small margin on search backdrop

    * Made badge expander button smaller to align with badges

    * Fixed a few UIs due to .form-group and .form-row being removed

    * Updated Theme component page to help with style testing

    * Added more components to theme tester

    * Cleaned up some styling

    * Fixed opacity on search item hover

    * Bump versions by dotnet-bump-version.

    * Tweaked the accordion styles for light mode

    * Set dark book theme as default. Refactored resetSettings to be much cleaner

    * Started the refactor to allow book themes to affect global css variables

    * Fixed some issues with my css variable declarations

    * Fixed a close model state update

    * Lots of work, but dark mode on the book reader is basically done. We have to code the themes much like the site themes

    * Some black theme enhancements

    * Started working on column layout in book reader.

    * Cleaned up the CSS on Reader Settings

    * Hooked up reading direction

    * Got column and double column layout working

    * Implemented some basic virtual paging and hooked in book color theme and layout mode into user preferences.

    * Migration wrote, can edit page layout and color theme on book reader. Removed book dark mode since no longer needed.

    Fixed a bug on login/register forms where when input is focused, text is white and not black.

    * When loading book reader, apply column layout.

    * Lots of work around 2 column layout, working on images not splitting. Still not working, committing so i can merge develop in and validate code with new manga reader.

    * Fixed images being split into 2 BUT regression on each page boundary, total reading height is smaller and smaller

    * Fixed some rendering bugs where toggling column layouts would shrink images on screen constantly.

    Fixed a bug where bottom bar wouldn't render on column layout in some conditions (this might need to be reworked)

    * Started progress on progress work

    * Updated .NET to 6.0.4

    * Fixed a bug where DataContextModelSnapshot was being removed on build thus new migrations were broken.

    * Tweaked the code around progress saving so that we don't loose track of last scroll element on page load

    * Trying to restore progress, but stuck

    * Extra merge stuff

    * Fixed a bug where volumes that are a range fail to generate series detail

    * No gutters on whole app. Book reader backend now applies the image class automatically at the backend.

    * Added wiki documentation into invite user flow and register admin user to help users understand email isn't required and they can host their own service.

    * Removed bottom padding

    * Refactored the document height to be set and removed on nav service, so the book reader and manga reader aren't broken.

    * Fixed the height of the action bar to simplify logic and keep the code cleaner. Refactored book service image scoping to be much more streamlined and efficient

    * Fixed the height of action bar to 62px and adjusted code to use the hardcoded px. (code commented)

    * Removed commented out code from fixed action bar height

    * Progress restoration seems to be working

    * Code cleanup

    * Ensure the bottom action bar is at the bottom of the viewport on small pages

    * Fixed book fonts not setting properly and added OpenDyslexic font.

    * Fixed up some font issues

    * Updated drawer so all sections are open by default

    * Switched some LINQ to use MinBy

    * When navigating between pages and column layout, adjust the shift for the user.

    * Removed some debug code

    * Blacklist .qpkg folders and don't scan Recently-Snapshot or recycle folders.

    * Renamed the scale width to be scoped to kavita to avoid conflicts.

    * Refactored ngx-sliders out to use normal range instead. Changed up the preferences to separate image and book settinngs into own accordion.

    * updated user preferences for new migration options (not committed yet)

    * Removed some debug code

    * Remove console.logs

    * Migration committed, let's release this to users.

    * A lot of crazy code just to ensure that when you close drawer the toggle reflectst that state.

* Current Develop

* First commit

Enables double page rendering
Fixes typos

* Enabling double page rendering

. Changed image-2 src to canvasImage2 (handled by the server)
. Enabled the layout mode selector in the reader menu
. Changed the display to inline-block for the .full-height class
. Disabled the position and transform for the .fit-to-height-double-offset class
. Enabled the layout mode selector in the user preferences menu
. Fixed some typos =)

* Double page rendering fixes

. Added instantiation of canvasImagePrev and canvasImageNext
. Changed loadPage() checking of wide images before loading canvasImage2
. Changed nextPage() and prevPage() to correctly handle wide images
. Fixed some typos =)

* Fixed Double (Manga)

. Fixed: Checking ReverseDoublePage to handle manga reading direction
. Changed: Commented out some console logging
. Added: Wide class CSS to handle wide images with height < window height
. Changed: ShouldRenderDoublePage & ShouldRenderReverseDouble
. Changed: nextPage() & prevPage() to correctly set pageAmount
. Changed: isCoverImage() to accept pageNum param
. Changed: loadPage() to set canvasImagePrev.src & canvasImageNext.src depending on DoubleReversed
. Added: tsconfig.json esModuleInterop & allowSyntheticDefaultImports

* Fixed Double (Manga)

.Removed: Old commented out code
.Added: Check isCoverImage() on nextPage()

* Fixed a bug where page wasn't re-rendering about layout change.

Optimized the loadPage code to render faster.

Fixed a bug where whole renderPage() function was executing when it shouldn't.

* Indentation cleanup

* Allow the user to update their user settings and persist for new layout mode in manga reader

* Merged more develop in

* Bump versions by dotnet-bump-version.

* Fixed a bug where there was no pagination on the dashboard and it would take some time to load (#1329)

* Bump versions by dotnet-bump-version.

* More rebasing

* Bump versions by dotnet-bump-version.

* Fixed up some missing refactors from mag.

* Hopefully the last rebase

* Double Page Rendering (#1334)

* Fixed Double (Manga)

. Changed: Layout mode set to preferencesDto on UsersController
. Removed ConsoleLogger import
. Removed console.logs
. Added: HostListener for changing layout to Single on portrait device orientation
. Fixed: renderPage() bug
. Changed: Simplified loadPage()
. Added: ChangeOccurred to call loadPage() on layoutMode change
. Fixed: Dragable vs Draggable typos
.

* Fixed Double Orientation Check

. Fixed: Orientation check to switch from Double to Single on Portrait (HostListener) comparison sign was inverted.

* Reader orientation change

. Changed: Removed unnecessary innerWidth x innerHeight check

* Reader orientation change fixes

. Added: Check for innerWidth > innerHeight as guard clause

* Cleaned up some debug code

Co-authored-by: magujun <guimaraesjunior.marcelo@gmail.com>
Co-authored-by: Marcelo Guimarães Junior <75567460+magujun@users.noreply.github.com>
Co-authored-by: marcelo <mguimaraes@okanagan.bc.ca>
2022-06-27 09:00:01 -07:00
Joseph Milazzo
2ab0aedd22
Swagger, Tachiyomi, and some new settings (#1331)
* Fixed up swagger generation

* Updated Tachiyomi's latest-chapter to hopefully solve some sync issues.

* Fixed #1279 with table of contents due to new EPubReader

* When errors occur, show the event widget icon in red

* Lots of documentation added and tweaked some wording around backups and swagger

* For promidius

* Return proper ChapterDTO

* Hacks for Promidius

* Cleanup code

* No loose leaf, send max chapter

* One more encode change

* Implemented code per promiduius' requirements

* Fixed a bug in the epub parsing where even if you had a series index and series group, but didn't have the series in the title, Kavita wouldn't group them properly.

* Removed some extra comment

* Implemented the ability to change a library's type after it's been setup. This displays a warning explaining the dangers of it.

* Removed some whitespace

* Blur descriptions based on read status for list item view to avoid spoilers

* Tweaked placement of a tooltip due to new series detail styles

* Hooked up a user preference for bluring unread summaries. Fixed a bug in refresh token where we would cause re-authentication when it shouldn't be needed.
2022-06-25 15:52:21 -07:00
Joseph Milazzo
bbc48a5f5b
Infinite Scroll + List View + Cover Upload Redesign (#1319)
* Started with the redesign of the cover image chooser redesign to be less click intensive for volume/chapter images.

Made some headings bold in card detail drawer.

* Tweaked the styles

* Moved where the info cards show

* Added an ability to open a page settings drawer

* Cleaned up some old code that isn't needed anymore.

* Started implementing a list view. Refactored some title code to a dedicated component

* List view implemented but way too many API calls. Either need caching or adjusting the SeriesDetail api.

* Fixed a bug where if the progress bar didn't render on a card item while a download was in progress, the download indicator would be removed.

* Large refactor to move a lot of the needed fields to the chapter and volume dtos for series detail. All fields are noted when only used in series detail.

* Implemented cards for other tabs (except related)

* Fixed the unit test which needed a mocked reader service call.

* More cleanup around age rating and removing old code from the refactor. Commented out sorting till i feel motivated to work on that.

* Some cleanup and restored cards as initial layout. Time to test this out and see if there is value add.

* Added ability for Chapters tab to show the volume chapters belong to (if applicable)

* Adding style fixes

* Cover image updates, don't allow the first image (which is what is currently set) to respond to cover changes.

Hide the ID field on list item for series detail.

* Refactored the title for list item to be injectable

* Cleaned up the selection code to make it less finicky on mobile when tap scrolling.

* Refactored chapter tab to show volume as well on list view.

* Ensure word count shows for Volumes

* Started adding virtual scrolling, pushing up so Robbie can mess around

* Started adding virtual scrolling, pushing up so Robbie can mess around

* Fixed a bug where all chapters would come under specials

* Show title data as accent if set.

* Style fixes for virtual scroller

* Restyling scroll

* Implemented a way to show storyline with virtual scrolling

* Show Word Count for chapters and cleaned up some logics.

* I might have card layout working with virtual scroll code.

* Some cleanup to hide more system like properties from info bar on series detail page. Fixed some missing time estimate info on storyline chapters.

* Fixed a regression on series service when I integrated VolumeTitle.

* Refactored read time to the backend. Added WordCount to the volume itself so we don't need to calculate on frontend. When asking to analyze files from a series, force the calculation.

* Fixed SeriesDetail api code

* Fixed up the code in the drawer to better update list/card mode

* Basic infinite scroll implemented, however due to how we are updating the list to render, we are re-rending cards that haven't been touched.

* Updated how we render and layout data for infinite scroll on library detail. It's almost there.

* Started laying foundation for loading pages backwards.

Removed lazy loading of images since we are now using virtual paging.

* Hooked in some basic code to allow user to load a prev page with infinite scroll.

* Fixed up series detail api and undid the non-lazy loaded images.

Changed the router to help with this infinite loading on Firefox issue.

* Fixed up some naming issues with Series Detail and added a new test.

* This is an infinite scroll without pagination implementation. It is not fully done, but off to a good start. Virtual scroller with jump bar is working pretty well, def needs more polishing and tweaking. There are hacks in this implementation that need to be revisited.

* Refactored code so that we don't use any pagination and load all results by default.

* Misc code cleanup from build warnings.

* Cleaned up some logic for how to display titles in list view.

* More title cleanup for specials

* Hooked up page layout to user preferences and renamed an existing user pref name to match the dto.

* Swapped out everything but storyline with virtual-scroller over CDK

* Removed CDK from series detail.

* Default value for migration on page layout

* Updating card layout for library detail page

* fixing height for mobile

* Moved scrollbar

* Tweaked some styling for layouts when there is no data

* Refactored the series cards into their own component to make it re-usable.

* More tweaks on series info cards layout and enhanced a few pages with trackby functions.

* Removed some dead code

* Added download on series detail to actionables to fit in with new scroll strategy.

* Fixed language not being updated and sent to the backend for series update.

* Fixed a bad migration (if you ran any prior migration in this branch, you need to undo before you use this commit)

* Adding sticky tabs

* fixed mobile gap on sticky tab

* Enhanced the card title for books to show number up front.

* Adjusted the gutters on admin dashboard

* Removed debug code

* Removing duplicate book title

* Cleaned up old references to cdk scroller

* Implemented a basic jump bar scaling algorithm. Not perfect, but works pretty well.

* Code smells

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2022-06-13 14:37:49 -07:00
Joseph Milazzo
e0a2fc615f
UX Changes, Tasks, WebP, and More! (#1280)
* When account updates occur for a user, send an event to them to tell them to refresh their account information (if they are on the site at the time). This way if we revoke permissions, the site will reactively adapt.

* Some cleanup on the user preferences to remove some calls we don't need anymore.

* Removed old bulk cleanup bookmark code as it's no longer needed.

* Tweaked the messaging for stat collection to reflect what we collect now versus when this was initially implemented.

* Implemented the ability for users to configure their servers to save bookmarks as webP. Reorganized the tabs for Admin dashboard to account for upcoming features.

* Implemented the ability to bulk convert bookmarks (as many times as the user wants).

Added a display of Reoccurring Jobs to the Tasks admin tab. Currently it's just placeholder, but will be enhanced further later in the release.

* Tweaked the wording around the convert switch.

* Moved System actions to the task tab

* Added a controller just for Tachiyomi so we can have dedicated APIs for that client. Deprecated an existing API on the Reader route.

* Fixed the unit tests
2022-05-23 16:19:52 -07:00
Joseph Milazzo
f701f8e599
Book Reader Bugfixes (#1254)
* Fixed image scoping breaking and books not being able to load images

* Cleaned up a lot of variables and added more jsdoc. After shifting the margin, we try to recover the column layout width,height, and scroll posisiton.

* Tap to paginate is working on first load now

* On resize, rescroll to attempt to avoid breakage

* Fixed transparent background for action bar on white theme

* Moved some lists to immutable arrays

* Actually fixed backgournd now

* Fixed some settings not updating in book reader on load

* Put some code in place to test out opening menu with clicking on the document

* Fixed settings not propagating to the reader

* Fixing 2 column when loading annd ios mobile

* Fixed an issue where paging to prev page would sometimes skip the first page.

* Fixing previous page skipping first page of chapter

* removing console logs

* Save progress when we page

* Click on document to show the side nav

* Removed columns auto because it could render more columns than applicable. Don't explicitly call saveProgress on prev page, as we already do in another call.

Adjusted the logic to calculate windowHeight and width to be the same throughout the reader.

* Setting select fix and settings polish

* Fixed awkward tooltip wording

* Added a message for when there is nothing to show on recommended tab

* Removed bug marker, there was no bug after all

* Fixing book title truncation in action bar

* When counting volumes or chapters that have range, count the max part of the range for publication status.

* Fixing TOC rendering issue

* Styling fixes

- Fixed an issue where the image height in the book reader was the column height plus padding so it was breaking pagination calc.
- Centered book reader setting pills
- Made inactive setting pill into a ghost button
- Fixed spacing across the reader settings drawer

* Added a bit of code to allow us to disable buttons before we click for next chapter load

* Removed titles from action bars

* The next page button will now show as the primary color to indicate to the user what the next forward page is.

* Added a view series to bookmark page and removed actions from header since it didn't work

* Fixed a bug where pagination wasn't mutating url state

* Lots of changes, code is kinda working.

Added Immersive Mode, but didn't generate migration.

Added concept of virtual pages with ability to see them. Math is still slightly off.

Cleaned up prefetching code so we do it much earlier.

Added some code that doesn't work to disable buttons with virtual paging included.

* When turning immersive mode on, force tap to paginate

* Refactored out the book reader state as it wasn't very beneficial

* Fixed total virtual page calculation

* Next/prev page seems to be working pretty well

* Applied Robbie's virtual page logic and fixed a bug in prev page code

* Changed the next page to use same virtual page logic

* Getting back and forward working...somehow.

* removing redundant code

* Fixing book title overflow from new action bar changes

* Polishing pagination styles

* Changing chapter to section

* Fixing up other book reader themes

* Fixed the login header being off-center

* Fixing styling to follow approach

* Refactored the pagination buttons to properly call next/prev page based on reading direction

* Drawer pagination buttons now respect when there is no chapters (prev/next)

* Everything except disabling buttons when on last possible page working

* Added Book Reader immersive mode migration

* Disable next/prev buttons for continuous reading before we request next/prev chapter if there is no chapter.

* Show a tooltip for the title

* Fixed unit test

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2022-05-13 17:30:37 -07:00
Joseph Milazzo
2723a6cd10
Book Reader Redesign with e-ink focus (#1246)
* Refactored the drawer into offcanvas component. Had to write some hacks to emulate how bootstrap's javascript implementation works as ngBootstrap doesn't have a component yet.

* Cleaned up some of the code

* Rewrote drawer to align it with the new design

* First pass, refactored table of content into it's own component

* Refactored all of the settings logic into a separate component. Everything is broken.

* More settings on on reactive form

* More code cleanup on settings

* Misc fixes around the drawer code. Fixed a bug where range sliders were inheriting background color of normal text inputs

* Fixed dark mode with book reader.

We now clear the theme from the main app so book reader is self-contained. Styles for dark mode are injected into the reading-section. Styles that were previously in scss are now only for the actual menu system.

* Cleaned up drawer styling on header

* Removed an ngIf statement for click to paginate

* Tweaked the accent style to have smaller font size and adjusted style on light mode. Cleaned up some clearTimeout code in a further effort to streamline codebase.

* Refactored Dark mode into a basic theme. Currently styles are hardcoded.

* Patched book theme in from themes branch

* Patched in the backend for Book Theme (not tested yet)

* Fixed a bug in seeding code for book themes. Started integration of themes into the reader settings

* Everything except managing themes is working. Themes are a bit shakey, having second thoughts if we should have them or not.

* Reverted the ability to do custom user book themes. Code is stable with system themes.

* Stablize the Styles (#1128)

* Fixed a bug where adding multiple series to reading list would throw an error on UI, but it was successful.

* When a series has a reading list, we now show the connection on Series detail.

* Removed all baseurl code from UI and not-connected component since we no longer use it.

* Fixed tag badges not showing a border. Added last read time to the series detail page

* Fixed up error interceptor to remove no-connection code

* Changed implementation for series detail. Book libraries will never send chapters back. Volume 0 volumes will not be sent in volumes ever. Fixed up more renaming logic on books to send more accurate representations to the UI.

* Cleaned up the selected tab and tab display logic

* Fixed a bad where statement in reading lists for series

* Fixed up tab logic again

* Fixed a small margin on search backdrop

* Made badge expander button smaller to align with badges

* Fixed a few UIs due to .form-group and .form-row being removed

* Updated Theme component page to help with style testing

* Added more components to theme tester

* Cleaned up some styling

* Fixed opacity on search item hover

* Bump versions by dotnet-bump-version.

* Tweaked the accordion styles for light mode

* Set dark book theme as default. Refactored resetSettings to be much cleaner

* Started the refactor to allow book themes to affect global css variables

* Fixed some issues with my css variable declarations

* Fixed a close model state update

* Lots of work, but dark mode on the book reader is basically done. We have to code the themes much like the site themes

* Some black theme enhancements

* Started working on column layout in book reader.

* Cleaned up the CSS on Reader Settings

* Hooked up reading direction

* Got column and double column layout working

* Implemented some basic virtual paging and hooked in book color theme and layout mode into user preferences.

* Migration wrote, can edit page layout and color theme on book reader. Removed book dark mode since no longer needed.

Fixed a bug on login/register forms where when input is focused, text is white and not black.

* When loading book reader, apply column layout.

* Lots of work around 2 column layout, working on images not splitting. Still not working, committing so i can merge develop in and validate code with new manga reader.

* Fixed images being split into 2 BUT regression on each page boundary, total reading height is smaller and smaller

* Fixed some rendering bugs where toggling column layouts would shrink images on screen constantly.

Fixed a bug where bottom bar wouldn't render on column layout in some conditions (this might need to be reworked)

* Started progress on progress work

* Updated .NET to 6.0.4

* Fixed a bug where DataContextModelSnapshot was being removed on build thus new migrations were broken.

* Tweaked the code around progress saving so that we don't loose track of last scroll element on page load

* Trying to restore progress, but stuck

* Extra merge stuff

* Fixed a bug where volumes that are a range fail to generate series detail

* No gutters on whole app. Book reader backend now applies the image class automatically at the backend.

* Added wiki documentation into invite user flow and register admin user to help users understand email isn't required and they can host their own service.

* Removed bottom padding

* Refactored the document height to be set and removed on nav service, so the book reader and manga reader aren't broken.

* Fixed the height of the action bar to simplify logic and keep the code cleaner. Refactored book service image scoping to be much more streamlined and efficient

* Fixed the height of action bar to 62px and adjusted code to use the hardcoded px. (code commented)

* Removed commented out code from fixed action bar height

* Progress restoration seems to be working

* Code cleanup

* Ensure the bottom action bar is at the bottom of the viewport on small pages

* Fixed book fonts not setting properly and added OpenDyslexic font.

* Fixed up some font issues

* Updated drawer so all sections are open by default

* Switched some LINQ to use MinBy

* When navigating between pages and column layout, adjust the shift for the user.

* Removed some debug code

* Blacklist .qpkg folders and don't scan Recently-Snapshot or recycle folders.

* Renamed the scale width to be scoped to kavita to avoid conflicts.

* Refactored ngx-sliders out to use normal range instead. Changed up the preferences to separate image and book settinngs into own accordion.

* updated user preferences for new migration options (not committed yet)

* Removed some debug code

* Remove console.logs

* Migration committed, let's release this to users.

* A lot of crazy code just to ensure that when you close drawer the toggle reflectst that state.
2022-05-08 17:52:15 -07:00
Joseph Milazzo
0fcaaff976
PDF Rendering on Pi (64bit) & Backup Fix (#1204)
* Updated dependencies. SharpCompress has been updated to v2.1.0 which should fix pdf rendering on pi/arm64 devices.

* Removed some dependencies not needed and updated the Backup code to account for themes and ensure everything gets copied every time.
2022-04-06 16:21:38 -07:00
Joseph Milazzo
242d8b106d
Bugfixes (#1177)
* Fixed an underline on hover of pagination link

* Ensure title of companion bar eats full width if there is no filter

* If a user doesn't have the Download role, they will not be able to download over OPDS.

* Fixed a bug where after going into webtoon reader mode then leaving, the bookmark effect would continue using the webtoon mode styling

* Fixed a bug where continuous reader wasn't being triggered due to moving scrollbar to body and a floating point percision error on scroll top

* Fixed how continuous trigger is shown so that we properly adjust scroll on the top (for prev chapter)

* Fixed a bad merge that broke saving any edits to series metadata

* When a epub key is not correct, even after we correct it, ignore the inlining of the style so the book is at least still readable.

* Disabled double rendering (this feature is being postponed to a later release)

* Disabled user setting and forced it to Single on any save

* Removed cache directory from UpdateSettings validation as we don't allow changing it.

* Fix security issue with url parse

* After all migrations run, update the installed version in the Database. Send that installed version on the stat service.

* Dependency bot to update some security stuff

* Some misc code cleanup and fixes on the typeahead (still broken)
2022-03-25 16:38:13 -07:00
Joseph Milazzo
2a4d0d1cd1
Manga Reader Refresh (#1137)
* Refactored manga reader to use a regular image element for all cases except for split page rendering

* Fixed a weird issue where ordering of routes broke redireciton in one case.

* Added comments to a lot of the enums and refactored READER_MODE to be ReaderMode and much more clearer on function.

* Added bookmark effect on image renderer

* Implemented keyboard shortcut modal

* Introduced the new layout mode into the manga reader, updated preferences, and updated bookmark to work for said functionality. Need to implement renderer now

* Hooked in ability to show double pages but all the css is broken. Committing for help from Robbie.

* Fixed an issue where Language tag in metadata edit wasn't being updated

* Fixed up some styling on mobile for edit series detail

* Some css fixes

* Hooked in ability to set background color on reader (not implemented in reader). Optimized some code in ArchiveService to avoid extra memory allocations.

* Hooked in background color, generated the migration

* Fixed a bug when paging to cover images, full height would be used instead of full-width for cover images

* New option in reader to show screen hints (on by default). You can disable in user preferences which will stop showing pagination overlay hints

* Lots of fixes for double rendering mode

* Bumped the amount of cached pages to 8

* Fixed an issue where dropdowns weren't being locked on form manipulation
2022-03-07 09:35:27 -08:00
Joseph Milazzo
568ea9fd3a
Custom Theme Support (#1077)
* Started the migration to bootstrap 5. Introduced a breakpoint system that bootstrap reflects for our screens.

* sr only migrated

* mr/ml -> me/ms

* pl/pr -> ps/pe

* btn-block

* removed input-group-append

* Added form-label to all labels

* Added some style overrides for inputs

* Replaced form-group with mb-3

* Ignore journal files

* Update media to d-flex/flex-grow-1

* Fixed reading list detail page

* For develop builds, don't inline critical styles

* Fixed some downstream security issues

* Fixed a layout issue in series detail

* Fixed issue with btn-light not having background color. Updated layout for series detail metadata

* Cleaned up nav search

* Laid out the organization for custom theme components. Update _inputs.scss with variable overrides and depending on theme, it will just work.

* Lots of theming work

* Added inputs to the theme page

* Login and input placeholder changes

- Fixed login screen centering issue on all devices
- Changed the format of the login screen
- Change the input placeholder color

* Added checkbox styles

* Refactored tagbadges and removed some ngdeep selectors

* Added nav bar component and refactored some styles into event widget

* Cleaned nav events again and made dedicated popover body

* Finished pagination component

* Fixed up some styles with buttons

* refactored dropdown component

* Update accordion component

* Refactored breadcrumbs and rating star. Fixed a missing style for cards

* Fixed some styling issues on person badge, added modal component, and some global styles

* Finished moving everything within dark to component files

* Fixed up filter buttons, move card styles into a component theme, fixed slider style

* Refactored library card and grouped typeahead

* Updated normal typeahead component and reduced amount of ngdeep selector

* Refactored grid breakpoints to be available by css variable, but it's hardcoded into the app

* Ensure breakpoints are defined per theme

* Fixed up some styling overrides and customization for nav links and alt button

* Removed some deep styles, moved css out of splash container and brough back labels for login page

* Finished css variable refactor

* Refactored all the theme variable definitions into files for each theme.

* Added back bootstrap overrides

* Added a note about bootstrap theme colors being not-possible to swap out at runtime

* Cleaned up some dead code

* Implemented the ability to set a custom theme on the site. Cleaned up misc code throughout.

* Additional changes

- Fixed nav where "kavita" was not hiding correctly on small viewports
- Fixed search bar to make the behavior more consistent
- Fixed accordion buttons
- Changed accordion buttons to be more responsive
- Added radio button colors
- Fixed radios on theme test page
- Changed login and reset password card layouts to be more consistent.
- Added primary color shade for when darker shading is needed.

* Built a basic site, allow the user to apply different themes, refactored nav service code out.

* Implemented the ability update a user's theme

* Added unit tests for Scan and Get Content in SiteThemeService.

* Fixed a bug in the login code and Pref code which wasn't joining on SiteTheme table. Wrote Unit tests and the UI component to manage current theme.

* Implemented scan so that it manages custom themes with unit tests

* Component updates

- Repositioning style ordering
- Adding indicator override
- Adding select styles

* SignlaR integration, some fixes when creating custom entities, one single migration. Just login functionality left.

* More ui updated

- Added .no-hover to prevent hover on elements where not needed
- Changed all selects I could find to appropriate class
- Changed up nav tabs to work more like bootstrap tabs than pills
- Added padding to top of some containers to make styles consistent
- Added ability to change navbar fontawesome icon colors
- removed some unecessary inline styling
- Changed radio button to appropriate class
- Toned down primate color, a bit too bright for dark theme.
- Added ability to change button fontawesome icon color

* nav-tab fix for series-detail

* Added themes folder to gitignore

* Adding card overlay

* Fixing up light theme

* Everything is done. Only bug is that color-scheme isn't being set properly from css variable.

* Checkboxes have pointer by default. Confirm/Confirm email use default (dark) theme by default

* Fixed an error where color-scheme wasn't reflecting correctly on themes on first load

* Fixed user preferences not available on login

* Changing dual radios to switches and color tweaks

* disabled primary APCA fix

* button APCA fixes

* Fixed some timing issues with first load and image service

* Fixed swiper issues from upgrade

* Changed themes to be scss files again and adjusted Seed code

* Migrated carousel to css variables. Fixed a broken animation for search.

* Cleaned up some backend smells

* Fixed white border outline on nav tabs, added some variables for header

* Nav bar has been css variable-ified

* Added some basic eink stuff to make the app useable

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2022-02-16 07:12:38 -08:00
Joseph Milazzo
c8de3fb097
Remove No Authentication mode from Kavita (#1006)
* Moved the Server Settings out into a button on nav header

* Refactored Mange Users page to the new design (skeleton). Implemented skeleton code for Invite User.

* Hashed out more of the code, but need to move all the email code to a Kavita controlled API server due to password credentials.

* Cleaned up some warnings

* When no user exists for an api key in Plugin controller, throw 401.

* Hooked in the ability to check if the Kavita instance can be accessed externally so we can determine if the user can invite or not.

* Hooked up some logic if the user's server isn't accessible, then default to old flow

* Basic flow is working for confirm email. Needs validation, error handling, etc.

* Refactored Password validation to account service

* Cleaned up the code in confirm-email to work much better.

* Refactored the login page to have a container functionality, so we can reuse the styles on multiple pages (registration pages). Hooked up the code for confirm email.

* Messy code, but making progress. Refactored Register to be used only for first time user registration. Added a new register component to handle first time flow only.

* Invite works much better, still needs a bit of work for non-accessible server setup. Started work on underlying manage users page to meet new design.

* Changed (you) to a star to indicate who you're logged in as.

* Inviting a user is now working and tested fully.

* Removed the register member component as we now have invite and confirm components.

* Editing a user is now working. Username change and Role/Library access from within one screen. Email changing is on hold.

* Cleaned up code for edit user and disabled email field for now.

* Cleaned up the code to indicate changing a user's email is not possible.

* Implemented a migration for existing accounts so they can validate their emails and still login.

* Change url for email server

* Implemented the ability to resend an email confirmation code (or regenerate for non accessible servers). Fixed an overflow on the confirm dialog.

* Removed all code around disabling authentication. Users that were already disabled can look up their password on the wiki.
2022-01-31 05:42:06 -08:00
Joseph Milazzo
efb527035d
Account Email Support (#1000)
* Moved the Server Settings out into a button on nav header

* Refactored Mange Users page to the new design (skeleton). Implemented skeleton code for Invite User.

* Hashed out more of the code, but need to move all the email code to a Kavita controlled API server due to password credentials.

* Cleaned up some warnings

* When no user exists for an api key in Plugin controller, throw 401.

* Hooked in the ability to check if the Kavita instance can be accessed externally so we can determine if the user can invite or not.

* Hooked up some logic if the user's server isn't accessible, then default to old flow

* Basic flow is working for confirm email. Needs validation, error handling, etc.

* Refactored Password validation to account service

* Cleaned up the code in confirm-email to work much better.

* Refactored the login page to have a container functionality, so we can reuse the styles on multiple pages (registration pages). Hooked up the code for confirm email.

* Messy code, but making progress. Refactored Register to be used only for first time user registration. Added a new register component to handle first time flow only.

* Invite works much better, still needs a bit of work for non-accessible server setup. Started work on underlying manage users page to meet new design.

* Changed (you) to a star to indicate who you're logged in as.

* Inviting a user is now working and tested fully.

* Removed the register member component as we now have invite and confirm components.

* Editing a user is now working. Username change and Role/Library access from within one screen. Email changing is on hold.

* Cleaned up code for edit user and disabled email field for now.

* Cleaned up the code to indicate changing a user's email is not possible.

* Implemented a migration for existing accounts so they can validate their emails and still login.

* Change url for email server

* Implemented the ability to resend an email confirmation code (or regenerate for non accessible servers). Fixed an overflow on the confirm dialog.

* Took care of some code cleanup

* Removed 3 db calls from cover refresh and some misc cleanup

* Fixed a broken test
2022-01-30 14:45:57 -08:00
Joseph Milazzo
bbe8f800f6
.NET 6 Coding Patterns + Unit Tests (#823)
* Refactored all files to have Interfaces within the same file. Started moving over to file-scoped namespaces.

* Refactored common methods for getting underlying file's cover, pages, and extracting into 1 interface.

* More refactoring around removing dependence on explicit filetype testing for getting information.

* Code is buildable, tests are broken. Huge refactor (not completed) which makes most of DirectoryService testable with a mock filesystem (and thus the services that utilize it).

* Finished porting DirectoryService to use mocked filesystem implementation.

* Added a null check

* Added a null check

* Finished all unit tests for DirectoryService.

* Some misc cleanup on the code

* Fixed up some bugs from refactoring scan loop.

* Implemented CleanupService testing and refactored more of DirectoryService to be non-static.

Fixed a bug where cover file cleanup wasn't properly finding files due to a regex bug.

* Fixed an issue in CleanupBackup() where we weren't properly selecting database files older than 30 days. Finished CleanupService Tests.

* Refactored Flatten and RemoveNonImages to directory service to allow CacheService to be testable.

* Finally have CacheService tested. Rewrote GetCachedPagePath() to be much more straightforward & performant.

* Updated DefaultParserTests.cs to contain all existing tests and follow new test layout format.

* All tests fixed up
2021-12-05 08:58:53 -08:00
Joseph Milazzo
30a302bf99
Changed how login page works based on user feedback. By default, we have the old login flow when authentication is enabled and in addition, we will auto fill the username based on last login on device. (#621) 2021-10-02 11:35:38 -07:00
Joseph Milazzo
a5b6bf1b52
Disable Authentication & Login Page Rework (#619)
* Implemented the ability to disable authentication on a server instance. Admins will require authentication, but non-admin accounts can be setup without any password requirements.

* WIP for new login page.

* Reworked code to handle disabled auth better. First time user flow is moved into the user login component.

* Removed debug code

* Removed home component, shakeout testing is complete.

* remove a file accidently committed

* Fixed a code smell from last PR

* Code smells
2021-10-02 11:23:58 -05:00
Joseph Milazzo
56cf7be799
Scan Chunking (#604)
* Some performance refactoring around getting Library and avoid a byte[] copy for getting cover images for epubs.

* Initial commit. Rewrote the main series scan loop to use chunks of data at a time. Not fully shaken out.

* Hooked in the ability for the UI to react to series being added or removed from the DB.

* Cleaned up the messaging in the scan loop to be more clear.

* Metadata scan and scan work as expected and populate data to the UI. There is a slow down in speed for overall operation.

Scan series and refresh series metadata does not work fully.

* Fixed a bug where MangaFiles were not having LastModified Updated correctly, meaning they were opening archives every scan.

* Modified the code to be more realistic to the underlying file

* Updated ScanService to properly handle deleted files and not result in a higher-level scan.

* Shuffled around volume related repo apis to the volume repo rather than being in series.

* Rewrote scan series to be much cleaner and more concise on the flow. Fixed an issue in UpdateVolumes such that the debug code to log out removed volumes could throw an exception and actually break updating volumes.

* Refactored the code to set MangaFile last modified timestamp into the MangaFile entity.

* Added Series Name to ScanSeries event

* Added additional checks in ScanSeries to ensure we never go outside the library folder.

Added extra debug messages for when a metadata refresh doesn't actually make changes and for when we regen cover images.

* More logging statements saying where they originate from. Fixed a critical bug which caused only 1 chunk to ever be processed.

* Fixed a concurrency issue with natural sorter which could cause issues in ArchiveService.cs.

* Log cleanups

* Fixed an issue with logging out total time of a scan.

* Only show added toastrs for admins. When kicking off a refresh metadata for series, make sure we regenerate all cover images.

* Code smells on benchmark despite it being ignored
2021-09-30 06:08:05 -07:00
Joseph Milazzo
cf7a9aa71e
Reading Lists & More (#564)
* Added continous reading to the book reader. Clicking on the max pages to right of progress bar will now go to last page.

* Forgot a file for continous book reading

* Fixed up some code regarding transitioning between chapters. Arrows now show to represent a chapter transition.

* Laid the foundation for reading lists

* All foundation is laid out. Actions are wired in the UI. Backend repository is setup. Redid the migration to have ReadingList track modification so we can order them for the user.

* Updated add modal to have basic skeleton

* Hooked up ability to fetch reading lists from backend

* Made a huge performance improvement to GetChapterIdsForSeriesAsync() by reducing a JOIN and an iteration loop. Improvement went from 2 seconds -> 200 ms.

* Implemented the ability to add all chapters in a series to a reading list.

* Fixed issue with adding new items to reading list not being in a logical order. Lots of work on getting all the information around the reading list view. Added some foreign keys back to chapter so delete should clean up after itself.

* Added ability to open directly the series

* Reading List Items now have progress attached

* Hooked up list deletion and added a case where if doesn't exist on load, then redirect to library.

* Lots of changes. Introduced a dashboard component for the main app. This will sit on libraries route for now and will have 3 tabs to show different sections.

Moved libraries reel down to bottom as people are more likely to access recently added or in progress than explore their whole library.

Note: Bundles are messed up, they need to be reoptimized and routes need to be updated.

* Added pagination to the reading lists api and implemented a page to show all lists

* Cleaned up old code from all-collections component so now it only handles all collections and doesn't have the old code for an individual collection

* Hooked in actions and navigation on reading lists

* When the user re-arranges items, they are now persisted

* Implemented remove read, but performance is pretty poor. Needs to be optimized.

* Lots of API fixes for adding items to a series, returning items, etc. Committing before fixing incorrect fetches of items for a readingListId.

* Rewrote the joins for GetReadingListItemDtosByIdAsync() to not return extra records.

* Remove bug marker now that it is fixed

* Refactor update-by-series to move more of the code to a re-usable function for update-by-volume/chapter APIs

* Implemented the ability to add via series, volume or chapter.

* Added OPDS support for reading lists. This included adding VolumeId to the ReadingListDto.

* Fixed a bug with deleting items

* After we create a library inform user that a scan has started

* Added some extra help information for users on directory picker, since linux users were getting confused.

* Setup for the reading functionality

* Fixed an issue where opening the edit series modal and pressing save without doing anything would empty collection tags. Would happen often when editing cover images.

* Fixed get-next-chapter for reading list. Refactored all methods to use the new GetUserIdByUsernameAsync(), which is much faster and uses less memory.

* Hooked in prev chapter for continuous reading with reading list

* Hooked up the read code for manga reader and book reader to have list id passed

* Manga reader now functions completely with reading lists

* Implemented reading list and incognito mode into book reader

* Refactored some common reading code into reader service

* Added support for "Series -  - Vol. 03 Ch. 023.5 - Volume 3 Extras.cbz" format that can occur with FMD2.

* Implemented continuous reading with a reading list between different readers. This incurs a 3x performance hit on the book info api.

* style changes. Don't emit an event if position of draggable item hasn't changed

* Styling and added the edit reading list flow.

* Cleaned up some extra spaces when actionables isn't shown. Lots of cleanup for promoted lists.

* Refactored some filter code to a common service

* Added an RBS check in getting Items for a given user.

* Code smells

* More smells
2021-09-08 12:03:27 -05:00
Joseph Milazzo
be2b78fa5a
Manga Redesign (#321)
* Code cleanup, refactored FileRepository into Unit of Work.

* Added AutoCloseMenu and ReaderMode user perferences to match UI

* Added extra information to ChapterInfo

* Build changes

* Updated the readme to have open collective information and thanks to sponsors

* Fixed an issue with UnitOfWork refactor and how stats was bootsrapped. Replaced stats.kavitareader with a temp url to test out redirection bug.
2021-06-24 19:31:42 -05:00
Joseph Milazzo
6e1b227e65
Transaction Support (#309)
* Added transactions to UnitOfWork and refactored code to use it.

* This included blank UI fix from Kavita-webui
2021-06-18 07:37:48 -05:00
Joseph Milazzo
8b1fbc0096
Implemented Dark Mode (#203) 2021-05-09 08:44:12 -05:00
Joseph Milazzo
2be1630af3
Tap to Paginate User Pref (#197)
* Fixed In Progress and removed comments

* Tap to Paginate user setting is implemented. Fixes #193
2021-05-04 17:01:27 -05:00
Joseph Milazzo
a01613f80f
EPUB Support (#178)
* Added book filetype detection and reorganized tests due to size of file

* Added ability to get basic Parse Info from Book and Pages.

* We can now scan books and get them in a library with cover images.

* Take the first image in the epub if the cover isn't set.

* Implemented the ability to unzip the ebup to cache. Implemented a test api to load html files.

* Just some test code to figure out how to approach this.

* Fixed some merge conflicts

* Removed some dead code from merge

* Snapshot: I can now load everything properly into the UI by rewriting the urls before I send them back. I don't notice any lag from this method. It can be optimized further.

* Implemented a way to load the content in the browser not via an iframe.

* Added a note

* Anchor mappings is complete. New anchors are updated so references now resolve to javascript:void() for UI to take care of internally loading and the appropriate page is mapped to it. Anchors that are external have target="_blank" added so they don't force you out of the app and styles are of course inlined.

* Oops i need this

* Table of contents api implemented (rough) and some small enhancements to codebase for books.

* GetBookPageResources now only loads files from within the book. Nested chapter list support and images now use html parsing instead of string parsing.

* Fonts now are remapped to load from endpoint.

* book-resources now uses a key, ensuring the file is in proper format for lookup. Changed chapter list based on structure with one HEADER and nested chapters.

* Properly handle svg resource requests and when there are part anchors that are clickable, make sure we handle them in the UI by adding a kavita-page handler.

* Add Chapter group page even if one isn't set by using first page (without part) from nestedChildren.

* Added extra debug code for issue #163.

* Added new user preferences for books and updated the css so we scope it to our reading section.

* Cleaned up style code

* Implemented ability to save book preferences and some cleanup on existing apis.

* Added an api for checking if a user has read something in a library type before.

* Forgot to make sure the has reading progress is against a user lol.

* Remove cacheservice code for books, sine we use an in-memory method

* Handle svg images as well

* Enhanced cover image extraction to check for a "cover" image if the cover image wasn't set in OPF before falling back to the first image.

* Fixed an issue with special books not properly generating metadata due to not having filename set.

* Cleanup, removed warmup task code from statup/program and changed taskscheduler to schedule tasks on startup only (or if tasks are changed from UI).

* Code cleanup

* Code cleanup

* So much code. Lots of refactors to try to test scanner service. Moved a lot of the queries into Extensions to allow to easier test, even though it's hacky. Support @font-face src:url swaps with ' and ". Source summary information from epubs.

* Well...baseURL needs to come from BE and not from UI lol.

* Adjusted migrations so default values match Entity

* Removed comment

* I think I finally fixed #163! The issue was that when i checked if it had a parserInfo, i wasn't considering that the chapter range might have a - in it (0-6) and so when the code to check if range could parse out a number failed, it treated it like a special and checked range against info's filename.

* Some bugfixes

* Lots of testing, extracting code to make it easier to test. This code is buggy, but fixed a bug where 1) If we changed the normalization code, we would remove the whole db during a scan and 2) We weren't actually removing series properly.

Other than that, code is being extracted to remove duplication and centralize logic.

* More code cleanup and test cleanup to ensure scan loop is working as expected and matches expectaions from tests.

* Cleaned up the code and made it so if I change normalization, which I do in this branch, it wont break existing DBs.

* Some comic parser changes for partial chapter support.

* Added some code for directory service and scanner service along with python code to generate test files (not used yet). Fixed up all the tests.

* Code smells
2021-04-28 16:16:22 -05:00
Joseph Milazzo
bd5a1338c4 Fixed a deployment bug where we weren't listening on port properly. New way will force firewall exception dialog on Windows and work across board. Implemented user preferences and ability to update them. 2021-02-06 13:08:48 -06:00
Joseph Milazzo
14e8c3b820 Fixed some APIs that worked mins ago....something strange happening with EF relationships. 2021-01-19 10:45:37 -06:00
Joseph Milazzo
26660a9bb3 Further cleanup. Moved BackgroundJob Task enqueues into TaskScheduler, so I can have complete control via one interface. 2021-01-18 13:53:24 -06:00
Joseph Milazzo
825afd83a2 Removed some dead code on the interfaces. Introduced UnitOfWork to simplify repo injection. 2021-01-18 13:07:48 -06:00
Joseph Milazzo
effdf07cef Very messy code that implements read status tracking. Needs major cleanup. 2021-01-17 15:05:27 -06:00
Joseph Milazzo
7b1714349d Refactored ScanLibrary to accept and library id rather than DTO. Refactored ScanLibrary to use Task.Run() rather than having synchronous repo methods. 2021-01-02 12:48:48 -06:00
Joseph Milazzo
9168e12483 Refactored Volume to have Name and Number (int) so that we can properly sort and still handle possible split volumes.
Refactored ScanLibrary into Library controller and updated it so it adds the new library to all admins.
2021-01-02 12:21:36 -06:00
Joseph Milazzo
55a44000fc Changed scan to POST and added new API for route gurads on UI. 2021-01-02 09:25:45 -06:00
Joseph Milazzo
fa71a40990 Fixed warnings in code 2021-01-01 14:18:29 -06:00
Joseph Milazzo
c429c50ba2 Fixed a bug in ScanLibrary that caused duplicated Volumes. Implemented APIs for navigating down to Volume for webui.
This is rough code and needs to be polished and refactored.
2021-01-01 14:04:31 -06:00
Joseph Milazzo
8c80ed090d Added basic parsing and unit tests. Setting up an intermediate object to hold information from parser. Removed hangfire db from git. 2020-12-27 11:14:45 -06:00
Joseph Milazzo
4fd9943b91 Added Hangfire with LiteDB for a task running system. At the most basic, this allows us to monitor tasks running on the system (during dev only) and run tasks on a reoccuring or ad-hoc basis. 2020-12-26 14:03:35 -06:00
Andrew Song
2d066ea36c Fixing sonar code quality recommendations 2020-12-25 15:08:40 -06:00
Joseph Milazzo
a40bc9e9f7 Added Policy for getUsers and moved some APIs. 2020-12-24 10:13:22 -06:00
Joseph Milazzo
8156aeb495 Some api work 2020-12-20 17:47:18 -06:00
Joseph Milazzo
b6e0e05205 Added new many to many migration for libraries and users. Add Library now works and you can get Library (entity) objects from a user. LibraryDto project is upcoming. 2020-12-18 12:01:45 -06:00
Joseph Milazzo
d5eed4e85d Lots of changes to get code ready to add library. 2020-12-17 11:27:19 -06:00
Joseph Milazzo
13ed323949 Added new API for getting Member (aka Users but for use in FE). User is just used for login/registering. 2020-12-14 14:33:09 -06:00