959 Commits

Author SHA1 Message Date
majora2007
552d773dcd Bump versions by dotnet-bump-version. 2021-12-16 21:47:20 +00:00
Joseph Milazzo
94bad97511
More Filtering and Support for ComicInfo v2.1 (draft) Tags (#851)
* Added a reoccuring task to cleanup db entries that might be abandoned. On library page, the Library in question will be prepoulated.

* Laid out the foundation for customized sorting. Added all series page to the UI when clicking on Libraries section header on home page so user can apply any filtering they like.

* When filtering, the current library filter will now automatically filter out the options for people and genres.

* Implemented Sorting controls

* Clear now clears sorting and read progress. Sorting is disabled on deck and recently added.

* Fixed an issue where all-series page couldn't click to open series

* Don't let the user unselect the last read progress. Added new comicinfo v2.1 draft tags.

* Hooked in Translator tag into backend and UI.

* Fixed an issue where you could open multiple typeaheads at the same time

* Integrated Translator and Tags ComicInfo extension fields. Started work on a badge expander.

* Reworked a bit more on badge expander. Added the UI code for Age Rating and Tags

* Integrated backend for Tags, Translator, and Age Rating

* Metadata tags now collapse if more than 4 present

* Some code cleanup

* Made the not read badge slightly smaller
2021-12-16 13:41:38 -08:00
majora2007
21da5d8134 Bump versions by dotnet-bump-version. 2021-12-15 16:28:18 +00:00
Joseph Milazzo
28688ada8e
In-Depth Filtering (#850)
* Laying the foundation for the filter rework

* Filtering by Genre is now possible.

* Cleaned up code and preparing for People filtering

* People filtering is hooked up for the frontend

* Filtering now works. On Deck does not work with filtering currently due to a unique implementation.

* More cleanup

* Implemented the ability to reset the filters

* Added a mobile drawer for filtering

* Added some additional cases for NaturalSortComparer. Filter now uses a drawer on smaller screens.

* Fixed a bug where backup service was not pointing to the correct directory.

* Undid the fix, it's working as expected
2021-12-15 08:23:10 -08:00
majora2007
ca893930d3 Bump versions by dotnet-bump-version. 2021-12-10 21:09:59 +00:00
Joseph Milazzo
384ebcef5c
Tachiyomi Enhancements (#845)
* Added a new endpoint to get all Series with Progress info.

* Fixed up some potential NPEs during scan

* Commented out filter code, not ready for it.

* Fixed up a parsing case for european comics

* Refactored FilterDto to allow for specifying multiple formats to return.

* Refactored FilterDto to allow for specifying multiple formats to return.

* Refactored the UI to show OPDS as 3rd Party Clients since Tachiyomi now uses OPDS url scheme for authentication.
2021-12-10 13:04:52 -08:00
majora2007
658ca290e1 Bump versions by dotnet-bump-version. 2021-12-08 20:24:33 +00:00
Joseph Milazzo
d2807253c3
Beefed up ToC generation to handle new ways of packing epub. (#840) 2021-12-08 12:19:58 -08:00
majora2007
e7e9e170ba Bump versions by dotnet-bump-version. 2021-12-08 19:32:05 +00:00
Joseph Milazzo
3b90ef96b5
Misc Fixes (#839)
* Fixed a case where chapter was being parsed incorrectly when the series title ends in a number.

* Updated Kavita to support Tome/T notation found in French comics

* Added support for identifying European specials and expanded support for cleaning some tags used in European comics. During cleaning, if series starts with - or comma, remove it.

* Fixed an issue where add to collection for a single series wasn't calling the bulk action handler

* Fixed a NPE on AgeRating conversion. Fixed a bug where when looking for cover image, file extensions was throwing off sort code.

* Refactored Natural Sort ordering to better follow how Windows behaves. This is a departure from how the original code executes.

* GetCachedPagePath now uses natural sorting to pick the images for reading in a more correct order.

* Updated parser to handle a case where there was more than one space as a separator
2021-12-08 11:27:54 -08:00
majora2007
b3e4a7caa6 Bump versions by dotnet-bump-version. 2021-12-06 20:05:42 +00:00
Joseph Milazzo
af24c928d7
Feature/local metadata more tags (#832)
* Stashing code

* removed some debug code on series detail page. Now detail is collapsed by default.

* Added AgeRating

* Fixed a crash when NetVips tries to write a cover file and cover directory is not existing.

* When a card is selected for bulk actions, show an outline in addition to select box

* Added AgeRating into the metadata parsing. Added a hack where ComicInfo uses Number in ComicInfo rather than Volume. This is to test out the effects on users libraries.

* Added AgeRating and ReleaseDate to the metadata implelentation.
2021-12-06 11:59:47 -08:00
majora2007
46f37069db Bump versions by dotnet-bump-version. 2021-12-05 21:43:51 +00:00
Joseph Milazzo
ce2542bf17
Bugfix/bad build (#829)
* Fixed bad build

* More directory service issues in Program
2021-12-05 13:39:39 -08:00
majora2007
f6ca201951 Bump versions by dotnet-bump-version. 2021-12-05 20:01:35 +00:00
Joseph Milazzo
9c4a36a438
Fixed bad build (#828) 2021-12-05 11:57:02 -08:00
majora2007
8c2c4b6d94 Bump versions by dotnet-bump-version. 2021-12-05 18:43:53 +00:00
Joseph Milazzo
cbd5ed8b28
Bump docnet version to support x64 ARM pdfium binaries. (#826) 2021-12-05 10:39:34 -08:00
majora2007
8d224ab6f9 Bump versions by dotnet-bump-version. 2021-12-05 17:03:08 +00:00
Joseph Milazzo
bbe8f800f6
.NET 6 Coding Patterns + Unit Tests (#823)
* Refactored all files to have Interfaces within the same file. Started moving over to file-scoped namespaces.

* Refactored common methods for getting underlying file's cover, pages, and extracting into 1 interface.

* More refactoring around removing dependence on explicit filetype testing for getting information.

* Code is buildable, tests are broken. Huge refactor (not completed) which makes most of DirectoryService testable with a mock filesystem (and thus the services that utilize it).

* Finished porting DirectoryService to use mocked filesystem implementation.

* Added a null check

* Added a null check

* Finished all unit tests for DirectoryService.

* Some misc cleanup on the code

* Fixed up some bugs from refactoring scan loop.

* Implemented CleanupService testing and refactored more of DirectoryService to be non-static.

Fixed a bug where cover file cleanup wasn't properly finding files due to a regex bug.

* Fixed an issue in CleanupBackup() where we weren't properly selecting database files older than 30 days. Finished CleanupService Tests.

* Refactored Flatten and RemoveNonImages to directory service to allow CacheService to be testable.

* Finally have CacheService tested. Rewrote GetCachedPagePath() to be much more straightforward & performant.

* Updated DefaultParserTests.cs to contain all existing tests and follow new test layout format.

* All tests fixed up
2021-12-05 08:58:53 -08:00
majora2007
bf1876ff44 Bump versions by dotnet-bump-version. 2021-12-02 18:58:42 +00:00
Joseph Milazzo
ebf7d46af3
Local Metadata Integration Part 1 (#820)
* Started with some basic plumbing with comic info parsing updating Series/Volume.

* We can now get chapter title from comicInfo.xml

* Hooked in the ability to store people into the chapter metadata.

* Removed no longer used imports, fixed up some foreign key constraints on deleting series with person linked.

* Refactored Summary out of the UI for Series into SeriesMetadata. Updated application to .net 6. There is a bug in metadata code for updating.

* Removed the parallel.ForEach with a normal foreach which lets us use async. For I/O heavy code, shouldn't change much.

* Refactored scan code to only check extensions with comic info, fixed a bug on scan events not using correct method name, removed summary field (still buggy)

* Fixed a bug where on cancelling a metadata request in modal, underlying button would get stuck in a disabled state.

* Changed how metadata selects the first volume to read summary info from. It will now select the first non-special volume rather than Volume 1.

* More debugging and found more bugs to fix

* Redid all the migrations as one single one. Fixed a bug with GetChapterInfo returning null when ChapterMetadata didn't exist for that Chapter.

Fixed an issue with mapper failing on GetChapterMetadata. Started work on adding people and a design for people.

* Fixed a bug where checking if file modified now takes into account if file has been processed at least once. Introduced a bug in saving people to series.

* Just made code compilable again

* Fixed up code. Now people for series and chapters add correctly without any db issues.

* Things are working, but I'm not happy with how the management of Person is. I need to take into account that 1 person needs to map to an image and role is arbitrary.

* Started adding UI code to showcase chapter metadata

* Updated workflow to be .NET 6

* WIP of updating card detail to show the information more clearly and without so many if statements

* Removed ChatperMetadata and store on the Chapter itself. Much easier to use and less joins.

* Implemented Genre on SeriesMetadata level

* Genres and People are now removed from Series level if they are no longer on comicInfo

* PeopleHelper is done with unit tests. Everything is working.

* Unit tests in place for Genre Helper

* Starting on CacheHelper

* Finished tests for ShouldUpdateCoverImage. Fixed and added tests in ArchiveService/ScannerService.

* CacheHelper is fully tested

* Some DI cleanup

* Scanner Service now calls GetComicInfo for books. Added ability to update Series Sort name from metadata files (mainly epub as comicinfo doesn't have a field)

* Forgot to move a line of code

* SortName now populates from metadata (epub only, ComicInfo has no tags)

* Cards now show the chapter title name if it's set on hover, else will default back to title.

* Fixed a major issue with how MangaFiles were being updated with LastModified, which messed up our logic for avoiding refreshes.

* Woohoo, more tests and some refactors to be able to test more services wtih mock filesystem. Fixed an issue where SortName was getting set as first chapter, but the Series was in a group.

* Refactored the MangaFile creation code into the DbFactory where we also setup the first LastModified update.

* Has file changed bug is now finally fixed

* Remove dead genres, refactor genre to use title instead of name.

* Refactored out a directory from ShouldUpdateCoverImage() to keep the code clean

* Unit tests for ComicInfo on BookService.

* Refactored series detail into it's own component

* Series-detail now received refresh metadata events to refresh what's on screen

* Removed references to Artist on PersonRole as it has no metadata mapping

* Security audit

* Fixed a benchmark

* Updated JWT Token generator to use new methods in .NET 6

* Updated all the docker and build commands to use net6.0

* Commented out sonar scan since it's not setup for net6.0 yet.

* Removed some directives

* Removed my test db
2021-12-02 10:54:27 -08:00
majora2007
1f0e95635c Bump versions by dotnet-bump-version. 2021-12-02 18:25:31 +00:00
Joseph Milazzo
447032d82f Please work 2021-12-02 12:21:17 -06:00
majora2007
91749c0b69 Bump versions by dotnet-bump-version. 2021-12-02 18:13:35 +00:00
Joseph Milazzo
99c162a815
Update sonar-scan.yml
Please work
2021-12-02 12:09:35 -06:00
Joseph Milazzo
c2eaa44574
Update sonar-scan.yml
More updates to 6.0
2021-12-02 11:57:15 -06:00
majora2007
0df2d8cee6 Bump versions by dotnet-bump-version. 2021-12-02 17:43:49 +00:00
Joseph Milazzo
bfc65a37b9
Update monorepo-build.sh
Updated build to use .net6.0
2021-12-02 11:38:19 -06:00
majora2007
80d64a99be Bump versions by dotnet-bump-version. 2021-12-02 17:29:52 +00:00
Joseph Milazzo
4585e1ae3c
Don't rely on test (#819) 2021-12-02 09:21:48 -08:00
Joseph Milazzo
e7619e6b0a
Local Metadata Integration Part 1 (#817)
* Started with some basic plumbing with comic info parsing updating Series/Volume.

* We can now get chapter title from comicInfo.xml

* Hooked in the ability to store people into the chapter metadata.

* Removed no longer used imports, fixed up some foreign key constraints on deleting series with person linked.

* Refactored Summary out of the UI for Series into SeriesMetadata. Updated application to .net 6. There is a bug in metadata code for updating.

* Removed the parallel.ForEach with a normal foreach which lets us use async. For I/O heavy code, shouldn't change much.

* Refactored scan code to only check extensions with comic info, fixed a bug on scan events not using correct method name, removed summary field (still buggy)

* Fixed a bug where on cancelling a metadata request in modal, underlying button would get stuck in a disabled state.

* Changed how metadata selects the first volume to read summary info from. It will now select the first non-special volume rather than Volume 1.

* More debugging and found more bugs to fix

* Redid all the migrations as one single one. Fixed a bug with GetChapterInfo returning null when ChapterMetadata didn't exist for that Chapter.

Fixed an issue with mapper failing on GetChapterMetadata. Started work on adding people and a design for people.

* Fixed a bug where checking if file modified now takes into account if file has been processed at least once. Introduced a bug in saving people to series.

* Just made code compilable again

* Fixed up code. Now people for series and chapters add correctly without any db issues.

* Things are working, but I'm not happy with how the management of Person is. I need to take into account that 1 person needs to map to an image and role is arbitrary.

* Started adding UI code to showcase chapter metadata

* Updated workflow to be .NET 6

* WIP of updating card detail to show the information more clearly and without so many if statements

* Removed ChatperMetadata and store on the Chapter itself. Much easier to use and less joins.

* Implemented Genre on SeriesMetadata level

* Genres and People are now removed from Series level if they are no longer on comicInfo

* PeopleHelper is done with unit tests. Everything is working.

* Unit tests in place for Genre Helper

* Starting on CacheHelper

* Finished tests for ShouldUpdateCoverImage. Fixed and added tests in ArchiveService/ScannerService.

* CacheHelper is fully tested

* Some DI cleanup

* Scanner Service now calls GetComicInfo for books. Added ability to update Series Sort name from metadata files (mainly epub as comicinfo doesn't have a field)

* Forgot to move a line of code

* SortName now populates from metadata (epub only, ComicInfo has no tags)

* Cards now show the chapter title name if it's set on hover, else will default back to title.

* Fixed a major issue with how MangaFiles were being updated with LastModified, which messed up our logic for avoiding refreshes.

* Woohoo, more tests and some refactors to be able to test more services wtih mock filesystem. Fixed an issue where SortName was getting set as first chapter, but the Series was in a group.

* Refactored the MangaFile creation code into the DbFactory where we also setup the first LastModified update.

* Has file changed bug is now finally fixed

* Remove dead genres, refactor genre to use title instead of name.

* Refactored out a directory from ShouldUpdateCoverImage() to keep the code clean

* Unit tests for ComicInfo on BookService.

* Refactored series detail into it's own component

* Series-detail now received refresh metadata events to refresh what's on screen

* Removed references to Artist on PersonRole as it has no metadata mapping

* Security audit

* Fixed a benchmark

* Updated JWT Token generator to use new methods in .NET 6

* Updated all the docker and build commands to use net6.0

* Commented out sonar scan since it's not setup for net6.0 yet.
2021-12-02 09:02:34 -08:00
Joseph Milazzo
10a6a3a544
Update GA .net version (#818) 2021-12-02 07:56:48 -08:00
majora2007
9174076061 Bump versions by dotnet-bump-version. 2021-11-29 20:36:45 +00:00
Joseph Milazzo
e248cf7579
UI Updates + New Events (#806)
* Implemented ability to see downloads users are performing on the events widget.

* Fixed a bug where version update task was calling wrong code

* Fixed a bug where when checking for updates, the event wouldn't be pushed to server with correct name.

Added update check to the event widget rather than opening a modal on the user.

* Relaxed password requirements to only be 6-32 characters and inform user on register form about the requirements

* Removed a ton of duplicate logic for series cards where the logic was already defined in action service

* Fixed OPDS total items giving a rounded number rather than total items.

* Fixed off by one issue on OPDS pagination
2021-11-29 12:19:36 -08:00
majora2007
69bd087697 Bump versions by dotnet-bump-version. 2021-11-28 14:33:31 +00:00
Joseph Milazzo
befbe92cb1
Color Theme applies to scrollbars (#793)
* Moved more scss to use syntax to reduce css size

* Hooked in color-scheme to help brower render scroll bars appropriately depending on color scheme user selects
2021-11-28 06:24:12 -08:00
majora2007
7f6fc8c692 Bump versions by dotnet-bump-version. 2021-11-27 15:44:15 +00:00
Joseph Milazzo
34d34ef233
Version bump (#789) v0.4.9 2021-11-27 07:34:52 -08:00
majora2007
16a6cf7d5d Bump versions by dotnet-bump-version. 2021-11-26 21:27:48 +00:00
Joseph Milazzo
6f6957ac10
Feature/stat again (#788)
* Have StatService use non-HTTPS validated url due to issues with cert.

* Fixed a bug where book reader menu didn't have consistent background color
2021-11-26 13:18:57 -08:00
majora2007
1044b8b006 Bump versions by dotnet-bump-version. 2021-11-24 16:53:40 +00:00
Joseph Milazzo
5d4026468a
Switched to using new infra url (#782) 2021-11-24 08:45:28 -08:00
majora2007
cc19739414 Bump versions by dotnet-bump-version. 2021-11-22 16:56:27 +00:00
Joseph Milazzo
e7753b6160
Fixed the stat call (#778) 2021-11-22 08:47:15 -08:00
majora2007
fc6467da26 Bump versions by dotnet-bump-version. 2021-11-21 17:45:45 +00:00
Joseph Milazzo
ce4f1efddf
Updated stats url (#776) 2021-11-21 09:36:45 -08:00
majora2007
223ad7abdd Bump versions by dotnet-bump-version. 2021-11-18 17:09:28 +00:00
Joseph Milazzo
6bbe9d7a19
Fixed a rendering issue on the book reader with long absolute positioned images causing a 2 tone background color in dark book reader (#770) 2021-11-18 10:59:07 -06:00
majora2007
b76fd1db22 Bump versions by dotnet-bump-version. 2021-11-18 15:05:09 +00:00