@mushi-mushi/core 1.27.0 → 1.27.1

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/README.md CHANGED
@@ -138,4 +138,4 @@ MIT
138
138
  <!-- mushi-readme-stats-footer -->
139
139
  ---
140
140
 
141
- <sub>Monorepo scale (July 2026): 55 edge functions · 328 SQL migrations · 13 outbound plugins · 11 inbound adapters · 19 pipeline agents. Canonical counts: <a href="https://github.com/kensaurus/mushi-mushi/blob/master/docs/stats.md">docs/stats.md</a> · <code>pnpm docs-stats</code></sub>
141
+ <sub>Monorepo scale (July 2026): 55 edge functions · 331 SQL migrations · 13 outbound plugins · 11 inbound adapters · 19 pipeline agents. Canonical counts: <a href="https://github.com/kensaurus/mushi-mushi/blob/master/docs/stats.md">docs/stats.md</a> · <code>pnpm docs-stats</code></sub>
package/dist/index.cjs CHANGED
@@ -1056,12 +1056,27 @@ function openKeyDb() {
1056
1056
  return new Promise((resolve, reject) => {
1057
1057
  const req = indexedDB.open(KEY_DB, 1);
1058
1058
  req.onupgradeneeded = () => {
1059
+ try {
1060
+ const db = req.result;
1061
+ if (!db) return;
1062
+ if (!db.objectStoreNames.contains(KEY_STORE)) {
1063
+ db.createObjectStore(KEY_STORE);
1064
+ }
1065
+ } catch {
1066
+ }
1067
+ };
1068
+ req.onsuccess = () => {
1059
1069
  const db = req.result;
1060
- if (!db.objectStoreNames.contains(KEY_STORE)) {
1061
- db.createObjectStore(KEY_STORE);
1070
+ if (!db || !db.objectStoreNames.contains(KEY_STORE)) {
1071
+ try {
1072
+ db?.close();
1073
+ } catch {
1074
+ }
1075
+ reject(new Error("key object store unavailable"));
1076
+ return;
1062
1077
  }
1078
+ resolve(db);
1063
1079
  };
1064
- req.onsuccess = () => resolve(req.result);
1065
1080
  req.onerror = () => reject(req.error);
1066
1081
  });
1067
1082
  }
@@ -1204,12 +1219,28 @@ function createOfflineQueue(config = {}) {
1204
1219
  return new Promise((resolve, reject) => {
1205
1220
  const request = indexedDB.open(DB_NAME, DB_VERSION);
1206
1221
  request.onupgradeneeded = () => {
1222
+ try {
1223
+ const db = request.result;
1224
+ if (!db) return;
1225
+ if (!db.objectStoreNames.contains(STORE_NAME)) {
1226
+ db.createObjectStore(STORE_NAME, { keyPath: "id" });
1227
+ }
1228
+ } catch {
1229
+ }
1230
+ };
1231
+ request.onsuccess = () => {
1207
1232
  const db = request.result;
1208
- if (!db.objectStoreNames.contains(STORE_NAME)) {
1209
- db.createObjectStore(STORE_NAME, { keyPath: "id" });
1233
+ if (!db || !db.objectStoreNames.contains(STORE_NAME)) {
1234
+ backendType = "localstorage";
1235
+ try {
1236
+ db?.close();
1237
+ } catch {
1238
+ }
1239
+ reject(new Error("queue object store unavailable"));
1240
+ return;
1210
1241
  }
1242
+ resolve(db);
1211
1243
  };
1212
- request.onsuccess = () => resolve(request.result);
1213
1244
  request.onerror = () => {
1214
1245
  backendType = "localstorage";
1215
1246
  reject(request.error);