1637 Commits

Author SHA1 Message Date
Joe Milazzo
5d1dd7b3f0
.NET 7 + Spring Cleaning (#1677)
* Updated to net7.0

* Updated GA to .net 7

* Updated System.IO.Abstractions to use New factory.

* Converted Regex into SourceGenerator in Parser.

* Updated more regex to source generators.

* Enabled Nullability and more regex changes throughout codebase.

* Parser is 100% GeneratedRegexified

* Lots of nullability code

* Enabled nullability for all repositories.

* Fixed another unit test

* Refactored some code around and took care of some todos.

* Updating code for nullability and cleaning up methods that aren't used anymore. Refctored all uses of Parser.Normalize() to use new extension

* More nullability exercises. 500 warnings to go.

* Fixed a bug where custom file uploads for entities wouldn't save in webP.

* Nullability is done for all DTOs

* Fixed all unit tests and nullability for the project. Only OPDS is left which will be done with an upcoming OPDS enhancement.

* Use localization in book service after validating

* Code smells

* Switched to preview build of swashbuckle for .net7 support

* Fixed up merge issues

* Disable emulate comic book when on single page reader

* Fixed a regression where double page renderer wouldn't layout the images correctly

* Updated to swashbuckle which support .net 7

* Fixed a bad GA action

* Some code cleanup

* More code smells

* Took care of most of nullable issues

* Fixed a broken test due to having more than one test run in parallel

* I'm really not sure why the unit tests are failing or are so extremely slow on .net 7

* Updated all dependencies

* Fixed up build and removed hardcoded framework from build scripts. (this merge removes Regex Source generators). Unit tests are completely busted.

* Unit tests and code cleanup. Needs shakeout now.

* Adjusted Series model since a few fields are not-nullable. Removed dead imports on the project.

* Refactored to use Builder pattern for all unit tests.

* Switched nullability down to warnings. It wasn't possible to switch due to constraint issues in DB Migration.
2023-03-05 12:55:13 -08:00
majora2007
76fe3fd64a Bump versions by dotnet-bump-version. 2023-03-03 23:03:23 +00:00
Joe Milazzo
d88a4d5d0c
CBL Import (#1834)
* Wrote my own step tracker and added a prev button. Works up to first conflict flow.

* Everything but final import is hooked up in the UI. Polish still needed, but getting there.

* Making more progress in the CBL import flow.

* Ready for the last step

* Cleaned up some logic to prepare for the last step and reset

* Users like order to be starting at 1

* Fixed a few bugs around cbl import

* CBL import is ready for some basic testing

* Added a reading list hook on side nav

* Fixed up unit tests

* Added icons and color to the import flow

* Tweaked some phrasing

* Hooked up a loading variable but disabled the component as it didn't look good.

* Styling it up

* changed an icon to better fit

---------

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2023-03-03 14:51:11 -08:00
majora2007
57de661d71 Bump versions by dotnet-bump-version. 2023-02-24 00:44:31 +00:00
Joe Milazzo
ed34a7150a
Revert ability to run docker as non-root due to issues with Synology. (#1832) 2023-02-23 16:32:45 -08:00
majora2007
fd8d6e9a97 Bump versions by dotnet-bump-version. 2023-02-21 21:44:27 +00:00
Joe Milazzo
9103228ccc
Epub 3.2 Grouping issue (#1823)
* Added font swapping and removed some unneeded css

* Fixed a bug where epub 3 tags weren't being applied for grouping
2023-02-21 13:32:29 -08:00
majora2007
9b80eba53e Bump versions by dotnet-bump-version. 2023-02-21 00:01:14 +00:00
Joe Milazzo
df68c50256
Random Changes and Enhancements (#1819)
* When skipping over folders in a scan, inform the ui

* Try out new backout condition for library watcher.

* Tweaked the code for folder watching to be more intense on killing if stuck in inotify loop.

* Streamlined my implementation of enhanced LibraryWatcher

* Added new extension method to make complex where statements cleaner.

* Added an implementation to flatten series and not show them if they have relationships defined. Only the parent would show. Currently disabled until i figure out how to apply it.

* Added the ability to collapse series that are not the primary entry point to reading. Configurable in library settings, only applies when all libraries in a filter have the property to true.

* Exclude from parsing .@_thumb directories, a QNAP system folder.

Show number of items a JumpKey has

* Refactored some time reading to display in days, months, years or minutes.
2023-02-20 15:48:04 -08:00
Robbie Davis
8a62d54c0b Merge branch 'develop' of https://github.com/Kareadita/Kavita into develop 2023-02-20 16:55:20 -05:00
majora2007
2b181e2b3d Bump versions by dotnet-bump-version. v0.7.1 2023-02-19 21:23:57 +00:00
Joe Milazzo
3de55ce97e
Version bump (#1814) 2023-02-19 13:10:28 -08:00
majora2007
81d37ea01d Bump versions by dotnet-bump-version. 2023-02-19 20:26:24 +00:00
Joe Milazzo
8aee5b3e08
Fixed manage collections not being toggleable (#1813) 2023-02-19 12:12:12 -08:00
majora2007
0f042a23eb Bump versions by dotnet-bump-version. 2023-02-19 17:16:33 +00:00
Joe Milazzo
8df134e7c3
v0.7 Issues for Hotfix (#1812)
* Fix signalr admin messages sending (#1809)

* Changed messsage hub to use userIds

* SignalR events are fixed

* Fixed broken advanced tab on library settings

* Fixed regex timeout security issues.

* Added a migration for GMT+1 users where their UTC dates were getting broken somehow.

* Removed a console.log

* Fixed a migration name

---------

Co-authored-by: Snd-R <76580768+Snd-R@users.noreply.github.com>
2023-02-19 09:01:06 -08:00
Robbie Davis
1ce4f2b3ab Revert "Aligned build with main (#1801)"
This reverts commit 3f6eb5fe17934cc5aa3b227b165e184bf47ade14.
2023-02-18 12:29:01 -05:00
majora2007
dcf295c448 Bump versions by dotnet-bump-version. 2023-02-18 16:56:41 +00:00
Joe Milazzo
3f6eb5fe17
Aligned build with main (#1801) 2023-02-18 08:46:14 -08:00
majora2007
20e809bf38 Bump versions by dotnet-bump-version. 2023-02-18 14:54:40 +00:00
Joe Milazzo
1d45206593
v0.7 Release (#1797) v0.7 2023-02-18 06:42:30 -08:00
majora2007
82750777cb Bump versions by dotnet-bump-version. 2023-02-18 14:02:08 +00:00
Joe Milazzo
e22d1bb348
Final Release Testing (#1796)
* Fix some wording

* Fixed up stats to have total info on hover

* Fixed up a stat card not having clickable hint
2023-02-18 05:49:15 -08:00
majora2007
21d773d4b8 Bump versions by dotnet-bump-version. 2023-02-18 02:08:59 +00:00
Joe Milazzo
30af73c4f2
Small Build Fix (#1795)
* Stop showing loading indicator when no next/prev chapter

* Fixed a bug where manage collections wasn't named correctly in UI.

* Slight tweaks on email flow

* Fixed a bug where we were grabbing wrong property for book layout mode

* Fixed an issue where pagination area wasn't properly spanning window on different scaling modes.

* Fixed a bug where right pagination area wasn't sticking to the right hand side on original scaling

* Added a note from reading an epub3

* Reworked some of the readme

* Changed the build to ci
2023-02-17 17:56:52 -08:00
majora2007
4d30fa1925 Bump versions by dotnet-bump-version. 2023-02-18 00:06:12 +00:00
Joe Milazzo
c117d8dc04
Release Testing Part 2 (#1794)
* Stop showing loading indicator when no next/prev chapter

* Fixed a bug where manage collections wasn't named correctly in UI.

* Slight tweaks on email flow

* Fixed a bug where we were grabbing wrong property for book layout mode

* Fixed an issue where pagination area wasn't properly spanning window on different scaling modes.

* Fixed a bug where right pagination area wasn't sticking to the right hand side on original scaling

* Added a note from reading an epub3

* Reworked some of the readme
2023-02-17 15:48:46 -08:00
majora2007
2c4b94cfc3 Bump versions by dotnet-bump-version. 2023-02-16 12:52:29 +00:00
Joe Milazzo
00f153d8ea
Release Testing Bugs (#1790)
* Stop showing loading indicator when no next/prev chapter

* Fixed a bug where manage collections wasn't named correctly in UI.

* Slight tweaks on email flow
2023-02-16 04:39:40 -08:00
majora2007
e50f5ece1e Bump versions by dotnet-bump-version. 2023-02-12 21:27:24 +00:00
Joe Milazzo
bdd2a0a26a
Release Testing Time (#1785)
* Fixed a bug with getting continue point where there was a single volume unread and a later volume with chapters inside it, the chapters were being picked.

* Fixed a bug where resuming from jump key wasn't working (develop)

* Cleaned up the spacing
2023-02-12 13:14:13 -08:00
majora2007
0de927dee4 Bump versions by dotnet-bump-version. 2023-02-12 16:50:14 +00:00
Kupferhirn
11cb2cfb17
Allow changing listening ip addresses (#1713)
* Allow changing listening ip address

* Use Json serialize for appsettings.config saving

* BOM

* IP Address validation

* ip address reset

* ValidIpAddress regex
2023-02-12 08:37:46 -08:00
majora2007
01aed6ad99 Bump versions by dotnet-bump-version. 2023-02-12 16:31:49 +00:00
Joe Milazzo
3f24dc7392
Reading List Fixes (#1784)
* Add ability to save readinglist comicinfo fields in Chapter.

* Added the appropriate fields and migration for Reading List generation.

* Started the reading list code

* Started building out the CBL import code with some initial unit tests.

* Fixed first unit test

* Started refactoring control code into services and writing unit tests for ReadingLists. Found a logic issue around reading list title between create/update. Will be corrected in this branch with unit tests.

* Can't figure out how to mock UserManager, so had to uncomment a few tests.

* Tooltip for total pages read shows the full number

* Tweaked the math a bit for average reading per week.

* Fixed up the reading list unit tests. Fixed an issue where when inserting chapters into a blank reading list, the initial reading list item would have an order of 1 instead of 0.

* Cleaned up the code to allow the reading list code to be localized easily and fixed up a bug in last PR.

* Fixed a sorting issue on reading activity

* Tweaked the code around reading list actionables not showing due to some weird filter.

* Fixed edit library settings not opening on library detail page

* Fixed a bug where reading activity dates would be out of order due to a bug in how charts works. A temp hack has been added.

* Disable promotion in edit reading list modal since non-admins can (and should have) been able to use it.

* Fixed a bug where non-admins couldn't update their OWN reading lists. Made uploading a cover image for readinglists now check against the user's reading list access to allow non-admin's to set images.

* Fixed an issue introduced earlier in PR where adding chapters to reading list could cause order to get skewed.

* Fixed another regression from earlier commit

* Hooked in Import CBL flow. No functionality yet.

* Code is a mess. Shifting how the whole import process is going to be done. Commiting so I can pivot drastically.

* Very rough code for first step is done.

* Ui has started, I've run out of steam for this feature.

* Cleaned up the UI code a bit to make the step tracker nature easier without a dedicated component.

* Much flow implementation and tweaking to how validation checks and what is sent back.

* Removed import via cbl code as it's not done. Pushing to next release.
2023-02-12 08:20:51 -08:00
majora2007
ae1af22af1 Bump versions by dotnet-bump-version. 2023-02-11 12:11:35 +00:00
Joe Milazzo
7616eb5b0f
UTC Dates + CDisplayEx API Enhancements (#1781)
* Introduced a new claim on the Token to get UserId as well as Username, thus allowing for many places of reduced DB calls. All users will need to reauthenticate.

Introduced UTC Dates throughout the application, they are not exposed in all DTOs, that will come later when we fully switch over. For now, Utc dates will be updated along side timezone specific dates.

Refactored get-progress/progress api to be 50% faster by reducing how much data is loaded from the query.

* Speed up the following apis:
collection/search, download/bookmarks, reader/bookmark-info, recommended/quick-reads, recommended/quick-catchup-reads, recommended/highly-rated, recommended/more-in, recommended/rediscover, want-to-read/

* Added a migration to sync all dates with their new UTC counterpart.

* Added LastReadingProgressUtc onto ChapterDto for some browsing apis, but not all.

Added LastReadingProgressUtc to reading list items.

Refactored the migration to run raw SQL which is much faster.

* Added LastReadingProgressUtc onto ChapterDto for some browsing apis, but not all.

Added LastReadingProgressUtc to reading list items.

Refactored the migration to run raw SQL which is much faster.

* Fixed the unit tests

* Fixed an issue with auto mapper which was causing progress page number to not get sent to UI

* series/volume has chapter last reading progress

* Added filesize and library name on reading list item dto for CDisplayEx.

* Some minor code cleanup

* Forgot to fill a field
2023-02-11 04:01:24 -08:00
majora2007
36b48404c1 Bump versions by dotnet-bump-version. 2023-02-04 11:05:14 +00:00
Joe Milazzo
cad897015c
Stat Polish (#1775)
* SeriesGroup tag can now have comma separated value to allow a series to be a part of multiple collections.

* Added a missing unit test

* Refactored how collection tags are created to work in the scan loop reliably.

* Added a unit test for RemoveTagsWithoutSeries

* Fixed a bug in reading list title generation to avoid Volume 0 if the underlying file had a title set. Fixed a misconfigured unit test.

* On User stats page, don't show the user selector on reading history, despite if youre an admin. Cleaned up how we show days with 0 reading events to be more clear.

* Refactored the name of a component to reflect what it does

* Removed plugin not using

* Fix an issue where coalescing a key in epub might have multiple html files ending with the key. In this case, let's take the first.

* Added PikaPods to the Readme

* Tried to fix layout shift for charts, but need Robbie's help

* Chart styling

# Added:
- Added: Added styling to force charts into their respective containers.

# Removed:
- Removed: Removed code blocking charts from being visible on mobile.

* Merge conflict

---------

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2023-02-04 02:53:21 -08:00
majora2007
c60fdcf6e0 Bump versions by dotnet-bump-version. 2023-02-04 00:37:08 +00:00
Domenic Fiore
da9d9424bc
Spelling, grammar, and related consistency improvements (#1756)
* Spelling, grammar, and word structure improvements

* Email service text reworded to account for the Host Name feature
2023-02-03 16:24:09 -08:00
majora2007
e39eabf9a1 Bump versions by dotnet-bump-version. 2023-02-03 13:06:17 +00:00
Joe Milazzo
8a0a2f0961
Scanner Performance Improvements (#1774)
* Refactored the Genre code to be faster and used a dictonary to avoid some lookups. May fix the rare foreign constraint issue.

* Refactored tag to the same implementation as Genre. Ensure when grabbing tags from ComicInfo, we normalize and throw out duplicates.

* Removed an internal "external" field that was planned for Genres and Tags, but now with new plugin architecture, not needed.
2023-02-03 04:52:51 -08:00
majora2007
48aebfc3c2 Bump versions by dotnet-bump-version. 2023-02-01 16:34:28 +00:00
Joe Milazzo
a76770b240
Auto Collection Bugfixes (#1769)
* SeriesGroup tag can now have comma separated value to allow a series to be a part of multiple collections.

* Added a missing unit test

* Refactored how collection tags are created to work in the scan loop reliably.

* Added a unit test for RemoveTagsWithoutSeries

* Fixed a bug in reading list title generation to avoid Volume 0 if the underlying file had a title set. Fixed a misconfigured unit test.
2023-02-01 08:22:02 -08:00
majora2007
e86694ea9a Bump versions by dotnet-bump-version. 2023-01-31 04:13:51 +00:00
Joe Milazzo
1da27f085c
Automatic Collection Creation (#1768)
* Made the unread badges slightly smaller and rounded on top right.

* A bit more tweaks on the not read badges. Looking really nice now.

* In order to start the work on managing collections from ScanLoop, I needed to refactor collection apis into the service layer and add unit tests.

Removed ToUpper Normalization for new tags.

* Hooked up ability to auto generate collections from SeriesGroup metadata tag.
2023-01-30 19:57:46 -08:00
Joe Milazzo
91a2a6854f
[skip ci] Misc stuff (#1766)
* Refactored some code in BookService to make the code easier to understand

* More lint fixes

* Use npm ci for installs in pipeline

* Fixed build system again by deleting nodejs. New build system uses package-lcok going forward.

* Added a test case for Reading Time Estimation calculations

* Some cleanup

* Added even more testing to try and get scare's issue captured.
2023-01-30 12:36:45 -08:00
majora2007
5b05568436 Bump versions by dotnet-bump-version. 2023-01-30 19:01:12 +00:00
Joe Milazzo
d09e458e85
Angular 15 (#1765)
* Refactored some code in BookService to make the code easier to understand

* More lint fixes

* Use npm ci for installs in pipeline

* Fixed build system again by deleting nodejs. New build system uses package-lcok going forward.
2023-01-30 10:47:34 -08:00