* Implemented a new role "Change Password". This role allows you to change your own password. By default, all users will have it. A user can have it removed arbitrarliy.
Removed components that are no longer going to be used.
* Cleaned up some code
* Implemented forgot password flow. Fixed a bug in manage user where admins were showing the Sharing With section.
* Cleaned up the reset password flow.
* Reverted some debug code
* Fixed an issue with invites due to ImmutableArray not being set.
* Fixed some security issues in dev env
* When deleting folders in bookmark cleanup, delete empty folders correctly.
* When a new library is created and cards are added, cards can have a blank library name. Card library name code is reworked to be much lighter on memory.
* Added a config for github issues to disable blank issues.
* Skip any sort of directory iteration code if we haven't deleted any bookmarks.
* Fixed a bug where some style overrides were duplicating. Now logic is much more targetted, only applying to the correct tags.
* Applied sorting to the filtering apis.
* Reverted one of my changes for a better version Robbie did.
* Moved the Server Settings out into a button on nav header
* Refactored Mange Users page to the new design (skeleton). Implemented skeleton code for Invite User.
* Hashed out more of the code, but need to move all the email code to a Kavita controlled API server due to password credentials.
* Cleaned up some warnings
* When no user exists for an api key in Plugin controller, throw 401.
* Hooked in the ability to check if the Kavita instance can be accessed externally so we can determine if the user can invite or not.
* Hooked up some logic if the user's server isn't accessible, then default to old flow
* Basic flow is working for confirm email. Needs validation, error handling, etc.
* Refactored Password validation to account service
* Cleaned up the code in confirm-email to work much better.
* Refactored the login page to have a container functionality, so we can reuse the styles on multiple pages (registration pages). Hooked up the code for confirm email.
* Messy code, but making progress. Refactored Register to be used only for first time user registration. Added a new register component to handle first time flow only.
* Invite works much better, still needs a bit of work for non-accessible server setup. Started work on underlying manage users page to meet new design.
* Changed (you) to a star to indicate who you're logged in as.
* Inviting a user is now working and tested fully.
* Removed the register member component as we now have invite and confirm components.
* Editing a user is now working. Username change and Role/Library access from within one screen. Email changing is on hold.
* Cleaned up code for edit user and disabled email field for now.
* Cleaned up the code to indicate changing a user's email is not possible.
* Implemented a migration for existing accounts so they can validate their emails and still login.
* Change url for email server
* Implemented the ability to resend an email confirmation code (or regenerate for non accessible servers). Fixed an overflow on the confirm dialog.
* Removed all code around disabling authentication. Users that were already disabled can look up their password on the wiki.
* Moved the Server Settings out into a button on nav header
* Refactored Mange Users page to the new design (skeleton). Implemented skeleton code for Invite User.
* Hashed out more of the code, but need to move all the email code to a Kavita controlled API server due to password credentials.
* Cleaned up some warnings
* When no user exists for an api key in Plugin controller, throw 401.
* Hooked in the ability to check if the Kavita instance can be accessed externally so we can determine if the user can invite or not.
* Hooked up some logic if the user's server isn't accessible, then default to old flow
* Basic flow is working for confirm email. Needs validation, error handling, etc.
* Refactored Password validation to account service
* Cleaned up the code in confirm-email to work much better.
* Refactored the login page to have a container functionality, so we can reuse the styles on multiple pages (registration pages). Hooked up the code for confirm email.
* Messy code, but making progress. Refactored Register to be used only for first time user registration. Added a new register component to handle first time flow only.
* Invite works much better, still needs a bit of work for non-accessible server setup. Started work on underlying manage users page to meet new design.
* Changed (you) to a star to indicate who you're logged in as.
* Inviting a user is now working and tested fully.
* Removed the register member component as we now have invite and confirm components.
* Editing a user is now working. Username change and Role/Library access from within one screen. Email changing is on hold.
* Cleaned up code for edit user and disabled email field for now.
* Cleaned up the code to indicate changing a user's email is not possible.
* Implemented a migration for existing accounts so they can validate their emails and still login.
* Change url for email server
* Implemented the ability to resend an email confirmation code (or regenerate for non accessible servers). Fixed an overflow on the confirm dialog.
* Took care of some code cleanup
* Removed 3 db calls from cover refresh and some misc cleanup
* Fixed a broken test
* Working on adding recently added chapter/volumes to dashboard. Have some progress, need to tweak grouping logic.
* Tweaked the logic to work well for grouping. Now to incorporate information for UI to provide seamless integration
* Implemented UI part for Recently Added.
* Refactored the code for choosing the tab to select when updates occur or first load. Specials will no longer be auto-selected if present. We will always try to select Storyline.
* Fixed a bug where marking a chapter as unread was actually making it read
* When loading a book, put a spinner in the action bar
* Fixed an issue with last page not getting marked as read with epubs due to a bugfix from last release
* Removed some debug code
* Added extra unit cases for GetContinuePoint. Fixed a bug where if the series was just read chapters, the first chapter wouldn't be returned and would throw an error.
* Wrote unit tests for MarkChaptersUntilAsRead for Tachiyomi and fixed a few cases where due to tracking on Tachiyomi, Volumes with a single 0 chapter would get marked as read.
* Fix for add to collection visibility issue
#Fixed
- Fixed: Fixed a bug where users couldn't select a collection when they had a lot of them.
* Adding settings from documentation, fixing code
* Fixes filter application
# Fixed:
- Fixed: Fixed an issue where pagination would not reset on filter application (develop)
* Fixing up code
* code fixes
* When no user exists for an api key in Plugin controller, throw 401.
* Cleaned up the code to remove the extra variable and make use of what we had already.
* Fixed the broken build from last PR
* Fixed a few places the code didn't get updated
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* Added a stub for an api
* Added code to Parser to get MaximumNumberFromRange. Added new API for Tachiyomi Progress tracking "mark-chapter-until-as-read"
Parser.Parser.Normalize returns empty string when name doesn't have any
alphanumeric characters. It messes up Series at least.
To prevent this issue, if normalized string is empty, it just returns
received name variable. In this case user has to carefully set file names but
it is better than messed up Series.
* Series Detail Enhancements
# Added
- Added: Volume tab for `Comic` Library Types
- Added: Storyline tab for `Comic` and `Manga` library types. This will show Volumes and Chapters together sorted in order.
# Changed
- Changed: Changed `Chapters/Issues` to show all chapters or issues regardless of if they are in a volume for both `Manga` and `Comic` library types
* Removed 3 loops to speed up load time
* Refactored some library type checks. Reset selection on nav change.
* Refactored hasReadingProgress for a series to the backend and further optimized the series detail page.
* Fixed up the regex for "Annual" special case and added unit tests.
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
* Implemented the framework for Refresh Token. Needs testing.
* Implemented Refresh Tokens. Users are issued tokens that last 7 days, just before the 7 days, the UI will request a new token to avoid having to re-authenticate.