diff --git a/web/src/lib/settings/migrate.ts b/web/src/lib/settings/migrate.ts
index e452b6f8..4054a0b4 100644
--- a/web/src/lib/settings/migrate.ts
+++ b/web/src/lib/settings/migrate.ts
@@ -1,38 +1,52 @@
 import type { RecursivePartial } from "$lib/types/generic";
 import type {
-  AllPartialSettingsWithSchema,
-  CobaltSettingsV3,
-  PartialSettings,
+    AllPartialSettingsWithSchema,
+    CobaltSettingsV3,
+    CobaltSettingsV4,
+    PartialSettings,
 } from "$lib/types/settings";
 import { getBrowserLanguage } from "$lib/settings/youtube-lang";
 
-type Migrator = (
-  s: AllPartialSettingsWithSchema
-) => AllPartialSettingsWithSchema;
+type Migrator = (s: AllPartialSettingsWithSchema) => AllPartialSettingsWithSchema;
+
 const migrations: Record<number, Migrator> = {
-  [3]: (settings: AllPartialSettingsWithSchema) => {
-    const out = settings as RecursivePartial<CobaltSettingsV3>;
-    out.schemaVersion = 3;
+    [3]: (settings: AllPartialSettingsWithSchema) => {
+        const out = settings as RecursivePartial<CobaltSettingsV3>;
+        out.schemaVersion = 3;
 
-    if (settings?.save && "youtubeDubBrowserLang" in settings.save) {
-      if (settings.save.youtubeDubBrowserLang) {
-        out.save!.youtubeDubLang = getBrowserLanguage();
-      }
+        if (settings?.save && "youtubeDubBrowserLang" in settings.save) {
+            if (settings.save.youtubeDubBrowserLang) {
+                out.save!.youtubeDubLang = getBrowserLanguage();
+            }
 
-      delete settings.save.youtubeDubBrowserLang;
-    }
+            delete settings.save.youtubeDubBrowserLang;
+        }
 
-    return out as AllPartialSettingsWithSchema;
-  },
+        return out as AllPartialSettingsWithSchema;
+    },
+
+    [4]: (settings: AllPartialSettingsWithSchema) => {
+        const out = settings as RecursivePartial<CobaltSettingsV4>;
+        out.schemaVersion = 4;
+
+        if (settings?.processing) {
+            if ("allowDefaultOverride" in settings.processing) {
+                delete settings.processing.allowDefaultOverride;
+            }
+            if ("seenOverrideWarning" in settings.processing) {
+                delete settings.processing.seenOverrideWarning;
+            }
+        }
+
+        return out as AllPartialSettingsWithSchema;
+    },
 };
 
-export const migrate = (
-  settings: AllPartialSettingsWithSchema
-): PartialSettings => {
-  return Object.keys(migrations)
-    .map(Number)
-    .filter((version) => version > settings.schemaVersion)
-    .reduce((settings, migrationVersion) => {
-      return migrations[migrationVersion](settings);
-    }, settings as AllPartialSettingsWithSchema) as PartialSettings;
+export const migrate = (settings: AllPartialSettingsWithSchema): PartialSettings => {
+    return Object.keys(migrations)
+        .map(Number)
+        .filter((version) => version > settings.schemaVersion)
+        .reduce((settings, migrationVersion) => {
+            return migrations[migrationVersion](settings);
+        }, settings as AllPartialSettingsWithSchema) as PartialSettings;
 };