Skip to content

Commit

Permalink
web: update h265 & gif params, migrate old params to new names
Browse files Browse the repository at this point in the history
  • Loading branch information
wukko committed Jan 29, 2025
1 parent 3a96c8a commit b6472d5
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 10 deletions.
4 changes: 2 additions & 2 deletions web/src/lib/api/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ const request = async (url: string) => {
filenameStyle: getSetting("save", "filenameStyle"),
disableMetadata: getSetting("save", "disableMetadata"),

twitterGif: getSetting("save", "twitterGif"),
tiktokH265: getSetting("save", "tiktokH265"),
convertGif: getSetting("save", "convertGif"),
allowH265: getSetting("save", "allowH265"),

alwaysProxy: getSetting("privacy", "alwaysProxy"),
localProcessing: getSetting("advanced", "localProcessing"),
Expand Down
4 changes: 2 additions & 2 deletions web/src/lib/settings/defaults.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ const defaultSettings: CobaltSettings = {
downloadMode: "auto",
filenameStyle: "classic",
savingMethod: "download",
tiktokH265: false,
allowH265: false,
tiktokFullAudio: false,
twitterGif: true,
convertGif: true,
videoQuality: "1080",
youtubeVideoCodec: "h264",
youtubeDubLang: "original",
Expand Down
21 changes: 20 additions & 1 deletion web/src/lib/settings/migrate.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import type { RecursivePartial } from "$lib/types/generic";
import type {
PartialSettings,
AllPartialSettingsWithSchema,
CobaltSettingsV3,
CobaltSettingsV4,
PartialSettings,
CobaltSettingsV5,
} from "$lib/types/settings";
import { getBrowserLanguage } from "$lib/settings/youtube-lang";

Expand Down Expand Up @@ -40,6 +41,24 @@ const migrations: Record<number, Migrator> = {

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 => {
Expand Down
8 changes: 6 additions & 2 deletions web/src/lib/types/settings/v5.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
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,
advanced: CobaltSettingsV4['advanced'] & {
localProcessing: boolean;
};
},
save: Omit<CobaltSettingsV4['save'], 'tiktokH265' | 'twitterGif'> & {
allowH265: boolean;
convertGif: boolean;
},
};
6 changes: 3 additions & 3 deletions web/src/routes/settings/video/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -72,16 +72,16 @@
<SettingsCategory sectionId="h265" title={$t("settings.video.h265")}>
<SettingsToggle
settingContext="save"
settingId="tiktokH265"
settingId="allowH265"
title={$t("settings.video.h265.title")}
description={$t("settings.video.h265.description")}
/>
</SettingsCategory>

<SettingsCategory sectionId="twitter" title={$t("settings.video.twitter.gif")}>
<SettingsCategory sectionId="convert-gif" title={$t("settings.video.twitter.gif")}>
<SettingsToggle
settingContext="save"
settingId="twitterGif"
settingId="convertGif"
title={$t("settings.video.twitter.gif.title")}
description={$t("settings.video.twitter.gif.description")}
/>
Expand Down

0 comments on commit b6472d5

Please sign in to comment.