959 Commits

Author SHA1 Message Date
Joseph Milazzo
3907414ae4
Shakeout Part 2 (#630)
* When flattening directories, ensure the order or directories being enumerated follows a natural sort. Some users are discovering directories in a different order than other machines.

* Added a case for volume parsing and fixed a poorly designed negative lookahead.

Added a sentence case pipe for formatting things.

Added time for all dates.

* Some more sentence case

* Register user now has a white input

* Fixed an issue with Manga up/down reading mode where top of the page was going forwards, when it should have gone backwards

* Reworked some code to ensure that scanseries doesn't show errors where in fact there was just nothing to update.

* Last updated should be working as intended for new library flow.

* Code smell
2021-10-03 15:40:22 -07:00
majora2007
fcfc9e5159 Bump versions by dotnet-bump-version. 2021-10-03 20:39:32 +00:00
Joseph Milazzo
6e85fe8c0a
Interlude/Half Volumes (#626)
* Refactored Parser to handle parts

* Fixed a bug where marking multiple entities as unread would actually make them look read on the UI

* Implemented the ability to have float volume numbers

* Removed two unit test cases

* Code smells
2021-10-03 13:30:31 -07:00
majora2007
d4507e3288 Bump versions by dotnet-bump-version. 2021-10-03 12:51:44 +00:00
Christoffer Green
63d7439938
Add comics-downloader parser (#611)
* Add comics-downloader parser

The utility comics-downloader can be used to download comics
and produces files of the type "seriesname-chapternumberpadded".
This adds support for that format.

For more info https://github.com/Girbons/comics-downloader

* Adjusted the test cases and added .+? to consume less characters.

Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
2021-10-03 05:42:40 -07:00
majora2007
8d2bd45073 Bump versions by dotnet-bump-version. 2021-10-03 12:36:37 +00:00
Joseph Milazzo
d750ce77a0
Shakeout Bugs (#623)
* Fixed an issue where ScanSeries would not fetch all the entities and thus files would get duplicated on the Chapter

* Remove building extra language binaries on build.

* Fixed an issue where first scan would cause an issue with websocket due to trying to send NaN over the wire.

* Fixed an issue where on new scans scan in progress indicators wouldn't turn off due to the way we were consuming events off the pipe.

* Ensure login page doesn't flash on first load

* Don't process touch events at all unless selection is enabled.
2021-10-03 05:27:35 -07:00
majora2007
fccdfa3bfe Bump versions by dotnet-bump-version. 2021-10-02 18:45:05 +00:00
Joseph Milazzo
30a302bf99
Changed how login page works based on user feedback. By default, we have the old login flow when authentication is enabled and in addition, we will auto fill the username based on last login on device. (#621) 2021-10-02 11:35:38 -07:00
majora2007
34d171f0b4 Bump versions by dotnet-bump-version. 2021-10-02 16:32:54 +00:00
Joseph Milazzo
a5b6bf1b52
Disable Authentication & Login Page Rework (#619)
* Implemented the ability to disable authentication on a server instance. Admins will require authentication, but non-admin accounts can be setup without any password requirements.

* WIP for new login page.

* Reworked code to handle disabled auth better. First time user flow is moved into the user login component.

* Removed debug code

* Removed home component, shakeout testing is complete.

* remove a file accidently committed

* Fixed a code smell from last PR

* Code smells
2021-10-02 11:23:58 -05:00
majora2007
83d76982f4 Bump versions by dotnet-bump-version. 2021-10-01 22:10:06 +00:00
Joseph Milazzo
6d86008607
Cleanup from last develop release (#614)
* Added extra information for Swagger Gen

* Ensure that the last scanned time gets updated after a scan finishes.

Remove title case from Library name UI display.

Show time on last scanned

* Don't force title case for library names. Show them as the user created them.
2021-10-01 15:00:51 -07:00
majora2007
839e35b15e Bump versions by dotnet-bump-version. 2021-10-01 15:22:53 +00:00
Joseph Milazzo
ce2f4b6a9f
Polishing and Bugfixes (#613)
* Added a new field to Library for showing Last Scan time for a library.

Manage library page now shows last scan for each library. Tweaked the websocket code to make scan progress a bit more reliable.

* Updated docnet to provide ARM support from our recent PR. Pi users can now have a version for PDF support out of the box.

* Parser is now culture invariant to hopefully fix an issue on Italian systems not detecting . correctly

* Added the ability for the collection detail page to update when a new series is added.

* Fixed an issue where multiple chapters stacked in a volume and reading in incognito, wouldn't sort the chapters and would open the wrong one.

* Code smell
2021-10-01 08:13:55 -07:00
majora2007
1ff1be2eb9 Bump versions by dotnet-bump-version. 2021-10-01 00:45:45 +00:00
Joseph Milazzo
0ac54e682f
Warn on Refresh Metadata (#610)
* Warn the user about the dangers of refresh metadata and promote them to use a scan instead.

* Removed presence hub and moved it over to message hub.

When a library scan is in progress, now a spinner will show on manage libraries page.

* Code cleanup
2021-09-30 17:36:58 -07:00
therobbiedavis
9b536ce700 Bump versions by dotnet-bump-version. 2021-09-30 14:20:00 +00:00
Joseph Milazzo
04e1051ec9
Fixed a circular reference. Touched up long press on card items for mobile devices to now be so sensitive for triggering selection code. (#609) 2021-09-30 10:11:18 -04:00
majora2007
4c536bade6 Bump versions by dotnet-bump-version. 2021-09-30 13:17:20 +00:00
Joseph Milazzo
56cf7be799
Scan Chunking (#604)
* Some performance refactoring around getting Library and avoid a byte[] copy for getting cover images for epubs.

* Initial commit. Rewrote the main series scan loop to use chunks of data at a time. Not fully shaken out.

* Hooked in the ability for the UI to react to series being added or removed from the DB.

* Cleaned up the messaging in the scan loop to be more clear.

* Metadata scan and scan work as expected and populate data to the UI. There is a slow down in speed for overall operation.

Scan series and refresh series metadata does not work fully.

* Fixed a bug where MangaFiles were not having LastModified Updated correctly, meaning they were opening archives every scan.

* Modified the code to be more realistic to the underlying file

* Updated ScanService to properly handle deleted files and not result in a higher-level scan.

* Shuffled around volume related repo apis to the volume repo rather than being in series.

* Rewrote scan series to be much cleaner and more concise on the flow. Fixed an issue in UpdateVolumes such that the debug code to log out removed volumes could throw an exception and actually break updating volumes.

* Refactored the code to set MangaFile last modified timestamp into the MangaFile entity.

* Added Series Name to ScanSeries event

* Added additional checks in ScanSeries to ensure we never go outside the library folder.

Added extra debug messages for when a metadata refresh doesn't actually make changes and for when we regen cover images.

* More logging statements saying where they originate from. Fixed a critical bug which caused only 1 chunk to ever be processed.

* Fixed a concurrency issue with natural sorter which could cause issues in ArchiveService.cs.

* Log cleanups

* Fixed an issue with logging out total time of a scan.

* Only show added toastrs for admins. When kicking off a refresh metadata for series, make sure we regenerate all cover images.

* Code smells on benchmark despite it being ignored
2021-09-30 06:08:05 -07:00
majora2007
2b50fd6380 Bump versions by dotnet-bump-version. 2021-09-27 13:15:15 +00:00
Joseph Milazzo
403083d88a
Reader Changes (#600)
* After first page load, attempt to switch the fit based on Automatic scaling and image ratio compared to the screen size.

* Inform user that pressing save on mobile will reset margin and they don't have to press save.
2021-09-27 06:06:35 -07:00
majora2007
6399e255e6 Merge branch 'develop' of https://github.com/Kareadita/Kavita into develop v0.4.6 2021-09-26 17:26:27 +00:00
majora2007
e2a4e37df1 Bump versions by dotnet-bump-version. 2021-09-26 17:26:26 +00:00
majora2007
e0f9c371d9 Merge branch 'develop' of https://github.com/Kareadita/Kavita into develop 2021-09-26 17:24:29 +00:00
majora2007
dc550e1ca4 Bump versions by dotnet-bump-version. 2021-09-26 17:24:29 +00:00
Joseph Milazzo
279e9d5c5c
Merge branch 'main' into develop 2021-09-26 10:17:06 -07:00
Joseph Milazzo
878eaf1c49
v0.4.6 Release (#598) 2021-09-26 10:15:56 -07:00
majora2007
caf55e2f75 Bump versions by dotnet-bump-version. 2021-09-26 12:49:49 +00:00
Joseph Milazzo
5e2606b0de
Feature/release cleanup (#597)
* Deselect all after bulk operations complete.

* Implemented a way to trigger selection code on mobile.

* When selection mode is active, make the clickable area the whole image.

* Series detail shouldn't use gutters for card layout as it can cause skewing on mobile

* Long press on card items to trigger the selection on mobile

* Code cleanup

* One more

* Misread the code issue
2021-09-26 05:40:52 -07:00
majora2007
5ceb74e210 Bump versions by dotnet-bump-version. 2021-09-25 00:36:30 +00:00
Joseph Milazzo
f5229fd0e6
Bulk Operations (#596)
* Implemented the ability to perform multi-selections on cards. Basic selection code is done, CSS needed and exposing actions.

* Implemented a bulk selection bar. Added logic to the card on when to force show checkboxes.

* Fixed some bad parsing groups and cases for Comic Chapters.

* Hooked up some bulk actions on series detail page. Not hooked up to backend yet.

* Fixes #593. URI Enocde library names as sometimes they can have & in them.

* Implemented the ability to mark volume/chapters as read/unread.

* Hooked up mark as unread with specials as well.

* Add to reading list hooked up for Series Detail

* Implemented ability to add multiple series to a reading list.

* Implemented bulk selection for series cards

* Added comments to the new code in ReaderService.cs

* Implemented proper styling on bulk operation bar and integrated for collections.

* Fixed an issue with shift clicking

* Cleaned up css of bulk operations bar

* Code cleanup
2021-09-24 17:27:47 -07:00
Kizaing
52c4285168 Bump versions by dotnet-bump-version. 2021-09-22 21:46:26 +00:00
Chris Plaatjes
1c541608cc
Merge pull request #592 from Kareadita/docker-covers-persistence
Added entry for persistent covers folder
2021-09-22 17:36:48 -04:00
Chris Plaatjes
506b7d3ae9
Added entry for persistent covers folder 2021-09-22 17:36:05 -04:00
majora2007
4f93b68b3e Bump versions by dotnet-bump-version. 2021-09-22 16:37:00 +00:00
Robbie Davis
7414b8ae07
Added ios detection (#591)
https://stackoverflow.com/questions/9038625/detect-if-device-is-ios/9039885#9039885

*Note* navigator.platform is deprecated but still seems to work for now.
2021-09-22 11:28:58 -05:00
majora2007
5c5289d3db Bump versions by dotnet-bump-version. 2021-09-22 14:45:57 +00:00
Joseph Milazzo
c44ef6b04d
Additional Memory Pressure Enhancements (#590)
* Added volume migrations. Added parser case for "Chapter 63 - The Promise Made for 520 Cenz.cbr"

* Added some info statements for when full library scans occur. For image apis, return the name of the file to aid in caching.

* When managing users, show the current logged in user at the top of the list. Added a message when no libraries have been setup but you are trying to add a user to a library.

* Removed an extra stream operation from SharpCompress cover image work. Removed an extra ToArray() from Book Reader for extracting PDF pages.

* Removed the left over comment

* Added parsing case for "Batman Beyond 04 (of 6) (1999)"

* Removed dead code
2021-09-22 07:36:32 -07:00
majora2007
587ac4ef46 Bump versions by dotnet-bump-version. 2021-09-22 13:10:04 +00:00
Joseph Milazzo
a872165747
Feature/image rework cleanup (#589)
* Added volume migrations. Added parser case for "Chapter 63 - The Promise Made for 520 Cenz.cbr"

* Added some info statements for when full library scans occur. For image apis, return the name of the file to aid in caching.

* When managing users, show the current logged in user at the top of the list. Added a message when no libraries have been setup but you are trying to add a user to a library.
2021-09-22 06:00:14 -07:00
majora2007
fb5866133a Bump versions by dotnet-bump-version. 2021-09-22 00:23:21 +00:00
Joseph Milazzo
82b5b599e0
Foundational Cover Image Rework (#584)
* Updating wording on card item when total pages is 0, to be just "Cannot Read" since it could be a non-archive file

* Refactored cover images to be stored on disk. This first commit has the extraction to disk and the metadata service to handle updating when applicable.

* Refactored code to have the actual save to cover image directory done by ImageService.

* Implemented the ability to override cover images.

* Some cleanup on Image service

* Implemented the ability to cleanup old covers nightly

* Added a migration to migrate existing covers to new cover image format (files).

* Refactored all CoverImages to just be the filename, leaving the Join with Cover directory to higher level code.

* Ensure when getting user progress, we pick the first.

* Added cleanup cover images for deleted tags. Don't pull any cover images that are blank.

* After series update, clear out cover image. No change on UI, but just keeps things clear before metadata refresh hits

* Refactored image formats for covers to ImageService.

* Fixed an issue where after refactoring how images were stored, the cleanup service was deleting them after each scan.

* Changed how ShouldUpdateCoverImage works to check if file exists or not even if cover image is locked.

* Fixed unit tests

* Added caching back to cover images.

* Caching on series as well

* Code Cleanup items

* Ensure when checking if a file exists in MetadataService, that we join for cover image directory. After we scan library, do one last filter to delete any series that have 0 pages total.

* Catch exceptions so we don't run cover migration if this is first time run.

* After a scan, only clear out the cache directory and not do a deep clean.

* Implemented the ability to backup custom locked covers only.

* Fixed unit tests

* Trying to figure out why GA crashes when running MetadataServiceTests.cs

* Some debugging on GA tests not running

* Commented out tests that were causing issues in GA.

* Fixed an issue where series cover images wouldn't migrate

* Fixed the updating of links to actually do all series and not just locked
2021-09-21 19:15:29 -05:00
majora2007
fd6925b126 Bump versions by dotnet-bump-version. 2021-09-21 15:31:56 +00:00
Joseph Milazzo
857c2a2bd5
High Res images breaking due to Canvas limits (#587)
* Fixed an issue where on Safari with high resolution images, the canvas wouldn't be able to render them. Now we detect high res that might break canvas on different browsers and scale them.

* Removed some code no longer needed
2021-09-21 08:22:07 -07:00
majora2007
de415ee759 Bump versions by dotnet-bump-version. 2021-09-16 14:26:27 +00:00
Joseph Milazzo
b452409a4a
Bugfix/manga reader (#582)
* Fixed an issue where you could change paging direction then switch to Up/Down mode and paging direction would still be present

* Removed some code for a feature I'm not implementing anymore
2021-09-16 07:17:36 -07:00
majora2007
364c57925e Bump versions by dotnet-bump-version. 2021-09-16 00:34:15 +00:00
Joseph Milazzo
2725e6042b
WebP Support (#581)
* Added trackby so when series scan event comes through, cards can update too

* Added chapter boundary toasts on book reader

* Handle closing the reader when in a reading list

* Somehow the trackby save didn't happen

* Fixed an issue where after opening a chapter info modal, then trying to open another in specials tab it would fail due to a pass by reference issue with our factory.

* When a series update occurs, if we loose specials tab, but we were on it, reselect volumes/chapters tab

* Fixed an issue where older releases would show as available, even though they were already installed.

* Converted tabs within modals to use vertical orientation (except on mobile)

* Implemented webp support. Only Safari does not support this format natively. MacOS users can use an alternative browser.

* Refactored ScannerService and MetadataService to be fully async
2021-09-15 17:25:18 -07:00