@knapsack/doctor 4.100.7--canary.8027.e2a8c03.0 → 4.100.7

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.
@@ -2,20 +2,20 @@ $ tsc -p tsconfig.test.json && vitest run
2
2
 
3
3
   RUN  v4.1.11 /home/runner/work/app-monorepo/app-monorepo/libs/doctor
4
4
 
5
- ✓ src/v4/detect/ui.test.ts (6 tests) 37ms
5
+ ✓ src/v4/detect/ui.test.ts (6 tests) 56ms
6
6
  stderr | src/eng-9100-local-dev-connect.test.ts > connect-time save must not delete demos from disk > a demo that exists on disk but is not in any template.demoIds survives when preserveUnreferencedDemos is true
7
7
  Block with id "4f3tc2Ymq6" does not exist, removing.
8
8
 
9
9
  stderr | src/eng-9100-local-dev-connect.test.ts > connect-time save must not delete demos from disk > all demos survive the connect-time save when none are in template.demoIds (preserveUnreferencedDemos: true)
10
10
  Block with id "4f3tc2Ymq6" does not exist, removing.
11
11
 
12
- stderr | src/fix-app-client-data.test.ts > orphaned blocks
12
+ stderr | src/eng-9100-local-dev-connect.test.ts > CONTRAST: GC correctly removes demos after a user explicitly deletes a template > GC removes a demo that becomes orphaned after its template is deleted
13
13
  Block with id "4f3tc2Ymq6" does not exist, removing.
14
- Block with id "tnPID8TLmQ" does not exist, removing.
15
14
 
16
- ✓ src/eng-9100-local-dev-connect.test.ts (3 tests) 91ms
17
- stderr | src/eng-9100-local-dev-connect.test.ts > CONTRAST: GC correctly removes demos after a user explicitly deletes a template > GC removes a demo that becomes orphaned after its template is deleted
15
+ ✓ src/eng-9100-local-dev-connect.test.ts (3 tests) 136ms
16
+ stderr | src/fix-app-client-data.test.ts > orphaned blocks
18
17
  Block with id "4f3tc2Ymq6" does not exist, removing.
18
+ Block with id "VSzc0gsYzd" does not exist, removing.
19
19
 
20
20
  stderr | src/fix-app-client-data.test.ts > orphaned demos
21
21
  Block with id "4f3tc2Ymq6" does not exist, removing.
@@ -29,12 +29,54 @@ Block with id "tnPID8TLmQ" does not exist, removing.
29
29
  stderr | src/fix-app-client-data.test.ts > fixes bad navstate
30
30
  Block with id "4f3tc2Ymq6" does not exist, removing.
31
31
 
32
- ✓ src/fix-app-client-data.test.ts (5 tests) 172ms
33
- ✓ src/strip-unrecognized-tiptap-content.test.ts (4 tests) 14ms
34
- ✓ src/detect-unrecognized-tiptap-content.test.ts (7 tests) 45ms
32
+ stderr | src/fix-app-client-data.test.ts > restores a db slice that is missing entirely
33
+ Block with id "4f3tc2Ymq6" does not exist, removing.
34
+
35
+ stderr | src/fix-app-client-data.test.ts > db.tabs > repairs a slice with neither key
36
+ Block with id "4f3tc2Ymq6" does not exist, removing.
37
+
38
+ stderr | src/fix-app-client-data.test.ts > db.tabs > repairs a slice with byId missing
39
+ Block with id "4f3tc2Ymq6" does not exist, removing.
40
+
41
+ stderr | src/fix-app-client-data.test.ts > db.tabs > repairs a slice with settings missing
42
+ Block with id "4f3tc2Ymq6" does not exist, removing.
43
+
44
+ stderr | src/fix-app-client-data.test.ts > db.tabs > repairs a slice with the slice itself empty
45
+ Block with id "4f3tc2Ymq6" does not exist, removing.
46
+
47
+ stderr | src/fix-app-client-data.test.ts > db.tabs > repairs a slice with byId empty
48
+ Block with id "4f3tc2Ymq6" does not exist, removing.
49
+
50
+ stderr | src/fix-app-client-data.test.ts > db.tabs > repairs a slice with settings empty
51
+ Block with id "4f3tc2Ymq6" does not exist, removing.
52
+
53
+ stderr | src/fix-app-client-data.test.ts > db.blockCollections > repairs a slice with neither key
54
+ Block with id "4f3tc2Ymq6" does not exist, removing.
55
+
56
+ stderr | src/fix-app-client-data.test.ts > db.blockCollections > repairs a slice with byId missing
57
+ Block with id "4f3tc2Ymq6" does not exist, removing.
58
+
59
+ stderr | src/fix-app-client-data.test.ts > db.blockCollections > repairs a slice with settings missing
60
+ Block with id "4f3tc2Ymq6" does not exist, removing.
61
+
62
+ stderr | src/fix-app-client-data.test.ts > db.blockCollections > repairs a slice with the slice itself empty
63
+ Block with id "4f3tc2Ymq6" does not exist, removing.
64
+
65
+ stderr | src/fix-app-client-data.test.ts > db.blockCollections > repairs a slice with byId empty
66
+ Block with id "4f3tc2Ymq6" does not exist, removing.
67
+
68
+ stderr | src/fix-app-client-data.test.ts > db.blockCollections > repairs a slice with settings empty
69
+ Block with id "4f3tc2Ymq6" does not exist, removing.
70
+
71
+ stderr | src/fix-app-client-data.test.ts > never replaces tabs or block collections that already exist
72
+ Block with id "4f3tc2Ymq6" does not exist, removing.
73
+
74
+ ✓ src/fix-app-client-data.test.ts (19 tests) 357ms
75
+ ✓ src/detect-unrecognized-tiptap-content.test.ts (7 tests) 49ms
76
+ ✓ src/strip-unrecognized-tiptap-content.test.ts (4 tests) 12ms
35
77
 
36
78
   Test Files  5 passed (5)
37
-  Tests  25 passed (25)
38
-  Start at  23:02:24
39
-  Duration  2.54s (transform 2.34s, setup 0ms, import 8.32s, tests 358ms, environment 1ms)
79
+  Tests  39 passed (39)
80
+  Start at  16:25:53
81
+  Duration  2.75s (transform 2.92s, setup 0ms, import 9.28s, tests 609ms, environment 1ms)
40
82
 
@@ -1 +1 @@
1
- {"version":3,"file":"fix-app-client-data.d.ts","sourceRoot":"","sources":["../src/fix-app-client-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,KAAK,EAAW,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AA+P7D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,aAAa,EACb,yBAAiC,GAClC,EAAE;IACD,aAAa,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC5C;;;;;;;;;;;;OAYG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,QAuFA"}
1
+ {"version":3,"file":"fix-app-client-data.d.ts","sourceRoot":"","sources":["../src/fix-app-client-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,KAAK,EAAW,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AA4R7D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,aAAa,EACb,yBAAiC,GAClC,EAAE;IACD,aAAa,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC5C;;;;;;;;;;;;OAYG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,QAyFA"}
@@ -198,6 +198,30 @@ function ensureHealthyNavsState({ appClientData, }) {
198
198
  appClientData.navsState.order = newOrder;
199
199
  }
200
200
  }
201
+ /**
202
+ * `db.tabs` and `db.blockCollections` are optional in the Zod schema but
203
+ * required on the `KsAppClientData` interface, so an unguarded `.byId` read
204
+ * type-checks and then throws at runtime.
205
+ *
206
+ * A site that has never had a tab or block collection carries no slice at all.
207
+ * Older sites can also carry a partial slice: the object was present but
208
+ * `byId` was not. Both are repaired here, and both are repaired to the same
209
+ * shape `emptyAppClientData` uses, so a healed site is indistinguishable from
210
+ * a freshly created one.
211
+ *
212
+ * Additive only. An existing `byId` or `settings` is never replaced.
213
+ */
214
+ function ensureOptionalDbSlices({ appClientData, }) {
215
+ for (const slice of ['tabs', 'blockCollections']) {
216
+ const existing = appClientData.db[slice];
217
+ if (!existing) {
218
+ appClientData.db[slice] = { byId: {}, settings: {} };
219
+ continue;
220
+ }
221
+ existing.byId ??= {};
222
+ existing.settings ??= {};
223
+ }
224
+ }
201
225
  /**
202
226
  * Keep this function fast. It sits in critical path of UI load.
203
227
  * Minimize repeated work (especially in nested loops).
@@ -206,6 +230,8 @@ export function fixAppClientData({ appClientData, preserveUnreferencedDemos = fa
206
230
  if (!isDraft(appClientData)) {
207
231
  throw new Error('Data must be a draft');
208
232
  }
233
+ // First, so nothing below this reads a slice that is not there yet.
234
+ ensureOptionalDbSlices({ appClientData });
209
235
  const usedDemoIds = new Set();
210
236
  for (const pattern of Object.values(appClientData.patternsState?.patterns || {})) {
211
237
  // filter out any null values
@@ -1 +1 @@
1
- {"version":3,"file":"fix-app-client-data.js","sourceRoot":"","sources":["../src/fix-app-client-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix-app-client-data.js","sourceRoot":"","sources":["../src/fix-app-client-data.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@knapsack/doctor",
3
3
  "description": "",
4
- "version": "4.100.7--canary.8027.e2a8c03.0",
4
+ "version": "4.100.7",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
@@ -19,14 +19,14 @@
19
19
  "test": "tsc -p tsconfig.test.json && vitest run"
20
20
  },
21
21
  "dependencies": {
22
- "@knapsack/tiptap-utils": "4.100.7--canary.8027.e2a8c03.0",
23
- "@knapsack/utils": "4.100.7--canary.8027.e2a8c03.0"
22
+ "@knapsack/tiptap-utils": "4.100.7",
23
+ "@knapsack/utils": "4.100.7"
24
24
  },
25
25
  "devDependencies": {
26
- "@knapsack/eslint-config-starter": "4.100.7--canary.8027.e2a8c03.0",
27
- "@knapsack/prettier-config": "4.100.7--canary.8027.e2a8c03.0",
28
- "@knapsack/types": "4.100.7--canary.8027.e2a8c03.0",
29
- "@knapsack/typescript-config-starter": "4.100.7--canary.8027.e2a8c03.0",
26
+ "@knapsack/eslint-config-starter": "4.100.7",
27
+ "@knapsack/prettier-config": "4.100.7",
28
+ "@knapsack/types": "4.100.7",
29
+ "@knapsack/typescript-config-starter": "4.100.7",
30
30
  "@types/node": "^24.13.2",
31
31
  "eslint": "^9.20.0",
32
32
  "typescript": "^6.0.3",
@@ -41,5 +41,5 @@
41
41
  "directory": "libs/doctor",
42
42
  "type": "git"
43
43
  },
44
- "gitHead": "e2a8c03a21c360b97bf7d05b37df461c37751d74"
44
+ "gitHead": "c4c592c416fb08e43ff2e3ca0a9b8ba4db7499da"
45
45
  }
@@ -254,6 +254,35 @@ function ensureHealthyNavsState({
254
254
  }
255
255
  }
256
256
 
257
+ /**
258
+ * `db.tabs` and `db.blockCollections` are optional in the Zod schema but
259
+ * required on the `KsAppClientData` interface, so an unguarded `.byId` read
260
+ * type-checks and then throws at runtime.
261
+ *
262
+ * A site that has never had a tab or block collection carries no slice at all.
263
+ * Older sites can also carry a partial slice: the object was present but
264
+ * `byId` was not. Both are repaired here, and both are repaired to the same
265
+ * shape `emptyAppClientData` uses, so a healed site is indistinguishable from
266
+ * a freshly created one.
267
+ *
268
+ * Additive only. An existing `byId` or `settings` is never replaced.
269
+ */
270
+ function ensureOptionalDbSlices({
271
+ appClientData,
272
+ }: {
273
+ appClientData: Draft<KsAppClientDataNoMeta>;
274
+ }): void {
275
+ for (const slice of ['tabs', 'blockCollections'] as const) {
276
+ const existing = appClientData.db[slice];
277
+ if (!existing) {
278
+ appClientData.db[slice] = { byId: {}, settings: {} };
279
+ continue;
280
+ }
281
+ existing.byId ??= {};
282
+ existing.settings ??= {};
283
+ }
284
+ }
285
+
257
286
  /**
258
287
  * Keep this function fast. It sits in critical path of UI load.
259
288
  * Minimize repeated work (especially in nested loops).
@@ -281,6 +310,8 @@ export function fixAppClientData({
281
310
  if (!isDraft(appClientData)) {
282
311
  throw new Error('Data must be a draft');
283
312
  }
313
+ // First, so nothing below this reads a slice that is not there yet.
314
+ ensureOptionalDbSlices({ appClientData });
284
315
  const usedDemoIds = new Set<string>();
285
316
 
286
317
  for (const pattern of Object.values(