mirror of
https://github.com/Kareadita/Kavita.git
synced 2025-05-24 00:52:23 -04:00
43 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
ac3fe0b1f4
|
v0.6.0 - Polish, Polish, Polish + Send To Support! (#1604)
* New Scan Loop (#1447) * Staging the code for the new scan loop. * Implemented a basic idea of changes on drives triggering scan loop. Issues: 1. Scan by folder does not work, 2. Queuing system is very hacky and needs a separate thread, 3. Performance degregation could be very real. * Started writing unit test for new loop code * Implemented a basic method to scan a folder path with ignore support (not implemented, code in place) * Added some code to the parser to build out the idea of processing series in batches based on some top level folder. * Scan Series now uses the new code (folder based parsing) and now handles the LocalizedSeries issue. * Got library scan working with the new folder-based scan loop. Updated code to set FolderPath (for improved scan times and partial scan support). * Wrote some notes on update library scan loop. * Removed migration for merge * Reapplied the SeriesFolder migration after merge * Refactored a check that used multiple db calls into one. * Made lots of progress on ignore support, but some confusion on underlying library. Ticket created. On hold till then. * Updated Scan Library and Scan Series to exit early if no changes are on the underlying folders that need to be scanned. * Implemented the ability to have .kavitaignore files within your directories and Kavita will parse them and ignore files and directories based on rules within them. * Fixed an issue where ignore files nested wouldn't stack with higher level ignores * Wrote out some basic code that showcases how we can scan series or library based on file events on the underlying system. Very buggy, needs lots of edge case testing and logging and dupplication checking. * Things are working kinda. I'm getting lost in my own code and complexity. I'm not sure it's worth it. * Refactored ScanFiles out to Directory Service. * Refactored more code out to keep the code clean. * More unit tests * Refactored the signature of ParsedSeries to use IList. Started writing unit tests and reworked the UpdateLibrary to work how it used to with new scan loop code (note: using async update library/series does not work). * Fixed the bug where processSeriesInfos was being invoked twice per series and made the code work very similar to old code (except loose leaf files dont work) but with folder based scanning. * Prep for unit tests (updating broken ones with new implementations) * Just some notes. Not sure I want to finish this work. * Refactored the LibraryWatcher with some comments and state variables. * Undid the migrations in case I don't move forward with this branch * Started to clean the code and prepare for finishing this work. * Fixed a bad merge * Updated signatures to cleanup the code and commit to the new strategy for scanning. * Swapped out the code with async processing of series on a small library * The new scan loop is working in both Sync and Async methods. The code is slow and not optimized. This represents a good point to start polling and applying optimizations. * Refactored UpdateSeries out of Scanner and into a dedicated file. * Refactored how ProcessTasks are awaited to allow more async * Fixed an issue where side nav item wouldn't show correct highlight and migrated to OnPush * Moved where we start to stopwatch to encapsulate the full scan * Cleaned up SignalR events to report correctly (still needs a redesign) * Remove the "remove" code until I figure it out * Put in extremely expensive series deletion code for library scan. * Have Genre and Tag update the DB immediately to avoid dup issues * Taking a break * Moving to a lock with People was successful. Need to apply to others. * Refactored code for series level and tag and genre with new locking strategy. * New scan loop works. Next up optimization * Swapped out the Kavita log with svg for faster load * Refactored metadata updates to occur when the series are being updated. * Code cleanup * Added a new type of generic message (Info) to inform the user. * Code cleanup * Implemented an optimization which prevents any I/O (other than an attribute lookup) for Library/Series Scan. This can bring a recently updated library on network storage (650 series) to fully process in 2 seconds. Fixed a bug where File Analysis was running everytime for each non-epub file. * Fixed ARM x64 builds not being able to view PDF cover images due to a bad update in DocNet. * Some code cleanup * Added experimental signalr update code to have a more natural refresh of library-detail page * Hooked in ability to send new series events to UI * Moved all scan (file scan only) tasks into Scan Queue. Made it so scheduled ScanLibraries will now check if any existing task is being run and reschedule for 3 hours, and 10 mins for scan series. * Implemented the info event in the events widget and added a clear all button to dismiss all infos and errors. Added --event-widget-info-bg-color * Remove --drawer-background-color since it's not used * When new series added, inject directly into the view. * Some debug code cleanup * Fixed up the unit tests * Ensure all config directories exist on startup * Disabled Library Watching (that will go in next build) * Ensure update for series is admin only * Lots of code changes, scan series kinda works, specials are splitting, optimizations are failing. Demotivated on this work again. * Removed SeriesFolder migration * Added the SeriesFolder migration * Added a new pipe for dates so we can provide some nicer defaults. Added folder path to the series detail. * The scan optimizations now work for NTFS systems. * Removed a TODO * Migrated all the times to use DateTime.Now and not Utc. * Refactored some repo calls to use the includes flag pattern * Implemented a check for the library scan optimization check to validate if the library was updated (type change, library rename, folder change, or series deleted) and let the optimization be bypassed. * Added another optimization which will use just folder attribute of last write time if the drive is not NTFS. * Fixed a unit test * Some code cleanup * Bump versions by dotnet-bump-version. * Misc UI Fixes (#1450) * Fixed collection cover images not rendering * added a try/catch on sending email, so we fail silently if it doesn't send. * Fixed Go Back not returning to last scroll position due to layoutmode change resetting, despite nothing changing. * Fixed a bug where when turning between pages on default mode, the height calculations could get skewed. * Fixed a missing case for card item where it wouldn't show tooltip title for series. * Bump versions by dotnet-bump-version. * New Scan Loop Fixes (#1452) * Refactored ScanSeries to avoid a lot of extra work and fixed a bug where Scan Series would invoke the processing twice. Refactored the series selection code during process such that we use Localized Name as well, for cases where the original name was changed. Undid an optimization around Last Write time, since Linux file systems match how NTFS works. * Fixed part of the query * Added a NormalizedLocalizedName for quick searching in which a series needs grouping. Reworked scan loop code a bit to ensure we don't do extra work. Tweaked the widget logic to help display better and not show "Nothing going on here". * Fixed a bug where archives with ._ files would be counted as valid files, while they are actually just metadata files on Mac's. * Fixed a broken unit test * Bump versions by dotnet-bump-version. * Simplify parent lookup with Directory.GetParent (#1455) * Simplify parent lookup with Directory.GetParent * Address comments * Bump versions by dotnet-bump-version. * Scan Loop Fixes (#1459) * Added Last Folder Scanned time to series info modal. Tweaked the info event detail modal to have a primary and thus be auto-dismissable * Added an error event when multiple series are found in processing a series. * Fixed a bug where a series could get stuck with other series due to a bad select query. Started adding the force flag hook for the UI and designing the confirm. Confirm service now also has ability to hide the close button. Updated error events and logging in the loop, to be more informative * Fixed a bug where confirm service wasn't showing the proper body content. * Hooked up force scan series * refresh metadata now has force update * Fixed up the messaging with the prompt on scan, hooked it up properly in the scan library to avoid the check if the whole library needs to even be scanned. Fixed a bug where NormalizedLocalizedName wasn't being calculated on new entities. Started adding unit tests for this problematic repo method. * Fixed a bug where we updated NormalizedLocalizedName before we set it. * Send an info to the UI when series are spread between multiple library level folders. * Added some logger output when there are no files found in a folder. Return early if there are no files found, so we can avoid some small loops of code. * Fixed an issue where multiple series in a folder with localized series would cause unintended grouping. This is not supported and hence we will warn them and allow the bad grouping. * Added a case where scan series fails due to the folder being removed. We will now log an error * Normalize paths when finding the highest directory till root. * Fixed an issue with Scan Series where changing a series' folder to a different path but the original series folder existed with another series in it, would cause the series to not be deleted. * Fixed some bugs around specials causing a series merge issue on scan series. * Removed a bug marker * Cleaned up some of the scan loop and removed a test I don't need. * Remove any prompts for force flow, it doesn't work well. Leave the API as is though. * Fixed up a check for duplicate ScanLibrary calls * Bump versions by dotnet-bump-version. * Scroll Resume (#1460) * When we navigate from a page then back, resume back on the last scroll key (if clicked) * Resume jump key position when navigating back to a page. Removed some extra blank space on collection detail when a collection doesn't have a summary or cover image. * Ignore progress events on series cards * Added a url to swagger for /, which could be reverse proxy url * Bump versions by dotnet-bump-version. * Misc UI fixes (#1461) * Misc fixes - Fixed modal being stretched when not needed. - Fixed Logo vertical align - Fixed drawer content scroll, and from it being squished due to overridden by bootstrap. * series detail cover image stretch fix - Fixes: Fixes series detail cover image being stretched on larger resolutions * fixing empty lists scrollbar * Fixing want to read error * fixing unnecessary scrollbar * Fixing recently updated tooltip * Bump versions by dotnet-bump-version. * Folder Watching (#1467) * Hooked in a server setting to enable/disable folder watching * Validated the file rename change event * Validated delete file works * Tweaked some logic to determine if a change occurs on a folder or a file. * Added a note for an upcoming branch * Some minor changes in the loop that just shift where code runs. * Implemented ScanFolder api * Ensure we restart watchers when we modify a library folder. * Fixed a unit test * Bump versions by dotnet-bump-version. * More Scan Loop Bugfixes (#1471) * Updated scan time for watcher to 30 seconds for non-dev. Moved ScanFolder off the Scan queue as it doesn't need to be there. Updated loggers * Fixed jumpbar missing * Tweaked the messaging for CoverGen * When we return early due to nothing being done on library and series scan, make sure we kick off other tasks that need to occur. * Fixed a foreign constraint issue on Volumes when we were adding to a new series. * Fixed a case where when picking normalized series, capitalization differences wouldn't stack when they should. * Reduced the logging output on dev and prod settings. * Fixed a bug in the code that finds the highest directory from a file, where we were not checking against a normalized path. * Cleaned up some code * Fixed broken unit tests * Bump versions by dotnet-bump-version. * More Scan Loop Fixes (#1473) * Added a ToList() to avoid a bug where a person could be removed from a list while iterating over the list. * When deleting a series, want to read page will now automatically remove that series from the view. * Fixed a series lookup which was ignoring format * Ignore XML comment warnings * Removed a note since it was already working that way * Fixed unit test * Bump versions by dotnet-bump-version. * Misc UI Fixes (#1477) * Tweaked a Migration to log correctly only if something is going to be done. * Refactored Reading List Controller code into a dedicated service and cleaned up some methods that aren't needed anymore. * Fixed a bug where adding a new item to a reading list wasn't adding it at the end. * Fixed an issue where collection page would re-render the same covers on multiple items. * Fixed a missing margin-top which made the page extras drawer not render correctly and hence unclosable on small screens. * Added some timeout on manage users screen to give data time to flush. Added a dedicated token log for account flows, in case url encoding plays a part (but from testing it doesn't). * Reverted back to building for ES6 instead of es2020 for old Safari 12.5.5 browsers (10MB difference in build size). * Cleaned up the logic in removing series not found during scan loop. * Tweaked the timings for Library Watcher to 1 min and reprocess queue every 30 seconds. * Bump versions by dotnet-bump-version. * Added fixes for libvips (#1479) * Bump versions by dotnet-bump-version. * Tachiyomi + Fixes (#1481) * Fixed a bootstrap bug * Fixed repeating images on collection detail * Fixed up some logic in library watcher which wasn't processing all of the queue. * When parsing non-epubs in Book library, use Manga parsing for Volume support to better support Light Novels * Fixed some bugs with the tachiyomi plugin api's for progress tracking * Bump versions by dotnet-bump-version. * Adding Health controller (#1480) * Adding Health controller - Added: Added API endpoint for a health check to streamline docker healthy status. * review comment fixes * Bump versions by dotnet-bump-version. * Simplify Folder Watcher (#1484) * Refactored Library Watcher to use Hangfire under the hood. * Support .kavitaignore at root level. * Refactored a lot of the library watching code to process faster and handle when FileSystemWatcher runs out of internal buffer space. It's still not perfect, but good enough for basic use. * Make folder watching as experimental and default it to off by default. * Revert #1479 * Tweaked the messaging for OPDS to remove a note about download role. Moved some code closer to where it's used. * Cleaned up how the events widget reports * Fixed a null issue when deleting series in the UI * Cleaned up some debug code * Added more information for when we skip a scan * Cleaned up some logging messages in CoverGen tasks * More log message tweaks * Added some debug to help identify a rare issue * Fixed a bug where save bookmarks as webp could get reset to false when saving other server settings * Updated some documentation on library watcher. * Make LibraryWatcher fire every 5 mins * Bump versions by dotnet-bump-version. * Sort series by chapter number only when some chapters have no volume (#1487) * Sort series by chapter number only when some chapters have no volume information * Implement a Default static instance of ChapterSortComparer * Further use Default static Comparers * Add missing ToLit() as per comments * SQLite Hangfire (#1488) * Update to use SQLIte for Hangfire to retain information on tasks * Updated all external links to have noopener noreferrer * When watching folders, ensure the folders exist before creating watchers. * Tweaked the messaging for Email Service and added link to the project. * Bump versions by dotnet-bump-version. * Bump versions by dotnet-bump-version. * Fixed typeahead not working correctly (#1490) * Bump versions by dotnet-bump-version. * Release Testing Day 1 (#1491) * Fixed a bug where typeahead wouldn't automatically show results on relationship screen without an additional click. * Tweaked the code which checks if a modification occured to check on seconds rather than minutes * Clear cache will now clear temp/ directory as well. * Fixed an issue where Chrome was caching api responses when it shouldn't had. * Added a cleanup temp code * Ensure genres get removed during series scan when removed from metadata. * Fixed a bug where all epubs with a volume would show as Volume 0 in reading list * When a scan is in progress, don't let the user delete the library. * Bump versions by dotnet-bump-version. * Scan Loop Last Write Time Change (#1492) * Refactored invite user flow to separate error handling on create user flow and email flow. This should help users that have unique situations. * Switch to using files to check LastWriteTime. Debug code in for Robbie to test on rclone * Updated Parser namespace. Changed the LastWriteTime to check all files and folders. * Bump versions by dotnet-bump-version. * Release Testing Day 2 (#1493) * Added a no data section to collection detail. * Remove an optimization for skipping the whole library scan as it wasn't reliable * When resetting password, ensure the input is colored correctly * Fixed setting new password after resetting, throwing an error despite it actually being successful. Fixed incorrect messaging for Password Reset page. * Fixed a bug where reset password would show the side nav button and skew the page. Updated a lot of references to use Typed version for formcontrols. * Removed a migration from 0.5.0, 6 releases ago. * Added a null check so we don't throw an exception when connecting with signalR on unauthenticated users. * Bump versions by dotnet-bump-version. * Fixed a bug where a series with a relationship couldn't be deleted. (#1495) * Bump versions by dotnet-bump-version. * Release Testing Day 3 (#1496) * Tweaked log messaging for library scan when no files were scanned. * When a theme that is set gets removed due to a scan, inform the user to refresh. * Fixed a typo and make Darkness -> Brightness * Make download theme files allowed to be invoked by non-authenticated users, to allow new users to get the default theme. * Hide all series side nav item if there are no libraries exposed to the user * Fixed an API for Tachiyomi when syncing progress * Fixed dashboard not responding to Series Removed and Added events. Ensure we send SeriesRemoved events when they are deleted. * Reverted Hangfire SQLite due to aborted jobs being resumed, when they shouldnt. Fixed some scan loop issues where cover gen wouldn't be invoked always on new libraries. * Bump versions by dotnet-bump-version. * Updating series detail cover style (#1498) # FIxed - Fixed: Fixed an issue with series detail cover when scaled down. * Bump versions by dotnet-bump-version. * v0.5.6 Release (#1499) * Bump versions by dotnet-bump-version. * Bookmark RBS + Dynamic PGO (#1503) * Allow .NET to optimize code as it's running. * Implemented the ability to restrict users Bookmark ability. By default, users will need to now opt-in to get bookmark roles. * Fixed a tachiyomi progress syncing logic bug * Bump versions by dotnet-bump-version. * Updating series detail cover (#1509) * Updating series detail cover # Fixed - Fixed: Fixed an issue where the series detail cover would resize too large on ultra wide displays. * Fixing typos * Bump versions by dotnet-bump-version. * Logging Enhancements (#1521) * Recreated Kavita Logging with Serilog instead of Default. This needs to be move out of the appsettings now, to allow auto updater to patch. * Refactored the code to be completely configured via Code rather than appsettings.json. This is a required step for Auto Updating. * Added in the ability to send logs directly to the UI only for users on the log route. Stopping implementation as Alerts page will handle the rest of the implementation. * Fixed up the backup service to not rely on Config from appsettings.json * Tweaked the Logging levels available * Moved everything over to File-scoped namespaces * Moved everything over to File-scoped namespaces * Code cleanup, removed an old migration and changed so debug logging doesn't print sensitive db data * Removed dead code * Bump versions by dotnet-bump-version. * Misc Enhancements (#1525) * Moved the data connection for the Database out of appsettings.json and hardcoded it. This will allow for more customization and cleaner update process. * Removed unneeded code * Updated pdf viewer to 15.0.0 (pdf 2.6), which now supports east-asian fonts * Fixed up some regex parsing for volumes that have a float number. * Fixed a bug where the tooltip for Publication Status wouldn't show * Fixed some weird parsing rules where v1.1 would parse as volume 1 chapter 1 * Fixed a bug where bookmarking button was hidden for admins without bookmark role (due to migration) * Unified the star rating component in series detail to match metadata filter. * Fixed a bug in the bulk selection code when using shift selection, where the inverse of what was selected would be toggled. * Fixed some old code where if on all series page, only English as a language would return. We now return all languages of all libraries. * Updated api/metadata/languages documentation * Refactored some bookmark api names: get-bookmarks -> chapter-bookmarks, get-all-bookmarks -> all-bookmarks, get-series-bookmarks -> series-bookmarks, etc. * Refactored all cases of createSeriesFilter to filterUtiltityService. Added ability to search for a series on Bookmarks page. Fixed a bug where people filters wouldn't respect the disable flag froms ettings. * Cleaned up a bit of the circular downloader code. * Implemented Russian Parsing * Fixed an issue where some users that had a missing theme entry wouldn't be able to update their user preferences. * Refactored normalization to exclude !, thus allowing series with ! to be different from each other. * Fixed a migration exit case * Fixed broken unit test * Bump versions by dotnet-bump-version. * Fixed a version issue with migration (#1526) * Bump versions by dotnet-bump-version. * Metadata Bugfixes (#1511) * Fix XML deserialization of empty elements to integers * Fix assumption that environment uses US time format * Use series name as SeriesSort in epub * Address some PR comments * Add partial Equals(0 implementation to ComicInfo * Update ComicInfo unittest. Revert previous version * Bump versions by dotnet-bump-version. * Configure Animation Module (#1504) * Configure Animation Module Configure the Animation Module of Angular to disable animation on older iOS devices (<14) where it causes animate not defined errors. * Simplified disableAnimations Removed the regex iOS version check as it seemed to return false on iOS 12.5.5 meaning that the `!('animate' in document.documentElement)` did the job already. This also allows users to enable the experimental feature Web Animations on iOS 12.5.5 to have them enabled again. as note; navigator.userAgent returned the following on an iPad iOS 12.5.5 `Mozilla/5.0 (iPad; CPU OS 12_5_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1` * added console output on disabled Added console.error if Web Animations have been disabled due to the browser not supporting this. * Bump versions by dotnet-bump-version. * Reader Bugs + New Features (#1536) * Updated a typo in manage tasks of Reoccuring -> Recurring * Fixed a bug in MinimumNumberFromRange where a regex wasn't properly constructed which could skew results. * Fixed a bug where Volume numbers that were a float wouldn't render correctly in the manga reader menu. * Added the ability to double click on the image to bookmark it. Optimized the bookmark and unbookmark flows to remove 2 DB calls and reworked some flow of calls to speed it up. Fixed some logic where when using double (manga) flow, both of the images wouldn't show the bookmark effect, despite both of them being saved. Likewise, fixed a bug where both images weren't updating UI state, so switching from double (manga) to single, the second image wouldn't show as bookmarked without a refresh. * Double click works perfectly for bookmarking * Collection cover image chooser will now prompt with all series covers by default. Reset button is now moved up to the first slot if applicable. * When a Completed series is fully read by a user, a nightly task will now remove that series from their Want to Read list. * Added ability to trigger Want to Read cleanup from Tasks page. * Moved the brightness readout to the label line and fixed a bootstrap migration bug where small buttons weren't actually small. * Implemented ability to filter against release year (min or max or both). * Fixed a log message that wasn't properly formatted when scan finished an no files changes. * Cleaned up some code and merged some methods * Implemented sort by Release year metadata filter. * Fixed the code that finds ComicInfo.xml inside archives to only check the root and check explicitly for casing, so it must be ComicInfo.xml. * Dependency updates * Refactored some strings into consts and used TriggerJob rather than just enqueuing * Fixed the prefetcher which wasn't properly loading in the correct order as it was designed. * Cleaned up all traces of CircularArray from MangaReader * Removed a debug code * Fixed a bug with webtoon reader in fullscreen mode where continuous reader wouldn't trigger * When cleaning up series from users' want to read lists, include both completed and cancelled. * Fixed a bug where small images wouldn't have the pagination area extend to the bottom on manga reader * Added a new method for hashing during prod builds and ensure we always use aot * Fixed a bug where the save button wouldn't enable when color change occured. * Cleaned up some issues in one of contributor's PR. * Bump versions by dotnet-bump-version. * Misc Polish and Fixes (#1542) * Moved LibraryWatcher to utilize a queue for calculating the change event to ensure the Watcher doesn't get overwhelmed on large moves. * Fixed a security vulnerability (https://huntr.dev/bounties/8a3e652f-d6bf-436e-877e-0eaf5c69ef95/). This will be disclosed in Stable release changelog. * Tweaked the log message template * Removed some dead code from Configuration json patcher * Fixed a bug with the ComicInfo finding to properly handle root level. Fixed a bug where sometimes scanner wouldn't choose the first file with ComicInfo for filling out information. * Added new setting for managing how many logs files are allowed, just like how backups work. * Added unit tests for new CleanupLogs code * Fixed a bug where manga reader background color wasn't actually sending from the UI * Added new stats for tracking to help understand usage in the app and what features are used or not. * Fixed Stats url * Fixed a bug where volumes that had larger than 1 difference wouldn't properly return next/prev chapter (for continuous reader) * Remove a redundant test step in build pipeline, since it's already done at PR stage. * Updated dockerfile to use the new Heath check endpoint * Allow force to pass through to scan loop * Removed some old config stuff from a safety check on config in entrypoint.sh * Fixed broken unit tests due to new RBS check and how we setup mock data. * Bump versions by dotnet-bump-version. * Removed some debug code (#1543) * Bump versions by dotnet-bump-version. * Parser optimization part1 (#1531) * Optimize CleanTitle * Optimize MangaEditionRegex * Optimize special regexes * Refactor manga|comic special parsing into simple tests * Word bind the special regexps. Support additional "special" use cases. * Updates to address PR comments * CleanTitle benchmarking * Use a smaller Comics Data set for benchmarking * Bump versions by dotnet-bump-version. * Tachiyomi unit tests and fixes (#1549) * Moved logic from TachiyomiController.cs to TachiyomiService.cs * Added GetLatestChapter Unit Tests * Tachiyomi more tests. Implemented test for yearly volumes * MarkVolumesUntilAsRead unit test * Registered tachiyomi service. Added new test * Fixed test pages * Added missing check if its single-file volume * Removed dead code * Added method documentation and breaked thousands with `_` * Review details and renamed test method to be more descriptive * Review changes - Removed automapper - Added spaces after commas - Added class documentation (copied from controller) - Made Culture static - Added 'R' doc linking to docs.ms - Added trycatch to service when saving progress and logged - Removed redundant qualifiers * finishing touches Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com> * Bump versions by dotnet-bump-version. * Folder Watching Polish + Epub Fix (#1550) * Fixed entrypoint writing bad json (from develop) * Fixed a bug where log file could write out a crap ton of information (serializing Series object) when a db error occurs. * Fixed an issue with scan loop where concurrency issues could occur on new series being added. * Tweaked the logger to suppress some noisy logs when using Debug log level. * Fixed a regression with epub parsing from v3.2 of Vers-One's release * Fixed up folder watching to work more reliable. Validated in production. * Code cleanup * Bump versions by dotnet-bump-version. * Fallback to other locations when ComicInfo.xml not at root of archive (#1551) * Fallback to other locations when ComicInfo.xml not at root of archive * Better ComicInfo test coverage and benchmarks * Add a rar archive to the ComicInfo test cases * Bump versions by dotnet-bump-version. * Series title word wrapping (#1519) * Added text-break class to series title. Simply added the class text-break from bootstrap to break on words. https://getbootstrap.com/docs/5.0/utilities/text/#word-break This has no issue with languages that do not or rarely use spaces, such as japanese and chinese. Used the following two series names to test; - 今まで一度も女扱いされたことがない女騎士を女扱いする漫画 - Imamade Ichido mo Onnaatsukai sareta Koto ga Nai Onna Kishi wo Onnaatsukai suru * Added text-break class to localized title Also added the text-break bootstrap class to the localized title, removed the word-break rule from css as it is redundant. * Enclosed LibraryName with span Enclosed {{libraryName}} with a span to remove the added space before the title, aligning it again with the start of the subtitle. This mimics series-detail-component.html * Bump versions by dotnet-bump-version. * Nested Menus (#1554) * added initial submenu * added submenu - needs a bit of more work * removed admin and nonadmin action split * the whole menu is build under the resetactions function * removed download from seriesAction * changed submenu layout changed submenu toggle icon fix for the hovering of submenu toggle * moved the cdMarkForCheck in the subscribe block * Bump versions by dotnet-bump-version. * Send To Device Support (#1557) * Tweaked the logging output * Started implementing some basic idea for devices * Updated Email Service with new API routes * Implemented basic DB structure and some APIs to prep for the UI and flows. * Added an abstract class to make Unit testing easier. * Removed dependency we don't need * Updated the UI to be able to show devices and add new devices. Email field will update the platform if the user hasn't interacted with it already. * Added ability to delete a device as well * Basic ability to send files to devices works * Refactored Action code to pass ActionItem back and allow for dynamic children based on an Observable (api). Hooked in ability to send a chapter to a device. There is no logic in the FE to validate type. * Fixed a broken unit test * Implemented the ability to edit a device * Code cleanup * Fixed a bad success message * Fixed broken unit test from updating mock layer * Bump versions by dotnet-bump-version. * Fixed a bug where when no devices, the submenu item would still render. (#1558) * Bump versions by dotnet-bump-version. * Extended Korean Filename Parsing Support (#1556) * Added Some Korean Volume Matches * Fixed Typo And Added Test Cases * Restore Chapter Decimal Support * Added Decimal Volume Support to -권, -화, -회 and -장 Merged -권 Pattern to -화, -회, -장 Pattern Added Decimal Test to ParseVolumeTest * Grouped Korean Tests * Fixed Regexp Comment * Bump versions by dotnet-bump-version. * Disable Animations + Lots of bugfixes and Polish (#1561) * Fixed inputs not showing inline validation due to a missing class * Fixed some checks * Increased the button size on manga reader (develop) * Migrated a type cast to a pure pipe * Sped up the check for if SendTo should render on the menu * Don't allow user to bookmark in bookmark mode * Fixed a bug where Scan Series would skip over Specials due to how new scan loop works. * Fixed scroll to top button persisting when navigating between pages * Edit Series modal now doesn't have a lock field for Series, which can't be locked as it is inheritently locked. Added some validation to ensure Name and SortName are required. * Fixed up some spacing * Fixed actionable menu not opening submenu on mobile * Cleaned up the layout of cover image on series detail * Show all volume or chapters (if only one volume) for cover selection on series * Don't open submenu to right if there is no space * Fixed up cover image not allowing custom saves of existing series/chapter/volume images. Fixed up logging so console output matches log file. * Implemented the ability to turn off css transitions in the UI. * Updated a note internally * Code smells * Added InstallId when pinging the email service to allow throughput tracking * Bump versions by dotnet-bump-version. * Auth Email Rework (#1567) * Hooked up Send to for Series and volumes and fixed a bug where Email Service errors weren't propagating to the UI layer. When performing actions on series detail, don't disable the button anymore. * Added send to action to volumes * Fixed a bug where .kavitaignore wasn't being applied at library root level * Added a notification for when a device is being sent a file. * Added a check in forgot password for users that do not have an email set or aren't confirmed. * Added a new api for change email and moved change password directly into new Account tab (styling and logic needs testing) * Save approx scroll position like with jump key, but on normal click of card. * Implemented the ability to change your email address or set one. This requires a 2 step process using a confirmation token. This needs polishing and css. * Removed an unused directive from codebase * Fixed up some typos on publicly * Updated query for Pending Invites to also check if the user account has not logged in at least once. * Cleaned up the css for validate email change * Hooked in an indicator to tell user that a user has an unconfirmed email * Cleaned up code smells * Bump versions by dotnet-bump-version. * Misc Polish (#1569) * Introduced a lock for DB work during the scan to hopefully reduce the concurrency issues * Don't allow multiple theme scans to occur * Fixed bulk actions not having all actions due to nested actionable menu changes * Refactored the Scan loop to be synchronous to avoid any issues. After first loop, no real performance issues. * Updated the LibraryWatcher when under many internal buffer full issues, to suspend watching for a full hour, to allow whatever downloading to complete. * Removed Semaphore as it's not needed anymore * Updated the output for logger to explicitly say from Kavita (if you're pushing to Seq) * Fixed a broken test * Fixed ReleaseYear not populating due to a change from a contributor around how to populate ReleaseYear. * Ensure when scan folder runs, that we don't double enqueue the same tasks. * Fixed user settings not loading the correct tab * Changed the Release Year -> Release * Added more refresh hooks in reader to hopefully ensure faster refreshes * Reset images between chapter loads to help flush image faster. Don't show broken image icon when an image is still loading. * Fixed the prefetcher not properly loading the correct images and hence, allowing a bit of lag between chapter loads. * Code smells * Bump versions by dotnet-bump-version. * Scan Loop Fixes (#1572) * Cleanup some messaging in the scan loop to be more context bearing * Added Response Caching to Series Detail for 1 min, due to the heavy nature of the call. * Refactored code to make it so that processing of series runs sync correctly. Added a log to inform the user of corrupted volume from buggy code in v0.5.6. * Moved folder watching out of experimental * Fixed an issue where empty folders could break the scan loop * Another fix for when dates aren't valid, the scanner wouldn't get the proper min and would throw an exception (develop) * Implemented the ability to edit release year from the UI for a series. * Added a unit test for some new logic * Code smells * Bump versions by dotnet-bump-version. * Scan Loop Fortification (#1573) * Cleanup some messaging in the scan loop to be more context bearing * Added Response Caching to Series Detail for 1 min, due to the heavy nature of the call. * Refactored code to make it so that processing of series runs sync correctly. Added a log to inform the user of corrupted volume from buggy code in v0.5.6. * Moved folder watching out of experimental * Fixed an issue where empty folders could break the scan loop * Another fix for when dates aren't valid, the scanner wouldn't get the proper min and would throw an exception (develop) * Implemented the ability to edit release year from the UI for a series. * Added a unit test for some new logic * Code smells * Rewrote the handler for suspending watching to be more resilient and ensure no two threads have a race condition. * More error handling for when a ScanFolder is invoked but multiple series belong to that folder, log it to the user and default to a library scan. * ScanSeries now will check for kavitaignores higher than it's own folder and respect library level. * Fixed an issue where image series with a folder name containing the word "folder" could get ignored as it thought the image was a cover image. When a series folder is moved or deleted, skip parent ignore finding. * Removed some old files, added in scanFolder a check if the series found for a folder is in a book library and if so to always do a library scan (as books are often nested into one folder with multiple series). Added some unit tests * Refactored some scan loop logic into ComicInfo, wrote tests and updated some documentation to make the fields more clear. * Added a test for GetLastWriteTime based on recent bug * Cleaned up some redundant code * Fixed a bad merge * Code smells * Removed a package that's no longer used. * Ensure we check against ScanQueue on ScanFolder enqueuing * Documentation and more bullet proofing to ensure Hangfire checks work more as expected * Bump versions by dotnet-bump-version. * Restricted Profiles (#1581) * Added ReadingList age rating from all series and started on some unit tests for the new flows. * Wrote more unit tests for Reading Lists * Added ability to restrict user accounts to a given age rating via admin edit user modal and invite user. This commit contains all basic code, but no query modifications. * When updating a reading list's title via UI, explicitly check if there is an existing RL with the same title. * Refactored Reading List calculation to work properly in the flows it's invoked from. * Cleaned up an unused method * Promoted Collections no longer show tags where a Series exists within them that is above the user's age rating. * Collection search now respects age restrictions * Series Detail page now checks if the user has explicit access (as a user might bypass with direct url access) * Hooked up age restriction for dashboard activity streams. * Refactored some methods from Series Controller and Library Controller to a new Search Controller to keep things organized * Updated Search to respect age restrictions * Refactored all the Age Restriction queries to extensions * Related Series no longer show up if they are out of the age restriction * Fixed a bad mapping for the update age restriction api * Fixed a UI state change after updating age restriction * Fixed unit test * Added a migration for reading lists * Code cleanup * Bump versions by dotnet-bump-version. * Misc Bugfixes (#1582) * Fixed a bug with RBS on non-admin accounts * Fixed a bug where get next/prev chapter wouldn't respect floating point volume numbers * Fixed a bad migration version check * When building kavita ignore exclusions, ignore blank lines. * Hooked up the GetFullSeriesByAnyName to check against OriginalName exactly * Refactored some code for building ignore from library root, to keep the code cleaner * Tweaked some messaging * Fixed a bad directory join when a change event occurs in a nested series folder. * Fixed a bug where cover generation would prioritize a special if there were only chapters in the series. * Fixed a bug where you couldn't update a series modal if there wasn't a release year present * Fixed an issue where renaming the Series in Kavita wouldn't allow ScanSeries to see the files, and thus would delete the Series. * Added an additional check with Hangfire to make sure ScanFolder doesn't kick off a change when a bunch of changes come through for the same directory, but a job is already running. * Added more documentation * Migrated more response caching to profiles and merged 2 apis into one, since they do the same thing. * Fixed a bug where NotApplicable age ratings were breaking Recently Updated Series * Cleaned up some cache profiles * More caching * Provide response caching on Get Next/Prev Chapter * Code smells * Bump versions by dotnet-bump-version. * New Series Relation - Edition (#1583) * Moved UpdateRelatedSeries from controller to SeriesService.cs * Added 2 tests. - UpdateRelatedSeries_ShouldDeletePrequelRelation - UpdateRelatedSeries_ShouldNotAllowDuplicates * Some docs and codestyle nitpicks * Simplified tests and made easier to read * Added 'Editions' series relation * Missing code to properly show the relations in the UI * Create Service for GetRelatedServices * Added unit test. Assert Edition, Prequel and Sequel do not return parent while others do * fixed missing userRating * Add requested changes: - Rename one test - Split one test into two tests * Bump versions by dotnet-bump-version. * Release Polish (#1586) * Fixed a scaling issue in the epub reader, where images could scale when they shouldn't. * Removed some caching on library/ api and added more output for a foreign key constraint * Hooked in Restricted Profile stat collection * Added a new boolean on age restrictions to explicitly allow unknowns or not. Since unknown is the default state of metadata, if users are allowed access to Unknown, age restricted content could leak. * Fixed a bug where sometimes series cover generation could fail under conditions where only specials existed. * Fixed foreign constraint issue when cleaning up series not seen at end of scan loop * Removed an additional epub parse when scanning and handled merging differently * Code smell * Bump versions by dotnet-bump-version. * Release Shakeout Day 1 (#1591) * Fixed an issue where reading list were not able to update their summary due to a duplicate title check. * Misc code smell cleanup * Updated .net dependencies and removed unneeded ones * Fixed an issue where removing a series from want to read list page wouldn't update the page correctly * Fixed age restriction not applied to Recommended page * Ensure that Genres and Tags are age restricted gated * Persons are now age gated as well * When you choose a cover, the new cover will properly be selected and will focus on it, in the cases there are many other covers available. * Fixed caching profiles * Added in a special hook when deleting a library to clear all series Relations before we delete * Bump versions by dotnet-bump-version. * Release Shakeout Day 2 (#1594) * Fixed a bad color on the PWA titlebar * Added more unit tests, cleaned up some dead code, and made it so when age restriction is Not Applicable, the Unknowns field disables * Don't show an empty menu when user has no permissions * Fixed deleting a library with relation causing library deleting to fail * Consolidated some includes code into one method for Series Repo * Small fixes * Bump versions by dotnet-bump-version. * Release Shakeout 3 (#1597) * Fixed a bug where bulk selection on series detail wouldn't allow you to select the whole card, only the checkbox. * Refactored the implementation of MarkChaptersAsRead to streamline it. * Fixed a bug where volume cards weren't properly updating their read state based on events from backend. * Added [ScannerService] to more loggers * Fixed invite user flow * Fixed broken edit user flow * Fixed calling device service on unauthenticated screens causing redirection * Fixed reset password via email not working when success message was sent back * Fixed broken white theme on book reader * Small tweaks to white theme * More fixes * Adjusted AutomaticRetries * Bump versions by dotnet-bump-version. * UI Polish (#1599) * Make the positioning of "Library | Recommended" consistent * Fix reading lists not navigating back to their library after deletion * Bump versions by dotnet-bump-version. * Release Shakeout 4 (#1600) * Fixed a bug where bulk selection on series detail wouldn't allow you to select the whole card, only the checkbox. * Refactored the implementation of MarkChaptersAsRead to streamline it. * Fixed a bug where volume cards weren't properly updating their read state based on events from backend. * Added [ScannerService] to more loggers * Fixed invite user flow * Fixed broken edit user flow * Fixed calling device service on unauthenticated screens causing redirection * Fixed reset password via email not working when success message was sent back * Fixed broken white theme on book reader * Small tweaks to white theme * More fixes * Adjusted AutomaticRetries * When an auth change occures, reset the devices in service so devices don't leak between profiles * Fixed a bug where sendTo for series wasn't properly taking into account specials (on series detail page) * Drop down how long series detail caches for to prevent signalr updates from refreshing the UI * Close submenus when hovering over other items, not just other submenus * Fixed a bug where scanning for themes would always report theme didn't exist * Added Hangfire.db back in * Fixed a bad build * Bump versions by dotnet-bump-version. * Fixed column layout on multiple components for the user settings (#1602) #Fixed - Fixed: Fixed an issue where the controls would extend outside of the container on the user account preferences page. * Bump versions by dotnet-bump-version. * v0.6 Release (#1603) Co-authored-by: tjarls <tjarls@gmail.com> Co-authored-by: Robbie Davis <robbie@therobbiedavis.com> Co-authored-by: Chris Plaatjes <kizaing@gmail.com> Co-authored-by: Ocgineer <rvanbeek1@gmail.com> Co-authored-by: ThePromidius <thepromidiusyt@gmail.com> Co-authored-by: Korakot Santiudommongkol <47130579+KorakotSanti@users.noreply.github.com> Co-authored-by: DeltaLaboratory <delta@deltalab.dev> Co-authored-by: TheIceCreamTroll <33820904+TheIceCreamTroll@users.noreply.github.com> |
||
|
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 |
||
|
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 |
||
|
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> |
||
|
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. |
||
|
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> |
||
|
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 |
||
|
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> |
||
|
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. |
||
|
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. |
||
|
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) |
||
|
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 |
||
|
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> |
||
|
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. |
||
|
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 |
||
|
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 |
||
|
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) | ||
|
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 |
||
|
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 |
||
|
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 |
||
|
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. |
||
|
6e1b227e65
|
Transaction Support (#309)
* Added transactions to UnitOfWork and refactored code to use it. * This included blank UI fix from Kavita-webui |
||
|
8b1fbc0096
|
Implemented Dark Mode (#203) | ||
|
2be1630af3
|
Tap to Paginate User Pref (#197)
* Fixed In Progress and removed comments * Tap to Paginate user setting is implemented. Fixes #193 |
||
|
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 |
||
|
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. | ||
|
14e8c3b820 | Fixed some APIs that worked mins ago....something strange happening with EF relationships. | ||
|
26660a9bb3 | Further cleanup. Moved BackgroundJob Task enqueues into TaskScheduler, so I can have complete control via one interface. | ||
|
825afd83a2 | Removed some dead code on the interfaces. Introduced UnitOfWork to simplify repo injection. | ||
|
effdf07cef | Very messy code that implements read status tracking. Needs major cleanup. | ||
|
7b1714349d | Refactored ScanLibrary to accept and library id rather than DTO. Refactored ScanLibrary to use Task.Run() rather than having synchronous repo methods. | ||
|
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. |
||
|
55a44000fc | Changed scan to POST and added new API for route gurads on UI. | ||
|
fa71a40990 | Fixed warnings in code | ||
|
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. |
||
|
8c80ed090d | Added basic parsing and unit tests. Setting up an intermediate object to hold information from parser. Removed hangfire db from git. | ||
|
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. | ||
|
2d066ea36c | Fixing sonar code quality recommendations | ||
|
a40bc9e9f7 | Added Policy for getUsers and moved some APIs. | ||
|
8156aeb495 | Some api work | ||
|
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. | ||
|
d5eed4e85d | Lots of changes to get code ready to add library. | ||
|
13ed323949 | Added new API for getting Member (aka Users but for use in FE). User is just used for login/registering. |