cojson-storage-indexeddb 0.15.2 → 0.15.3

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > cojson-storage-indexeddb@0.15.2 build /home/runner/_work/jazz/jazz/packages/cojson-storage-indexeddb
2
+ > cojson-storage-indexeddb@0.15.3 build /home/runner/_work/jazz/jazz/packages/cojson-storage-indexeddb
3
3
  > rm -rf ./dist && tsc --sourceMap --outDir dist
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # cojson-storage-indexeddb
2
2
 
3
+ ## 0.15.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 535c460: Refresh the IndexedDB transaction when getting "Failed to execute 'objectStore' on 'IDBTransaction': The transaction has finished"
8
+ - cojson@0.15.3
9
+ - cojson-storage@0.15.3
10
+
3
11
  ## 0.15.2
4
12
 
5
13
  ### Patch Changes
@@ -9,6 +9,7 @@ export declare class CoJsonIDBTransaction {
9
9
  failed: boolean;
10
10
  done: boolean;
11
11
  constructor(db: IDBDatabase);
12
+ refresh(): void;
12
13
  startedAt: number;
13
14
  isReusable(): boolean;
14
15
  getObjectStore(name: StoreName): IDBObjectStore;
@@ -1 +1 @@
1
- {"version":3,"file":"CoJsonIDBTransaction.d.ts","sourceRoot":"","sources":["../src/CoJsonIDBTransaction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,UAAU,GACV,cAAc,GACd,gBAAgB,CAAC;AAKrB,qBAAa,oBAAoB;IAC/B,EAAE,EAAE,WAAW,CAAC;IAChB,EAAE,EAAE,cAAc,CAAC;IAEnB,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAM;IAClD,cAAc,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAM;IAEpC,EAAE,SAAiB;IAEnB,OAAO,UAAS;IAChB,MAAM,UAAS;IACf,IAAI,UAAS;gBAED,EAAE,EAAE,WAAW;IAgB3B,SAAS,SAAqB;IAC9B,UAAU;IAKV,cAAc,CAAC,IAAI,EAAE,SAAS;IAI9B,OAAO,CAAC,WAAW;IAgCnB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;IAyB1D,MAAM;CAKP"}
1
+ {"version":3,"file":"CoJsonIDBTransaction.d.ts","sourceRoot":"","sources":["../src/CoJsonIDBTransaction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,UAAU,GACV,cAAc,GACd,gBAAgB,CAAC;AAKrB,qBAAa,oBAAoB;IAC/B,EAAE,EAAE,WAAW,CAAC;IACR,EAAE,EAAE,cAAc,CAAC;IAE3B,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAM;IAClD,cAAc,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAM;IAEpC,EAAE,SAAiB;IAEnB,OAAO,UAAS;IAChB,MAAM,UAAS;IACf,IAAI,UAAS;gBAED,EAAE,EAAE,WAAW;IAM3B,OAAO;IAcP,SAAS,SAAqB;IAC9B,UAAU;IAKV,cAAc,CAAC,IAAI,EAAE,SAAS;IAS9B,OAAO,CAAC,WAAW;IAgCnB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;IAyB1D,MAAM;CAKP"}
@@ -11,6 +11,9 @@ export class CoJsonIDBTransaction {
11
11
  this.done = false;
12
12
  this.startedAt = performance.now();
13
13
  this.db = db;
14
+ this.refresh();
15
+ }
16
+ refresh() {
14
17
  this.tx = this.db.transaction(["coValues", "sessions", "transactions", "signatureAfter"], "readwrite");
15
18
  this.tx.oncomplete = () => {
16
19
  this.done = true;
@@ -24,7 +27,13 @@ export class CoJsonIDBTransaction {
24
27
  return !this.done && !this.failed && delta <= 100;
25
28
  }
26
29
  getObjectStore(name) {
27
- return this.tx.objectStore(name);
30
+ try {
31
+ return this.tx.objectStore(name);
32
+ }
33
+ catch (error) {
34
+ this.refresh();
35
+ return this.tx.objectStore(name);
36
+ }
28
37
  }
29
38
  pushRequest(handler) {
30
39
  const next = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"CoJsonIDBTransaction.js","sourceRoot":"","sources":["../src/CoJsonIDBTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoJsonIDBTransaction.js","sourceRoot":"","sources":["../src/CoJsonIDBTransaction.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "cojson-storage-indexeddb",
3
- "version": "0.15.2",
3
+ "version": "0.15.3",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "MIT",
8
8
  "dependencies": {
9
- "cojson": "0.15.2",
10
- "cojson-storage": "0.15.2"
9
+ "cojson": "0.15.3",
10
+ "cojson-storage": "0.15.3"
11
11
  },
12
12
  "devDependencies": {
13
13
  "typescript": "5.6.2",
@@ -9,7 +9,7 @@ export type StoreName =
9
9
  // in a single transaction.
10
10
  export class CoJsonIDBTransaction {
11
11
  db: IDBDatabase;
12
- tx: IDBTransaction;
12
+ declare tx: IDBTransaction;
13
13
 
14
14
  pendingRequests: ((txEntry: this) => void)[] = [];
15
15
  rejectHandlers: (() => void)[] = [];
@@ -23,6 +23,10 @@ export class CoJsonIDBTransaction {
23
23
  constructor(db: IDBDatabase) {
24
24
  this.db = db;
25
25
 
26
+ this.refresh();
27
+ }
28
+
29
+ refresh() {
26
30
  this.tx = this.db.transaction(
27
31
  ["coValues", "sessions", "transactions", "signatureAfter"],
28
32
  "readwrite",
@@ -43,7 +47,12 @@ export class CoJsonIDBTransaction {
43
47
  }
44
48
 
45
49
  getObjectStore(name: StoreName) {
46
- return this.tx.objectStore(name);
50
+ try {
51
+ return this.tx.objectStore(name);
52
+ } catch (error) {
53
+ this.refresh();
54
+ return this.tx.objectStore(name);
55
+ }
47
56
  }
48
57
 
49
58
  private pushRequest<T>(