@geometra/server 1.37.0 → 1.39.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.
@@ -16,7 +16,8 @@ export type BinaryFrameBytes = ArrayBuffer | SharedArrayBuffer | ArrayBufferView
16
16
  * `null` / `undefined` yield `false`. Plain objects that are not real `ArrayBufferView` instances also yield
17
17
  * `false` (no numeric coercion).
18
18
  * Inconsistent `(buffer, byteOffset, byteLength)` tuples that would make `Uint8Array` throw `RangeError`
19
- * yield `false` instead of throwing.
19
+ * yield `false` instead of throwing. Hostile `Proxy` / exotic accessors that throw when reading
20
+ * `byteLength` or `byteOffset` on the root buffer or view also yield `false` (same non-throwing contract).
20
21
  */
21
22
  export declare function isBinaryFrameBuffer(data: BinaryFrameBytes): boolean;
22
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"binary-frame.d.ts","sourceRoot":"","sources":["../src/binary-frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,qBAAwC,CAAA;AAIvE,iJAAiJ;AACjJ,eAAO,MAAM,oBAAoB,aAAc,CAAA;AAE/C;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAA;AA0ChF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAwBnE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAapE"}
1
+ {"version":3,"file":"binary-frame.d.ts","sourceRoot":"","sources":["../src/binary-frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,qBAAwC,CAAA;AAIvE,iJAAiJ;AACjJ,eAAO,MAAM,oBAAoB,aAAc,CAAA;AAE/C;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAA;AA0ChF;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CA+BnE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAapE"}
@@ -45,12 +45,22 @@ function binaryFrameBytesFitBuffer(buffer, byteOffset, byteLength) {
45
45
  * `null` / `undefined` yield `false`. Plain objects that are not real `ArrayBufferView` instances also yield
46
46
  * `false` (no numeric coercion).
47
47
  * Inconsistent `(buffer, byteOffset, byteLength)` tuples that would make `Uint8Array` throw `RangeError`
48
- * yield `false` instead of throwing.
48
+ * yield `false` instead of throwing. Hostile `Proxy` / exotic accessors that throw when reading
49
+ * `byteLength` or `byteOffset` on the root buffer or view also yield `false` (same non-throwing contract).
49
50
  */
50
51
  export function isBinaryFrameBuffer(data) {
51
52
  if (data == null)
52
53
  return false;
53
- const { buffer, byteOffset, byteLength } = resolveFrameBytes(data);
54
+ let buffer;
55
+ let byteOffset;
56
+ let byteLength;
57
+ try {
58
+ ;
59
+ ({ buffer, byteOffset, byteLength } = resolveFrameBytes(data));
60
+ }
61
+ catch {
62
+ return false;
63
+ }
54
64
  // Mistyped non-view objects can yield undefined fields; `undefined < 9` is false in JS, so guard explicitly.
55
65
  if (buffer == null ||
56
66
  typeof byteOffset !== 'number' ||
@@ -1 +1 @@
1
- {"version":3,"file":"binary-frame.js","sourceRoot":"","sources":["../src/binary-frame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary-frame.js","sourceRoot":"","sources":["../src/binary-frame.ts"],"names":[],"mappings":"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"}
@@ -238,7 +238,13 @@ export declare function coalescePatches(patches: LayoutPatch[]): LayoutPatch[];
238
238
  * subtree pairing so patch generation does not throw; root `x`/`y`/`width`/`height` are still compared.
239
239
  *
240
240
  * `NaN` on a field compares equal to `NaN` on the same field (no patch) so repeated corrupt geometry
241
- * does not spam patches; changing a field from `NaN` to a finite number (or vice versa) still diffs.
241
+ * does not spam patches. When a scalar **changes**, only **wire-safe** target values are emitted:
242
+ * finite primitive `x` / `y`, and non-negative finite `width` / `height` (same rules as GEOM v1 client
243
+ * patch validation in `@geometra/client`). If the new snapshot has corrupt
244
+ * `next` coordinates for a field (e.g. `NaN` or negative size), that field is omitted from the patch
245
+ * so `createServer` never sends patch messages the client would reject — callers keep prior geometry
246
+ * for that field until a valid update arrives (full `frame` messages may still carry corrupt layouts;
247
+ * those are a separate validation path).
242
248
  */
243
249
  export declare function diffLayout(prev: ComputedLayout, next: ComputedLayout, path?: number[]): LayoutPatch[];
244
250
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/protocol.js CHANGED
@@ -103,7 +103,13 @@ export function coalescePatches(patches) {
103
103
  * subtree pairing so patch generation does not throw; root `x`/`y`/`width`/`height` are still compared.
104
104
  *
105
105
  * `NaN` on a field compares equal to `NaN` on the same field (no patch) so repeated corrupt geometry
106
- * does not spam patches; changing a field from `NaN` to a finite number (or vice versa) still diffs.
106
+ * does not spam patches. When a scalar **changes**, only **wire-safe** target values are emitted:
107
+ * finite primitive `x` / `y`, and non-negative finite `width` / `height` (same rules as GEOM v1 client
108
+ * patch validation in `@geometra/client`). If the new snapshot has corrupt
109
+ * `next` coordinates for a field (e.g. `NaN` or negative size), that field is omitted from the patch
110
+ * so `createServer` never sends patch messages the client would reject — callers keep prior geometry
111
+ * for that field until a valid update arrives (full `frame` messages may still carry corrupt layouts;
112
+ * those are a separate validation path).
107
113
  */
108
114
  export function diffLayout(prev, next, path = []) {
109
115
  if (prev === next)
@@ -112,20 +118,28 @@ export function diffLayout(prev, next, path = []) {
112
118
  const patch = { path };
113
119
  let changed = false;
114
120
  if (!sameLayoutScalar(prev.x, next.x)) {
115
- patch.x = next.x;
116
- changed = true;
121
+ if (isFinitePatchNumber(next.x)) {
122
+ patch.x = next.x;
123
+ changed = true;
124
+ }
117
125
  }
118
126
  if (!sameLayoutScalar(prev.y, next.y)) {
119
- patch.y = next.y;
120
- changed = true;
127
+ if (isFinitePatchNumber(next.y)) {
128
+ patch.y = next.y;
129
+ changed = true;
130
+ }
121
131
  }
122
132
  if (!sameLayoutScalar(prev.width, next.width)) {
123
- patch.width = next.width;
124
- changed = true;
133
+ if (isNonNegativePatchDimension(next.width)) {
134
+ patch.width = next.width;
135
+ changed = true;
136
+ }
125
137
  }
126
138
  if (!sameLayoutScalar(prev.height, next.height)) {
127
- patch.height = next.height;
128
- changed = true;
139
+ if (isNonNegativePatchDimension(next.height)) {
140
+ patch.height = next.height;
141
+ changed = true;
142
+ }
129
143
  }
130
144
  if (changed)
131
145
  patches.push(patch);
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geometra/server",
3
- "version": "1.37.0",
3
+ "version": "1.39.0",
4
4
  "description": "Server-side layout engine with WebSocket geometry streaming",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -34,7 +34,7 @@
34
34
  "prepublishOnly": "npm run build"
35
35
  },
36
36
  "dependencies": {
37
- "@geometra/core": "^1.37.0",
37
+ "@geometra/core": "^1.39.0",
38
38
  "ws": "^8.18.0"
39
39
  },
40
40
  "devDependencies": {