@spooky-sync/core 0.0.1-canary.247 → 0.0.1-canary.249

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/index.js CHANGED
@@ -1073,8 +1073,8 @@ function selfAllowlistedVariant(flag, userId) {
1073
1073
 
1074
1074
  //#endregion
1075
1075
  //#region src/modules/devtools/index.ts
1076
- const CORE_VERSION = "0.0.1-canary.247";
1077
- const WASM_VERSION = "0.0.1-canary.247";
1076
+ const CORE_VERSION = "0.0.1-canary.249";
1077
+ const WASM_VERSION = "0.0.1-canary.249";
1078
1078
  const SURREAL_VERSION = "3.0.3";
1079
1079
  var DevToolsService = class DevToolsService {
1080
1080
  eventsHistory = [];
@@ -12516,7 +12516,7 @@ function createTabsCoordinator(config, s, host) {
12516
12516
  return new TabsCoordinator({
12517
12517
  tabId: s.tabId,
12518
12518
  fingerprint: computeTabsFingerprint({
12519
- coreVersion: "0.0.1-canary.247",
12519
+ coreVersion: "0.0.1-canary.249",
12520
12520
  schemaHash: hash53(config.schemaSurql),
12521
12521
  endpoint: config.database.endpoint ?? "",
12522
12522
  namespace: config.database.namespace,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spooky-sync/core",
3
- "version": "0.0.1-canary.247",
3
+ "version": "0.0.1-canary.249",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -63,8 +63,8 @@
63
63
  }
64
64
  },
65
65
  "dependencies": {
66
- "@spooky-sync/query-builder": "0.0.1-canary.247",
67
- "@spooky-sync/ssp-wasm": "0.0.1-canary.247",
66
+ "@spooky-sync/query-builder": "0.0.1-canary.249",
67
+ "@spooky-sync/ssp-wasm": "0.0.1-canary.249",
68
68
  "@sqlite.org/sqlite-wasm": "3.53.0-build1",
69
69
  "@surrealdb/wasm": "^3.0.3",
70
70
  "blurhash": "^2.0.5",
@@ -142,6 +142,25 @@ describe('liveChange with the body joined on', () => {
142
142
  expect([...out.state.membershipDirty]).toEqual(['a']);
143
143
  });
144
144
 
145
+ it('leaves a failed inline body for the fetch path without advancing its version', async () => {
146
+ const s = buildState([buildEntry({ def: { hash: 'a' } })]);
147
+ const out = await runPure(liveChange(env, ['a'], [row(7)]), {
148
+ state: s,
149
+ handlers: {
150
+ 'local.execute': () => { throw new Error('stale local epoch'); },
151
+ },
152
+ });
153
+ expect(out.state.versions.has('game:g1')).toBe(false);
154
+ expect([...out.state.membershipDirty]).toEqual(['a']);
155
+ expect(out.log.filter((e) => e.kind === 'ssp.ingest')).toHaveLength(0);
156
+ expect(out.emitted).toContainEqual({
157
+ type: 'log',
158
+ level: 'debug',
159
+ message: 'inline live body not landed; the fetch path will pull it',
160
+ data: { ids: ['game:g1'] },
161
+ });
162
+ });
163
+
145
164
  it('writes one copy when the same row arrives for several views', async () => {
146
165
  const s = buildState([buildEntry({ def: { hash: 'a' } })]);
147
166
  const out = await runPure(liveChange(env, ['a'], [row(7), row(7), row(8)]), { state: s, handlers });