diff --git a/src/lib/db.ts b/src/lib/db.ts index e9a64bc..4914b3c 100644 --- a/src/lib/db.ts +++ b/src/lib/db.ts @@ -26,9 +26,17 @@ export async function initDb(): Promise { if (!useSqlite) return; const sqlite = new SQLiteConnection(CapacitorSQLite); - const conn = await sqlite.createConnection(DB_NAME, false, 'no-encryption', 1, false); - db = conn; - await db.open(); + // Nach einem WebView-Reload lebt die native SQLite-Verbindung weiter — + // createConnection wuerfe dann "Connection netdiag already exists" und der + // App-Start haengt ewig auf "NetDiag startet…". Vorhandene wiederverwenden. + const exists = (await sqlite.isConnection(DB_NAME, false)).result; + db = exists + ? await sqlite.retrieveConnection(DB_NAME, false) + : await sqlite.createConnection(DB_NAME, false, 'no-encryption', 1, false); + + if (!(await db.isDBOpen()).result) { + await db.open(); + } await db.execute(` CREATE TABLE IF NOT EXISTS protocols ( uuid TEXT PRIMARY KEY,