Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kavita+ Overhaul & New Changelog #3507

Merged
merged 70 commits into from
Jan 20, 2025
Merged

Kavita+ Overhaul & New Changelog #3507

merged 70 commits into from
Jan 20, 2025

Conversation

majora2007
Copy link
Member

@majora2007 majora2007 commented Jan 20, 2025

This is a large PR with a massive overhaul to Kavita+'s integration in Kavita, outlined #2979.

The goal of this release is to streamline a lot of the management activities of Kavita+ via Kavita, while bringing some wishlist items from the community as well, like Want to Read Sync and a shorter scrobble window. For Kavita+ users, please test this out and provide feedback for me. This release is for you.

In other news, this release has a new changelog experience and CoverDB can now be pulled from for images (currently it contains some AL people and CV people). This is preliminary support while I figure out how to approach an automated experience. Feel free to submit new covers to the repo.

New License Screen

image

Matched Metadata

image

User Tokens

image

Email History

image

Scrobbling Token Expiring Email

image

Match Metadata

image

Token Unlock Message

image

Kavita+ Unlocked

image

New Changelog Experience

image

Added

  • Added: Added the ability to see release notes of nightly releases in the changelog/announcements screens.
  • Added: The UI will now check for new versions of Kavita (server-level) and prompt the user with the changelog and force them to refresh to get the latest UI code. This also takes care of any transloco hacks to clear the cache. This should help on update day for non-admin users to get the latest UI code files.
  • Added: Added a new long term cache directory (cache-long). Currently storing Github release history information.
  • Added: (Kavita+) Complete overhaul to the Kavita+ license page. Not only will you have the main license flow, but Kavita will pull down information about your subscription, including the registered email, total sub length, when the expiration will be, and if you're on a valid Kavita install version. Surfaced some of the actionable buttons with descriptions to hopefully help drive more management through the software instead of emailing me.
  • Added: Added long term caching for Publisher/Favicon fallback so CoversDb doesn't have to service more requests than needed.
  • Added: (Kavita+) There is now a manual match flow in Kavita to match a series (or fix a match) to AniList (currently the only upstream provider till Hardcover). Kavita still tries to match automatically, but via this new action from Series detail page, you can either provide another search name or Anilist/Mal urls directly to direct match. Likewise, you can select 'Do Not Match' which will delete any previously matched data, drop all scrobble events, and prevent matching/scrobbling in the future.
  • Added: (Kavita+) Removed the previous error/matched bar from license screen and broke into it's own page called Matched Metadata. You can now filter by matched state (either not yet matched, needs manual match, don't match) and perform said flows from this screen. This should result in a much easier time navigating your metadata.
  • Added: (Kavita+) New screen to see your users and if their AniList tokens are set or expired.
  • Added: (Kavita+) Kavita will now email you (assuming email is setup and using a real email) whenever your scrobble tokens are about to expire (5 days out) and the day of, urging you to renew them to avoid scrobbling issues.
  • Added: Kavita now has an email history table for admins to see which emails were sent out
  • Added: (Kavita+) Kavita now implements the feature request to sync your 'planned' read lists from AniList/MAL into Kavita's Want to Read (Implements [Kavita+] Download/Sync "plan to read" list from Myanimelist and add it to "want to read" and "Collections" in Kavita #3153)
  • Added: New button to download a person's image from CoverDB. I am still working out how to approach an automated solution. CoverDB is open for new entries.

Changed

  • Changed: Rewrote the changelog/announcement to now be limited to 10 releases and have a better rendering experience.
  • Changed: [TIME] profiling logs from last release is now on Trace as it's no longer needed anymore.
  • Changed: Updated to .NET 9 which brings performance improvements and patches some security vulnerabilities
  • Changed: (Kavita+) When registering a license that was previously bound to another instance, Kavita will now prompt you to override that old binding. This is usually the case and thus Kavita can perform the reset and registration in one flow for you (rather than you using Reset button then Saving again).
  • Changed: (Kavita+) After registering your license a popup will open to inform you of how Scrobbling works and the next steps you should take.
  • Changed: (Kavita+) After adding your Anilist token, Kavita now prompts you if you want to backfill scrobble events now or later (from Scrobbling page). This first time generation is important to sync your history/want to read/ratings from before you added the token. Giving the user time to setup Series Holds will ensure only data they want exposed is.
  • Changed: (Kavita+) Scrobbling window is decreased from 4 hours to 1 hour (this is being tested during nightly period for cost and performance)

Fixed

majora2007 and others added 30 commits December 13, 2024 08:06
…e parts, to allow Kavita to have full control over the rendering ability.
…t the user with the changelog and force them to refresh to get the latest code. Also take care of any transloco hacks to clear cache.
Updated so changelog code can now fetch against GH and fill out the nightly releases from the latest stable.

Caching needs to be reworked.
…te code from earlier which wasn't caching the installed version properly.
…around Kavita+ Format stuff.

More code cleanup. Match flow is plumbed, but needs some work.
…ixing the match and lining up the DTOs with K+.
…some extra information around expiration, if on a supported version, and if the license is active or not.

Added information around how to reset the license, changed up wording around delete.

Some work is inflight, but overall, less calls to the backend, more streamlined api calls.
… user to overwrite it (aka reset then register). This should make for a much better experience.
…e data from the series and send to Kavita+ to get potential matches. The user selects from the list and Kavita will relink with the data and regenerate all scrobble events (plus remove all for the old match).

I still need the ability to enter in a custom query (like an AL/MAL url), but basic flow is working.
…folder. While internal only, it makes navigation a lot easier for me.
…esn't have to service more requests than needed.
…t of Kavita so that Kavita can provide better experiences. Kavita will send 2 emails out for K+ tokens that are expiring. One at 5 weeks out and 1 once expired.
…robble events after 24 hours.

Added an info variant to the confirm service.
Moved scrobble holds to it's own preference item to make it easier for a user to find it.
… better experience. I will update all other tables with this slowly.
…atch/Fix Match flow will handle all of that.
Added a "Needs Manual Match" for when a series has a Scrobble error.
…hat are more complex to be addressed later in this PR during the cleanup and polish phase.
…ory triggerable by the user.

I just need to find a place to put the button for a non-admin to trigger it.
…ker change instead. This globalization breaks getting any sort of language from the culture.
@majora2007 majora2007 merged commit a570761 into develop Jan 20, 2025
2 of 5 checks passed
@majora2007 majora2007 deleted the feature/random branch January 20, 2025 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

EPUB: The rendered image is darker than the original image even on white theme.
1 participant