From 0f867c0c45138c9d836a8c6748ebaefcf4255f95 Mon Sep 17 00:00:00 2001 From: Erik Marks Date: Thu, 10 Oct 2024 12:59:05 -0700 Subject: [PATCH] Update offscreen.ts --- eslint.config.mjs | 10 ++++++---- packages/extension/src/offscreen.ts | 22 +++++++++------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index b79f8dc1a..cbe6efdab 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -18,6 +18,7 @@ const config = [ ...options, files: ['**/*.test.{ts,js}'], })), + { ignores: [ 'yarn.config.cjs', @@ -29,6 +30,7 @@ const config = [ '**/coverage', ], }, + { languageOptions: { parserOptions: { @@ -47,15 +49,15 @@ const config = [ }, ], - // This prevents using Node.js and/or browser specific globals. We - // currently use both in our codebase, so this rule is disabled. - 'no-restricted-globals': 'off', - 'import-x/extensions': 'off', 'import-x/no-unassigned-import': 'off', // This prevents pretty formatting of comments with multi-line lists entries. 'jsdoc/check-indentation': 'off', + + // This prevents using Node.js and/or browser specific globals. We + // currently use both in our codebase, so this rule is disabled. + 'no-restricted-globals': 'off', }, }, diff --git a/packages/extension/src/offscreen.ts b/packages/extension/src/offscreen.ts index 6637e3b9a..bf32be35d 100644 --- a/packages/extension/src/offscreen.ts +++ b/packages/extension/src/offscreen.ts @@ -31,13 +31,7 @@ async function main(): Promise { ); const kernelWorker = await makeKernelWorker(); - const kernelInit = - makePromiseKit< - Extract< - KernelCommandReply, - { method: typeof KernelCommandMethod.InitKernel } - >['params'] - >(); + const kernelInitKit = makePromiseKit(); /** * Reply to a command from the background script. @@ -52,15 +46,15 @@ async function main(): Promise { // Handle messages from the background service worker and the kernel SQLite worker. await Promise.all([ - (async () => { + kernelWorker.receiveMessages(), + kernelInitKit.promise.then(async () => { for await (const message of backgroundStream) { - await kernelInit.promise; isKernelCommand(message) ? await kernelWorker.sendMessage(message) : logger.debug('Received unexpected message', message); } - })(), - kernelWorker.receiveMessages(), + return undefined; + }), ]); /** @@ -107,11 +101,13 @@ async function main(): Promise { // involve the user. for await (const message of workerStream) { if (!isKernelCommandReply(message)) { - logger.debug('Received unexpected reply', message); + logger.error('Received unexpected reply', message); + continue; } + if (message.method === KernelCommandMethod.InitKernel) { logger.debug('Kernel initialized.'); - kernelInit.resolve(message.params); + kernelInitKit.resolve(); } await replyToBackground(message); }