@livestore/common 0.4.0-dev.23 → 0.4.0-dev.25
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/dist/.tsbuildinfo +1 -1
- package/dist/devtools/devtools-compatibility.test.d.ts +2 -0
- package/dist/devtools/devtools-compatibility.test.d.ts.map +1 -0
- package/dist/devtools/devtools-compatibility.test.js +15 -0
- package/dist/devtools/devtools-compatibility.test.js.map +1 -0
- package/dist/devtools/devtools-messages-client-session.d.ts +8 -2
- package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-client-session.js +10 -4
- package/dist/devtools/devtools-messages-client-session.js.map +1 -1
- package/dist/devtools/devtools-messages-common.d.ts +2 -4
- package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-common.js +2 -4
- package/dist/devtools/devtools-messages-common.js.map +1 -1
- package/dist/devtools/devtools-messages-leader.d.ts +8 -2
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-leader.js +10 -4
- package/dist/devtools/devtools-messages-leader.js.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +10 -9
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/schema/LiveStoreEvent/client.d.ts +8 -0
- package/dist/schema/LiveStoreEvent/client.d.ts.map +1 -1
- package/dist/schema/LiveStoreEvent/client.js +10 -1
- package/dist/schema/LiveStoreEvent/client.js.map +1 -1
- package/dist/schema/LiveStoreEvent/client.test.js +29 -1
- package/dist/schema/LiveStoreEvent/client.test.js.map +1 -1
- package/dist/sync/syncstate.test.js +37 -1
- package/dist/sync/syncstate.test.js.map +1 -1
- package/dist/version.d.ts +6 -3
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +6 -3
- package/dist/version.js.map +1 -1
- package/package.json +4 -4
- package/src/devtools/devtools-compatibility.test.ts +18 -0
- package/src/devtools/devtools-messages-client-session.ts +10 -4
- package/src/devtools/devtools-messages-common.ts +2 -4
- package/src/devtools/devtools-messages-leader.ts +10 -4
- package/src/leader-thread/leader-worker-devtools.ts +18 -9
- package/src/schema/LiveStoreEvent/client.test.ts +33 -1
- package/src/schema/LiveStoreEvent/client.ts +12 -1
- package/src/sync/syncstate.test.ts +43 -1
- package/src/version.ts +14 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
2
|
-
import { Cause, Effect, Exit } from '@livestore/utils/effect';
|
|
2
|
+
import { Cause, Effect, Exit, Schema } from '@livestore/utils/effect';
|
|
3
3
|
import { assert, expect } from 'vitest';
|
|
4
4
|
import * as EventSequenceNumber from "../schema/EventSequenceNumber/mod.js";
|
|
5
5
|
import * as LiveStoreEvent from "../schema/LiveStoreEvent/mod.js";
|
|
@@ -283,6 +283,42 @@ Vitest.describe('syncstate', () => {
|
|
|
283
283
|
assert(Exit.isFailure(exit));
|
|
284
284
|
expect(Cause.isDie(exit.cause)).toBe(true);
|
|
285
285
|
}));
|
|
286
|
+
Vitest.it.effect('should advance (not rebase) when pending event has undefined-valued key dropped by JSON wire round-trip', () => Effect.gen(function* () {
|
|
287
|
+
const argsSchema = Schema.Struct({
|
|
288
|
+
id: Schema.String,
|
|
289
|
+
flag: Schema.UndefinedOr(Schema.Boolean),
|
|
290
|
+
});
|
|
291
|
+
const localArgs = Schema.encodeUnknownSync(argsSchema)({ id: 'abc' });
|
|
292
|
+
const wireArgs = JSON.parse(JSON.stringify(localArgs));
|
|
293
|
+
const localPending = new TestEvent({
|
|
294
|
+
seqNum: e1_0.seqNum,
|
|
295
|
+
parentSeqNum: e1_0.parentSeqNum,
|
|
296
|
+
name: e1_0.name,
|
|
297
|
+
args: localArgs,
|
|
298
|
+
clientId: e1_0.clientId,
|
|
299
|
+
sessionId: e1_0.sessionId,
|
|
300
|
+
});
|
|
301
|
+
const fromUpstream = new TestEvent({
|
|
302
|
+
seqNum: e1_0.seqNum,
|
|
303
|
+
parentSeqNum: e1_0.parentSeqNum,
|
|
304
|
+
name: e1_0.name,
|
|
305
|
+
args: wireArgs,
|
|
306
|
+
clientId: e1_0.clientId,
|
|
307
|
+
sessionId: e1_0.sessionId,
|
|
308
|
+
});
|
|
309
|
+
const syncState = new SyncState.SyncState({
|
|
310
|
+
pending: [localPending],
|
|
311
|
+
upstreamHead: EventSequenceNumber.Client.ROOT,
|
|
312
|
+
localHead: localPending.seqNum,
|
|
313
|
+
});
|
|
314
|
+
const result = yield* merge({
|
|
315
|
+
syncState,
|
|
316
|
+
payload: SyncState.PayloadUpstreamAdvance.make({ newEvents: [fromUpstream] }),
|
|
317
|
+
});
|
|
318
|
+
expectAdvance(result);
|
|
319
|
+
expect(result.confirmedEvents).toHaveLength(1);
|
|
320
|
+
expect(result.newSyncState.pending).toHaveLength(0);
|
|
321
|
+
}));
|
|
286
322
|
});
|
|
287
323
|
Vitest.describe('upstream-advance: rebase', () => {
|
|
288
324
|
Vitest.it.effect('should rebase single client event to end', () => Effect.gen(function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncstate.test.js","sourceRoot":"","sources":["../../src/sync/syncstate.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"syncstate.test.js","sourceRoot":"","sources":["../../src/sync/syncstate.test.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Current LiveStore version used for
|
|
2
|
+
* Current LiveStore package version used for display, release assets, and install guidance.
|
|
3
3
|
*
|
|
4
|
-
* Can be overridden at runtime via `globalThis.__LIVESTORE_VERSION_OVERRIDE__` for testing
|
|
5
|
-
* This allows Playwright tests to simulate version mismatch scenarios without rebuilding.
|
|
4
|
+
* Can be overridden at runtime via `globalThis.__LIVESTORE_VERSION_OVERRIDE__` for testing display-only version values.
|
|
6
5
|
*/
|
|
7
6
|
export declare const liveStoreVersion: string;
|
|
7
|
+
export declare const devtoolsProtocolVersion: number;
|
|
8
|
+
export declare const supportedDevtoolsProtocolVersions: ReadonlyArray<number>;
|
|
9
|
+
export declare const resolveDevtoolsProtocolVersion: (version: number | undefined) => number;
|
|
10
|
+
export declare const isDevtoolsProtocolVersionSupported: (version: number | undefined, supportedVersions?: ReadonlyArray<number>) => boolean;
|
|
8
11
|
/**
|
|
9
12
|
* CRITICAL: Increment this version whenever you modify client-side EVENTLOG table schemas.
|
|
10
13
|
*
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAA0E,CAAA;AAEzG,eAAO,MAAM,uBAAuB,EAAE,MACqC,CAAA;AAE3E,eAAO,MAAM,iCAAiC,EAAE,aAAa,CAAC,MAAM,CAA6B,CAAA;AAEjG,eAAO,MAAM,8BAA8B,GAAI,SAAS,MAAM,GAAG,SAAS,KAAG,MAAsB,CAAA;AAEnG,eAAO,MAAM,kCAAkC,GAC7C,SAAS,MAAM,GAAG,SAAS,EAC3B,oBAAmB,aAAa,CAAC,MAAM,CAAqC,KAC3E,OAA8E,CAAA;AAEjF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,6BAA6B,IAAI,CAAA"}
|
package/dist/version.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import pkg from '../package.json' with { type: 'json' };
|
|
2
2
|
/**
|
|
3
|
-
* Current LiveStore version used for
|
|
3
|
+
* Current LiveStore package version used for display, release assets, and install guidance.
|
|
4
4
|
*
|
|
5
|
-
* Can be overridden at runtime via `globalThis.__LIVESTORE_VERSION_OVERRIDE__` for testing
|
|
6
|
-
* This allows Playwright tests to simulate version mismatch scenarios without rebuilding.
|
|
5
|
+
* Can be overridden at runtime via `globalThis.__LIVESTORE_VERSION_OVERRIDE__` for testing display-only version values.
|
|
7
6
|
*/
|
|
8
7
|
export const liveStoreVersion = globalThis.__LIVESTORE_VERSION_OVERRIDE__ ?? pkg.version;
|
|
8
|
+
export const devtoolsProtocolVersion = globalThis.__LIVESTORE_DEVTOOLS_PROTOCOL_VERSION_OVERRIDE__ ?? 1;
|
|
9
|
+
export const supportedDevtoolsProtocolVersions = [devtoolsProtocolVersion];
|
|
10
|
+
export const resolveDevtoolsProtocolVersion = (version) => version ?? 1;
|
|
11
|
+
export const isDevtoolsProtocolVersionSupported = (version, supportedVersions = supportedDevtoolsProtocolVersions) => supportedVersions.includes(resolveDevtoolsProtocolVersion(version));
|
|
9
12
|
/**
|
|
10
13
|
* CRITICAL: Increment this version whenever you modify client-side EVENTLOG table schemas.
|
|
11
14
|
*
|
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAEvD
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAY,UAAkB,CAAC,8BAA8B,IAAI,GAAG,CAAC,OAAO,CAAA;AAEzG,MAAM,CAAC,MAAM,uBAAuB,GACjC,UAAkB,CAAC,gDAAgD,IAAI,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,iCAAiC,GAA0B,CAAC,uBAAuB,CAAC,CAAA;AAEjG,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,OAA2B,EAAU,EAAE,CAAC,OAAO,IAAI,CAAC,CAAA;AAEnG,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,OAA2B,EAC3B,oBAA2C,iCAAiC,EACnE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAA;AAEjF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/common",
|
|
3
|
-
"version": "0.4.0-dev.
|
|
3
|
+
"version": "0.4.0-dev.25",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@opentelemetry/api": "1.9.0",
|
|
31
|
-
"@livestore/utils": "^0.4.0-dev.
|
|
32
|
-
"@livestore/webmesh": "^0.4.0-dev.
|
|
31
|
+
"@livestore/utils": "^0.4.0-dev.25",
|
|
32
|
+
"@livestore/webmesh": "^0.4.0-dev.25"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@effect/ai": "0.35.0",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@standard-schema/spec": "1.1.0",
|
|
53
53
|
"effect": "3.21.2",
|
|
54
54
|
"vitest": "3.2.4",
|
|
55
|
-
"@livestore/utils-dev": "^0.4.0-dev.
|
|
55
|
+
"@livestore/utils-dev": "^0.4.0-dev.25"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@effect/ai": "^0.35.0",
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
|
|
3
|
+
import { isDevtoolsProtocolVersionSupported, resolveDevtoolsProtocolVersion } from '../version.ts'
|
|
4
|
+
|
|
5
|
+
describe('DevTools protocol compatibility', () => {
|
|
6
|
+
it('treats legacy pings without a protocol version as protocol 1', () => {
|
|
7
|
+
expect(resolveDevtoolsProtocolVersion(undefined)).toBe(1)
|
|
8
|
+
expect(isDevtoolsProtocolVersionSupported(undefined, [1])).toBe(true)
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
it('accepts supported protocol versions independent of package version', () => {
|
|
12
|
+
expect(isDevtoolsProtocolVersionSupported(1, [1])).toBe(true)
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
it('rejects unsupported protocol versions', () => {
|
|
16
|
+
expect(isDevtoolsProtocolVersionSupported(2, [1])).toBe(false)
|
|
17
|
+
})
|
|
18
|
+
})
|
|
@@ -103,19 +103,25 @@ export class LiveQueriesRes extends LSDClientSessionReqResMessage('LSD.ClientSes
|
|
|
103
103
|
subscriptionId: Schema.String,
|
|
104
104
|
}) {}
|
|
105
105
|
|
|
106
|
-
export class Ping extends LSDClientSessionReqResMessage('LSD.ClientSession.Ping', {
|
|
106
|
+
export class Ping extends LSDClientSessionReqResMessage('LSD.ClientSession.Ping', {
|
|
107
|
+
devtoolsProtocolVersion: Schema.optional(Schema.Number),
|
|
108
|
+
}) {}
|
|
107
109
|
|
|
108
|
-
export class Pong extends LSDClientSessionReqResMessage('LSD.ClientSession.Pong', {
|
|
110
|
+
export class Pong extends LSDClientSessionReqResMessage('LSD.ClientSession.Pong', {
|
|
111
|
+
devtoolsProtocolVersion: Schema.optional(Schema.Number),
|
|
112
|
+
}) {}
|
|
109
113
|
|
|
110
114
|
/**
|
|
111
|
-
* Sent by the app when DevTools
|
|
112
|
-
* Contains
|
|
115
|
+
* Sent by the app when the DevTools protocol isn't compatible.
|
|
116
|
+
* Contains package versions for display and protocol versions for the actual compatibility decision.
|
|
113
117
|
*/
|
|
114
118
|
export class VersionMismatch extends LSDClientSessionReqResMessage('LSD.ClientSession.VersionMismatch', {
|
|
115
119
|
/** The version running in the app */
|
|
116
120
|
appVersion: Schema.String,
|
|
117
121
|
/** The version that was sent by DevTools (that caused the mismatch) */
|
|
118
122
|
receivedVersion: Schema.String,
|
|
123
|
+
appDevtoolsProtocolVersion: Schema.Number,
|
|
124
|
+
receivedDevtoolsProtocolVersion: Schema.optional(Schema.Number),
|
|
119
125
|
}) {}
|
|
120
126
|
|
|
121
127
|
export class Disconnect extends LSDClientSessionChannelMessage('LSD.ClientSession.Disconnect', {}) {}
|
|
@@ -6,10 +6,8 @@ export const requestId = Schema.String
|
|
|
6
6
|
export const clientId = Schema.String
|
|
7
7
|
export const sessionId = Schema.String
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* Version checking happens at the application layer after message parsing succeeds,
|
|
12
|
-
* allowing DevTools to respond with a proper VersionMismatch error instead of silent rejection.
|
|
9
|
+
* Display/package version field for DevTools messages.
|
|
10
|
+
* Compatibility is decided by the optional DevTools protocol version carried by handshake messages.
|
|
13
11
|
*/
|
|
14
12
|
export const liveStoreVersion = Schema.String
|
|
15
13
|
|
|
@@ -107,19 +107,25 @@ export class EventlogRes extends LSDReqResMessage('LSD.Leader.EventlogRes', {
|
|
|
107
107
|
eventlog: Transferable.Uint8Array as Schema.Schema<Uint8Array<ArrayBuffer>>,
|
|
108
108
|
}) {}
|
|
109
109
|
|
|
110
|
-
export class Ping extends LSDReqResMessage('LSD.Leader.Ping', {
|
|
110
|
+
export class Ping extends LSDReqResMessage('LSD.Leader.Ping', {
|
|
111
|
+
devtoolsProtocolVersion: Schema.optional(Schema.Number),
|
|
112
|
+
}) {}
|
|
111
113
|
|
|
112
|
-
export class Pong extends LSDReqResMessage('LSD.Leader.Pong', {
|
|
114
|
+
export class Pong extends LSDReqResMessage('LSD.Leader.Pong', {
|
|
115
|
+
devtoolsProtocolVersion: Schema.optional(Schema.Number),
|
|
116
|
+
}) {}
|
|
113
117
|
|
|
114
118
|
/**
|
|
115
|
-
* Sent by the app when DevTools
|
|
116
|
-
* Contains
|
|
119
|
+
* Sent by the app when the DevTools protocol isn't compatible.
|
|
120
|
+
* Contains package versions for display and protocol versions for the actual compatibility decision.
|
|
117
121
|
*/
|
|
118
122
|
export class VersionMismatch extends LSDReqResMessage('LSD.Leader.VersionMismatch', {
|
|
119
123
|
/** The version running in the app */
|
|
120
124
|
appVersion: Schema.String,
|
|
121
125
|
/** The version that was sent by DevTools (that caused the mismatch) */
|
|
122
126
|
receivedVersion: Schema.String,
|
|
127
|
+
appDevtoolsProtocolVersion: Schema.Number,
|
|
128
|
+
receivedDevtoolsProtocolVersion: Schema.optional(Schema.Number),
|
|
123
129
|
}) {}
|
|
124
130
|
|
|
125
131
|
export class Disconnect extends LSDReqResMessage('LSD.Leader.Disconnect', {}) {}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { Effect, FiberMap, Option, Stream, SubscriptionRef } from '@livestore/utils/effect'
|
|
2
2
|
import { nanoid } from '@livestore/utils/nanoid'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
Devtools,
|
|
6
|
+
devtoolsProtocolVersion,
|
|
7
|
+
IntentionalShutdownCause,
|
|
8
|
+
isDevtoolsProtocolVersionSupported,
|
|
9
|
+
liveStoreVersion,
|
|
10
|
+
resolveDevtoolsProtocolVersion,
|
|
11
|
+
UnknownError,
|
|
12
|
+
} from '../index.ts'
|
|
5
13
|
import { SystemTables } from '../schema/mod.ts'
|
|
6
14
|
import type { DevtoolsOptions, PersistenceInfoPair } from './types.ts'
|
|
7
15
|
import { LeaderThreadCtx } from './types.ts'
|
|
@@ -166,18 +174,19 @@ const listenToDevtools = ({
|
|
|
166
174
|
|
|
167
175
|
switch (decodedEvent._tag) {
|
|
168
176
|
case 'LSD.Leader.Ping': {
|
|
169
|
-
|
|
170
|
-
if (decodedEvent.liveStoreVersion !== liveStoreVersion) {
|
|
177
|
+
if (isDevtoolsProtocolVersionSupported(decodedEvent.devtoolsProtocolVersion) === false) {
|
|
171
178
|
yield* sendMessage(
|
|
172
179
|
Devtools.Leader.VersionMismatch.make({
|
|
173
180
|
...reqPayload,
|
|
174
181
|
appVersion: liveStoreVersion,
|
|
175
182
|
receivedVersion: decodedEvent.liveStoreVersion,
|
|
183
|
+
appDevtoolsProtocolVersion: devtoolsProtocolVersion,
|
|
184
|
+
receivedDevtoolsProtocolVersion: resolveDevtoolsProtocolVersion(decodedEvent.devtoolsProtocolVersion),
|
|
176
185
|
}),
|
|
177
186
|
)
|
|
178
187
|
return
|
|
179
188
|
}
|
|
180
|
-
yield* sendMessage(Devtools.Leader.Pong.make({ ...reqPayload }))
|
|
189
|
+
yield* sendMessage(Devtools.Leader.Pong.make({ ...reqPayload, devtoolsProtocolVersion }))
|
|
181
190
|
return
|
|
182
191
|
}
|
|
183
192
|
case 'LSD.Leader.SnapshotReq': {
|
|
@@ -352,10 +361,10 @@ const listenToDevtools = ({
|
|
|
352
361
|
return
|
|
353
362
|
}
|
|
354
363
|
case 'LSD.Leader.SyncHistoryUnsubscribe': {
|
|
355
|
-
const
|
|
356
|
-
console.log('LSD.SyncHistoryUnsubscribe',
|
|
364
|
+
const unsubscribeRequestId = decodedEvent.requestId
|
|
365
|
+
console.log('LSD.SyncHistoryUnsubscribe', unsubscribeRequestId)
|
|
357
366
|
|
|
358
|
-
yield* FiberMap.remove(subscriptionFiberMap,
|
|
367
|
+
yield* FiberMap.remove(subscriptionFiberMap, unsubscribeRequestId)
|
|
359
368
|
|
|
360
369
|
return
|
|
361
370
|
}
|
|
@@ -408,9 +417,9 @@ const listenToDevtools = ({
|
|
|
408
417
|
return
|
|
409
418
|
}
|
|
410
419
|
case 'LSD.Leader.NetworkStatusUnsubscribe': {
|
|
411
|
-
const
|
|
420
|
+
const unsubscribeRequestId = decodedEvent.requestId
|
|
412
421
|
|
|
413
|
-
yield* FiberMap.remove(subscriptionFiberMap,
|
|
422
|
+
yield* FiberMap.remove(subscriptionFiberMap, unsubscribeRequestId)
|
|
414
423
|
|
|
415
424
|
return
|
|
416
425
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { expect } from 'vitest'
|
|
2
2
|
|
|
3
|
-
import { Option } from '@livestore/utils/effect'
|
|
3
|
+
import { Option, Schema } from '@livestore/utils/effect'
|
|
4
4
|
import { Vitest } from '@livestore/utils-dev/node-vitest'
|
|
5
5
|
|
|
6
6
|
import * as EventSequenceNumber from '../EventSequenceNumber/mod.ts'
|
|
@@ -94,4 +94,36 @@ Vitest.describe('isEqualEncoded', () => {
|
|
|
94
94
|
const b = { ...makeEncodedEvent({ id: 'abc' }), name: 'eventB' }
|
|
95
95
|
expect(isEqualEncoded(a, b)).toBe(false)
|
|
96
96
|
})
|
|
97
|
+
|
|
98
|
+
Vitest.it('should consider events with undefined-valued and missing keys as equal', () => {
|
|
99
|
+
const a = makeEncodedEvent({ id: 'abc', flag: undefined })
|
|
100
|
+
const b = makeEncodedEvent({ id: 'abc' })
|
|
101
|
+
expect(isEqualEncoded(a, b)).toBe(true)
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
Vitest.it('should consider events with nested undefined-valued and missing keys as equal', () => {
|
|
105
|
+
const a = makeEncodedEvent({ outer: { x: 1, y: undefined } })
|
|
106
|
+
const b = makeEncodedEvent({ outer: { x: 1 } })
|
|
107
|
+
expect(isEqualEncoded(a, b)).toBe(true)
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
Vitest.it('should consider Effect Schema UndefinedOr-encoded args equal to their JSON-roundtripped form', () => {
|
|
111
|
+
const argsSchema = Schema.Struct({
|
|
112
|
+
id: Schema.String,
|
|
113
|
+
flag: Schema.UndefinedOr(Schema.Boolean),
|
|
114
|
+
})
|
|
115
|
+
const localArgs = Schema.encodeUnknownSync(argsSchema)({ id: 'abc' } as any)
|
|
116
|
+
const wireArgs = JSON.parse(JSON.stringify(localArgs))
|
|
117
|
+
expect(isEqualEncoded(makeEncodedEvent(localArgs), makeEncodedEvent(wireArgs))).toBe(true)
|
|
118
|
+
})
|
|
119
|
+
|
|
120
|
+
Vitest.it('should consider Effect Schema loose-optional encoded args equal to their JSON-roundtripped form', () => {
|
|
121
|
+
const argsSchema = Schema.Struct({
|
|
122
|
+
id: Schema.String,
|
|
123
|
+
label: Schema.optional(Schema.String),
|
|
124
|
+
})
|
|
125
|
+
const localArgs = Schema.encodeUnknownSync(argsSchema)({ id: 'abc', label: undefined } as any)
|
|
126
|
+
const wireArgs = JSON.parse(JSON.stringify(localArgs))
|
|
127
|
+
expect(isEqualEncoded(makeEncodedEvent(localArgs), makeEncodedEvent(wireArgs))).toBe(true)
|
|
128
|
+
})
|
|
97
129
|
})
|
|
@@ -187,6 +187,14 @@ export class EncodedWithMeta extends Schema.Class<EncodedWithMeta>('LiveStoreEve
|
|
|
187
187
|
/**
|
|
188
188
|
* Structural equality check for client events. Compares seqNum (global + client),
|
|
189
189
|
* name, clientId, sessionId, and args. The `meta` field is ignored.
|
|
190
|
+
*
|
|
191
|
+
* Args are compared in their JSON-canonical form: locally-encoded events with
|
|
192
|
+
* `Schema.UndefinedOr` (or loose `Schema.optional`) fields produce
|
|
193
|
+
* `{ ..., flag: undefined }`, but JSON wire transport drops the key. Without
|
|
194
|
+
* canonicalizing, the local pending event compares unequal to its
|
|
195
|
+
* wire-roundtripped counterpart and the sync merge falsely takes the rebase
|
|
196
|
+
* path, surfacing as `MaterializerHashMismatchError` for state-dependent
|
|
197
|
+
* materializers.
|
|
190
198
|
*/
|
|
191
199
|
export const isEqualEncoded = (a: Encoded, b: Encoded) =>
|
|
192
200
|
a.seqNum.global === b.seqNum.global &&
|
|
@@ -194,7 +202,10 @@ export const isEqualEncoded = (a: Encoded, b: Encoded) =>
|
|
|
194
202
|
a.name === b.name &&
|
|
195
203
|
a.clientId === b.clientId &&
|
|
196
204
|
a.sessionId === b.sessionId &&
|
|
197
|
-
deepEqual(a.args, b.args) // TODO use schema equality here
|
|
205
|
+
deepEqual(canonicalizeArgs(a.args), canonicalizeArgs(b.args)) // TODO use schema equality here
|
|
206
|
+
|
|
207
|
+
const canonicalizeArgs = (args: unknown): unknown =>
|
|
208
|
+
args === undefined ? args : JSON.parse(JSON.stringify(args))
|
|
198
209
|
|
|
199
210
|
/**
|
|
200
211
|
* Creates an Effect Schema union for all event types in a schema (with composite sequence numbers).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Vitest } from '@livestore/utils-dev/node-vitest'
|
|
2
|
-
import { Cause, Effect, Exit } from '@livestore/utils/effect'
|
|
2
|
+
import { Cause, Effect, Exit, Schema } from '@livestore/utils/effect'
|
|
3
3
|
import { assert, expect } from 'vitest'
|
|
4
4
|
|
|
5
5
|
import * as EventSequenceNumber from '../schema/EventSequenceNumber/mod.ts'
|
|
@@ -372,6 +372,48 @@ Vitest.describe('syncstate', () => {
|
|
|
372
372
|
expect(Cause.isDie(exit.cause)).toBe(true)
|
|
373
373
|
}),
|
|
374
374
|
)
|
|
375
|
+
|
|
376
|
+
Vitest.it.effect('should advance (not rebase) when pending event has undefined-valued key dropped by JSON wire round-trip', () =>
|
|
377
|
+
Effect.gen(function* () {
|
|
378
|
+
const argsSchema = Schema.Struct({
|
|
379
|
+
id: Schema.String,
|
|
380
|
+
flag: Schema.UndefinedOr(Schema.Boolean),
|
|
381
|
+
})
|
|
382
|
+
const localArgs = Schema.encodeUnknownSync(argsSchema)({ id: 'abc' } as any)
|
|
383
|
+
const wireArgs = JSON.parse(JSON.stringify(localArgs))
|
|
384
|
+
|
|
385
|
+
const localPending = new TestEvent({
|
|
386
|
+
seqNum: e1_0.seqNum,
|
|
387
|
+
parentSeqNum: e1_0.parentSeqNum,
|
|
388
|
+
name: e1_0.name,
|
|
389
|
+
args: localArgs,
|
|
390
|
+
clientId: e1_0.clientId,
|
|
391
|
+
sessionId: e1_0.sessionId,
|
|
392
|
+
})
|
|
393
|
+
const fromUpstream = new TestEvent({
|
|
394
|
+
seqNum: e1_0.seqNum,
|
|
395
|
+
parentSeqNum: e1_0.parentSeqNum,
|
|
396
|
+
name: e1_0.name,
|
|
397
|
+
args: wireArgs,
|
|
398
|
+
clientId: e1_0.clientId,
|
|
399
|
+
sessionId: e1_0.sessionId,
|
|
400
|
+
})
|
|
401
|
+
|
|
402
|
+
const syncState = new SyncState.SyncState({
|
|
403
|
+
pending: [localPending],
|
|
404
|
+
upstreamHead: EventSequenceNumber.Client.ROOT,
|
|
405
|
+
localHead: localPending.seqNum,
|
|
406
|
+
})
|
|
407
|
+
const result = yield* merge({
|
|
408
|
+
syncState,
|
|
409
|
+
payload: SyncState.PayloadUpstreamAdvance.make({ newEvents: [fromUpstream] }),
|
|
410
|
+
})
|
|
411
|
+
|
|
412
|
+
expectAdvance(result)
|
|
413
|
+
expect(result.confirmedEvents).toHaveLength(1)
|
|
414
|
+
expect(result.newSyncState.pending).toHaveLength(0)
|
|
415
|
+
}),
|
|
416
|
+
)
|
|
375
417
|
})
|
|
376
418
|
|
|
377
419
|
Vitest.describe('upstream-advance: rebase', () => {
|
package/src/version.ts
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import pkg from '../package.json' with { type: 'json' }
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Current LiveStore version used for
|
|
4
|
+
* Current LiveStore package version used for display, release assets, and install guidance.
|
|
5
5
|
*
|
|
6
|
-
* Can be overridden at runtime via `globalThis.__LIVESTORE_VERSION_OVERRIDE__` for testing
|
|
7
|
-
* This allows Playwright tests to simulate version mismatch scenarios without rebuilding.
|
|
6
|
+
* Can be overridden at runtime via `globalThis.__LIVESTORE_VERSION_OVERRIDE__` for testing display-only version values.
|
|
8
7
|
*/
|
|
9
8
|
export const liveStoreVersion: string = (globalThis as any).__LIVESTORE_VERSION_OVERRIDE__ ?? pkg.version
|
|
10
9
|
|
|
10
|
+
export const devtoolsProtocolVersion: number =
|
|
11
|
+
(globalThis as any).__LIVESTORE_DEVTOOLS_PROTOCOL_VERSION_OVERRIDE__ ?? 1
|
|
12
|
+
|
|
13
|
+
export const supportedDevtoolsProtocolVersions: ReadonlyArray<number> = [devtoolsProtocolVersion]
|
|
14
|
+
|
|
15
|
+
export const resolveDevtoolsProtocolVersion = (version: number | undefined): number => version ?? 1
|
|
16
|
+
|
|
17
|
+
export const isDevtoolsProtocolVersionSupported = (
|
|
18
|
+
version: number | undefined,
|
|
19
|
+
supportedVersions: ReadonlyArray<number> = supportedDevtoolsProtocolVersions,
|
|
20
|
+
): boolean => supportedVersions.includes(resolveDevtoolsProtocolVersion(version))
|
|
21
|
+
|
|
11
22
|
/**
|
|
12
23
|
* CRITICAL: Increment this version whenever you modify client-side EVENTLOG table schemas.
|
|
13
24
|
*
|