From f920ea1a15c6aa022284b0cd1d3c26729e6862c5 Mon Sep 17 00:00:00 2001 From: Zhihe Li Date: Fri, 5 Sep 2025 17:53:11 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20Add=20a=20better=20db=20c?= =?UTF-8?q?heck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addons/api/addon/workers/sqlite-worker.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/api/addon/workers/sqlite-worker.js b/addons/api/addon/workers/sqlite-worker.js index 01f9c838b8..4eaa2ad364 100644 --- a/addons/api/addon/workers/sqlite-worker.js +++ b/addons/api/addon/workers/sqlite-worker.js @@ -20,6 +20,8 @@ let poolUtil; /** @type {import('@sqlite.org/sqlite-wasm').Sqlite3Static} */ let sqlite3; +const { promise: ready, resolve: readyResolve } = Promise.withResolvers(); + // Maximum number of host parameters for SQLite prepared statements. // See "Maximum Number Of Host Parameters In A Single SQL Statement" in // https://www.sqlite.org/limits.html @@ -194,6 +196,7 @@ const methods = { const promiseWorker = new PWBWorker(); promiseWorker.register(async ({ method, payload }) => { if (!sharedService) { + await ready; return methods[method](payload); } @@ -221,5 +224,6 @@ if (isSecure) { // Production builds error out when using top level awaits so we'll just use an async IIFE (async () => { await methods.initializeSQLite(); + readyResolve(); })(); }