1099 Commits

Author SHA1 Message Date
Chris Plaatjes
5d2c2deb61
Feature/docker cleanup (#459)
## Changes
- Cleaned up and fixed old docker files
2021-08-05 10:13:27 -04:00
Chris Plaatjes
9a6cd5ca49 Cleaned up and fixed old docker files 2021-08-05 01:14:04 -04:00
Chris Plaatjes
e814533339 Merge branch 'develop' of github.com:Kareadita/Kavita into feature/docker-stable-tags 2021-08-05 01:10:58 -04:00
therobbiedavis
d508bbf3a1 Bump versions by dotnet-bump-version. 2021-08-03 18:07:13 +00:00
Chris Plaatjes
d10607cd25
Consolidating Stable Docker Tags
## Changes
- Combined stable and version tags into 1 task for workflow efficency
2021-08-03 13:58:31 -04:00
Chris Plaajtes
0b99277923 Merged docker tagging actions into one 2021-08-03 12:58:16 -04:00
Chris Plaajtes
c3132f0067 Merge branch 'develop' of github.com:Kareadita/Kavita into develop 2021-08-03 12:55:36 -04:00
therobbiedavis
12390639ec Bump versions by dotnet-bump-version. 2021-08-02 15:35:50 +00:00
Robbie Davis
dcafdd1ef1
Feature/version bump (#457)
## Changes
- Unprotected dev branch
- Added automated version bump on pushes to develop (merge PRs)
2021-08-02 11:28:24 -04:00
Robbie Davis
912469de12
Feature/version bump (#456)
** Changes
- Workflow changes
2021-08-02 09:54:57 -04:00
Robbie Davis
74dc6fd5dc Updating workflow, removing branch creation 2021-08-02 08:55:26 -04:00
Robbie Davis
84c88fdf3d Workflow fixes 2021-08-02 08:46:01 -04:00
Robbie Davis
514547a2b2 Updating workflow 2021-08-02 08:34:45 -04:00
Robbie Davis
e3cfbadd9d
Feature/version bump test (#449)
## Changes
- Reconfigured Github workflow for better visibility
- Added automated version bump on merge push to Develop branch
2021-08-02 08:22:33 -04:00
Joseph Milazzo
2f8af9f8e6
Fixed the In progress API returning back series that didn't belong (#453)
* Fixed the In progress API returning back series that had another users progress on them. Added SplitQuery which speeds up query significantly.

* Try out putting PR body into notification
2021-07-30 09:02:17 -05:00
Robbie Davis
1ec8f6235f Updating version-bump.yml 2021-07-30 09:30:55 -04:00
Robbie Davis
8676b81821 Adding version bump workflow 2021-07-30 08:56:03 -04:00
Joseph Milazzo
fd6fa2fce4
Bugfix/in progress (#452)
# Fixed
- Fixed: Fixed an issue in In Progress where it would not pull the series with correct pagination due to the unique situation with the query. All series that are in progress should now return. 
============================
* Fixed In Progress not showing for all series due to pagination bug

* Version bump
2021-07-29 19:57:06 -05:00
Joseph Milazzo
01007dee28
Refactored logs to use a logs/ folder and also roll over after 10MB. … (#448)
# Changed
- Changed: Log files now roll (kavita, kavita1, etc) up to 5 files, each with a max of 10MB each. After all 5 files fill up, they will roll over. (Closes #446 )
=============================

* Refactored logs to use a logs/ folder and also roll over after 10MB. A maximum of 5 logs will persist (50MB of log data).

* Updated entrypoint to accommodate rolling logs

Co-authored-by: Chris Plaatjes <kizaing@gmail.com>
2021-07-28 15:37:13 -05:00
Chris Plaajtes
b0a623dbc2 Updated entrypoint to accomodate new logs folder 2021-07-28 16:19:15 -04:00
Joseph Milazzo
590ee771c1 Refactored logs to use a logs/ folder and also roll over after 10MB. A maximum of 5 logs will persist (50MB of log data). 2021-07-28 15:07:06 -05:00
Joseph Milazzo
58856c0d70
Filtering Bugs (#447)
# Fixed
- Fixed: Fixed an issue with filtering, after applying a filter, the cards on screen did not update with the correct information
- Fixed: Pagination is now slighlty smaller (only 8 pages) as on mobile, it was cutting off screen.

# Changed
- Changed: During library scan and series updates, Series names for Epubs will now trim excess white space
===============================================

* Fixed issue where some formats could get returned with another format filter.

* Filtering was not properly flushing DOM on filter change, updated trackbyidentity to account for filter

* One more fix for the filtering bug

* Made pagination UI slightly smaller to better fit on mobile phones. Trim() series names for Epub files and Trim() on series update for appropriate fields.

* Removed a no longer needed animation.
2021-07-28 14:11:49 -05:00
Joseph Milazzo
55dd9e7f1e
Supress max page error on bookmark api and just adjust the pages for the user. (#445)
# Changed
- Changed: Suppress max page error on bookmark api and just adjust the pages for the user.
2021-07-27 20:10:40 -05:00
Joseph Milazzo
b9f20f4d19
Filtering First Pass (#442)
# Added
- Added: Added "In Progress" view to see everything you are currently reading
- Added: Added the ability to filter series based on format from "In Progress", "Recently Added", "Library Detail" pages.
- Added: Added total items to the above pages to showcase total series within Kavita

==============================
* Added filtering to recently added

* Cleaned up the documentation on the APIs and removed params no longer needed.

* Implemented Filtering on library detail, in progress, and recently added for format. UI is non-final.

* Moved filtering to an expander panel

* Cleaned up filtering UI a bit

* Cleaned up some code and added titles on touched pages

* Fixed recently added not re-rendering page

* Removed commented out code

* Version bump

* Added an animation to the filtering section

* Stashing changes, needing to switch lazy loading libraries out due to current version not trigging on dom mutation events

* Finally fixed all the lazy loading issues and made it so pagination works without reloading the whole page.
2021-07-27 18:39:53 -05:00
Joseph Milazzo
434bcdae4c
Ignore Mac metadata hidden files ._* (#443)
* Implemented the ability to completely ignore all MacOS ._ files. They are ignored for all I/O operations (on all OSes)
2021-07-27 10:24:23 -05:00
Joseph Milazzo
a349f16ed4 Merge branch 'develop' of https://github.com/Kareadita/Kavita into develop 2021-07-25 19:45:34 -05:00
Joseph Milazzo
3c9f73ce2c
Performance/cache epub (#438)
Changed: (Performance) Added the ability for epubs to cache, allowing faster page load for users with network mounted storage. (Fixes Investigate caching epubs (benefit for network mounted users) #433 )
2021-07-25 19:43:37 -05:00
Joseph Milazzo
ff25565584 Merge branch 'develop' of https://github.com/Kareadita/Kavita into develop 2021-07-25 19:38:15 -05:00
Joseph Milazzo
3dbe7eec1f
Feature/manual db backup (#437)
Added: New button in manage server to manually create a backup of DB (Fixes Add on demand DB backup from Admin Dashboard #322)
2021-07-25 19:34:55 -05:00
Joseph Milazzo
f8579b8311 Merge branch 'develop' of https://github.com/Kareadita/Kavita into develop 2021-07-25 17:55:17 -05:00
Joseph Milazzo
66f40656dd
Bugfix/reader progress (#435)
Fixed: Fixed an issue where marking a series as Unread when the DB gets skewed with duplicate progress rows for that item, would break. Now we cleanup any extra rows we see during the operation.
2021-07-25 17:31:42 -05:00
Robbie Davis
2209a65d52 Adding automated docker version tag for stable releases
- Added set to parse version to x.x.x format for tag. (This is the same way we parse for sentry release maps)

- Added additional build and push step for docker with parse version as tag.
2021-07-25 13:20:38 -04:00
Joseph Milazzo
dbcec66b10 Merge branch 'develop' 2021-07-25 11:07:56 -05:00
Joseph Milazzo
9dfb1a3d27 Merge branch 'main' into develop 2021-07-25 11:07:43 -05:00
Joseph Milazzo
d97e81d53e
Release v0.4.3 (#414)
* Ensure that after we assign a role to a user, we show it immediately

* Cached libraryType api as that is not going to change in a viewing session. Moved some components around to tighten bundles.

* Cleaned up more TODOs

* Refactored Configuration to use getter and setters so that the interface is a lot cleaner. Updated HashUtil to use JWT Secret instead of Machine name (as docker machine name is random each boot).

* Added debug code to Startup for Chris to test with on Docker

* Removed debug code

* Version bump, readme updates
v0.4.3
2021-07-25 10:50:16 -05:00
Joseph Milazzo
4f3461710c
More Polishing (#428)
# Added
- Added: Added a new button on admin dashboard to clear cache for the whole server

# Changed
- Changed: Moved the download logs to the new System page
- Changed: Tag Badges now show the correct cursor to help indication actions. For example, Collection badges on series detail page can be clicked, while type cannot.

# Fixed
- Fixed: Fixed an issue in develop builds where Pagination no longer worked due to Header not being exposed
- Fixed: After Scanning a series, clear out any cached chapters

=======================================================
* After Scanning a series, clear out any cached chapters.


* Implemented cursor overrides for tag badges

* Fixed pagination no longer working due to Pagination header not being able to be read from the UI.

* Fixed some css things with icons within tagbadges not taking the selection mode styling

* Moved download logs button to the system page

* Implemented the ability to clear cache for the whole server from admin dashboard

* Removed debug code

* Up the Regex Timeout for the Github Build System
2021-07-24 19:14:38 -05:00
Joseph Milazzo
107b70226c
Feature/performance pdf (#427)
* Added Timeout for Regex matching to ensure malicious filenames don't crash system

* Refactored GetCoverImage to use series format rather than library type

* Refactored download logs to use the download service

* Fixed accent color not looking well on light theme

* Refactored series format into dedicated component and added to search results

* Switch to using MemoryManager for Streams to attempt to minimize GC pressure and reduced bitmap manipulation for transparency hack.

* Refactored PDF extraction to re-use the same MemoryStream for all pages

* Debug code for another issue that only users with OpenMediaVault can run
2021-07-24 17:17:28 -05:00
Joseph Milazzo
81dfd63250
Feature/performance pdf (#426)
#  Added
- Added: Added series format information to the search typeahead to help identify duplicate series in libraries

# Fixed
- Fixed: Fixed accent color not looking well on light theme
- Fixed: Attempted to fix the memory issues with PDF reading on Docker. Uses a Memory Pool for streams and removes a bitmap operation for fixing books with transparent backgrounds (#424)

# Changed
- Changed: Refactored download logs to use the same download code as rest of Kavita 

# Dev stuff
- Added timeout for Regex's to make sure during matching, malicious filenames doesn't crash user system
- Refactored a missing GetCoverImage to use Series Format rather than old Library Type

==================================================
* Added Timeout for Regex matching to ensure malicious filenames don't crash system

* Refactored GetCoverImage to use series format rather than library type

* Refactored download logs to use the download service

* Fixed accent color not looking well on light theme

* Refactored series format into dedicated component and added to search results

* Switch to using MemoryManager for Streams to attempt to minimize GC pressure and reduced bitmap manipulation for transparency hack.
2021-07-24 16:17:13 -05:00
Joseph Milazzo
78ad01f5ae
Fixed a bug where a new lirary scan would break due to scan series not properly filtering out parsed series (#423) 2021-07-23 21:52:57 -05:00
Joseph Milazzo
ebd4ec25bf
Shakeout Fixes (#422)
# Fixed
- Fixed: Clean the pdf extension from Series title for PDF types
- Fixed: Fixed a bug where a forced metadata refresh wouldn't trigger a volume to force a refresh of cover image
- Fixed: Fixed an issue where Removing series no longer on disk would not use the Series Format and thus after deleting files, they would not be removed.
- Fixed: Fixed an issue with reading a single image file, where the cache code would not properly move the file
- Fixed: For Specials, Get Next/Prev Chapter should use the filename instead of arbitrary Number (which is always 0). Use the same sorting logic when requesting volumes on series detail, so sorting can happen in the backend.

# Added
- Added: (Accessibility) Nearly every page has had a title set for it 

===============================================================================

* Clean the pdf extension from ParseSeries

* Fixed a bug where forced metadata refresh wouldn't trigger the volume to update it's image.

* Added titles to most pages to help distinguish back/forward history.

Fixed a bug in the scanner which didn't account for Format when calculating if we need to remove a series not on disk.

* For Specials, Get Next/Prev Chapter should use the filename instead of arbitrary Number (which is always 0). Use the same sorting logic when requesting volumes on series detail, so sorting can happen in the backend.

* Fixed unit tests
2021-07-23 18:02:14 -05:00
Joseph Milazzo
29edadb506 Updated readme 2021-07-23 12:10:02 -05:00
Joseph Milazzo
199ab7946c
Fixed Docker not being able to parse PDF Images (#418)
* Fixed an issue with downloading pdf files

* Bumped sentry version to latest

* Refactored PDF Page to image extraction to a private method. Bumped Sentry version in backend.

* Fixed issue with PDFs not being parsable (image) within Docker due to libgdiplus not being installed.
2021-07-23 10:35:26 -05:00
Joseph Milazzo
b0df67cdda
PDF Support + MORE!!!! (#416)
# Added
- Added support for PDFs within Kavita. PDFs will open in the Manga reader and you can read through them as images. PDFs are heavier than archives, so they may take longer to open for reading. (Fixes #187)

# Changed
- Changed: Major change in how Kavita libraries work. Kavita libraries will now allow for mixed media types, that means you can have raw images, archives, epubs, and pdfs all within your Manga library. In the case that the same Series exists between 2 different types of medias, they will be separated and an icon will show to help you identify the types. The correct reader will open regardless of what library you are on. Note: Nightly users need to delete their Raw Images libraries before updating.

# Fixed
- Fixed: Fixed an issue where checking if a file was modified since last scan always returned true, meaning we would do more I/O than was needed (Fixes #415)
- Fixed: There wasn't enough spacing on the top menu bar on the Manga reader
- Fixed: Fixed a bug where user preferences dark mode control always showed true, even if you were not using dark mode

# Dev stuff
- For image extraction, if there is only 1 image we will extract  just that, else we will extract only images
- Refactored all the Parser code out of the ScannerService into a self contained class. The class should be created for any scans, allowing multiple tasks to run without any chance of cross over.



* Fixed indentation for cs files

* Fixed an issue where the logic for if a file had been modified or not was not working and always saying modified, meaning we were doing more file I/O than needed.

* Implemented the ability to have PDF books. No reader functionality.

* Implemented a basic form of scanning for PDF files. Reworked Image based libraries to remove the need to separate in a special library and instead just work within the Manga/Comic library.

* Removed the old library types.

* Removed some extra code around old raw library types

* Fully implemented PDF support into Kavita by using docnet. Removed old libraries we tried that did not work. PDFs take about 200ms to save the file to disk, so they are much slower than reading archives.

* Refactored Libraries so that they can have any file extension and the UI will decide which reader to use.

* Reworked the Series Parsing code.

We now use a separate instance for each task call, so there should be no cross over if 2 tasks are running at the same time.

Second, we now store Format with the Series, so we can have duplicate Series with the same name, but a different type of files underneath.

* Fixed PDF transparency issues

- Used this code to fix an issue when a PDF page doesn't have a background. https://github.com/GowenGit/docnet/issues/8#issuecomment-538985672

- This also fixes the same issue for cover images

* Fixed an issue where if a raw image was in a directory with non-image files, those would get moved to cache when trying to open the file.

* For image extraction, if there is only 1 image, just copy that to cache instead of everything else in the directory that is an image.

* Add some spacing to the top menu bar

* Added an icon to the card to showcase the type of file

* Added a tag badge to the series detail page

* Fixed a bug in user preferences where dark mode control would default to true, even if you weren't on it

* Fixed some tests up

* Some code smells

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2021-07-22 21:13:24 -05:00
Joseph Milazzo
b8165b311c
Misc Polishing (#413)
* Ensure that after we assign a role to a user, we show it immediately

* Cached libraryType api as that is not going to change in a viewing session. Moved some components around to tighten bundles.

* Cleaned up more TODOs
* Refactored Configuration to use getter and setters so that the interface is a lot cleaner. Updated HashUtil to use JWT Secret instead of Machine name (as docker machine name is random each boot).
2021-07-20 21:39:44 -05:00
Robbie Davis
ef5b22b585
Fixing up a sizing issue while keeping a restriction on height for webtoons (#412)
- increased the max-height to incorporate a percentage width for responsive scaling.
- Removed image-centering. No longer needed.
2021-07-20 20:36:40 -05:00
Joseph Milazzo
e226c2b074
Fixed a bug where collections wouldn't update after updating collection tags from series detail (#411) 2021-07-20 13:48:14 -05:00
Joseph Milazzo
c2d84ed0eb
UI Stat issue (#410)
* Fixed an issue on stats not sending from the UI
2021-07-20 12:34:29 -05:00
Robbie Davis
27be13a201
Fixing poster image (#409)
- Removing width to prevent stretching
- Adding alignment to center image within container
2021-07-20 12:26:02 -05:00
Joseph Milazzo
b11bb0e3b5
Extra Stat collection (#407)
* Cleaned up error interceptor to avoid sending auth errors (when a 500 occurs) to sentry as auth errors aren't issues.

* Added extra stat collection

* Fixed a bad gitignore which ignored anything in a stats directory
2021-07-20 11:32:37 -05:00
Joseph Milazzo
b9a06d3586
More Webtoon Fixes (#406)
* Fixed an issue where "blank" images could occur at the end of a webtoon if the users scrolls up and down when near the last page, due to a gap in checking if prefetch range is within totalPages bound.

* Fixed goto first/last page not triggering webtoon reader to move. Disabled reading direction when in webtoon reader.

* Added some DOM Purging, images that are +/- bufferPages (5) from you will no longer reside in DOM. This helps on low end phones.
2021-07-20 10:22:04 -05:00