@syncular/client-react 0.0.6-56 → 0.0.6-67
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/createSyncularReact.d.ts +15 -8
- package/dist/createSyncularReact.d.ts.map +1 -1
- package/dist/createSyncularReact.js +20 -19
- package/dist/createSyncularReact.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/SyncEngine.test.ts +43 -39
- package/src/__tests__/SyncProvider.strictmode.test.tsx +4 -3
- package/src/__tests__/hooks/useMutation.test.tsx +4 -3
- package/src/__tests__/hooks.test.tsx +8 -7
- package/src/__tests__/integration/provider-reconfig.test.ts +28 -18
- package/src/__tests__/integration/push-flow.test.ts +3 -3
- package/src/__tests__/test-utils.ts +22 -3
- package/src/__tests__/useMutations.test.tsx +4 -3
- package/src/createSyncularReact.tsx +38 -29
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* const syncular = createSyncularReact<MyDb>();
|
|
8
8
|
* const { SyncProvider, useSyncQuery } = syncular;
|
|
9
9
|
*/
|
|
10
|
-
import type {
|
|
10
|
+
import type { ClientSyncConfig, MutationReceipt, MutationsApi, SubscriptionState, SyncAwaitBootstrapOptions, SyncAwaitPhaseOptions, SyncClientDb, SyncClientPlugin, SyncDiagnostics, SyncInspectorOptions, SyncInspectorSnapshot, SyncProgress, SyncRepairOptions, SyncResetOptions, SyncResetResult, SyncTransport, TransportHealth } from '@syncular/client';
|
|
11
11
|
import { type ConflictInfo, type OutboxStats, type PresenceEntry, type QueryContext, type SyncConnectionState, SyncEngine, type SyncEngineState, type SyncError, type SyncResult, type SyncTransportMode } from '@syncular/client';
|
|
12
12
|
import { type Kysely } from 'kysely';
|
|
13
13
|
import { type ReactNode } from 'react';
|
|
@@ -18,15 +18,18 @@ export interface SyncContextValue<DB extends SyncClientDb> {
|
|
|
18
18
|
engine: SyncEngine<DB>;
|
|
19
19
|
db: Kysely<DB>;
|
|
20
20
|
transport: SyncTransport;
|
|
21
|
-
handlers:
|
|
21
|
+
handlers: ClientSyncConfig<DB, {
|
|
22
|
+
actorId: string;
|
|
23
|
+
}>['handlers'];
|
|
22
24
|
}
|
|
23
|
-
export interface SyncProviderProps<DB extends SyncClientDb
|
|
25
|
+
export interface SyncProviderProps<DB extends SyncClientDb, Identity extends {
|
|
26
|
+
actorId: string;
|
|
27
|
+
}> {
|
|
24
28
|
db: Kysely<DB>;
|
|
25
29
|
transport: SyncTransport;
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
sync: ClientSyncConfig<DB, Identity>;
|
|
31
|
+
identity: Identity;
|
|
28
32
|
clientId?: string | null;
|
|
29
|
-
subscriptions?: Array<Omit<SyncSubscriptionRequest, 'cursor'>>;
|
|
30
33
|
limitCommits?: number;
|
|
31
34
|
limitSnapshotRows?: number;
|
|
32
35
|
maxSnapshotPages?: number;
|
|
@@ -283,8 +286,12 @@ export interface UsePresenceWithJoinResult<TMetadata = Record<string, unknown>>
|
|
|
283
286
|
leave: () => void;
|
|
284
287
|
isJoined: boolean;
|
|
285
288
|
}
|
|
286
|
-
export declare function createSyncularReact<DB extends SyncClientDb
|
|
287
|
-
|
|
289
|
+
export declare function createSyncularReact<DB extends SyncClientDb, Identity extends {
|
|
290
|
+
actorId: string;
|
|
291
|
+
} = {
|
|
292
|
+
actorId: string;
|
|
293
|
+
}>(): {
|
|
294
|
+
readonly SyncProvider: ({ db, transport, sync, identity, clientId, limitCommits, limitSnapshotRows, maxSnapshotPages, stateId, pollIntervalMs, maxRetries, migrate, onMigrationError, realtimeEnabled, realtimeFallbackPollMs, onError, onConflict, onDataChange, plugins, sha256, autoStart, renderWhileStarting, children, }: SyncProviderProps<DB, Identity>) => ReactNode;
|
|
288
295
|
readonly useSyncContext: () => SyncContextValue<DB>;
|
|
289
296
|
readonly useEngine: () => SyncEngine<DB>;
|
|
290
297
|
readonly useSyncEngine: () => UseSyncEngineResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSyncularReact.d.ts","sourceRoot":"","sources":["../src/createSyncularReact.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"createSyncularReact.d.ts","sourceRoot":"","sources":["../src/createSyncularReact.tsx"],"names":[],"mappings":"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"}
|
|
@@ -29,14 +29,15 @@ function isPresenceMetadataEqual(left, right) {
|
|
|
29
29
|
}
|
|
30
30
|
export function createSyncularReact() {
|
|
31
31
|
const SyncContext = createContext(null);
|
|
32
|
-
function SyncProvider({ db, transport,
|
|
32
|
+
function SyncProvider({ db, transport, sync, identity, clientId, limitCommits, limitSnapshotRows, maxSnapshotPages, stateId, pollIntervalMs, maxRetries, migrate, onMigrationError, realtimeEnabled, realtimeFallbackPollMs, onError, onConflict, onDataChange, plugins, sha256, autoStart = true, renderWhileStarting = true, children, }) {
|
|
33
|
+
const resolvedSubscriptions = useMemo(() => sync.subscriptions(identity), [sync, identity]);
|
|
33
34
|
const config = useMemo(() => ({
|
|
34
35
|
db,
|
|
35
36
|
transport,
|
|
36
|
-
handlers,
|
|
37
|
-
actorId,
|
|
37
|
+
handlers: sync.handlers,
|
|
38
|
+
actorId: identity.actorId,
|
|
38
39
|
clientId,
|
|
39
|
-
subscriptions,
|
|
40
|
+
subscriptions: resolvedSubscriptions,
|
|
40
41
|
limitCommits,
|
|
41
42
|
limitSnapshotRows,
|
|
42
43
|
maxSnapshotPages,
|
|
@@ -55,10 +56,10 @@ export function createSyncularReact() {
|
|
|
55
56
|
}), [
|
|
56
57
|
db,
|
|
57
58
|
transport,
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
sync,
|
|
60
|
+
identity,
|
|
60
61
|
clientId,
|
|
61
|
-
|
|
62
|
+
resolvedSubscriptions,
|
|
62
63
|
limitCommits,
|
|
63
64
|
limitSnapshotRows,
|
|
64
65
|
maxSnapshotPages,
|
|
@@ -77,15 +78,15 @@ export function createSyncularReact() {
|
|
|
77
78
|
]);
|
|
78
79
|
const [engine] = useState(() => new SyncEngine(config));
|
|
79
80
|
const [initialProps] = useState(() => ({
|
|
80
|
-
actorId,
|
|
81
|
+
actorId: identity.actorId,
|
|
81
82
|
clientId,
|
|
82
83
|
db,
|
|
83
84
|
transport,
|
|
84
|
-
|
|
85
|
+
sync,
|
|
85
86
|
}));
|
|
86
87
|
useEffect(() => {
|
|
87
88
|
const changedProps = [];
|
|
88
|
-
if (actorId !== initialProps.actorId)
|
|
89
|
+
if (identity.actorId !== initialProps.actorId)
|
|
89
90
|
changedProps.push('actorId');
|
|
90
91
|
if (clientId !== initialProps.clientId)
|
|
91
92
|
changedProps.push('clientId');
|
|
@@ -93,20 +94,20 @@ export function createSyncularReact() {
|
|
|
93
94
|
changedProps.push('db');
|
|
94
95
|
if (transport !== initialProps.transport)
|
|
95
96
|
changedProps.push('transport');
|
|
96
|
-
if (
|
|
97
|
-
changedProps.push('
|
|
97
|
+
if (sync !== initialProps.sync)
|
|
98
|
+
changedProps.push('sync');
|
|
98
99
|
if (changedProps.length > 0) {
|
|
99
100
|
const message = `[SyncProvider] Critical props changed after mount: ${changedProps.join(', ')}. ` +
|
|
100
101
|
'This is not supported and may cause undefined behavior. ' +
|
|
101
102
|
'Use a React key prop to force remount, e.g., ' +
|
|
102
|
-
`<SyncProvider key={userId} ...> or <SyncProvider key={actorId + ':' + clientId} ...>`;
|
|
103
|
+
`<SyncProvider key={userId} ...> or <SyncProvider key={identity.actorId + ':' + clientId} ...>`;
|
|
103
104
|
console.error(message);
|
|
104
105
|
if (process.env.NODE_ENV === 'development') {
|
|
105
106
|
console.warn('[SyncProvider] In development, consider using React StrictMode ' +
|
|
106
107
|
'to help detect these issues early.');
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
|
-
}, [
|
|
110
|
+
}, [identity, clientId, db, transport, sync, initialProps]);
|
|
110
111
|
const [isReady, setIsReady] = useState(false);
|
|
111
112
|
useEffect(() => {
|
|
112
113
|
let cancelled = false;
|
|
@@ -134,16 +135,16 @@ export function createSyncularReact() {
|
|
|
134
135
|
};
|
|
135
136
|
}, [engine, autoStart]);
|
|
136
137
|
useEffect(() => {
|
|
137
|
-
if (isReady &&
|
|
138
|
-
engine.updateSubscriptions(
|
|
138
|
+
if (isReady && resolvedSubscriptions.length > 0) {
|
|
139
|
+
engine.updateSubscriptions(resolvedSubscriptions);
|
|
139
140
|
}
|
|
140
|
-
}, [engine, isReady,
|
|
141
|
+
}, [engine, isReady, resolvedSubscriptions]);
|
|
141
142
|
const value = useMemo(() => ({
|
|
142
143
|
engine,
|
|
143
144
|
db,
|
|
144
145
|
transport,
|
|
145
|
-
handlers,
|
|
146
|
-
}), [engine, db, transport,
|
|
146
|
+
handlers: sync.handlers,
|
|
147
|
+
}), [engine, db, transport, sync]);
|
|
147
148
|
if (!isReady && renderWhileStarting === false) {
|
|
148
149
|
return null;
|
|
149
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSyncularReact.js","sourceRoot":"","sources":["../src/createSyncularReact.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createSyncularReact.js","sourceRoot":"","sources":["../src/createSyncularReact.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@syncular/client-react",
|
|
3
|
-
"version": "0.0.6-
|
|
3
|
+
"version": "0.0.6-67",
|
|
4
4
|
"description": "React hooks and bindings for the Syncular client",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Benjamin Kniffler",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"release": "bunx syncular-publish"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@syncular/client": "0.0.6-
|
|
47
|
+
"@syncular/client": "0.0.6-67"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"kysely": "^0.28.0",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@happy-dom/global-registrator": "^20.6.3",
|
|
55
55
|
"@syncular/config": "0.0.0",
|
|
56
|
-
"@syncular/dialect-bun-sqlite": "0.0.6-
|
|
57
|
-
"@syncular/testkit": "0.0.6-
|
|
56
|
+
"@syncular/dialect-bun-sqlite": "0.0.6-67",
|
|
57
|
+
"@syncular/testkit": "0.0.6-67",
|
|
58
58
|
"@testing-library/react": "^16.3.2",
|
|
59
59
|
"@types/react": "^19.2.14",
|
|
60
60
|
"happy-dom": "^20.6.3",
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
import { afterEach, beforeEach, describe, expect, it } from 'bun:test';
|
|
6
6
|
import {
|
|
7
|
-
ClientTableRegistry,
|
|
8
7
|
enqueueOutboxCommit,
|
|
9
8
|
type SyncClientDb,
|
|
10
9
|
SyncEngine,
|
|
@@ -377,7 +376,7 @@ describe('SyncEngine', () => {
|
|
|
377
376
|
|
|
378
377
|
it('should preserve first pull round commits when additional rounds run', async () => {
|
|
379
378
|
const handlers = createMockHandlerRegistry();
|
|
380
|
-
handlers.
|
|
379
|
+
handlers.push({
|
|
381
380
|
table: 'sync_outbox_commits',
|
|
382
381
|
applySnapshot: async () => {},
|
|
383
382
|
clearAll: async () => {},
|
|
@@ -857,15 +856,16 @@ describe('SyncEngine', () => {
|
|
|
857
856
|
async function createTestEngine(
|
|
858
857
|
args: { includeProjects?: boolean } = {}
|
|
859
858
|
): Promise<SyncEngine<TestDb>> {
|
|
860
|
-
const handlers
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
859
|
+
const handlers: SyncEngineConfig<TestDb>['handlers'] = [
|
|
860
|
+
{
|
|
861
|
+
table: 'tasks',
|
|
862
|
+
applySnapshot: async () => {},
|
|
863
|
+
clearAll: async () => {},
|
|
864
|
+
applyChange: async () => {},
|
|
865
|
+
},
|
|
866
|
+
];
|
|
867
867
|
if (args.includeProjects) {
|
|
868
|
-
handlers.
|
|
868
|
+
handlers.push({
|
|
869
869
|
table: 'projects',
|
|
870
870
|
applySnapshot: async () => {},
|
|
871
871
|
clearAll: async () => {},
|
|
@@ -1088,13 +1088,14 @@ describe('SyncEngine', () => {
|
|
|
1088
1088
|
});
|
|
1089
1089
|
const rt = createRealtimeTransport(base);
|
|
1090
1090
|
|
|
1091
|
-
const handlers =
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1091
|
+
const handlers: SyncEngineConfig<SyncClientDb>['handlers'] = [
|
|
1092
|
+
{
|
|
1093
|
+
table: 'tasks',
|
|
1094
|
+
applySnapshot: async () => {},
|
|
1095
|
+
clearAll: async () => {},
|
|
1096
|
+
applyChange: async () => {},
|
|
1097
|
+
},
|
|
1098
|
+
];
|
|
1098
1099
|
|
|
1099
1100
|
const engine = createEngine({
|
|
1100
1101
|
transport: rt,
|
|
@@ -1222,13 +1223,14 @@ describe('SyncEngine', () => {
|
|
|
1222
1223
|
});
|
|
1223
1224
|
const rt = createRealtimeTransport(base);
|
|
1224
1225
|
|
|
1225
|
-
const handlers =
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1226
|
+
const handlers: SyncEngineConfig<SyncClientDb>['handlers'] = [
|
|
1227
|
+
{
|
|
1228
|
+
table: 'tasks',
|
|
1229
|
+
applySnapshot: async () => {},
|
|
1230
|
+
clearAll: async () => {},
|
|
1231
|
+
applyChange: async () => {},
|
|
1232
|
+
},
|
|
1233
|
+
];
|
|
1232
1234
|
|
|
1233
1235
|
const engine = createEngine({
|
|
1234
1236
|
transport: rt,
|
|
@@ -1289,15 +1291,16 @@ describe('SyncEngine', () => {
|
|
|
1289
1291
|
});
|
|
1290
1292
|
const rt = createRealtimeTransport(base);
|
|
1291
1293
|
|
|
1292
|
-
const handlers =
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1294
|
+
const handlers: SyncEngineConfig<SyncClientDb>['handlers'] = [
|
|
1295
|
+
{
|
|
1296
|
+
table: 'tasks',
|
|
1297
|
+
applySnapshot: async () => {},
|
|
1298
|
+
clearAll: async () => {},
|
|
1299
|
+
applyChange: async () => {
|
|
1300
|
+
inlineApplyCount++;
|
|
1301
|
+
},
|
|
1299
1302
|
},
|
|
1300
|
-
|
|
1303
|
+
];
|
|
1301
1304
|
|
|
1302
1305
|
const engine = createEngine({
|
|
1303
1306
|
transport: rt,
|
|
@@ -1348,13 +1351,14 @@ describe('SyncEngine', () => {
|
|
|
1348
1351
|
const base = createMockTransport();
|
|
1349
1352
|
const rt = createRealtimeTransport(base);
|
|
1350
1353
|
|
|
1351
|
-
const handlers =
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1354
|
+
const handlers: SyncEngineConfig<SyncClientDb>['handlers'] = [
|
|
1355
|
+
{
|
|
1356
|
+
table: 'tasks',
|
|
1357
|
+
applySnapshot: async () => {},
|
|
1358
|
+
clearAll: async () => {},
|
|
1359
|
+
applyChange: async () => {},
|
|
1360
|
+
},
|
|
1361
|
+
];
|
|
1358
1362
|
|
|
1359
1363
|
const engine = createEngine({
|
|
1360
1364
|
transport: rt,
|
|
@@ -22,6 +22,7 @@ import { createSyncularReact } from '../index';
|
|
|
22
22
|
import {
|
|
23
23
|
createMockDb,
|
|
24
24
|
createMockHandlerRegistry,
|
|
25
|
+
createMockSync,
|
|
25
26
|
createMockTransport,
|
|
26
27
|
} from './test-utils';
|
|
27
28
|
|
|
@@ -67,16 +68,16 @@ describe('SyncProvider (StrictMode)', () => {
|
|
|
67
68
|
function renderWithProvider(node: React.ReactNode) {
|
|
68
69
|
const transport = createMockTransport();
|
|
69
70
|
const handlers = createMockHandlerRegistry();
|
|
71
|
+
const sync = createMockSync({ handlers });
|
|
70
72
|
|
|
71
73
|
return render(
|
|
72
74
|
<React.StrictMode>
|
|
73
75
|
<SyncProvider
|
|
74
76
|
db={db}
|
|
75
77
|
transport={transport}
|
|
76
|
-
|
|
77
|
-
actorId
|
|
78
|
+
sync={sync}
|
|
79
|
+
identity={{ actorId: 'test-actor' }}
|
|
78
80
|
clientId="test-client"
|
|
79
|
-
subscriptions={[]}
|
|
80
81
|
pollIntervalMs={999999}
|
|
81
82
|
>
|
|
82
83
|
{node}
|
|
@@ -21,6 +21,7 @@ import { createSyncularReact } from '../../index';
|
|
|
21
21
|
import {
|
|
22
22
|
createMockDb,
|
|
23
23
|
createMockHandlerRegistry,
|
|
24
|
+
createMockSync,
|
|
24
25
|
createMockTransport,
|
|
25
26
|
} from '../test-utils';
|
|
26
27
|
|
|
@@ -60,15 +61,15 @@ describe('useMutation', () => {
|
|
|
60
61
|
function createWrapper() {
|
|
61
62
|
const transport = createMockTransport();
|
|
62
63
|
const handlers = createMockHandlerRegistry<TestDb>();
|
|
64
|
+
const sync = createMockSync<TestDb>({ handlers });
|
|
63
65
|
|
|
64
66
|
const Wrapper = ({ children }: { children: ReactNode }) => (
|
|
65
67
|
<SyncProvider
|
|
66
68
|
db={db}
|
|
67
69
|
transport={transport}
|
|
68
|
-
|
|
69
|
-
actorId
|
|
70
|
+
sync={sync}
|
|
71
|
+
identity={{ actorId: 'test-actor' }}
|
|
70
72
|
clientId="test-client"
|
|
71
|
-
subscriptions={[]}
|
|
72
73
|
pollIntervalMs={999999}
|
|
73
74
|
autoStart={false}
|
|
74
75
|
>
|
|
@@ -14,6 +14,7 @@ import { createSyncularReact } from '../index';
|
|
|
14
14
|
import {
|
|
15
15
|
createMockDb,
|
|
16
16
|
createMockHandlerRegistry,
|
|
17
|
+
createMockSync,
|
|
17
18
|
createMockTransport,
|
|
18
19
|
} from './test-utils';
|
|
19
20
|
|
|
@@ -41,15 +42,15 @@ describe('React Hooks', () => {
|
|
|
41
42
|
function createWrapper(options?: { autoStart?: boolean }) {
|
|
42
43
|
const transport = createMockTransport();
|
|
43
44
|
const handlers = createMockHandlerRegistry();
|
|
45
|
+
const sync = createMockSync({ handlers });
|
|
44
46
|
|
|
45
47
|
const Wrapper = ({ children }: { children: ReactNode }) => (
|
|
46
48
|
<SyncProvider
|
|
47
49
|
db={db}
|
|
48
50
|
transport={transport}
|
|
49
|
-
|
|
50
|
-
actorId
|
|
51
|
+
sync={sync}
|
|
52
|
+
identity={{ actorId: 'test-actor' }}
|
|
51
53
|
clientId="test-client"
|
|
52
|
-
subscriptions={[]}
|
|
53
54
|
pollIntervalMs={999999} // Long poll interval to prevent continuous polling
|
|
54
55
|
autoStart={options?.autoStart ?? false} // Disable auto-start for tests
|
|
55
56
|
>
|
|
@@ -213,21 +214,21 @@ describe('React Hooks', () => {
|
|
|
213
214
|
it('supports watchTables invalidation on matching data:change scopes', async () => {
|
|
214
215
|
const transport = createMockTransport();
|
|
215
216
|
const handlers = createMockHandlerRegistry();
|
|
216
|
-
handlers.
|
|
217
|
+
handlers.push({
|
|
217
218
|
table: 'tasks',
|
|
218
219
|
applySnapshot: async () => {},
|
|
219
220
|
clearAll: async () => {},
|
|
220
221
|
applyChange: async () => {},
|
|
221
222
|
});
|
|
223
|
+
const sync = createMockSync({ handlers });
|
|
222
224
|
|
|
223
225
|
const Wrapper = ({ children }: { children: ReactNode }) => (
|
|
224
226
|
<SyncProvider
|
|
225
227
|
db={db}
|
|
226
228
|
transport={transport}
|
|
227
|
-
|
|
228
|
-
actorId
|
|
229
|
+
sync={sync}
|
|
230
|
+
identity={{ actorId: 'test-actor' }}
|
|
229
231
|
clientId="test-client"
|
|
230
|
-
subscriptions={[]}
|
|
231
232
|
pollIntervalMs={999999}
|
|
232
233
|
autoStart={false}
|
|
233
234
|
>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { afterEach, beforeEach, describe, expect, it } from 'bun:test';
|
|
8
8
|
import {
|
|
9
|
-
|
|
9
|
+
type ClientHandlerCollection,
|
|
10
10
|
ensureClientSyncSchema,
|
|
11
11
|
type SyncClientDb,
|
|
12
12
|
SyncEngine,
|
|
@@ -38,20 +38,20 @@ interface ClientDb extends SyncClientDb {
|
|
|
38
38
|
|
|
39
39
|
const { SyncProvider } = createSyncularReact<ClientDb>();
|
|
40
40
|
|
|
41
|
-
// Create
|
|
42
|
-
function
|
|
43
|
-
return
|
|
41
|
+
// Create mock handlers for tests
|
|
42
|
+
function createMockClientHandlers(): ClientHandlerCollection<ClientDb> {
|
|
43
|
+
return [];
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
describe('SyncProvider Reconfiguration', () => {
|
|
47
47
|
let server: TestServer;
|
|
48
48
|
let db: Kysely<ClientDb>;
|
|
49
|
-
let mockHandlers:
|
|
49
|
+
let mockHandlers: ClientHandlerCollection<ClientDb>;
|
|
50
50
|
|
|
51
51
|
beforeEach(async () => {
|
|
52
52
|
server = await createTestServer();
|
|
53
53
|
db = createBunSqliteDb<ClientDb>({ path: ':memory:' });
|
|
54
|
-
mockHandlers =
|
|
54
|
+
mockHandlers = createMockClientHandlers();
|
|
55
55
|
|
|
56
56
|
await ensureClientSyncSchema(db);
|
|
57
57
|
|
|
@@ -145,14 +145,16 @@ describe('SyncProvider Reconfiguration', () => {
|
|
|
145
145
|
const message =
|
|
146
146
|
`[SyncProvider] Critical props changed after mount: ${changedProps.join(', ')}. ` +
|
|
147
147
|
'This is not supported. Use a React key prop to force remount, e.g., ' +
|
|
148
|
-
|
|
148
|
+
"<SyncProvider key={identity.actorId + ':' + clientId} ...>";
|
|
149
149
|
|
|
150
150
|
expect(message).toContain(
|
|
151
151
|
'[SyncProvider] Critical props changed after mount'
|
|
152
152
|
);
|
|
153
153
|
expect(message).toContain('actorId');
|
|
154
154
|
expect(message).toContain('This is not supported');
|
|
155
|
-
expect(message).toContain(
|
|
155
|
+
expect(message).toContain(
|
|
156
|
+
"<SyncProvider key={identity.actorId + ':' + clientId} ...>"
|
|
157
|
+
);
|
|
156
158
|
});
|
|
157
159
|
|
|
158
160
|
it('engine config is immutable after creation', () => {
|
|
@@ -188,7 +190,7 @@ describe('SyncProvider Reconfiguration', () => {
|
|
|
188
190
|
|
|
189
191
|
describe('SyncProvider React render tests', () => {
|
|
190
192
|
let db: Kysely<ClientDb>;
|
|
191
|
-
let mockHandlers:
|
|
193
|
+
let mockHandlers: ClientHandlerCollection<ClientDb>;
|
|
192
194
|
const mockTransport = {
|
|
193
195
|
async sync() {
|
|
194
196
|
return { ok: true as const };
|
|
@@ -200,7 +202,7 @@ describe('SyncProvider React render tests', () => {
|
|
|
200
202
|
|
|
201
203
|
beforeEach(async () => {
|
|
202
204
|
db = createBunSqliteDb<ClientDb>({ path: ':memory:' });
|
|
203
|
-
mockHandlers =
|
|
205
|
+
mockHandlers = [];
|
|
204
206
|
await ensureClientSyncSchema(db);
|
|
205
207
|
});
|
|
206
208
|
|
|
@@ -211,14 +213,18 @@ describe('SyncProvider React render tests', () => {
|
|
|
211
213
|
|
|
212
214
|
it('warns when critical props change after mount', () => {
|
|
213
215
|
const child = createElement('div', null, 'Test Child');
|
|
216
|
+
const sync = {
|
|
217
|
+
handlers: mockHandlers,
|
|
218
|
+
subscriptions: () => [],
|
|
219
|
+
};
|
|
214
220
|
|
|
215
221
|
// Render with initial props
|
|
216
222
|
const { rerender } = render(
|
|
217
223
|
createElement(SyncProvider, {
|
|
218
224
|
db,
|
|
219
225
|
transport: mockTransport,
|
|
220
|
-
|
|
221
|
-
actorId: 'user-1',
|
|
226
|
+
sync,
|
|
227
|
+
identity: { actorId: 'user-1' },
|
|
222
228
|
clientId: 'client-1',
|
|
223
229
|
autoStart: false, // Disable auto-start for faster test
|
|
224
230
|
// biome-ignore lint/correctness/noChildrenProp: createElement requires children prop
|
|
@@ -232,8 +238,8 @@ describe('SyncProvider React render tests', () => {
|
|
|
232
238
|
createElement(SyncProvider, {
|
|
233
239
|
db,
|
|
234
240
|
transport: mockTransport,
|
|
235
|
-
|
|
236
|
-
actorId: 'user-2', // Changed!
|
|
241
|
+
sync,
|
|
242
|
+
identity: { actorId: 'user-2' }, // Changed!
|
|
237
243
|
clientId: 'client-1',
|
|
238
244
|
autoStart: false,
|
|
239
245
|
// biome-ignore lint/correctness/noChildrenProp: createElement requires children prop
|
|
@@ -245,12 +251,16 @@ describe('SyncProvider React render tests', () => {
|
|
|
245
251
|
|
|
246
252
|
it('does not throw when non-critical props change', () => {
|
|
247
253
|
const child = createElement('div', null, 'Test Child');
|
|
254
|
+
const sync = {
|
|
255
|
+
handlers: mockHandlers,
|
|
256
|
+
subscriptions: () => [],
|
|
257
|
+
};
|
|
248
258
|
const { rerender } = render(
|
|
249
259
|
createElement(SyncProvider, {
|
|
250
260
|
db,
|
|
251
261
|
transport: mockTransport,
|
|
252
|
-
|
|
253
|
-
actorId: 'user-1',
|
|
262
|
+
sync,
|
|
263
|
+
identity: { actorId: 'user-1' },
|
|
254
264
|
clientId: 'client-1',
|
|
255
265
|
autoStart: false,
|
|
256
266
|
pollIntervalMs: 1000,
|
|
@@ -265,8 +275,8 @@ describe('SyncProvider React render tests', () => {
|
|
|
265
275
|
createElement(SyncProvider, {
|
|
266
276
|
db,
|
|
267
277
|
transport: mockTransport,
|
|
268
|
-
|
|
269
|
-
actorId: 'user-1',
|
|
278
|
+
sync,
|
|
279
|
+
identity: { actorId: 'user-1' },
|
|
270
280
|
clientId: 'client-1',
|
|
271
281
|
autoStart: false,
|
|
272
282
|
pollIntervalMs: 5000, // Changed non-critical prop
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { afterEach, beforeEach, describe, expect, it } from 'bun:test';
|
|
8
8
|
import {
|
|
9
9
|
enqueueOutboxCommit,
|
|
10
|
+
getClientHandlerOrThrow,
|
|
10
11
|
getNextSendableOutboxCommit,
|
|
11
12
|
} from '@syncular/client';
|
|
12
13
|
|
|
@@ -109,11 +110,10 @@ describe('Push Flow', () => {
|
|
|
109
110
|
|
|
110
111
|
it('sync updates local row with server version after push', async () => {
|
|
111
112
|
// First, apply the mutation locally (this is what useMutation does)
|
|
112
|
-
const
|
|
113
|
-
const handler = handlers.get('tasks');
|
|
113
|
+
const handler = getClientHandlerOrThrow(client.handlers, 'tasks');
|
|
114
114
|
|
|
115
115
|
await client.db.transaction().execute(async (trx) => {
|
|
116
|
-
await handler
|
|
116
|
+
await handler.applyChange(
|
|
117
117
|
{ trx },
|
|
118
118
|
{
|
|
119
119
|
table: 'tasks',
|
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
|
+
ClientHandlerCollection,
|
|
7
|
+
ClientSyncConfig,
|
|
8
|
+
SyncClientDb,
|
|
6
9
|
SyncPullRequest,
|
|
7
10
|
SyncPullResponse,
|
|
8
11
|
SyncPushRequest,
|
|
9
12
|
SyncPushResponse,
|
|
10
13
|
SyncTransport,
|
|
11
14
|
} from '@syncular/client';
|
|
12
|
-
import { ClientTableRegistry, type SyncClientDb } from '@syncular/client';
|
|
13
15
|
import type { Kysely } from 'kysely';
|
|
14
16
|
|
|
15
17
|
/**
|
|
@@ -68,8 +70,25 @@ export function createMockTransport(
|
|
|
68
70
|
*/
|
|
69
71
|
export function createMockHandlerRegistry<
|
|
70
72
|
DB extends SyncClientDb = SyncClientDb,
|
|
71
|
-
>():
|
|
72
|
-
return
|
|
73
|
+
>(): ClientHandlerCollection<DB> {
|
|
74
|
+
return [];
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function createMockSync<DB extends SyncClientDb = SyncClientDb>(args?: {
|
|
78
|
+
handlers?: ClientHandlerCollection<DB>;
|
|
79
|
+
subscriptions?: Array<{
|
|
80
|
+
id: string;
|
|
81
|
+
table: string;
|
|
82
|
+
scopes?: Record<string, unknown>;
|
|
83
|
+
}>;
|
|
84
|
+
}): ClientSyncConfig<DB, { actorId: string }> {
|
|
85
|
+
const handlers = args?.handlers ?? createMockHandlerRegistry<DB>();
|
|
86
|
+
const subscriptions = args?.subscriptions ?? [];
|
|
87
|
+
|
|
88
|
+
return {
|
|
89
|
+
handlers,
|
|
90
|
+
subscriptions: () => subscriptions,
|
|
91
|
+
};
|
|
73
92
|
}
|
|
74
93
|
|
|
75
94
|
/**
|
|
@@ -11,6 +11,7 @@ import { createSyncularReact } from '../index';
|
|
|
11
11
|
import {
|
|
12
12
|
createMockDb,
|
|
13
13
|
createMockHandlerRegistry,
|
|
14
|
+
createMockSync,
|
|
14
15
|
createMockTransport,
|
|
15
16
|
} from './test-utils';
|
|
16
17
|
|
|
@@ -54,15 +55,15 @@ describe('useMutations', () => {
|
|
|
54
55
|
function createWrapper() {
|
|
55
56
|
const transport = createMockTransport();
|
|
56
57
|
const handlers = createMockHandlerRegistry<TestDb>();
|
|
58
|
+
const sync = createMockSync<TestDb>({ handlers });
|
|
57
59
|
|
|
58
60
|
const Wrapper = ({ children }: { children: ReactNode }) => (
|
|
59
61
|
<SyncProvider
|
|
60
62
|
db={db}
|
|
61
63
|
transport={transport}
|
|
62
|
-
|
|
63
|
-
actorId
|
|
64
|
+
sync={sync}
|
|
65
|
+
identity={{ actorId: 'test-actor' }}
|
|
64
66
|
clientId="test-client"
|
|
65
|
-
subscriptions={[]}
|
|
66
67
|
pollIntervalMs={999999}
|
|
67
68
|
autoStart={false}
|
|
68
69
|
>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {
|
|
12
|
-
|
|
12
|
+
ClientSyncConfig,
|
|
13
13
|
MutationReceipt,
|
|
14
14
|
MutationsApi,
|
|
15
15
|
MutationsCommitFn,
|
|
@@ -28,7 +28,6 @@ import type {
|
|
|
28
28
|
SyncRepairOptions,
|
|
29
29
|
SyncResetOptions,
|
|
30
30
|
SyncResetResult,
|
|
31
|
-
SyncSubscriptionRequest,
|
|
32
31
|
SyncTransport,
|
|
33
32
|
TransportHealth,
|
|
34
33
|
} from '@syncular/client';
|
|
@@ -99,16 +98,18 @@ export interface SyncContextValue<DB extends SyncClientDb> {
|
|
|
99
98
|
engine: SyncEngine<DB>;
|
|
100
99
|
db: Kysely<DB>;
|
|
101
100
|
transport: SyncTransport;
|
|
102
|
-
handlers:
|
|
101
|
+
handlers: ClientSyncConfig<DB, { actorId: string }>['handlers'];
|
|
103
102
|
}
|
|
104
103
|
|
|
105
|
-
export interface SyncProviderProps<
|
|
104
|
+
export interface SyncProviderProps<
|
|
105
|
+
DB extends SyncClientDb,
|
|
106
|
+
Identity extends { actorId: string },
|
|
107
|
+
> {
|
|
106
108
|
db: Kysely<DB>;
|
|
107
109
|
transport: SyncTransport;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
sync: ClientSyncConfig<DB, Identity>;
|
|
111
|
+
identity: Identity;
|
|
110
112
|
clientId?: string | null;
|
|
111
|
-
subscriptions?: Array<Omit<SyncSubscriptionRequest, 'cursor'>>;
|
|
112
113
|
limitCommits?: number;
|
|
113
114
|
limitSnapshotRows?: number;
|
|
114
115
|
maxSnapshotPages?: number;
|
|
@@ -418,16 +419,18 @@ export interface UsePresenceWithJoinResult<TMetadata = Record<string, unknown>>
|
|
|
418
419
|
isJoined: boolean;
|
|
419
420
|
}
|
|
420
421
|
|
|
421
|
-
export function createSyncularReact<
|
|
422
|
+
export function createSyncularReact<
|
|
423
|
+
DB extends SyncClientDb,
|
|
424
|
+
Identity extends { actorId: string } = { actorId: string },
|
|
425
|
+
>() {
|
|
422
426
|
const SyncContext = createContext<SyncContextValue<DB> | null>(null);
|
|
423
427
|
|
|
424
428
|
function SyncProvider({
|
|
425
429
|
db,
|
|
426
430
|
transport,
|
|
427
|
-
|
|
428
|
-
|
|
431
|
+
sync,
|
|
432
|
+
identity,
|
|
429
433
|
clientId,
|
|
430
|
-
subscriptions = [],
|
|
431
434
|
limitCommits,
|
|
432
435
|
limitSnapshotRows,
|
|
433
436
|
maxSnapshotPages,
|
|
@@ -446,15 +449,20 @@ export function createSyncularReact<DB extends SyncClientDb>() {
|
|
|
446
449
|
autoStart = true,
|
|
447
450
|
renderWhileStarting = true,
|
|
448
451
|
children,
|
|
449
|
-
}: SyncProviderProps<DB>): ReactNode {
|
|
452
|
+
}: SyncProviderProps<DB, Identity>): ReactNode {
|
|
453
|
+
const resolvedSubscriptions = useMemo(
|
|
454
|
+
() => sync.subscriptions(identity),
|
|
455
|
+
[sync, identity]
|
|
456
|
+
);
|
|
457
|
+
|
|
450
458
|
const config = useMemo<SyncEngineConfig<DB>>(
|
|
451
459
|
() => ({
|
|
452
460
|
db,
|
|
453
461
|
transport,
|
|
454
|
-
handlers,
|
|
455
|
-
actorId,
|
|
462
|
+
handlers: sync.handlers,
|
|
463
|
+
actorId: identity.actorId,
|
|
456
464
|
clientId,
|
|
457
|
-
subscriptions,
|
|
465
|
+
subscriptions: resolvedSubscriptions,
|
|
458
466
|
limitCommits,
|
|
459
467
|
limitSnapshotRows,
|
|
460
468
|
maxSnapshotPages,
|
|
@@ -474,10 +482,10 @@ export function createSyncularReact<DB extends SyncClientDb>() {
|
|
|
474
482
|
[
|
|
475
483
|
db,
|
|
476
484
|
transport,
|
|
477
|
-
|
|
478
|
-
|
|
485
|
+
sync,
|
|
486
|
+
identity,
|
|
479
487
|
clientId,
|
|
480
|
-
|
|
488
|
+
resolvedSubscriptions,
|
|
481
489
|
limitCommits,
|
|
482
490
|
limitSnapshotRows,
|
|
483
491
|
maxSnapshotPages,
|
|
@@ -499,27 +507,28 @@ export function createSyncularReact<DB extends SyncClientDb>() {
|
|
|
499
507
|
const [engine] = useState(() => new SyncEngine(config));
|
|
500
508
|
|
|
501
509
|
const [initialProps] = useState(() => ({
|
|
502
|
-
actorId,
|
|
510
|
+
actorId: identity.actorId,
|
|
503
511
|
clientId,
|
|
504
512
|
db,
|
|
505
513
|
transport,
|
|
506
|
-
|
|
514
|
+
sync,
|
|
507
515
|
}));
|
|
508
516
|
|
|
509
517
|
useEffect(() => {
|
|
510
518
|
const changedProps: string[] = [];
|
|
511
|
-
if (actorId !== initialProps.actorId)
|
|
519
|
+
if (identity.actorId !== initialProps.actorId)
|
|
520
|
+
changedProps.push('actorId');
|
|
512
521
|
if (clientId !== initialProps.clientId) changedProps.push('clientId');
|
|
513
522
|
if (db !== initialProps.db) changedProps.push('db');
|
|
514
523
|
if (transport !== initialProps.transport) changedProps.push('transport');
|
|
515
|
-
if (
|
|
524
|
+
if (sync !== initialProps.sync) changedProps.push('sync');
|
|
516
525
|
|
|
517
526
|
if (changedProps.length > 0) {
|
|
518
527
|
const message =
|
|
519
528
|
`[SyncProvider] Critical props changed after mount: ${changedProps.join(', ')}. ` +
|
|
520
529
|
'This is not supported and may cause undefined behavior. ' +
|
|
521
530
|
'Use a React key prop to force remount, e.g., ' +
|
|
522
|
-
`<SyncProvider key={userId} ...> or <SyncProvider key={actorId + ':' + clientId} ...>`;
|
|
531
|
+
`<SyncProvider key={userId} ...> or <SyncProvider key={identity.actorId + ':' + clientId} ...>`;
|
|
523
532
|
|
|
524
533
|
console.error(message);
|
|
525
534
|
if (process.env.NODE_ENV === 'development') {
|
|
@@ -529,7 +538,7 @@ export function createSyncularReact<DB extends SyncClientDb>() {
|
|
|
529
538
|
);
|
|
530
539
|
}
|
|
531
540
|
}
|
|
532
|
-
}, [
|
|
541
|
+
}, [identity, clientId, db, transport, sync, initialProps]);
|
|
533
542
|
|
|
534
543
|
const [isReady, setIsReady] = useState(false);
|
|
535
544
|
|
|
@@ -561,19 +570,19 @@ export function createSyncularReact<DB extends SyncClientDb>() {
|
|
|
561
570
|
}, [engine, autoStart]);
|
|
562
571
|
|
|
563
572
|
useEffect(() => {
|
|
564
|
-
if (isReady &&
|
|
565
|
-
engine.updateSubscriptions(
|
|
573
|
+
if (isReady && resolvedSubscriptions.length > 0) {
|
|
574
|
+
engine.updateSubscriptions(resolvedSubscriptions);
|
|
566
575
|
}
|
|
567
|
-
}, [engine, isReady,
|
|
576
|
+
}, [engine, isReady, resolvedSubscriptions]);
|
|
568
577
|
|
|
569
578
|
const value = useMemo<SyncContextValue<DB>>(
|
|
570
579
|
() => ({
|
|
571
580
|
engine,
|
|
572
581
|
db,
|
|
573
582
|
transport,
|
|
574
|
-
handlers,
|
|
583
|
+
handlers: sync.handlers,
|
|
575
584
|
}),
|
|
576
|
-
[engine, db, transport,
|
|
585
|
+
[engine, db, transport, sync]
|
|
577
586
|
);
|
|
578
587
|
|
|
579
588
|
if (!isReady && renderWhileStarting === false) {
|