From 416be1e169031c82cbd060d6bf44305108c94ea5 Mon Sep 17 00:00:00 2001 From: mastertyko <11311479+mastertyko@users.noreply.github.com> Date: Mon, 13 Apr 2026 12:51:59 +0200 Subject: [PATCH] fix(gsd): reset db-open attempted flag on close (#4024) --- src/resources/extensions/gsd/gsd-db.ts | 1 + src/resources/extensions/gsd/tests/gsd-db.test.ts | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/resources/extensions/gsd/gsd-db.ts b/src/resources/extensions/gsd/gsd-db.ts index 333d5536d..d0120b65d 100644 --- a/src/resources/extensions/gsd/gsd-db.ts +++ b/src/resources/extensions/gsd/gsd-db.ts @@ -857,6 +857,7 @@ export function closeDatabase(): void { currentDb = null; currentPath = null; currentPid = 0; + _dbOpenAttempted = false; } } diff --git a/src/resources/extensions/gsd/tests/gsd-db.test.ts b/src/resources/extensions/gsd/tests/gsd-db.test.ts index 97c799421..557b5830c 100644 --- a/src/resources/extensions/gsd/tests/gsd-db.test.ts +++ b/src/resources/extensions/gsd/tests/gsd-db.test.ts @@ -377,15 +377,13 @@ describe('gsd-db', () => { assert.deepStrictEqual(ar, [], 'getActiveRequirements returns [] when DB closed'); }); - test('gsd-db: wasDbOpenAttempted tracks openDatabase calls', () => { - // wasDbOpenAttempted should return true once openDatabase has been called - // (previous tests in this suite already called openDatabase, so the flag is set) + test('gsd-db: closeDatabase resets wasDbOpenAttempted after an intentional close', () => { + openDatabase(':memory:'); assert.ok(wasDbOpenAttempted(), 'wasDbOpenAttempted should be true after openDatabase was called'); - // Verify the flag persists even after closeDatabase closeDatabase(); assert.ok(!isDbAvailable(), 'DB should not be available after close'); - assert.ok(wasDbOpenAttempted(), 'wasDbOpenAttempted should remain true after closeDatabase'); + assert.ok(!wasDbOpenAttempted(), 'wasDbOpenAttempted should reset after closeDatabase'); }); // ─── Final Report ──────────────────────────────────────────────────────────