* 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.
* 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>
* 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.
* 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>
* 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
* 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
* 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 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
* 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.
* 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
* 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>
* 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.
* 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.
* 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.
* 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.
* 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.