Commit graph

104 commits

Author SHA1 Message Date
Joseph Milazzo
154b30c3fd Implemented fallback functionality. Try to use System.IO.Compression.ZipArchive then fallback to SharpCompress (which is extremely slow).
Currently this hits disk 3 times per operation, needs performance tuning.
2021-03-23 14:12:28 -05:00
Joseph Milazzo
067b5174ab Cleaned up tests and began implementation of fallback functionality 2021-03-23 12:59:40 -05:00
Joseph Milazzo
f63c38ac23 Dropped the initial commit for this work due to a large file. Had to do some cleanup from a bad merge. 2021-03-23 12:27:04 -05:00
Joseph Milazzo
d724a8f178 A lot of random changes to try and speed up SharpCompress. 2021-03-23 12:22:50 -05:00
Joseph Milazzo
d73bd22db2 Some code cleanup 2021-03-23 12:22:47 -05:00
Joseph Milazzo
585e965a85 Fixed some bad test cases that really messed up my codebase. 2021-03-23 12:21:09 -05:00
Joseph Milazzo
d543511131 Finished refactoring to SharpCompress. 2021-03-23 12:20:27 -05:00
Joseph Milazzo
a125b2ac0b Fixed GetInProgress API - The condition for PagesRead needed to be a sum for all progress, not each row. 2021-03-18 14:18:56 -05:00
Joseph Milazzo
b8cd04e1de Fixed a bad if statment that caused every EnsureCache() call to print cache doesn't exist, even though it does. 2021-03-18 10:51:09 -05:00
Joseph Milazzo
c312e0706f Removed a leftover code for async 2021-03-17 18:07:10 -05:00
Joseph Milazzo
0a85555f38 Temp commit to record attempts. Stream APIs are implemented and working. Added some new test cases based on deployed Kavita server testing. 2021-03-17 14:29:50 -05:00
Joseph Milazzo
55cd0c5fe5 For the time out on tasks, I'm going to only use Hangfire scheduled tasks on prod. 2021-03-15 17:10:09 -05:00
Joseph Milazzo
fad4ca4414 Lots of Hangfire attempts to solve the lock issue. Not sure how to fix it. Added some APIs for streams. 2021-03-15 13:49:13 -05:00
Joseph Milazzo
9035b6cc4e Hangfire now dies gracefully when using CTRL+C rather than Stop button in Rider. Implemented one stream method for testing. Regenerated a few migrations due to oversight in index not taking account of library. 2021-03-15 08:43:43 -05:00
Joseph Milazzo
d23a569446 Added a new method for triggering jobs rather than scheduling ad-hoc. 2021-03-14 09:39:48 -05:00
Joseph Milazzo
6e6e5ee9f2 Implemented a startup task that will instantiate all the DI so first API isn't having to eat that overhead. 2021-03-13 17:44:29 -06:00
Joseph Milazzo
983078de02 Ensure I validate before attempting to update password for reset password flow. Send some validation issues back to FE. 2021-03-13 12:28:00 -06:00
Joseph Milazzo
d3b42081cb Enable response compression (br and gzip) for images and static assets. After we scan a library, kick of a cleanup of cache to ensure if archives were changed, the cache is cleared too. 2021-03-12 10:37:42 -06:00
Joseph Milazzo
2a8931406d Cleaned up ReaderController to match the new method of loading images in FE. Sends the full files rather than base64 encoded string. 2021-03-09 15:50:17 -06:00
Joseph Milazzo
c6e1fec9f2 Implemented the ability to correct a match from UI and further scans will show that new Series name. 2021-03-08 09:33:35 -06:00
Joseph Milazzo
ecfb40cb2d Moved some files around, fixed Log file fetching to use zip and work more reliably. Refactored some code in directory service. 2021-02-24 15:58:17 -06:00
Joseph Milazzo
bbb4240e20 Implemented download log files (not in service). Refactored backupservice to handle log file splitting. Improved a few interfaces and added some unit tests around them. 2021-02-24 11:59:16 -06:00
Joseph Milazzo
cdd44340a2 Implemented update series 2021-02-18 14:07:36 -06:00
Joseph Milazzo
265f7dcc8c Implemented ability to generate Series summary from ComicInfo.xml (if present) 2021-02-17 16:41:42 -06:00
Joseph Milazzo
922c0153d3 Added series progress/rating information back in. Left attempts at doing via a JOIN or raw SQL. 2021-02-17 15:28:57 -06:00
Joseph Milazzo
0258c43b37 Added more edge case handling for Library backup 2021-02-17 09:48:42 -06:00
Joseph Milazzo
0d8c0651a9 Missing refactor variable 2021-02-17 08:58:51 -06:00
Joseph Milazzo
b4ee16d8d1 Code cleanup. Implemented ability to schedule Library Backups. 2021-02-17 08:58:36 -06:00
Joseph Milazzo
83b9394b17 Implemented ability to mark a series as Read/Unread. 2021-02-16 12:48:04 -06:00
Joseph Milazzo
2887fab53f Implements search functionality and prepares for upcoming paging in v0.3. 2021-02-15 13:08:30 -06:00
Joseph Milazzo
852317d3a6 Fixed an off by 1 issue with reading manga (for real now) 2021-02-12 17:56:21 -06:00
Joseph Milazzo
9a50241734 Fixed an off by 1 issue with reading manga. 2021-02-12 17:43:19 -06:00
Joseph Milazzo
7eb62376eb Removed some extra code that was not needed in parallelization code. 2021-02-10 15:18:52 -06:00
Joseph Milazzo
726cc8dcb9 Parallelize scanlibrary 2021-02-10 14:15:58 -06:00
Joseph Milazzo
5b5c1e758f Small performance enhancement on fetching library only once. 2021-02-10 12:36:25 -06:00
Joseph Milazzo
a501e50c98 Clean up and fixed a parsing case. 2021-02-10 12:16:29 -06:00
Joseph Milazzo
aaedb11836 Scanner Service is working perfectly and optimized to the baseline. Next step is to multithread the series generation. 2021-02-10 11:31:27 -06:00
Joseph Milazzo
40154c8d63 Temp stop point. Rewrote the Scanner service to be much cleaner and slightly more efficient. Code is structured so it can easily be multithreaded. 2021-02-09 15:03:02 -06:00
Joseph Milazzo
5c913ba615 Further changes around ScanLibrary. Refactored DirectoryService search pattern to allow for greater re-usability. Fixed a bug where leftover chapters and volumes wouldn't get cleaned up when removed from disk. 2021-02-09 09:22:26 -06:00
Joseph Milazzo
d8d01ffaf6 More refactoring around ScannerService. Moved metadata into its own service. Focusing on cleaning up ScanLibrary code to work 100%. 2021-02-08 16:44:18 -06:00
Joseph Milazzo
9461b89725 A hefty refactor of the ScanLibrary code. There were significant fallouts due to duplicate entities getting created and SingleOrDefaults failing. 2021-02-08 12:03:52 -06:00
Joseph Milazzo
57f74d3de3 Implemented partial chapter support. Fixed some edge case where if library scan was skipped due to no modififcation on disk, whole library would be removed. Removed above code for testing. 2021-02-07 13:07:07 -06:00
Joseph Milazzo
077e5f798a Lots of cleanup 2021-02-07 12:02:47 -06:00
Joseph Milazzo
10c8ea34fe Cleanup after feature implementation. 2021-02-04 17:01:37 -06:00
Joseph Milazzo
1050fa4e54 Ability to update settings. Take effect on next reboot. 2021-02-04 16:49:48 -06:00
Joseph Milazzo
0f82b45b9d Refactored Cache Cleanup code. 2021-02-02 09:38:10 -06:00
Joseph Milazzo
53e85317f9 Refactored DB to be Series->Volumes->Chapters instead. All functionality that previously worked still works. Cleanup still needed. 2021-02-01 09:29:11 -06:00
Joseph Milazzo
a42e54a078 Lots of work for chapters. This code will be refactored in a chapter rewrite. 2021-01-27 14:14:16 -06:00
Joseph Milazzo
f430595d11 Attempted to Test CacheService, but can't figure it out. 2021-01-26 14:35:50 -06:00
Joseph Milazzo
1d61d1057e Refactored and cleaned up GetCoverImage code. 2021-01-26 10:45:44 -06:00