@schukai/monster 4.73.2 → 4.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
 
4
4
 
5
+ ## [4.74.0] - 2026-01-03
6
+
7
+ ### Add Features
8
+
9
+ - Enhance database connection handling in config-manager
10
+
11
+
12
+
5
13
  ## [4.73.2] - 2026-01-03
6
14
 
7
15
  ### Bug Fixes
package/package.json CHANGED
@@ -1 +1 @@
1
- {"author":"Volker Schukai","dependencies":{"@floating-ui/dom":"^1.7.4","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.73.2"}
1
+ {"author":"Volker Schukai","dependencies":{"@floating-ui/dom":"^1.7.4","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.74.0"}
@@ -195,6 +195,9 @@ function openDatabase() {
195
195
  const request = window.indexedDB.open(name, version);
196
196
 
197
197
  return new Promise((resolve, reject) => {
198
+ let upgradeComplete = true;
199
+ let openComplete = false;
200
+
198
201
  request.onerror = (event) => {
199
202
  console.error("Error opening database", event);
200
203
  reject(request.error);
@@ -202,20 +205,26 @@ function openDatabase() {
202
205
 
203
206
  request.onsuccess = (event) => {
204
207
  this[indexDBInstanceSymbol] = event?.target?.result;
205
- resolve(request.result);
208
+ openComplete = true;
209
+ if (upgradeComplete) {
210
+ resolve(request.result);
211
+ }
206
212
  };
207
213
 
208
214
  request.onupgradeneeded = (event) => {
209
215
  const db = event.target.result;
216
+ this[indexDBInstanceSymbol] = db;
217
+ upgradeComplete = false;
210
218
 
211
- let objectStore;
212
219
  if (!db.objectStoreNames.contains(storageName)) {
213
- objectStore = db.createObjectStore(storageName, { keyPath: KeyPath });
220
+ db.createObjectStore(storageName, { keyPath: KeyPath });
214
221
  }
215
222
 
216
- objectStore.transaction.oncomplete = (event) => {
217
- console.log("Database upgrade complete");
218
- resolve();
223
+ event.target.transaction.oncomplete = () => {
224
+ upgradeComplete = true;
225
+ if (openComplete) {
226
+ resolve(request.result);
227
+ }
219
228
  };
220
229
  };
221
230
  });