1674 Commits

Author SHA1 Message Date
Joseph Milazzo
9d7476a367
Send To Device Support (#1557)
* Tweaked the logging output

* Started implementing some basic idea for devices

* Updated Email Service with new API routes

* Implemented basic DB structure and some APIs to prep for the UI and flows.

* Added an abstract class to make Unit testing easier.

* Removed dependency we don't need

* Updated the UI to be able to show devices and add new devices. Email field will update the platform if the user hasn't interacted with it already.

* Added ability to delete a device as well

* Basic ability to send files to devices works

* Refactored Action code to pass ActionItem back and allow for dynamic children based on an Observable (api).

Hooked in ability to send a chapter to a device. There is no logic in the FE to validate type.

* Fixed a broken unit test

* Implemented the ability to edit a device

* Code cleanup

* Fixed a bad success message

* Fixed broken unit test from updating mock layer
2022-09-23 15:41:29 -07:00
majora2007
ab0f13ef74 Bump versions by dotnet-bump-version. 2022-09-23 14:50:45 +00:00
Korakot Santiudommongkol
3cdf8df1db
Nested Menus (#1554)
* added initial submenu

* added submenu - needs a bit of more work

* removed admin and nonadmin action split

* the whole menu is build under the resetactions function

* removed download from seriesAction

* changed submenu layout
changed submenu toggle icon
fix for the hovering of submenu toggle

* moved the cdMarkForCheck in the subscribe block
2022-09-23 07:37:30 -07:00
majora2007
dec6802f88 Bump versions by dotnet-bump-version. 2022-09-22 23:05:48 +00:00
Ocgineer
aad480d83c
Series title word wrapping (#1519)
* Added text-break class to series title.

Simply added the class text-break from bootstrap to break on words.
https://getbootstrap.com/docs/5.0/utilities/text/#word-break

This has no issue with languages that do not or rarely use spaces, such as japanese and chinese. Used the following two series names to test;
- 今まで一度も女扱いされたことがない女騎士を女扱いする漫画
- Imamade Ichido mo Onnaatsukai sareta Koto ga Nai Onna Kishi wo Onnaatsukai suru

* Added text-break class to localized title

Also added the text-break bootstrap class to the localized title, removed the word-break rule from css as it is redundant.

* Enclosed LibraryName with span

Enclosed {{libraryName}} with a span to remove the added space before the title, aligning it again with the start of the subtitle. This mimics series-detail-component.html
2022-09-22 15:52:44 -07:00
majora2007
d482aa2a11 Bump versions by dotnet-bump-version. 2022-09-22 21:57:04 +00:00
tjarls
bc1e314326
Fallback to other locations when ComicInfo.xml not at root of archive (#1551)
* Fallback to other locations when ComicInfo.xml not at root of archive

* Better ComicInfo test coverage and benchmarks

* Add a rar archive to the ComicInfo test cases
2022-09-22 14:44:01 -07:00
majora2007
aafbce377b Bump versions by dotnet-bump-version. 2022-09-20 23:28:30 +00:00
Joseph Milazzo
4ecb44d3d0
Folder Watching Polish + Epub Fix (#1550)
* Fixed entrypoint writing bad json (from develop)

* Fixed a bug where log file could write out a crap ton of information (serializing Series object) when a db error occurs.

* Fixed an issue with scan loop where concurrency issues could occur on new series being added.

* Tweaked the logger to suppress some noisy logs when using Debug log level.

* Fixed a regression with epub parsing from v3.2 of Vers-One's release

* Fixed up folder watching to work more reliable. Validated in production.

* Code cleanup
2022-09-20 16:14:40 -07:00
majora2007
356d2c8015 Bump versions by dotnet-bump-version. 2022-09-20 17:01:42 +00:00
ThePromidius
e2fb19b288
Tachiyomi unit tests and fixes (#1549)
* Moved logic from TachiyomiController.cs to TachiyomiService.cs

* Added GetLatestChapter Unit Tests

* Tachiyomi more tests.
Implemented test for yearly volumes

* MarkVolumesUntilAsRead unit test

* Registered tachiyomi service.
Added new test

* Fixed test pages

* Added missing check if its single-file volume

* Removed dead code

* Added method documentation and breaked thousands with `_`

* Review details and renamed test method to be more descriptive

* Review changes
- Removed automapper
- Added spaces after commas
- Added class documentation (copied from controller)
- Made Culture static
- Added 'R' doc linking to docs.ms
- Added trycatch to service when saving progress and logged
- Removed redundant qualifiers

* finishing touches

Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
2022-09-20 09:46:46 -07:00
majora2007
090c4e279c Bump versions by dotnet-bump-version. 2022-09-18 18:40:58 +00:00
tjarls
28c868b46c
Parser optimization part1 (#1531)
* Optimize CleanTitle

* Optimize MangaEditionRegex

* Optimize special regexes

* Refactor manga|comic special parsing into simple tests

* Word bind the special regexps. Support additional "special" use cases.

* Updates to address PR comments

* CleanTitle benchmarking

* Use a smaller Comics Data set for benchmarking
2022-09-18 11:26:17 -07:00
majora2007
0403f938b0 Bump versions by dotnet-bump-version. 2022-09-18 18:11:04 +00:00
Joseph Milazzo
a8ffaddb28
Removed some debug code (#1543) 2022-09-18 11:00:01 -07:00
majora2007
b874e54c85 Bump versions by dotnet-bump-version. 2022-09-18 17:37:53 +00:00
Joseph Milazzo
e89a06865c
Misc Polish and Fixes (#1542)
* Moved LibraryWatcher to utilize a queue for calculating the change event to ensure the Watcher doesn't get overwhelmed on large moves.

* Fixed a security vulnerability (https://huntr.dev/bounties/8a3e652f-d6bf-436e-877e-0eaf5c69ef95/). This will be disclosed in Stable release changelog.

* Tweaked the log message template

* Removed some dead code from Configuration json patcher

* Fixed a bug with the ComicInfo finding to properly handle root level.

Fixed a bug where sometimes scanner wouldn't choose the first file with ComicInfo for filling out information.

* Added new setting for managing how many logs files are allowed, just like how backups work.

* Added unit tests for new CleanupLogs code

* Fixed a bug where manga reader background color wasn't actually sending from the UI

* Added new stats for tracking to help understand usage in the app and what features are used or not.

* Fixed Stats url

* Fixed a bug where volumes that had larger than 1 difference wouldn't properly return next/prev chapter (for continuous reader)

* Remove a redundant test step in build pipeline, since it's already done at PR stage.

* Updated dockerfile to use the new Heath check endpoint

* Allow force to pass through to scan loop

* Removed some old config stuff from a safety check on config in entrypoint.sh

* Fixed broken unit tests due to new RBS check and how we setup mock data.
2022-09-18 10:24:30 -07:00
majora2007
c58c7deaf9 Bump versions by dotnet-bump-version. 2022-09-16 13:18:14 +00:00
Joseph Milazzo
9cf4cf742b
Reader Bugs + New Features (#1536)
* Updated a typo in manage tasks of Reoccuring -> Recurring

* Fixed a bug in MinimumNumberFromRange where a regex wasn't properly constructed which could skew results.

* Fixed a bug where Volume numbers that were a float wouldn't render correctly in the manga reader menu.

* Added the ability to double click on the image to bookmark it. Optimized the bookmark and unbookmark flows to remove 2 DB calls and reworked some flow of calls to speed it up.

Fixed some logic where when using double (manga) flow, both of the images wouldn't show the bookmark effect, despite both of them being saved. Likewise, fixed a bug where both images weren't updating UI state, so switching from double (manga) to single, the second image wouldn't show as bookmarked without a refresh.

* Double click works perfectly for bookmarking

* Collection cover image chooser will now prompt with all series covers by default.

Reset button is now moved up to the first slot if applicable.

* When a Completed series is fully read by a user, a nightly task will now remove that series from their Want to Read list.

* Added ability to trigger Want to Read cleanup from Tasks page.

* Moved the brightness readout to the label line and fixed a bootstrap migration bug where small buttons weren't actually small.

* Implemented ability to filter against release year (min or max or both).

* Fixed a log message that wasn't properly formatted when scan finished an no files changes.

* Cleaned up some code and merged some methods

* Implemented sort by Release year metadata filter.

* Fixed the code that finds ComicInfo.xml inside archives to only check the root and check explicitly for casing, so it must be ComicInfo.xml.

* Dependency updates

* Refactored some strings into consts and used TriggerJob rather than just enqueuing

* Fixed the prefetcher which wasn't properly loading in the correct order as it was designed.

* Cleaned up all traces of CircularArray from MangaReader

* Removed a debug code

* Fixed a bug with webtoon reader in fullscreen mode where continuous reader wouldn't trigger

* When cleaning up series from users' want to read lists, include both completed and cancelled.

* Fixed a bug where small images wouldn't have the pagination area extend to the bottom on manga reader

* Added a new method for hashing during prod builds and ensure we always use aot

* Fixed a bug where the save button wouldn't enable when color change occured.

* Cleaned up some issues in one of contributor's PR.
2022-09-16 06:06:33 -07:00
majora2007
52c10510b2 Bump versions by dotnet-bump-version. 2022-09-14 23:30:24 +00:00
Ocgineer
00159378ce
Configure Animation Module (#1504)
* Configure Animation Module

Configure the Animation Module of Angular to disable animation on older iOS devices (<14) where it causes animate not defined errors.

* Simplified disableAnimations

Removed the regex iOS version check as it seemed to return false on iOS 12.5.5 meaning that the `!('animate' in document.documentElement)` did the job already. This also allows users to enable the experimental feature Web Animations on iOS 12.5.5 to have them enabled again.

as note; navigator.userAgent returned the following on an iPad iOS 12.5.5
`Mozilla/5.0 (iPad; CPU OS 12_5_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1`

* added console output on disabled

Added console.error if Web Animations have been disabled due to the browser not supporting this.
2022-09-14 16:17:05 -07:00
majora2007
dae481482e Bump versions by dotnet-bump-version. 2022-09-14 13:16:09 +00:00
tjarls
a1c3f43656
Metadata Bugfixes (#1511)
* Fix XML deserialization of empty elements to integers

* Fix assumption that environment uses US time format

* Use series name as SeriesSort in epub

* Address some PR comments

* Add partial Equals(0 implementation to ComicInfo

* Update ComicInfo unittest. Revert previous version
2022-09-14 06:03:20 -07:00
majora2007
0a6e64d767 Bump versions by dotnet-bump-version. 2022-09-14 00:52:19 +00:00
Joseph Milazzo
beaa07c7d9
Fixed a version issue with migration (#1526) 2022-09-13 17:36:38 -07:00
majora2007
8a73c2a5d4 Bump versions by dotnet-bump-version. 2022-09-14 00:16:37 +00:00
Joseph Milazzo
00f0ad5a3f
Misc Enhancements (#1525)
* Moved the data connection for the Database out of appsettings.json and hardcoded it. This will allow for more customization and cleaner update process.

* Removed unneeded code

* Updated pdf viewer to 15.0.0 (pdf 2.6), which now supports east-asian fonts

* Fixed up some regex parsing for volumes that have a float number.

* Fixed a bug where the tooltip for Publication Status wouldn't show

* Fixed some weird parsing rules where v1.1 would parse as volume 1 chapter 1

* Fixed a bug where bookmarking button was hidden for admins without bookmark role (due to migration)

* Unified the star rating component in series detail to match metadata filter.

* Fixed a bug in the bulk selection code when using shift selection, where the inverse of what was selected would be toggled.

* Fixed some old code where if on all series page, only English as a language would return. We now return all languages of all libraries.

* Updated api/metadata/languages documentation

* Refactored some bookmark api names: get-bookmarks -> chapter-bookmarks, get-all-bookmarks -> all-bookmarks, get-series-bookmarks -> series-bookmarks, etc.

* Refactored all cases of createSeriesFilter to filterUtiltityService.

Added ability to search for a series on Bookmarks page.

Fixed a bug where people filters wouldn't respect the disable flag froms ettings.

* Cleaned up a bit of the circular downloader code.

* Implemented Russian Parsing

* Fixed an issue where some users that had a missing theme entry wouldn't be able to update their user preferences.

* Refactored normalization to exclude !, thus allowing series with ! to be different from each other.

* Fixed a migration exit case

* Fixed broken unit test
2022-09-13 16:59:26 -07:00
majora2007
b7d88f08d8 Bump versions by dotnet-bump-version. 2022-09-13 00:41:21 +00:00
Joseph Milazzo
d1a14f7e68
Logging Enhancements (#1521)
* Recreated Kavita Logging with Serilog instead of Default. This needs to be move out of the appsettings now, to allow auto updater to patch.

* Refactored the code to be completely configured via Code rather than appsettings.json. This is a required step for Auto Updating.

* Added in the ability to send logs directly to the UI only for users on the log route. Stopping implementation as Alerts page will handle the rest of the implementation.

* Fixed up the backup service to not rely on Config from appsettings.json

* Tweaked the Logging levels available

* Moved everything over to File-scoped namespaces

* Moved everything over to File-scoped namespaces

* Code cleanup, removed an old migration and changed so debug logging doesn't print sensitive db data

* Removed dead code
2022-09-12 17:25:48 -07:00
majora2007
9f715cc35f Bump versions by dotnet-bump-version. 2022-09-03 17:58:26 +00:00
Robbie Davis
f12fc705e7
Updating series detail cover (#1509)
* Updating series detail cover

# Fixed
- Fixed: Fixed an issue where the series detail cover would resize too large on ultra wide displays.

* Fixing typos
2022-09-03 10:45:29 -07:00
majora2007
67058feca7 Bump versions by dotnet-bump-version. 2022-09-02 16:55:03 +00:00
Joseph Milazzo
2283ae5d61
Bookmark RBS + Dynamic PGO (#1503)
* Allow .NET to optimize code as it's running.

* Implemented the ability to restrict users Bookmark ability. By default, users will need to now opt-in to get bookmark roles.

* Fixed a tachiyomi progress syncing logic bug
2022-09-02 09:40:52 -07:00
majora2007
30500a441c Bump versions by dotnet-bump-version. 2022-09-02 12:47:48 +00:00
Joseph Milazzo
e649f5cf9d
v0.5.6 Release (#1499) v0.5.6 2022-09-02 05:31:44 -07:00
majora2007
4eb5219d70 Bump versions by dotnet-bump-version. 2022-09-02 11:58:51 +00:00
Robbie Davis
b85c5ccca4
Updating series detail cover style (#1498)
# FIxed
- Fixed: Fixed an issue with series detail cover when scaled down.
2022-09-02 04:42:44 -07:00
majora2007
9c8aa5b336 Bump versions by dotnet-bump-version. 2022-09-01 19:02:57 +00:00
Joseph Milazzo
f2249ea39b
Release Testing Day 3 (#1496)
* Tweaked log messaging for library scan when no files were scanned.

* When a theme that is set gets removed due to a scan, inform the user to refresh.

* Fixed a typo and make Darkness -> Brightness

* Make download theme files allowed to be invoked by non-authenticated users, to allow new users to get the default theme.

* Hide all series side nav item if there are no libraries exposed to the user

* Fixed an API for Tachiyomi when syncing progress

* Fixed dashboard not responding to Series Removed and Added events.

Ensure we send SeriesRemoved events when they are deleted.

* Reverted Hangfire SQLite due to aborted jobs being resumed, when they shouldnt. Fixed some scan loop issues where cover gen wouldn't be invoked always on new libraries.
2022-09-01 11:45:34 -07:00
majora2007
ab21c1b49e Bump versions by dotnet-bump-version. 2022-09-01 17:04:15 +00:00
Joseph Milazzo
52ed5724e0
Fixed a bug where a series with a relationship couldn't be deleted. (#1495) 2022-09-01 09:46:13 -07:00
majora2007
9ee5ab97ef Bump versions by dotnet-bump-version. 2022-08-31 15:02:23 +00:00
Joseph Milazzo
2cd94e7db4
Release Testing Day 2 (#1493)
* Added a no data section to collection detail.

* Remove an optimization for skipping the whole library scan as it wasn't reliable

* When resetting password, ensure the input is colored correctly

* Fixed setting new password after resetting, throwing an error despite it actually being successful.

Fixed incorrect messaging for Password Reset page.

* Fixed a bug where reset password would show the side nav button and skew the page.

Updated a lot of references to use Typed version for formcontrols.

* Removed a migration from 0.5.0, 6 releases ago.

* Added a null check so we don't throw an exception when connecting with signalR on unauthenticated users.
2022-08-31 07:50:24 -07:00
majora2007
8e21a7091f Bump versions by dotnet-bump-version. 2022-08-30 15:42:28 +00:00
Joseph Milazzo
85790dd71c
Scan Loop Last Write Time Change (#1492)
* Refactored invite user flow to separate error handling on create user flow and email flow. This should help users that have unique situations.

* Switch to using files to check LastWriteTime. Debug code in for Robbie to test on rclone

* Updated Parser namespace. Changed the LastWriteTime to check all files and folders.
2022-08-30 08:29:09 -07:00
majora2007
521b2adc14 Bump versions by dotnet-bump-version. 2022-08-29 23:18:46 +00:00
Joseph Milazzo
d7f2661655
Release Testing Day 1 (#1491)
* Fixed a bug where typeahead wouldn't automatically show results on relationship screen without an additional click.

* Tweaked the code which checks if a modification occured to check on seconds rather than minutes

* Clear cache will now clear temp/ directory as well.

* Fixed an issue where Chrome was caching api responses when it shouldn't had.

* Added a cleanup temp code

* Ensure genres get removed during series scan when removed from metadata.

* Fixed a bug where all epubs with a volume would show as Volume 0 in reading list

* When a scan is in progress, don't let the user delete the library.
2022-08-29 16:07:39 -07:00
majora2007
fb86ce4542 Bump versions by dotnet-bump-version. 2022-08-29 14:12:43 +00:00
Joseph Milazzo
6d10c52ee9
Fixed typeahead not working correctly (#1490) 2022-08-29 06:56:08 -07:00
majora2007
29827f423f Merge branch 'develop' of https://github.com/Kareadita/Kavita into develop 2022-08-28 22:04:00 +00:00