From 670b963bb5521dec14a42ffbdf3efef530cef25a Mon Sep 17 00:00:00 2001 From: Sammy Nave Date: Fri, 5 Jan 2024 16:56:13 -0500 Subject: [PATCH] try this on render --- .../websockets/features/offline/sync.ts | 6 ++++++ src/routes/app/offline-first/sync-db-store.ts | 20 +++++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/lib/server/websockets/features/offline/sync.ts b/src/lib/server/websockets/features/offline/sync.ts index 98b6b17..34aa7f4 100644 --- a/src/lib/server/websockets/features/offline/sync.ts +++ b/src/lib/server/websockets/features/offline/sync.ts @@ -109,6 +109,12 @@ export class Sync { this.redisClient.publish(this.stream, data); } + + if (parsed.type === 'connected') { + console.log('connected', parsed); + this.pull(parsed.clientSiteId); + this.push(parsed.clientSiteId); + } } private merge(changes) { diff --git a/src/routes/app/offline-first/sync-db-store.ts b/src/routes/app/offline-first/sync-db-store.ts index 6694d63..292f24b 100644 --- a/src/routes/app/offline-first/sync-db-store.ts +++ b/src/routes/app/offline-first/sync-db-store.ts @@ -110,14 +110,18 @@ export function db({ databasePromise, wsPromise, serverSiteId, name }) { databasePromise.then(async (database) => { const ws = await wsPromise; globalThis.addEventListener('online', async (event) => { - const result = await database.lastTrackedChangeFor(serverSiteId, 1); - const trackedVersion = result?.[0]?.[0] ?? 0; - await pushChangesSince({ - database, - ws, - sinceVersion: trackedVersion, - serverSiteId - }); + // Request update + ws.send(JSON.stringify({ type: 'connected', siteId: database.siteId })); + + // // Send update + // const result = await database.lastTrackedChangeFor(serverSiteId, 1); + // const trackedVersion = result?.[0]?.[0] ?? 0; + // await pushChangesSince({ + // database, + // ws, + // sinceVersion: trackedVersion, + // serverSiteId + // }); }); });