From 838a6c7e0bd70e6dfdcac9c833c968291eeefdf9 Mon Sep 17 00:00:00 2001 From: Maya Date: Fri, 2 Jan 2026 10:55:16 +0300 Subject: [PATCH] fix: video conversion e.get error (#215) not entirely sure because i can't reproduce it, but this seems like the only logical reason this could be happening --- src/lib/converters/vertd.svelte.ts | 20 ++++++++++++-- src/lib/sections/settings/index.svelte.ts | 33 +++++++++++++---------- 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/src/lib/converters/vertd.svelte.ts b/src/lib/converters/vertd.svelte.ts index 0c41efe..839e513 100644 --- a/src/lib/converters/vertd.svelte.ts +++ b/src/lib/converters/vertd.svelte.ts @@ -290,7 +290,15 @@ export class VertdConverter extends Converter { } private blocked(hash: string): boolean { - const blockedHashes = Settings.instance.settings.vertdBlockedHashes; + let blockedHashes = Settings.instance.settings.vertdBlockedHashes; + + // ensure it's a map + // this might fix the "e.get" isn't a function error, but i can't reproduce it + if (!(blockedHashes instanceof Map) || blockedHashes === null) { + blockedHashes = new Map(Object.entries(blockedHashes || {})); + Settings.instance.settings.vertdBlockedHashes = blockedHashes; + Settings.instance.save(); + } const now = new Date(); const dates = blockedHashes.get(hash) || []; @@ -311,7 +319,15 @@ export class VertdConverter extends Converter { } private failure(hash: string): void { - const blockedHashes = Settings.instance.settings.vertdBlockedHashes; + let blockedHashes = Settings.instance.settings.vertdBlockedHashes; + + // same as above (blocked()) + if (!(blockedHashes instanceof Map) || blockedHashes === null) { + blockedHashes = new Map(Object.entries(blockedHashes || {})); + Settings.instance.settings.vertdBlockedHashes = blockedHashes; + Settings.instance.save(); + } + const now = new Date(); const dates = blockedHashes.get(hash) || []; dates.push(now); diff --git a/src/lib/sections/settings/index.svelte.ts b/src/lib/sections/settings/index.svelte.ts index 91e41b1..549501d 100644 --- a/src/lib/sections/settings/index.svelte.ts +++ b/src/lib/sections/settings/index.svelte.ts @@ -60,21 +60,26 @@ export class Settings { } public load() { - VertdInstance.instance.load(); - const ls = localStorage.getItem("settings"); - if (!ls) return; - const settings: ISettings = JSON.parse(ls); - const vertdBlockedHashes = new Map( - Object.entries( - settings.vertdBlockedHashes || this.settings.vertdBlockedHashes, - ), - ); + try { + VertdInstance.instance.load(); + const ls = localStorage.getItem("settings"); + if (!ls) return; + const settings: ISettings = JSON.parse(ls); + const vertdBlockedHashes = new Map( + Object.entries( + settings.vertdBlockedHashes || + this.settings.vertdBlockedHashes, + ), + ); - settings.vertdBlockedHashes = vertdBlockedHashes; + settings.vertdBlockedHashes = vertdBlockedHashes; - this.settings = { - ...this.settings, - ...settings, - }; + this.settings = { + ...this.settings, + ...settings, + }; + } catch { + // ignore errors, use default settings + } } }