* Updated ngx-virtual-scroller
* Removed the karma test config as it's breaking migration
* Reverted to pre angular 15
* Upgraded packages and reverted target to ES6 for older devices
* It's broken. Need to also find the safari version for old Ipads
* Fixes some code in default pipe and many updates to packages. Removed support for old iOS versions as it restricted Kavita from using newer features. Build still broken.
* More progress in getting build working on Angular 15. Removed polyfills.ts for new angular config
* Remove all.css for icons and use scss instead
* Removed stuff that isn't needed
* Migrated extended linting to eslint, ran on project and updated issues. Removed a duplicate component that did nothing. Fixed a few places where lifecycle hooks werent being called as interface wasn't implemented.
* App builds correctly. Source maps are still needed.
* Fixed source maps and removed more testing stuff. I will re-add later in another release when I figure out how to properly tackle dependencies on backend.
* Reverted back to old source map definition
* Don't show "not much going on" when we are actively downloading
* Swipe to paginate is now behind a flag in the user preferences.
* Added a new server setting for host name, if the server sits behind a reverse proxy. If this is set, email link generation will use it and will not perform any checks on accessibility (thus email will always send)
* Refactored the code that checks if the server is accessible to check if host name is set, and thus return rue if so.
* Added back the system drawing library for markdown parsing.
* Fixed a validation error
* Fixed a bug where folder watching could get re-triggered when it was disabled at a server level.
* Made the manga reader loader absolute positioned for better visibility
* Indentation
* Updated theme support to be able to customize the tile color dynamically from a theme via --tile-color. In addition, --theme-color will update apple-mobile-web-app-status-bar-style as well as the non-apple variants
* Removed --manga-reader-bg-color as it wasn't used anywhere. Fixed double pagination on swipe.
* Cleaned up some dead threshold code for swipe.
* Started refactoring tests to use an abstract test class. Stopping because I should do on the .net 7 branch to avoid large merge conflicts. Tests need to be re-designed so they can run in parallel.
* Fixed a bug in reading lists where when deleting an item, order could be miscalculated.
* Started adding new information for stat service. Refactored time spent reading to be more accurate by taking average time against how much of the chapter the user has read.
* Hooked up total time reading at server stat level. Don't show fancy graphs on mobile.
* Added new stats for v0.7
* Added a test for Clearing want to read
* Fixed a few tests that weren't resetting state between runs
* Fixed some broken unit tests
* Ensure all Series queries sort by a case invariant string.
* Added more aggressive caching of images. This will result in a min delay on pages after a cover is changed.
* Fixed a bug where if during new word count calculation, new word count is zero, restoring the old count wasn't working.
* Cleaned up some of the code for getting time estimates
* Fixed a bug where triggering swipe right wasn't working when there was no scroll
* Delete the temp folder for creating a download after a full zip is created.
* Fixed a bug where when clicking on a series rating for first time, the rating wasn't populating in the modal.
* Fixed a bug on Scroll mode with immersive mode, the bottom bar could clip with the book body.
* Cleanup some uses of var
* Refactored text as json into a type so I don't have to copy/paste everywhere
* Theme styles now override the defaults and theme owners no longer need to maintain all the variables themselves.
Themes can now override the color of the header on mobile devices via --theme-color and Kavita will now update both theme color as well as color scheme.
* Fixed a bug where last active on user stats wasn't for the particular user.
* Added a more accurate word count calculation and the ability to see the word counts year over year.
* Added a new table for long term statistics, like number of files over the years. No views are present for this data, I will add them later.
* Fixed a loading indicator that is always on
* Started to add swipe directive
* Implemented the ability to swipe to navigate pages in manga reader.
* Swipe to paginate seems to be working reliably
* Removed a bunch of junk from csproj and added a debug menu for testing on phone to smooth out experience.
* Fixed a bug where reading list detail wouldn't render the set image of the reading list.
* Added some instructions and code to allow connecting to dev instance easier.
* Fixed up paging with keyboard where to ensure that when we hit the end of the scroll, we don't go to the next page instantly, but rather make the user press the key once more.
* Fixed reading list image not properly renderering on reading list detail page.
* Solved the swiping bug, need to play with threshold again.
* Swipe is now working. Need to decide if I'm going to support reversing the direction with reading direction.
* Hooked up swipe with reading direction code
* Cleaned up some direction code to align to a new enum
* Feature complete
* Instead of augmenting prefetcher to move across chapter bounds, let's try to instead just load 5 images (which the browser will cache) from next/prev so when it loads, it's much faster.
* Trialing loading next/prev chapters 5 pages to have better next page loading experience.
* Tweaked GetChapterInfo API to actually apply conditional includeDimensions parameter.
* added a basic language file for upcoming work
* Moved the bottom menu up a bit for iOS devices with handlebars.
* Fixed fit to width on phones still having a horizontal scrollbar
* Fixed a bug where there is extra space under the image when fit to width and on a phone due to pagination going to far.
* Changed which variable we use for right pagination calculation
* Fixing fit to height
- Fixing height calc to account for horizontal scroll bar height.
* Added a comment for the height scrollbar fix
* Adding screenfull package
# Added:
- Added screenfull package to handle cross-platform browser fullscreen code
# Removed:
- Removed custom fullscreen code
* Fixed a bug where switching from webtoon reader to other layout modes wouldn't render anything. Webtoon continuous scroll down is now broken.
* Fixed it back to how it was and all is good. Need to call detectChanges explicitly.
* Removed an additional undeeded save progress call on loadPage
* Laid out the test case to move the page snapping to the backend with full unit tests. Current code is broken just like UI layer.
* Refactored the snap points into the backend and ensure that it works correctly.
* Fixed a broken unit test
* Filter out spammy hubs/messages calls in the logs
* Swallow all noisy messages that are from RequestLoggingMiddleware when the log level is on Information or above.
* Added a common loading component to the app. Have yet to refactor all screens to use this.
* Bump json5 from 2.2.0 to 2.2.3 in /UI/Web
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3)
---
updated-dependencies:
- dependency-name: json5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Alrigned all the loading messages and styles throughout the app
* Webtoon reader will use max width of all images to ensure images align well.
* On Original scaling mode, users can use the keyboard to scroll around the images without pagination kicking off.
* Removed console logs
* Fixed a public vs private issue
* Fixed an issue around some cached files getting locked due to NetVips holding them during file size calculations.
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Added PUID, PGID and KAVITAUSER variable support in entrypoint.sh
* Update the setting of ownership to avoid changing library files
* Default to run as root, using user kavita if alternate UID/GID are provided
* Only chown config folder and only if needed
* Revert chmod on Kavita
Co-authored-by: Muggz <mug@passw0rd.org>
* Added ability to click on genres, tags, and people to view all items in a modal.
* Made it so we can click and open a filtered search from generic list
* Fixed broken epub pagination area due to a typo in a query selector
* Added day breakdown, wrapping up stats
* Fixed a bug on bookmark mode not finding correct image for prefetcher.
* Fixed up the edit series relationship modal on tablet viewports.
* On double page mode, only bookmark 1 page if only 1 pages is renderered on screen.
* Added percentage read of a given library and average hours read per week to user stats.
* Fixed a bug in the reader with paging in bookmark mode
* Added a "This Week" option to top readers history
* Added date ranges for reading time. Added dates that don't have anything, but might remove.
* On phone, when applying a metadata filter, when clicking apply, collapse the filter automatically.
* Disable jump bar and the resuming from last spot when a custom sort is applied.
* Ensure all Regex.Replace or Matches have timeouts set
* Fixed a long standing bug where fit to height on tablets wouldn't center the image
* Streamlined url parsing to be more reliable
* Reduced an additional db query in chapter info.
* Added a missing task to convert covers to webP and added messaging to help the user understand to run it after modifying the setting.
* Changed OPDS to be enabled by default for new installs. This should reduce issues with users being confused about it before it's enabled.
* When there are multiple files for a chapter, show a count card on the series detail to help user understand duplicates exist. Made the unread badge smaller to avoid collision.
* Added Word Count to user stats and wired up average reading per week.
* Fixed word count failing on some epubs
* Removed some debug code
* Don't give more information than is necessary about file paths for page dimensions.
* Fixed a bug where pagination area would be too small when the book's content was less that height on default mode.
* Updated Default layout mode to Scroll for books.
* Added bytes in the UI and at an API layer for CDisplayEx
* Don't log health checks to logs at all.
* Changed Word Count to Length to match the way pages work
* Made reading time more clear when min hours is 0
* Apply more aggressive coalescing when remapping bad metadata keys for epubs.
* Changed the amount of padding between icon and text for side nav item.
* Fixed a NPE on book reader (harmless)
* Fixed an ordering issue where Volume 1 was a single file but also tagged as Chapter 1 and Volume 2 was Chapter 0. Thus Volume 2 was being selected for continue point when Volume 1 should have been.
* When clicking on an activity stream header from dashboard, show the title on the resulting page.
* Removed a property that can't be animated
* Fixed a typeahead typescript issue
* Added Size into Series Info and Added some tooltip and spacing changes to better explain some fields.
* Added size for volume drawers and cleaned up some date edge case handling
* Fixed an annoying bug where when on mobile opening a view with a metadata filter, Kavita would open the filter automatically.
* Fixed a bug on bookmark mode not finding correct image for prefetcher.
* Fixed up the edit series relationship modal on tablet viewports.
* On double page mode, only bookmark 1 page if only 1 pages is renderered on screen.
* Added percentage read of a given library and average hours read per week to user stats.
* Fixed a bug in the reader with paging in bookmark mode
* Added a "This Week" option to top readers history
* Added date ranges for reading time. Added dates that don't have anything, but might remove.
* On phone, when applying a metadata filter, when clicking apply, collapse the filter automatically.
* Disable jump bar and the resuming from last spot when a custom sort is applied.
* Ensure all Regex.Replace or Matches have timeouts set
* Auto scale reading timeline
* Added benchmarks for SharpImage and NetVips. When an epub has a malformed page, catch the error and present it better to the user.
* Added a hint for an upcoming feature
* Slightly sped up word count for epubs
* Added one more test to reflect actual code.
* Some light cleanup
* Use compact number for stat lists
* Fixed brightness being broken on manga reader
* Replaced CoverToWebP SharpImage version with NetVips which is MUCH lighter on memory and CPU.
* Added last modified on the progress dto for CdDisplayEx.
* Code cleanup
* Forgot one cleanup
* Added new stat graph for pages read over time for all users.
* Switched to reading events rather than pages read to get a better scale
* Changed query to use Created date as LastModified wont work since I just did a migration on all rows.
* Small cleanup on graph
* Read by day completed and ready for user stats page.
* Changed the initial stat report to be in 1 day, to avoid people trying and ditching the software from muddying up the stats.
* Cleaned up stats page such that stats around series show their image and tweaked some layout and wordings
* Fixed recently read order
* Put read history on user profile
* Final cleanup, Robbie needs to do a CSS pass before release.
* Fixed resizing or layout changes causing page change on double reader
* Implemented the debug log pattern on double renderers. Fixed a case when navigation backwards and showing only one page. Updated so go to page or slider update will handle selecting the right page number for pair display.
* All Spread cases for double working
* Cleanup dead code
* Ensure we can jump to last page
* Updated swiper and some packages for reported security issues
* Fixed reading lists promotion not working
* Refactor RenameFileForCopy to use iterative recursion, rather than functional.
* Ensured that bookmarks are fetched and ordered by Created date.
* Fixed a bug where bookmarks were coming back in the correct order, but due to filenames, would not sort correctly.
* Default installs to Debug log level given errors users have and Debug not being too noisy
* Added jumpbar to bookmarks page
* Now added jumpbar to bookmarks
* Refactored some code into pipes and added some debug messaging for prefetcher
* Try loading next and prev chapter's first/last page to cache so it renders faster
* Updated GetImage to do a bound check on max page.
Fixed a critical bug in how manga reader updates image elements src to prefetch/load pages. I was not creating a new reference which broke Angular's ability to update DOM on changes.
* Refactored the image setting code to use a single method which tries to use a cached image always.
* Refactored code to use getPage which favors cache and simplifies image creation code
* Started the work to split the canvas renderer into it's own component
* Refactored a lot of common methods into a service for the reader to support the upcoming renderer split
* Moved components to nested folder. Refactored more code to streamline image sending to child renderer.
Added notes across the code to help streamline flow of data and who owns what.
* Swapped out SQLite for Memory, but the one from hangfire. Added DisableConcurrentExecution on ProcessChange to avoid duplication when multiple threads execute at once.
* Basic split right to left is working with canvas renderer
* Left to right and right to left now work
* Fixed a bug where pagesplitoption wasn't being updated when modifying menu
* Canvas rendering still has a bug with switching between right to left -> left to right on the re-render, it will choose a bad state. All else works fine with it.
* Updated canvas renderer to implement the ImageRenderer interface
* Canvas renderer is done
* Setup single renderer. Need to figure out how to share CSS between renderers and also share some global stuff, like image height.
* Refactored code so that image-container is within the renderers themselves. Still broken in scaling, but working towards a solution.
* Added double click to shortcut menu
* Moved image containers within the renderers
* Pushing up for Robbie
* nothing new
* Move common css to a single scss file
* More css consolidation
* Fixed a npe in isWideImage
* Refactored page updates to renderers to include max pages. Rewrote most of renderer into observables.
* Moved bookmark for second page to double renderer
* Started hooking in double renderer renderPage()
* Fixed height scaling, but now canvas renderer is broken again
* Fixed a bug with canvas renderer not moving to next page. Streamlined the code for getting page amounts from the dfferent renderers
* Added double click to bookmark for canvas
* Stashing the code and taking a break
* Nothing much, buffer is still broken
* Got double renderer to render at least one page
* Double renderer now has access to 5 images at any time, so it can make appropriate decisions on when to render double pages.
* Fixed up double rendererer moving backward page calc
* Forward logic seems to be working
* Cleaned up dead code after testing
* Moved a few loggers in folder watching to trace
* Everything seems to work fine, time to do double manga renderer
* Moved some css around and added the reverse double component
* Only execute renderer's pipes when in the correct mode
* Still working on double renderer
* Fixed scaling issues on double
* Updating double logic
- Fixed: Fixed an issue where a second page would render when current page was wide.
* Hooked up double renderer
* Made changes but not sure if im making progress
* double manga fixes
* Claned some of robbies code
* Fixing last page bug
* Library Settings Modal + New Library Settings (#1660)
* Bump loader-utils from 2.0.3 to 2.0.4 in /UI/Web
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v2.0.3...v2.0.4)
---
updated-dependencies:
- dependency-name: loader-utils
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Fixed want to read button on series detail not performing the correct action
* Started the library settings. Added ability to update a cover image for a library.
Updated backup db to also copy reading list (and now library) cover images.
* Integrated Edit Library into new settings (not tested) and hooked up a wizard-like flow for new library.
* Fixed a missing update event in backend when updating a library.
* Disable Save when form invalid. Do inline validation on Library name when user types to ensure the name is valid.
* Trim library names before you check anything
* General code cleanup
* Implemented advanced settings for library (include in dashboard, search, recommended) and ability to turn off folder watching for individual libraries.
Refactored some code to streamline perf in some flows.
* Removed old components replaced with new modal
* Code smells
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump versions by dotnet-bump-version.
* UX Alignment and bugfixes (#1663)
* Refactored the design of reading list page to follow more in line with list view. Added release date on the reading list items, if it's set in underlying chapter.
Fixed a bug where reordering the list items could sometimes not update correctly with drag and drop.
* Removed a bug marker that I just fixed
* When generating library covers, make them much smaller as they are only ever icons.
* Fixed library settings not showing the correct image.
* Fixed a bug where duplicate collection tags could be created.
Fixed a bug where collection tag normalized title was being set to uppercase.
Redesigned the edit collection tag modal to align with new library settings and provide inline name checks.
* Updated edit reading list modal to align with new library settings modal pattern. Refactored the backend to ensure it flows correctly without allowing duplicate names.
Don't show Continue point on series detail if the whole series is read.
* Added some more unit tests around continue point
* Fixed a bug on series detail when bulk selecting between volume and chapters, the code which determines which chapters are selected didn't take into account mixed layout for Storyline tab.
* Refactored to generate an OpenAPI spec at root of Kavita. This will be loaded by a new API site for easy hosting.
Deprecated EnableSwaggerUi preference as after validation new system works, this will be removed and instances can use our hosting to hit their server (or run a debug build).
* Test GA
* Reverted GA and instead do it in the build step. This will just force developers to commit it in.
* GA please work
* Removed redundant steps from test since build already does it.
* Try another GA
* Moved all test actions into initial build step, which should drastically cut down on time. Only run sonar if the secret is present (so not for forks). Updated build requirements for develop and stable docker pushes.
* Fixed env variable
* Okay not possible to do secrets in if statement
* Fixed the build step to output the openapi.json where it's expected.
* Fixed GA (#1664)
* Bump versions by dotnet-bump-version.
* Applied new _components layout structure to Kavita. All except manga as there is an open PR that drastically changes that module. (#1666)
* Fixed typeahead and updated manga reader to new layout structure
* Fixed book reader fonts lookups
* Fixed up some build issues
* Fixed a bad import of css image
* Some cleanup and rewrote how we log out data.
* Renderer can be null on first load when performing some work.
* Library Settings Modal + New Library Settings (#1660)
* Bump loader-utils from 2.0.3 to 2.0.4 in /UI/Web
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v2.0.3...v2.0.4)
---
updated-dependencies:
- dependency-name: loader-utils
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Fixed want to read button on series detail not performing the correct action
* Started the library settings. Added ability to update a cover image for a library.
Updated backup db to also copy reading list (and now library) cover images.
* Integrated Edit Library into new settings (not tested) and hooked up a wizard-like flow for new library.
* Fixed a missing update event in backend when updating a library.
* Disable Save when form invalid. Do inline validation on Library name when user types to ensure the name is valid.
* Trim library names before you check anything
* General code cleanup
* Implemented advanced settings for library (include in dashboard, search, recommended) and ability to turn off folder watching for individual libraries.
Refactored some code to streamline perf in some flows.
* Removed old components replaced with new modal
* Code smells
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* UX Alignment and bugfixes (#1663)
* Refactored the design of reading list page to follow more in line with list view. Added release date on the reading list items, if it's set in underlying chapter.
Fixed a bug where reordering the list items could sometimes not update correctly with drag and drop.
* Removed a bug marker that I just fixed
* When generating library covers, make them much smaller as they are only ever icons.
* Fixed library settings not showing the correct image.
* Fixed a bug where duplicate collection tags could be created.
Fixed a bug where collection tag normalized title was being set to uppercase.
Redesigned the edit collection tag modal to align with new library settings and provide inline name checks.
* Updated edit reading list modal to align with new library settings modal pattern. Refactored the backend to ensure it flows correctly without allowing duplicate names.
Don't show Continue point on series detail if the whole series is read.
* Added some more unit tests around continue point
* Fixed a bug on series detail when bulk selecting between volume and chapters, the code which determines which chapters are selected didn't take into account mixed layout for Storyline tab.
* Refactored to generate an OpenAPI spec at root of Kavita. This will be loaded by a new API site for easy hosting.
Deprecated EnableSwaggerUi preference as after validation new system works, this will be removed and instances can use our hosting to hit their server (or run a debug build).
* Test GA
* Reverted GA and instead do it in the build step. This will just force developers to commit it in.
* GA please work
* Removed redundant steps from test since build already does it.
* Try another GA
* Moved all test actions into initial build step, which should drastically cut down on time. Only run sonar if the secret is present (so not for forks). Updated build requirements for develop and stable docker pushes.
* Fixed env variable
* Okay not possible to do secrets in if statement
* Fixed the build step to output the openapi.json where it's expected.
* Applied new _components layout structure to Kavita. All except manga as there is an open PR that drastically changes that module. (#1666)
* Post merge cleanup
* Again moving the file
* Fixed an issue with switching to double renderer and the image not loading for cover image.
* Fixed double manga last page repeating twice
* Added ability to quickly save a few settings to user preferences from manga reader
* Fixed up some success messaging
* Single image and canvas could stack, last page on double wouldn't render.
* Stashing code, want to work on something else
* Suppress a concurrency issue when opening a fresh chapter to read.
* Refactored a function into a pipe
* Took care of one TODO
* Tightened up the logic around single renderer handling fit to screen images.
* Added some code to see how long api takes on average.
* First pass integration of page dimensions into single renderer and base code
* Canvas renderer pass for new page dimensions
* On time left, don't use the word left again
* Moved the page dimension code into manga service to make it seemless
* Hooked in a replacement for image based isWide
* Canvas renderer is working again
* Double renderer now follows how Komga does it to keep it simple.
* Double renderer is working really well so far.
* don't use nbsp
* Added response caching to file-dimensions and chapter info api
* Allow chapter info to send back file dimensions optionally
* Fixed an issue with dimensions api locking files on Windows
* Refactored all code to use isWidePage
* More fixes and cleanup
* More double reverse logic
* Recently Read stats page will allow you to click the items.
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Added a timeAgo pipe which shows live updates for a few areas.
* Fixed some wording on stats page. Changed Total People count to just work on distinct names and not count multiple for different roles.
* Tweaked the compact number so it only shows one decimal
* Fixed a bug
* Implemented an api for getting file dimensions for a given chapter. This is for CDisplayEx integration. This might be usable in Double Renderer.
* Added the cached filename for new API
* Fixed generating table of contents where key lookup could fail with how Sigil packs the epubs.
* Tweaked Kavita's fallback ToC generation (when one doesn't exist in the epub) to also use CoalesceKey.
* Code smells
* Refactored ResponseCache profiles into consts
* Refactored code to use an extension method for getting user library ids.
* Started server statistics, added a charting library, and added a table sort column (not finished)
* Refactored code and have a fully working example of sortable headers. Still doesn't work with default sorting state, will work on that later.
* Implemented file size, but it's too expensive, so commented out.
* Added a migration to provide extension and length/size information in the DB to allow for faster stat apis.
* Added the ability to force a library scan from library settings.
* Refactored some apis to provide more of a file breakdown rather than just file size.
* Working on visualization of file breakdown
* Fixed the file breakdown visual
* Fixed up 2 visualizations
* Added back an api for member names, started work on top reads
* Hooked up the other library types and username/days.
* Preparing to remove top reads and refactor into Top users
* Added LibraryId to AppUserProgress to help with complex lookups.
* Added the new libraryId hook into some stats methods
* Updated api methods to use libraryId for progress
* More places where LibraryId is needed
* Added some high level server stats
* Got a ton done on server stats
* Updated default theme (dark) to be the default root variables. This will allow user themes to override just what they want, rather than maintain their own css variables.
* Implemented a monster query for top users by reading time. It's very slow and can be cleaned up likely.
* Hooked up top reads. Code needs a big refactor. Handing off for Robbie treatment and I'll switch to User stats.
* Implemented last 5 recently read series (broken) and added some basic css
* Fixed recently read query
* Cleanup the css a bit, Robbie we need you
* More css love
* Cleaned up DTOs that aren't needed anymore
* Fixed top readers query
* When calculating top readers, don't include read events where nothing is read (0 pages)
* Hooked up the date into GetTopUsers
* Hooked top readers up with days and refactored and cleaned up componets not used
* Fixed up query
* Started on a day by day breakdown, but going to take a break from stats.
* Added a temp task to run some migration manually for stats to work
* Ensure OPDS-PS uses new libraryId for progress reporting
* Fixed a code smell
* Adding some styling
* adding more styles
* Removed some debug stuff from user stats
* Bump qs from 6.5.2 to 6.5.3 in /UI/Web
Bumps [qs](https://github.com/ljharb/qs) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.5.2...v6.5.3)
---
updated-dependencies:
- dependency-name: qs
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Tweaked some code for bad data cases
* Refactored a chapter lookup to remove un-needed Volume join in 5 places across the code.
* API push
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Updated swiper and some packages for reported security issues
* Fixed reading lists promotion not working
* Refactor RenameFileForCopy to use iterative recursion, rather than functional.
* Ensured that bookmarks are fetched and ordered by Created date.
* Fixed a bug where bookmarks were coming back in the correct order, but due to filenames, would not sort correctly.
* Default installs to Debug log level given errors users have and Debug not being too noisy
* Added jumpbar to bookmarks page
* Now added jumpbar to bookmarks
* Refactored some code into pipes and added some debug messaging for prefetcher
* Try loading next and prev chapter's first/last page to cache so it renders faster
* Updated GetImage to do a bound check on max page.
Fixed a critical bug in how manga reader updates image elements src to prefetch/load pages. I was not creating a new reference which broke Angular's ability to update DOM on changes.
* Refactored the image setting code to use a single method which tries to use a cached image always.
* Refactored code to use getPage which favors cache and simplifies image creation code
* Started the work to split the canvas renderer into it's own component
* Refactored a lot of common methods into a service for the reader to support the upcoming renderer split
* Moved components to nested folder. Refactored more code to streamline image sending to child renderer.
Added notes across the code to help streamline flow of data and who owns what.
* Swapped out SQLite for Memory, but the one from hangfire. Added DisableConcurrentExecution on ProcessChange to avoid duplication when multiple threads execute at once.
* Basic split right to left is working with canvas renderer
* Left to right and right to left now work
* Fixed a bug where pagesplitoption wasn't being updated when modifying menu
* Canvas rendering still has a bug with switching between right to left -> left to right on the re-render, it will choose a bad state. All else works fine with it.
* Updated canvas renderer to implement the ImageRenderer interface
* Canvas renderer is done
* Setup single renderer. Need to figure out how to share CSS between renderers and also share some global stuff, like image height.
* Refactored code so that image-container is within the renderers themselves. Still broken in scaling, but working towards a solution.
* Added double click to shortcut menu
* Moved image containers within the renderers
* Pushing up for Robbie
* nothing new
* Move common css to a single scss file
* More css consolidation
* Fixed a npe in isWideImage
* Refactored page updates to renderers to include max pages. Rewrote most of renderer into observables.
* Moved bookmark for second page to double renderer
* Started hooking in double renderer renderPage()
* Fixed height scaling, but now canvas renderer is broken again
* Fixed a bug with canvas renderer not moving to next page. Streamlined the code for getting page amounts from the dfferent renderers
* Added double click to bookmark for canvas
* Stashing the code and taking a break
* Nothing much, buffer is still broken
* Got double renderer to render at least one page
* Double renderer now has access to 5 images at any time, so it can make appropriate decisions on when to render double pages.
* Fixed up double rendererer moving backward page calc
* Forward logic seems to be working
* Cleaned up dead code after testing
* Moved a few loggers in folder watching to trace
* Everything seems to work fine, time to do double manga renderer
* Moved some css around and added the reverse double component
* Only execute renderer's pipes when in the correct mode
* Still working on double renderer
* Fixed scaling issues on double
* Updating double logic
- Fixed: Fixed an issue where a second page would render when current page was wide.
* Hooked up double renderer
* Made changes but not sure if im making progress
* double manga fixes
* Claned some of robbies code
* Fixing last page bug
* Library Settings Modal + New Library Settings (#1660)
* Bump loader-utils from 2.0.3 to 2.0.4 in /UI/Web
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v2.0.3...v2.0.4)
---
updated-dependencies:
- dependency-name: loader-utils
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Fixed want to read button on series detail not performing the correct action
* Started the library settings. Added ability to update a cover image for a library.
Updated backup db to also copy reading list (and now library) cover images.
* Integrated Edit Library into new settings (not tested) and hooked up a wizard-like flow for new library.
* Fixed a missing update event in backend when updating a library.
* Disable Save when form invalid. Do inline validation on Library name when user types to ensure the name is valid.
* Trim library names before you check anything
* General code cleanup
* Implemented advanced settings for library (include in dashboard, search, recommended) and ability to turn off folder watching for individual libraries.
Refactored some code to streamline perf in some flows.
* Removed old components replaced with new modal
* Code smells
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump versions by dotnet-bump-version.
* UX Alignment and bugfixes (#1663)
* Refactored the design of reading list page to follow more in line with list view. Added release date on the reading list items, if it's set in underlying chapter.
Fixed a bug where reordering the list items could sometimes not update correctly with drag and drop.
* Removed a bug marker that I just fixed
* When generating library covers, make them much smaller as they are only ever icons.
* Fixed library settings not showing the correct image.
* Fixed a bug where duplicate collection tags could be created.
Fixed a bug where collection tag normalized title was being set to uppercase.
Redesigned the edit collection tag modal to align with new library settings and provide inline name checks.
* Updated edit reading list modal to align with new library settings modal pattern. Refactored the backend to ensure it flows correctly without allowing duplicate names.
Don't show Continue point on series detail if the whole series is read.
* Added some more unit tests around continue point
* Fixed a bug on series detail when bulk selecting between volume and chapters, the code which determines which chapters are selected didn't take into account mixed layout for Storyline tab.
* Refactored to generate an OpenAPI spec at root of Kavita. This will be loaded by a new API site for easy hosting.
Deprecated EnableSwaggerUi preference as after validation new system works, this will be removed and instances can use our hosting to hit their server (or run a debug build).
* Test GA
* Reverted GA and instead do it in the build step. This will just force developers to commit it in.
* GA please work
* Removed redundant steps from test since build already does it.
* Try another GA
* Moved all test actions into initial build step, which should drastically cut down on time. Only run sonar if the secret is present (so not for forks). Updated build requirements for develop and stable docker pushes.
* Fixed env variable
* Okay not possible to do secrets in if statement
* Fixed the build step to output the openapi.json where it's expected.
* Fixed GA (#1664)
* Bump versions by dotnet-bump-version.
* Applied new _components layout structure to Kavita. All except manga as there is an open PR that drastically changes that module. (#1666)
* Fixed typeahead and updated manga reader to new layout structure
* Fixed book reader fonts lookups
* Fixed up some build issues
* Fixed a bad import of css image
* Some cleanup and rewrote how we log out data.
* Renderer can be null on first load when performing some work.
* Library Settings Modal + New Library Settings (#1660)
* Bump loader-utils from 2.0.3 to 2.0.4 in /UI/Web
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v2.0.3...v2.0.4)
---
updated-dependencies:
- dependency-name: loader-utils
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Fixed want to read button on series detail not performing the correct action
* Started the library settings. Added ability to update a cover image for a library.
Updated backup db to also copy reading list (and now library) cover images.
* Integrated Edit Library into new settings (not tested) and hooked up a wizard-like flow for new library.
* Fixed a missing update event in backend when updating a library.
* Disable Save when form invalid. Do inline validation on Library name when user types to ensure the name is valid.
* Trim library names before you check anything
* General code cleanup
* Implemented advanced settings for library (include in dashboard, search, recommended) and ability to turn off folder watching for individual libraries.
Refactored some code to streamline perf in some flows.
* Removed old components replaced with new modal
* Code smells
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* UX Alignment and bugfixes (#1663)
* Refactored the design of reading list page to follow more in line with list view. Added release date on the reading list items, if it's set in underlying chapter.
Fixed a bug where reordering the list items could sometimes not update correctly with drag and drop.
* Removed a bug marker that I just fixed
* When generating library covers, make them much smaller as they are only ever icons.
* Fixed library settings not showing the correct image.
* Fixed a bug where duplicate collection tags could be created.
Fixed a bug where collection tag normalized title was being set to uppercase.
Redesigned the edit collection tag modal to align with new library settings and provide inline name checks.
* Updated edit reading list modal to align with new library settings modal pattern. Refactored the backend to ensure it flows correctly without allowing duplicate names.
Don't show Continue point on series detail if the whole series is read.
* Added some more unit tests around continue point
* Fixed a bug on series detail when bulk selecting between volume and chapters, the code which determines which chapters are selected didn't take into account mixed layout for Storyline tab.
* Refactored to generate an OpenAPI spec at root of Kavita. This will be loaded by a new API site for easy hosting.
Deprecated EnableSwaggerUi preference as after validation new system works, this will be removed and instances can use our hosting to hit their server (or run a debug build).
* Test GA
* Reverted GA and instead do it in the build step. This will just force developers to commit it in.
* GA please work
* Removed redundant steps from test since build already does it.
* Try another GA
* Moved all test actions into initial build step, which should drastically cut down on time. Only run sonar if the secret is present (so not for forks). Updated build requirements for develop and stable docker pushes.
* Fixed env variable
* Okay not possible to do secrets in if statement
* Fixed the build step to output the openapi.json where it's expected.
* Applied new _components layout structure to Kavita. All except manga as there is an open PR that drastically changes that module. (#1666)
* Post merge cleanup
* Again moving the file
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>