@rocicorp/zero 0.24.2025102100 → 0.24.3000000000-canary.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/out/{chunk-TTBIQGLF.js → chunk-5RLYQVTQ.js} +3 -3
- package/out/{chunk-TA2NZPJQ.js → chunk-AIYK3MAI.js} +30 -32
- package/out/{chunk-TA2NZPJQ.js.map → chunk-AIYK3MAI.js.map} +3 -3
- package/out/{chunk-VHLCXJ6Q.js → chunk-OZZJ3HSP.js} +3 -2
- package/out/{chunk-VHLCXJ6Q.js.map → chunk-OZZJ3HSP.js.map} +2 -2
- package/out/{lazy-inspector-NCBESZMS.js → lazy-inspector-54OA4RT7.js} +3 -3
- package/out/{lazy-inspector-NCBESZMS.js.map → lazy-inspector-54OA4RT7.js.map} +2 -2
- package/out/react.js +2 -2
- package/out/solid.js +3 -3
- package/out/zero/package.json +1 -1
- package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js +34 -10
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +8 -0
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +23 -0
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +1 -1
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +18 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +1 -0
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +5 -0
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -0
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +6 -0
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +30 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/streams.d.ts +1 -1
- package/out/zero-cache/src/types/streams.d.ts.map +1 -1
- package/out/zero-cache/src/types/streams.js +19 -9
- package/out/zero-cache/src/types/streams.js.map +1 -1
- package/out/zero-cache/src/types/subscription.d.ts +16 -1
- package/out/zero-cache/src/types/subscription.d.ts.map +1 -1
- package/out/zero-cache/src/types/subscription.js +41 -5
- package/out/zero-cache/src/types/subscription.js.map +1 -1
- package/out/zero-cache/src/types/websocket-handoff.d.ts +3 -3
- package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -1
- package/out/zero-cache/src/types/websocket-handoff.js +6 -4
- package/out/zero-cache/src/types/websocket-handoff.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +19 -1
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/inspector/lazy-inspector.d.ts +1 -0
- package/out/zero-client/src/client/inspector/lazy-inspector.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts +1 -0
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero.js +3 -3
- package/out/zql/src/builder/builder.d.ts +12 -0
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +28 -1
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +0 -6
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/package.json +1 -1
- package/out/zql/src/query/assert-no-not-exists.d.ts +0 -17
- package/out/zql/src/query/assert-no-not-exists.d.ts.map +0 -1
- package/out/zql/src/query/assert-no-not-exists.js +0 -40
- package/out/zql/src/query/assert-no-not-exists.js.map +0 -1
- /package/out/{chunk-TTBIQGLF.js.map → chunk-5RLYQVTQ.js.map} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { resolver } from '@rocicorp/resolver';
|
|
2
2
|
import { pipeline, Readable, Transform, Writable, } from 'node:stream';
|
|
3
3
|
import { createWebSocketStream, } from 'ws';
|
|
4
|
+
import { BigIntJSON } from "../../../shared/src/bigint-json.js";
|
|
4
5
|
import { Queue } from "../../../shared/src/queue.js";
|
|
5
6
|
import * as v from "../../../shared/src/valita.js";
|
|
6
|
-
import { BigIntJSON } from "../../../shared/src/bigint-json.js";
|
|
7
7
|
import { Subscription } from "./subscription.js";
|
|
8
8
|
import { closeWithError, expectPingsForLiveness, sendPingsForLiveness, } from "./ws.js";
|
|
9
9
|
// Consistent with Postgres keepalives, and shorter than the
|
|
@@ -112,7 +112,7 @@ function ensureError(err) {
|
|
|
112
112
|
const ackSchema = v.object({ ack: v.number() });
|
|
113
113
|
export async function streamOut(lc, source, sink) {
|
|
114
114
|
sendPingsForLiveness(lc, sink, PING_INTERVAL_MS);
|
|
115
|
-
const closer =
|
|
115
|
+
const closer = WebSocketCloser.forSource(lc, sink, source);
|
|
116
116
|
const acks = new Queue();
|
|
117
117
|
sink.addEventListener('message', ({ data }) => {
|
|
118
118
|
try {
|
|
@@ -177,11 +177,11 @@ export async function streamIn(lc, source, schema) {
|
|
|
177
177
|
consumed: ({ id }) => source.send(JSON.stringify({ ack: id })),
|
|
178
178
|
cleanup: () => closer.close(),
|
|
179
179
|
}, ({ msg }) => msg);
|
|
180
|
-
const closer =
|
|
180
|
+
const closer = WebSocketCloser.forSink(lc, source, sink, handleMessage);
|
|
181
181
|
function handleMessage(event) {
|
|
182
182
|
const data = event.data.toString();
|
|
183
|
-
if (
|
|
184
|
-
lc.
|
|
183
|
+
if (!sink.active) {
|
|
184
|
+
lc.warn?.('dropping ws message received after close', data);
|
|
185
185
|
return;
|
|
186
186
|
}
|
|
187
187
|
try {
|
|
@@ -201,16 +201,26 @@ export async function streamIn(lc, source, schema) {
|
|
|
201
201
|
class WebSocketCloser {
|
|
202
202
|
#lc;
|
|
203
203
|
#ws;
|
|
204
|
-
#
|
|
204
|
+
#closeStream;
|
|
205
205
|
#messageHandler;
|
|
206
206
|
#connected = resolver();
|
|
207
207
|
get connected() {
|
|
208
208
|
return this.#connected.promise;
|
|
209
209
|
}
|
|
210
|
-
|
|
210
|
+
static forSource(lc, ws, stream) {
|
|
211
|
+
// If the websocket is closed, call cancel() to notify the Source of
|
|
212
|
+
// any unconsumed messages.
|
|
213
|
+
return new WebSocketCloser(lc, ws, () => stream.cancel());
|
|
214
|
+
}
|
|
215
|
+
static forSink(lc, ws, stream, messageHandler) {
|
|
216
|
+
// If the websocket is closed, call end() to allow the downstream Sink
|
|
217
|
+
// to process any pending messages before closing the stream.
|
|
218
|
+
return new WebSocketCloser(lc, ws, () => stream.end(), messageHandler);
|
|
219
|
+
}
|
|
220
|
+
constructor(lc, ws, closeStream, messageHandler) {
|
|
211
221
|
this.#lc = lc;
|
|
212
222
|
this.#ws = ws;
|
|
213
|
-
this.#
|
|
223
|
+
this.#closeStream = closeStream;
|
|
214
224
|
this.#messageHandler = messageHandler ?? null;
|
|
215
225
|
ws.addEventListener('open', this.#handleOpen);
|
|
216
226
|
ws.addEventListener('close', this.#handleClose);
|
|
@@ -256,7 +266,7 @@ class WebSocketCloser {
|
|
|
256
266
|
if (err) {
|
|
257
267
|
this.#lc.error?.(`closing stream with error`, err);
|
|
258
268
|
}
|
|
259
|
-
this.#
|
|
269
|
+
this.#closeStream();
|
|
260
270
|
if (!this.closed()) {
|
|
261
271
|
this.#ws.close();
|
|
262
272
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/streams.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,GAET,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,GAKtB,MAAM,IAAI,CAAC;AACZ,OAAO,EAAC,KAAK,EAAC,MAAM,8BAA8B,CAAC;AACnD,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"streams.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/streams.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,7 +88,22 @@ export declare class Subscription<T, M = T> implements Source<T>, Sink<M> {
|
|
|
88
88
|
get active(): boolean;
|
|
89
89
|
/** The number messages waiting to be consumed. This is largely for testing. */
|
|
90
90
|
get queued(): number;
|
|
91
|
-
/**
|
|
91
|
+
/**
|
|
92
|
+
* Cancels the subscription after any queued messages are consumed. This is
|
|
93
|
+
* meant for the producer-side code.
|
|
94
|
+
*
|
|
95
|
+
* Any messages pushed after calling `end()` will be unconsumed as if
|
|
96
|
+
* `cancel()` were called (once the first set of pending messages is
|
|
97
|
+
* consumed). In particular, if a coalesce function is defined, the new
|
|
98
|
+
* messages will not be coalesced with the messages enqueued before `end()`
|
|
99
|
+
* was called. However, to effect the intent of memory efficiency, multiple
|
|
100
|
+
* messages pushed after calling `end()` will be coalesced together.
|
|
101
|
+
*
|
|
102
|
+
*/
|
|
103
|
+
end(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Cancels the subscription immediately, cleans up, and terminates any iteration.
|
|
106
|
+
*/
|
|
92
107
|
cancel(): void;
|
|
93
108
|
/** Fails the subscription, cleans up, and throws from any iteration. */
|
|
94
109
|
fail(err: Error): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/subscription.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/subscription.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;;IAC/D;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAC9B,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM,EACxB,OAAO,GAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAU;IAmB/B;;;OAGG;gBACS,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,YAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAoC1D;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,aAAa;IA4B7B,iEAAiE;IACjE,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,+EAA+E;IAC/E,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;;;;;;OAWG;IACH,GAAG;IAUH;;OAEG;IACH,MAAM;IAIN,wEAAwE;IACxE,IAAI,CAAC,GAAG,EAAE,KAAK;IAyBf,IAAI,QAAQ,IAAI,aAAa,CAAC;QAAC,KAAK,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAC,CAAC,GAAG,SAAS,CAI1E;IA8CD,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;CA0B3C;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAEnC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAE7B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjD;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { resolver } from '@rocicorp/resolver';
|
|
2
|
+
import { assert } from "../../../shared/src/asserts.js";
|
|
2
3
|
/**
|
|
3
4
|
* A Subscription abstracts a continuous, logically infinite stream of messages intended
|
|
4
5
|
* for serial processing. Unlike the more general Node `Stream` API, a Subscription has
|
|
@@ -129,9 +130,15 @@ export class Subscription {
|
|
|
129
130
|
if (consumer) {
|
|
130
131
|
consumer.resolve(entry);
|
|
131
132
|
}
|
|
132
|
-
else if (this.#coalesce &&
|
|
133
|
-
|
|
134
|
-
this.#messages[
|
|
133
|
+
else if (this.#coalesce &&
|
|
134
|
+
this.#messages.length &&
|
|
135
|
+
this.#messages[this.#messages.length - 1] !== 'terminus') {
|
|
136
|
+
const prev = this.#messages[this.#messages.length - 1];
|
|
137
|
+
assert(prev !== 'terminus');
|
|
138
|
+
this.#messages[this.#messages.length - 1] = {
|
|
139
|
+
value: this.#coalesce(entry, prev),
|
|
140
|
+
resolve,
|
|
141
|
+
};
|
|
135
142
|
}
|
|
136
143
|
else {
|
|
137
144
|
this.#messages.push(entry);
|
|
@@ -146,7 +153,32 @@ export class Subscription {
|
|
|
146
153
|
get queued() {
|
|
147
154
|
return this.#messages.length;
|
|
148
155
|
}
|
|
149
|
-
/**
|
|
156
|
+
/**
|
|
157
|
+
* Cancels the subscription after any queued messages are consumed. This is
|
|
158
|
+
* meant for the producer-side code.
|
|
159
|
+
*
|
|
160
|
+
* Any messages pushed after calling `end()` will be unconsumed as if
|
|
161
|
+
* `cancel()` were called (once the first set of pending messages is
|
|
162
|
+
* consumed). In particular, if a coalesce function is defined, the new
|
|
163
|
+
* messages will not be coalesced with the messages enqueued before `end()`
|
|
164
|
+
* was called. However, to effect the intent of memory efficiency, multiple
|
|
165
|
+
* messages pushed after calling `end()` will be coalesced together.
|
|
166
|
+
*
|
|
167
|
+
*/
|
|
168
|
+
end() {
|
|
169
|
+
if (this.#sentinel) {
|
|
170
|
+
// already terminated
|
|
171
|
+
}
|
|
172
|
+
else if (this.#messages.length === 0) {
|
|
173
|
+
this.cancel();
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
this.#messages.push('terminus');
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Cancels the subscription immediately, cleans up, and terminates any iteration.
|
|
181
|
+
*/
|
|
150
182
|
cancel() {
|
|
151
183
|
this.#terminate('canceled');
|
|
152
184
|
}
|
|
@@ -157,7 +189,7 @@ export class Subscription {
|
|
|
157
189
|
#terminate(sentinel) {
|
|
158
190
|
if (!this.#sentinel) {
|
|
159
191
|
this.#sentinel = sentinel;
|
|
160
|
-
this.#cleanup(this.#messages, sentinel instanceof Error ? sentinel : undefined);
|
|
192
|
+
this.#cleanup(this.#messages.filter(m => m !== 'terminus'), sentinel instanceof Error ? sentinel : undefined);
|
|
161
193
|
this.#messages.splice(0);
|
|
162
194
|
for (let consumer = this.#consumers.shift(); consumer; consumer = this.#consumers.shift()) {
|
|
163
195
|
sentinel === 'canceled'
|
|
@@ -175,6 +207,10 @@ export class Subscription {
|
|
|
175
207
|
return {
|
|
176
208
|
next: async () => {
|
|
177
209
|
const entry = this.#messages.shift();
|
|
210
|
+
if (entry === 'terminus') {
|
|
211
|
+
this.cancel();
|
|
212
|
+
return { value: undefined, done: true };
|
|
213
|
+
}
|
|
178
214
|
if (entry !== undefined) {
|
|
179
215
|
return {
|
|
180
216
|
value: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AAGtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,OAAO,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,MAAM,CACX,UAAsB,EAAE,EACxB,UAAuB,CAAC,CAAC,EAAE,CAAC,CAAC;QAE7B,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,6FAA6F;IACpF,UAAU,GAAgC,EAAE,CAAC;IACtD,mCAAmC;IAC1B,SAAS,GAA8B,EAAE,CAAC;IAC1C,gBAAgB,CAAU;IACnC,uEAAuE;IACvE,yBAAyB;IACzB,SAAS,GAAmC,SAAS,CAAC;IAEtD,SAAS,CAAsD;IAC/D,SAAS,CAA2B;IACpC,QAAQ,CAAgD;IACxD,QAAQ,CAAqB;IAE7B;;;OAGG;IACH,YAAY,UAAsB,EAAE,EAAE,OAAoB;QACxD,MAAM,EACJ,QAAQ,EACR,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,QAAQ,GAAG,QAAQ,KAAK,SAAS,GAClC,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ;YACxB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACb,IAAI,CAAC;oBACH,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE;YACvB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;YAC/B,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EACzB,GAAG,CACJ,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,KAAQ;QACX,MAAM,EAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC,GAAG,QAAQ,EAAU,CAAC;QACtD,MAAM,KAAK,GAAG,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC5B,OAAO,EAAC,MAAM,EAAC,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,IACL,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,SAAS,CAAC,MAAM;YACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU,EACxD,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG;gBAC1C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;gBAClC,OAAO;aACR,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,EAAC,MAAM,EAAC,CAAC;IAClB,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;IACtC,CAAC;IAED,+EAA+E;IAC/E,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;OAWG;IACH,GAAG;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,qBAAqB;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,wEAAwE;IACxE,IAAI,CAAC,GAAU;QACb,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,QAA4B;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,QAAQ,CACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,EAC5C,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CACjD,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEzB,KACE,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EACtC,QAAQ,EACR,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAClC,CAAC;gBACD,QAAQ,KAAK,UAAU;oBACrB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;oBACxB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,gBAAgB;YAC1B,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAC;YAClD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,SAAS;QACP,OAAO;YACL,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACrC,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO;wBACL,KAAK,EAAE;4BACL,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;4BACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;yBACtC;qBACF,CAAC;gBACJ,CAAC;gBACD,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;oBAClC,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxC,CAAC;gBACD,MAAM,QAAQ,GAAG,QAAQ,EAAmB,CAAC;gBAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE/B,4DAA4D;gBAC5D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;gBACtC,OAAO,MAAM;oBACX,CAAC,CAAC;wBACE,KAAK,EAAE;4BACL,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;4BAClC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;yBACvC;qBACF;oBACH,CAAC,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;YACrC,CAAC;YAED,MAAM,EAAE,KAAK,CAAC,EAAE;gBACd,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,OAAO,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC;IACJ,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAElC,IAAI,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,YAAY,EAAE,CAAC;gBAEf,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,KAAK,CAAC;gBACtC,YAAY,GAAG,QAAQ,CAAC;gBACxB,OAAO,EAAC,KAAK,EAAC,CAAC;YACjB,CAAC;YAED,MAAM,EAAE,KAAK,CAAC,EAAE;gBACd,YAAY,EAAE,CAAC;gBAEf,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,OAAO,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { LogContext } from '@rocicorp/logger';
|
|
2
2
|
import { Server } from 'node:http';
|
|
3
3
|
import { Socket } from 'node:net';
|
|
4
|
-
import { WebSocketServer, type WebSocket } from 'ws';
|
|
4
|
+
import { WebSocketServer, type WebSocket, type ServerOptions } from 'ws';
|
|
5
5
|
import { type IncomingMessageSubset } from './http.ts';
|
|
6
6
|
import { MESSAGE_TYPES, type Receiver, type Sender, type Worker } from './processes.ts';
|
|
7
7
|
export type HandoffSpec<P> = {
|
|
@@ -24,13 +24,13 @@ export type WebSocketHandoffHandler = (message: IncomingMessageSubset, socket: S
|
|
|
24
24
|
* receiving requests, or a parent Worker process
|
|
25
25
|
* that is handing off requests to this process.
|
|
26
26
|
*/
|
|
27
|
-
export declare function createWebSocketHandoffHandler<P>(lc: LogContext, handoff: WebSocketHandoff<P
|
|
27
|
+
export declare function createWebSocketHandoffHandler<P>(lc: LogContext, handoff: WebSocketHandoff<P>, serverOptions?: ServerOptions): WebSocketHandoffHandler;
|
|
28
28
|
/**
|
|
29
29
|
* Installs websocket handoff logic from either an http.Server
|
|
30
30
|
* receiving requests, or a parent Worker process
|
|
31
31
|
* that is handing off requests to this process.
|
|
32
32
|
*/
|
|
33
|
-
export declare function installWebSocketHandoff<P>(lc: LogContext, handoff: WebSocketHandoff<P>, source: Server | Worker): void;
|
|
33
|
+
export declare function installWebSocketHandoff<P>(lc: LogContext, handoff: WebSocketHandoff<P>, source: Server | Worker, serverOptions?: ServerOptions): void;
|
|
34
34
|
export declare function installWebSocketReceiver<P>(lc: LogContext, server: WebSocketServer, receive: WebSocketReceiver<P>, receiver: Receiver): void;
|
|
35
35
|
export type Handoff<P> = [
|
|
36
36
|
typeof MESSAGE_TYPES.handoff,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-handoff.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/websocket-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAkB,MAAM,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,eAAe,EAAE,KAAK,SAAS,EAAC,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket-handoff.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/websocket-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAkB,MAAM,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAC,MAAM,IAAI,CAAC;AAEvE,OAAO,EAAqB,KAAK,qBAAqB,EAAC,MAAM,WAAW,CAAC;AACzE,OAAO,EACL,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,MAAM,EACZ,MAAM,gBAAgB,CAAC;AAGxB,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAChC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EACrC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,KAC/B,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAE3B,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CACjC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,qBAAqB,KACvB,IAAI,CAAC;AAEV,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,KACT,IAAI,CAAC;AAEV;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAC7C,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC5B,aAAa,CAAC,EAAE,aAAa,GAC5B,uBAAuB,CA6CzB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,aAAa,CAAC,EAAE,aAAa,QAc9B;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,QAAQ,EAAE,QAAQ,QAoBnB;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,OAAO,aAAa,CAAC,OAAO;IAC5B;QACE,OAAO,EAAE,qBAAqB,CAAC;QAC/B,IAAI,EAAE,WAAW,CAAC;QAClB,OAAO,EAAE,CAAC,CAAC;KACZ;CACF,CAAC"}
|
|
@@ -10,8 +10,10 @@ import { closeWithError, PROTOCOL_ERROR } from "./ws.js";
|
|
|
10
10
|
* receiving requests, or a parent Worker process
|
|
11
11
|
* that is handing off requests to this process.
|
|
12
12
|
*/
|
|
13
|
-
export function createWebSocketHandoffHandler(lc, handoff) {
|
|
14
|
-
const wss = new WebSocketServer(
|
|
13
|
+
export function createWebSocketHandoffHandler(lc, handoff, serverOptions) {
|
|
14
|
+
const wss = new WebSocketServer(serverOptions ?? {
|
|
15
|
+
noServer: true,
|
|
16
|
+
});
|
|
15
17
|
return (message, socket, head) => {
|
|
16
18
|
let sent = false;
|
|
17
19
|
function send({ payload, sender }) {
|
|
@@ -51,8 +53,8 @@ export function createWebSocketHandoffHandler(lc, handoff) {
|
|
|
51
53
|
* receiving requests, or a parent Worker process
|
|
52
54
|
* that is handing off requests to this process.
|
|
53
55
|
*/
|
|
54
|
-
export function installWebSocketHandoff(lc, handoff, source) {
|
|
55
|
-
const handle = createWebSocketHandoffHandler(lc, handoff);
|
|
56
|
+
export function installWebSocketHandoff(lc, handoff, source, serverOptions) {
|
|
57
|
+
const handle = createWebSocketHandoffHandler(lc, handoff, serverOptions);
|
|
56
58
|
if (source instanceof Server) {
|
|
57
59
|
// handoff messages from an HTTP server
|
|
58
60
|
source.on('upgrade', handle);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-handoff.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/websocket-handoff.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAE,MAAM,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"websocket-handoff.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/websocket-handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAKhD,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAEvE,OAAO,KAAK,EACV,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAC9E,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAYtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,WAAW,CAAC;CAC7B,CAAC;
|
|
1
|
+
{"version":3,"file":"syncer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAKhD,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAEvE,OAAO,KAAK,EACV,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAC9E,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAYtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,WAAW,CAAC;CAC7B,CAAC;AA2BF;;;;;;GAMG;AACH,qBAAa,MAAO,YAAW,gBAAgB;;IAC7C,QAAQ,CAAC,EAAE,SAAmB;gBAa5B,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,CACjB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,EAC/B,gBAAgB,EAAE,gBAAgB,KAC/B,UAAU,GAAG,oBAAoB,EACtC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,EACjD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,EAC7D,MAAM,EAAE,MAAM;IA2JhB,GAAG;IAIH;;;;;OAKG;IACG,KAAK;IAqBX,IAAI;CAKL"}
|
|
@@ -16,6 +16,24 @@ import { Connection, sendError } from "./connection.js";
|
|
|
16
16
|
import { createNotifierFrom, subscribeTo } from "./replicator.js";
|
|
17
17
|
import { SyncerWsMessageHandler } from "./syncer-ws-message-handler.js";
|
|
18
18
|
import { recordConnectionSuccess, recordConnectionAttempted, setActiveClientGroupsGetter, } from "../server/anonymous-otel-start.js";
|
|
19
|
+
function getWebSocketServerOptions(config) {
|
|
20
|
+
const options = {
|
|
21
|
+
noServer: true,
|
|
22
|
+
};
|
|
23
|
+
if (config.websocketCompression) {
|
|
24
|
+
options.perMessageDeflate = true;
|
|
25
|
+
if (config.websocketCompressionOptions) {
|
|
26
|
+
try {
|
|
27
|
+
const compressionOptions = JSON.parse(config.websocketCompressionOptions);
|
|
28
|
+
options.perMessageDeflate = compressionOptions;
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
throw new Error(`Failed to parse ZERO_WEBSOCKET_COMPRESSION_OPTIONS: ${String(e)}. Expected valid JSON.`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return options;
|
|
36
|
+
}
|
|
19
37
|
/**
|
|
20
38
|
* The Syncer worker receives websocket handoffs for "/sync" connections
|
|
21
39
|
* from the Dispatcher in the main thread, and creates websocket
|
|
@@ -48,7 +66,7 @@ export class Syncer {
|
|
|
48
66
|
this.#pushers = new ServiceRunner(lc, pusherFactory, p => p.hasRefs());
|
|
49
67
|
}
|
|
50
68
|
this.#parent = parent;
|
|
51
|
-
this.#wss = new WebSocketServer(
|
|
69
|
+
this.#wss = new WebSocketServer(getWebSocketServerOptions(config));
|
|
52
70
|
installWebSocketReceiver(lc, this.#wss, this.#createConnection, this.#parent);
|
|
53
71
|
setActiveClientGroupsGetter(() => this.#viewSyncers.size);
|
|
54
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAiB,MAAM,MAAM,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"syncer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uDAAuD,CAAC;AAC9F,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,6CAA6C,CAAC;AACrF,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,yCAAyC,CAAC;AACtE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,EAEV,iBAAiB,EACjB,OAAO,EACP,GAAG,EACJ,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAC,iBAAiB,EAAC,CAAC;AAEhC,MAAM,MAAM,IAAI,GAAG,cAAc,qBAAqB,CAAC,CAAC;AAExD,qBAAa,SAAS;;IAEpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAGhC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uDAAuD,CAAC;AAC9F,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,6CAA6C,CAAC;AACrF,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,yCAAyC,CAAC;AACtE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,EAEV,iBAAiB,EACjB,OAAO,EACP,GAAG,EACJ,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAC,iBAAiB,EAAC,CAAC;AAEhC,MAAM,MAAM,IAAI,GAAG,cAAc,qBAAqB,CAAC,CAAC;AAExD,qBAAa,SAAS;;IAEpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAGhC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC;IAkB/B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI5B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMvC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,YAAY,CAChB,KAAK,EAAE,QAAQ,EACf,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC;CAO/B"}
|
|
@@ -35,6 +35,7 @@ export interface InspectorDelegate {
|
|
|
35
35
|
getQueryMetrics(hash: string): ClientMetrics | undefined;
|
|
36
36
|
getAST(queryID: string): AST | undefined;
|
|
37
37
|
readonly metrics: ClientMetrics;
|
|
38
|
+
mapClientASTToServer(ast: AST): AST;
|
|
38
39
|
}
|
|
39
40
|
export interface ExtendedInspectorDelegate extends InspectorDelegate {
|
|
40
41
|
readonly rep: Rep;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-inspector.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/lazy-inspector.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lazy-inspector.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/lazy-inspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export declare class QueryManager implements InspectorDelegate {
|
|
|
26
26
|
#private;
|
|
27
27
|
constructor(lc: ZeroLogContext, mutationTracker: MutationTracker, clientID: ClientID, tables: Record<string, TableSchema>, send: (change: ChangeDesiredQueriesMessage) => void, experimentalWatch: ReplicacheImpl['experimentalWatch'], recentQueriesMaxSize: number, queryChangeThrottleMs: number, slowMaterializeThreshold: number);
|
|
28
28
|
getAST(queryID: string): AST | undefined;
|
|
29
|
+
mapClientASTToServer(ast: AST): AST;
|
|
29
30
|
/**
|
|
30
31
|
* Get the queries that need to be registered with the server.
|
|
31
32
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-manager.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/query-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAC/E,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,qCAAqC,CAAC;AAIlE,OAAO,EAAC,OAAO,EAAC,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAGL,KAAK,GAAG,EACT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,sDAAsD,CAAC;AACtG,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,8CAA8C,CAAC;AAC/E,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,6CAA6C,CAAC;AAUlF,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,4CAA4C,CAAC;AAChF,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAuB,KAAK,GAAG,EAAC,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAc1D,KAAK,YAAY,GAAG;KACjB,CAAC,IAAI,MAAM,eAAe,GAAG,OAAO;CACtC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAa,YAAW,iBAAiB;;gBAoBlD,EAAE,EAAE,cAAc,EAClB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,IAAI,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,IAAI,EACnD,iBAAiB,EAAE,cAAc,CAAC,mBAAmB,CAAC,EACtD,oBAAoB,EAAE,MAAM,EAC5B,qBAAqB,EAAE,MAAM,EAC7B,wBAAwB,EAAE,MAAM;IA8ClC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"query-manager.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/query-manager.ts"],"names":[],"mappings":"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"}
|
package/out/zero.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
syncedQuery,
|
|
10
10
|
syncedQueryWithContext,
|
|
11
11
|
withValidation
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-5RLYQVTQ.js";
|
|
13
13
|
import {
|
|
14
14
|
IDBNotFoundError,
|
|
15
15
|
TransactionClosedError,
|
|
@@ -30,9 +30,9 @@ import {
|
|
|
30
30
|
transformRequestMessageSchema,
|
|
31
31
|
transformResponseMessageSchema,
|
|
32
32
|
update_needed_reason_type_enum_exports
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-AIYK3MAI.js";
|
|
34
34
|
import "./chunk-ASRS2LFV.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-OZZJ3HSP.js";
|
|
36
36
|
import "./chunk-EZM3XBAB.js";
|
|
37
37
|
import "./chunk-424PT5DM.js";
|
|
38
38
|
export {
|
|
@@ -18,6 +18,18 @@ export type StaticQueryParameters = {
|
|
|
18
18
|
export interface BuilderDelegate {
|
|
19
19
|
readonly applyFiltersAnyway?: boolean | undefined;
|
|
20
20
|
readonly debug?: DebugDelegate | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* When true, allows NOT EXISTS conditions in queries.
|
|
23
|
+
* Defaults to false.
|
|
24
|
+
*
|
|
25
|
+
* We only set this to true on the server.
|
|
26
|
+
* The client-side query engine cannot support NOT EXISTS because:
|
|
27
|
+
* 1. Zero only syncs a subset of data to the client
|
|
28
|
+
* 2. On the client, we can't distinguish between a row not existing vs.
|
|
29
|
+
* a row not being synced to the client
|
|
30
|
+
* 3. NOT EXISTS requires complete knowledge of what doesn't exist
|
|
31
|
+
*/
|
|
32
|
+
readonly enableNotExists?: boolean | undefined;
|
|
21
33
|
/**
|
|
22
34
|
* Called once for each source needed by the AST.
|
|
23
35
|
* Might be called multiple times with same tableName. It is OK to return
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../zql/src/builder/builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EACV,GAAG,EAGH,SAAS,EAIT,WAAW,EAEX,QAAQ,EAIT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAI1E,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAElE,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAI1D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAkB,KAAK,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAE3C;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEjD;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAEjD,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAElD,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAEnE,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAEhE;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,KAAK,CAGP;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,OAqDzD;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../zql/src/builder/builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EACV,GAAG,EAGH,SAAS,EAIT,WAAW,EAEX,QAAQ,EAIT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAI1E,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAElE,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAI1D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAkB,KAAK,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAE3C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE/C;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEjD;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAEjD,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAElD,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAEnE,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAEhE;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,KAAK,CAGP;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,OAqDzD;AAmTD,wBAAgB,OAAO,CACrB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,MAAM,GACX,WAAW,CAsCb;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,WAAW,6EAa7D;AAED,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,SAAS,GACnB,SAAS,IAAI,mBAAmB,CAQlC;AAqHD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,UAAU,GACb,IAAI,CAgBN;AA8CD,wBAAgB,0CAA0C,CACxD,IAAI,EAAE,SAAS,GACd,OAAO,CAUT;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,uCAYrC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { assert } from "../../../shared/src/asserts.js";
|
|
1
|
+
import { assert, unreachable } from "../../../shared/src/asserts.js";
|
|
2
2
|
import { must } from "../../../shared/src/must.js";
|
|
3
3
|
import { Exists } from "../ivm/exists.js";
|
|
4
4
|
import { FanIn } from "../ivm/fan-in.js";
|
|
@@ -99,12 +99,39 @@ function isParameter(value) {
|
|
|
99
99
|
}
|
|
100
100
|
const EXISTS_LIMIT = 3;
|
|
101
101
|
const PERMISSIONS_EXISTS_LIMIT = 1;
|
|
102
|
+
/**
|
|
103
|
+
* Checks if a condition tree contains any NOT EXISTS operations.
|
|
104
|
+
* Recursively checks AND/OR branches but does not recurse into nested subqueries
|
|
105
|
+
* (those are checked when buildPipelineInternal processes them).
|
|
106
|
+
*/
|
|
107
|
+
function assertNoNotExists(condition) {
|
|
108
|
+
switch (condition.type) {
|
|
109
|
+
case 'simple':
|
|
110
|
+
return;
|
|
111
|
+
case 'correlatedSubquery':
|
|
112
|
+
if (condition.op === 'NOT EXISTS') {
|
|
113
|
+
throw new Error('not(exists()) is not supported on the client - see https://bugs.rocicorp.dev/issue/3438');
|
|
114
|
+
}
|
|
115
|
+
return;
|
|
116
|
+
case 'and':
|
|
117
|
+
case 'or':
|
|
118
|
+
for (const c of condition.conditions) {
|
|
119
|
+
assertNoNotExists(c);
|
|
120
|
+
}
|
|
121
|
+
return;
|
|
122
|
+
default:
|
|
123
|
+
unreachable(condition);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
102
126
|
function buildPipelineInternal(ast, delegate, queryID, name, partitionKey) {
|
|
103
127
|
const source = delegate.getSource(ast.table);
|
|
104
128
|
if (!source) {
|
|
105
129
|
throw new Error(`Source not found: ${ast.table}`);
|
|
106
130
|
}
|
|
107
131
|
ast = uniquifyCorrelatedSubqueryConditionAliases(ast);
|
|
132
|
+
if (!delegate.enableNotExists && ast.where) {
|
|
133
|
+
assertNoNotExists(ast.where);
|
|
134
|
+
}
|
|
108
135
|
const csqConditions = gatherCorrelatedSubqueryQueryConditions(ast.where);
|
|
109
136
|
const splitEditKeys = partitionKey
|
|
110
137
|
? new Set(partitionKey)
|