From 483fa81b7487c211255b0d1449a3db17403aeaa3 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Tue, 30 Sep 2025 17:04:52 -0700 Subject: [PATCH] Fix some storage bugs --- src/app/util/storage.ts | 5 ++++- src/lib/storage.ts | 13 ++++++------- src/routes/+layout.svelte | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/app/util/storage.ts b/src/app/util/storage.ts index be74144..1803ff7 100644 --- a/src/app/util/storage.ts +++ b/src/app/util/storage.ts @@ -138,7 +138,10 @@ const syncTracker = async () => { const updateAll = throttle(3000, () => { p = p.then(() => { - collectionStorageProvider.set("tracker", Array.from(tracker.relaysById.entries())) + collectionStorageProvider.set( + "tracker", + Array.from(tracker.relaysById.entries()).map(([id, relays]) => [id, Array.from(relays)]), + ) }) }) diff --git a/src/lib/storage.ts b/src/lib/storage.ts index b5abb45..d40bf29 100644 --- a/src/lib/storage.ts +++ b/src/lib/storage.ts @@ -1,4 +1,3 @@ -import {parseJson} from "@welshman/lib" import {type StorageProvider} from "@welshman/store" import {Preferences} from "@capacitor/preferences" import {Encoding, Filesystem, Directory} from "@capacitor/filesystem" @@ -44,10 +43,10 @@ export class CollectionStorageProvider implements StorageProvider { const items: T[] = [] for (const line of file.data.toString().split("\n")) { - const item = parseJson(line) - - if (item) { - items.push(item) + try { + items.push(JSON.parse(line)) + } catch (e) { + // pass } } @@ -77,7 +76,7 @@ export class CollectionStorageProvider implements StorageProvider { path: key + ".json", directory: Directory.Data, encoding: Encoding.UTF8, - data: value.map(v => JSON.stringify(v)).join("\n"), + data: "\n" + value.map(v => JSON.stringify(v)).join("\n"), }) }) @@ -98,7 +97,7 @@ export class CollectionStorageProvider implements StorageProvider { ), ) } catch (e) { - // Directory might not have been created + // Directory might not have been created yet } }) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index d48063e..8494a5b 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -89,7 +89,7 @@ import NewNotificationSound from "@src/app/components/NewNotificationSound.svelte" // Migration: delete old indexeddb database - indexedDB?.deleteDatabase('flotilla') + indexedDB?.deleteDatabase("flotilla") // Migration: old nostrtalk instance used different sessions if ($session && !$signer) {