mirror of
https://github.com/Kareadita/Kavita.git
synced 2025-06-02 13:14:28 -04:00
* Expand the list of potential favicon icons to grab. * Added a url mapping functionality to use alternative urls for fetching icons * Initial commit to streamline media encoding. No DB migration yet, No UI changes, no Task changes. * Started refactoring code so that webp queries use encoding format instead. * More refactoring to remove hardcoded webp references. * Moved manual migrations to their own folder to keep things organized. Manually drop the obsolete webp keys. * Removed old apis for converting media and now have one. Reworked where the conversion code was located and streamlined events and whatnot. * Make favicon encode setting aware * Cleaned up favicon conversion * Updated format counter to now just use Extension from MangaFile now that it's been out a while. * Tweaked jumpbar code to reduce a lookup to hashmap. * Added AVIF (8-bit only) support. * In UpdatePeopleList, use FirstOrDefault as Single adds extra checks that may not be needed. * You can now remove weblinks from edit series page and you can leave empty cells, they will just be removed on backend. * Forgot a file * Don't prompt to write a review, just show the pencil. It's the same amount of clicks if you do, less if you dont. * Fixed Refresh token using wrong Claim to look up the user. * Refactored how we refresh authentication to perform it every 10 m ins to ensure we always stay authenticated. * Changed Version update code to run more throughout the day. Updated some hangfire to newer method signatures.
56 lines
1.8 KiB
C#
56 lines
1.8 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using API.Services.Tasks;
|
|
|
|
namespace API.Data.ManualMigrations;
|
|
|
|
/// <summary>
|
|
/// In v0.5.3, we removed Light and E-Ink themes. This migration will remove the themes from the DB and default anyone on
|
|
/// null, E-Ink, or Light to Dark.
|
|
/// </summary>
|
|
public static class MigrateRemoveExtraThemes
|
|
{
|
|
public static async Task Migrate(IUnitOfWork unitOfWork, IThemeService themeService)
|
|
{
|
|
var themes = (await unitOfWork.SiteThemeRepository.GetThemes()).ToList();
|
|
|
|
if (themes.FirstOrDefault(t => t.Name.Equals("Light")) == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Console.WriteLine("Removing Dark and E-Ink themes");
|
|
|
|
var darkTheme = themes.Single(t => t.Name.Equals("Dark"));
|
|
var lightTheme = themes.Single(t => t.Name.Equals("Light"));
|
|
var eInkTheme = themes.Single(t => t.Name.Equals("E-Ink"));
|
|
|
|
|
|
|
|
// Update default theme if it's not Dark or a custom theme
|
|
await themeService.UpdateDefault(darkTheme.Id);
|
|
|
|
// Update all users to Dark theme if they are on Light/E-Ink
|
|
foreach (var pref in await unitOfWork.UserRepository.GetAllPreferencesByThemeAsync(lightTheme.Id))
|
|
{
|
|
pref.Theme = darkTheme;
|
|
}
|
|
foreach (var pref in await unitOfWork.UserRepository.GetAllPreferencesByThemeAsync(eInkTheme.Id))
|
|
{
|
|
pref.Theme = darkTheme;
|
|
}
|
|
|
|
// Remove Light/E-Ink themes
|
|
foreach (var siteTheme in themes.Where(t => t.Name.Equals("Light") || t.Name.Equals("E-Ink")))
|
|
{
|
|
unitOfWork.SiteThemeRepository.Remove(siteTheme);
|
|
}
|
|
// Commit and call it a day
|
|
await unitOfWork.CommitAsync();
|
|
|
|
Console.WriteLine("Completed removing Dark and E-Ink themes");
|
|
}
|
|
|
|
}
|