From d6de96910abb66de6da55f293b5d88413e4a7ebd Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Thu, 13 Feb 2025 10:20:12 +0100 Subject: [PATCH] Fix addObject --- src/services/database.service.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/services/database.service.ts b/src/services/database.service.ts index 61006fe..845802d 100755 --- a/src/services/database.service.ts +++ b/src/services/database.service.ts @@ -229,13 +229,15 @@ export class Database { }; public addObject(payload: { storeName: string; object: any; key: any }): Promise { - return new Promise((resolve, reject) => { + return new Promise(async (resolve, reject) => { // Check if the service worker is active - if (!this.serviceWorkerRegistration?.active) { - reject(new Error('Service worker is not active')); - return; + if (!this.serviceWorkerRegistration) { + // console.warn('Service worker registration is not ready. Waiting...'); + this.serviceWorkerRegistration = await navigator.serviceWorker.ready; } + const activeWorker = await this.waitForServiceWorkerActivation(this.serviceWorkerRegistration); + // Create a message channel for communication const messageChannel = new MessageChannel(); @@ -251,7 +253,7 @@ export class Database { // Send the add object request to the service worker try { - this.serviceWorkerRegistration.active.postMessage( + activeWorker?.postMessage( { type: 'ADD_OBJECT', payload,