web: update h265 & gif params, migrate old params to new names

This commit is contained in:
wukko 2025-01-29 15:40:29 +06:00
parent 3a96c8ae56
commit b6472d5406
No known key found for this signature in database
GPG Key ID: 3E30B3F26C7B4AA2
5 changed files with 33 additions and 10 deletions

View File

@ -62,8 +62,8 @@ const request = async (url: string) => {
filenameStyle: getSetting("save", "filenameStyle"), filenameStyle: getSetting("save", "filenameStyle"),
disableMetadata: getSetting("save", "disableMetadata"), disableMetadata: getSetting("save", "disableMetadata"),
twitterGif: getSetting("save", "twitterGif"), convertGif: getSetting("save", "convertGif"),
tiktokH265: getSetting("save", "tiktokH265"), allowH265: getSetting("save", "allowH265"),
alwaysProxy: getSetting("privacy", "alwaysProxy"), alwaysProxy: getSetting("privacy", "alwaysProxy"),
localProcessing: getSetting("advanced", "localProcessing"), localProcessing: getSetting("advanced", "localProcessing"),

View File

@ -21,9 +21,9 @@ const defaultSettings: CobaltSettings = {
downloadMode: "auto", downloadMode: "auto",
filenameStyle: "classic", filenameStyle: "classic",
savingMethod: "download", savingMethod: "download",
tiktokH265: false, allowH265: false,
tiktokFullAudio: false, tiktokFullAudio: false,
twitterGif: true, convertGif: true,
videoQuality: "1080", videoQuality: "1080",
youtubeVideoCodec: "h264", youtubeVideoCodec: "h264",
youtubeDubLang: "original", youtubeDubLang: "original",

View File

@ -1,9 +1,10 @@
import type { RecursivePartial } from "$lib/types/generic"; import type { RecursivePartial } from "$lib/types/generic";
import type { import type {
PartialSettings,
AllPartialSettingsWithSchema, AllPartialSettingsWithSchema,
CobaltSettingsV3, CobaltSettingsV3,
CobaltSettingsV4, CobaltSettingsV4,
PartialSettings, CobaltSettingsV5,
} from "$lib/types/settings"; } from "$lib/types/settings";
import { getBrowserLanguage } from "$lib/settings/youtube-lang"; import { getBrowserLanguage } from "$lib/settings/youtube-lang";
@ -40,6 +41,24 @@ const migrations: Record<number, Migrator> = {
return out as AllPartialSettingsWithSchema; return out as AllPartialSettingsWithSchema;
}, },
[5]: (settings: AllPartialSettingsWithSchema) => {
const out = settings as RecursivePartial<CobaltSettingsV5>;
out.schemaVersion = 5;
if (settings?.save) {
if ("tiktokH265" in settings.save) {
out.save!.allowH265 = settings.save.tiktokH265;
delete settings.save.tiktokH265;
}
if ("twitterGif" in settings.save) {
out.save!.convertGif = settings.save.twitterGif;
delete settings.save.twitterGif;
}
}
return out as AllPartialSettingsWithSchema;
},
}; };
export const migrate = (settings: AllPartialSettingsWithSchema): PartialSettings => { export const migrate = (settings: AllPartialSettingsWithSchema): PartialSettings => {

View File

@ -1,8 +1,12 @@
import { type CobaltSettingsV4 } from "$lib/types/settings/v4"; import { type CobaltSettingsV4 } from "$lib/types/settings/v4";
export type CobaltSettingsV5 = Omit<CobaltSettingsV4, 'schemaVersion' | 'advanced'> & { export type CobaltSettingsV5 = Omit<CobaltSettingsV4, 'schemaVersion' | 'advanced' | 'save'> & {
schemaVersion: 5, schemaVersion: 5,
advanced: CobaltSettingsV4['advanced'] & { advanced: CobaltSettingsV4['advanced'] & {
localProcessing: boolean; localProcessing: boolean;
}; },
save: Omit<CobaltSettingsV4['save'], 'tiktokH265' | 'twitterGif'> & {
allowH265: boolean;
convertGif: boolean;
},
}; };

View File

@ -72,16 +72,16 @@
<SettingsCategory sectionId="h265" title={$t("settings.video.h265")}> <SettingsCategory sectionId="h265" title={$t("settings.video.h265")}>
<SettingsToggle <SettingsToggle
settingContext="save" settingContext="save"
settingId="tiktokH265" settingId="allowH265"
title={$t("settings.video.h265.title")} title={$t("settings.video.h265.title")}
description={$t("settings.video.h265.description")} description={$t("settings.video.h265.description")}
/> />
</SettingsCategory> </SettingsCategory>
<SettingsCategory sectionId="twitter" title={$t("settings.video.twitter.gif")}> <SettingsCategory sectionId="convert-gif" title={$t("settings.video.twitter.gif")}>
<SettingsToggle <SettingsToggle
settingContext="save" settingContext="save"
settingId="twitterGif" settingId="convertGif"
title={$t("settings.video.twitter.gif.title")} title={$t("settings.video.twitter.gif.title")}
description={$t("settings.video.twitter.gif.description")} description={$t("settings.video.twitter.gif.description")}
/> />