From ae57b37944b9f06b4a365e1d5ffe21158978f8cf Mon Sep 17 00:00:00 2001 From: Batixx Date: Tue, 10 Mar 2026 14:50:15 +0100 Subject: [PATCH 1/4] auto sync --- packages/viewer/src/context.ts | 5 ++++- packages/viewer/src/stores/index.ts | 8 +++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/viewer/src/context.ts b/packages/viewer/src/context.ts index 5ad3a726..38824868 100644 --- a/packages/viewer/src/context.ts +++ b/packages/viewer/src/context.ts @@ -66,7 +66,10 @@ export function initialize({ db.subscribe(project(store)) - if (!pre.sync) { + if ( + !pre.sync || + new Date(pre.sync.at).getTime() < Date.now() - 30 * 24 * 60 * 60 * 1000 + ) { store.sync.sync() } diff --git a/packages/viewer/src/stores/index.ts b/packages/viewer/src/stores/index.ts index 2fb5c2a1..af925ecf 100644 --- a/packages/viewer/src/stores/index.ts +++ b/packages/viewer/src/stores/index.ts @@ -42,6 +42,12 @@ export type Store = { deduction: Deduction.Store } +const ONE_MONTH_MS = 30 * 24 * 60 * 60 * 1000 + +function isStale(sync: Sync.State): boolean { + return new Date(sync.at).getTime() < Date.now() - ONE_MONTH_MS +} + export function create(pre: Prestore, gateway: Gateway.Sync): Store { const spaces = writable(Collection.empty()) const properties = writable(Collection.empty()) @@ -94,7 +100,7 @@ export function create(pre: Prestore, gateway: Gateway.Sync): Store { set(pre.properties, pre.spaces, pre.theorems, pre.traits) - if (!pre.sync) { + if (!pre.sync || isStale(pre.sync)) { sync.sync() } From 28526a99677371395f077d80f80b037e439443bf Mon Sep 17 00:00:00 2001 From: Batixx Date: Tue, 10 Mar 2026 14:54:24 +0100 Subject: [PATCH 2/4] inline one month --- packages/viewer/src/stores/index.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/viewer/src/stores/index.ts b/packages/viewer/src/stores/index.ts index af925ecf..66c09cc1 100644 --- a/packages/viewer/src/stores/index.ts +++ b/packages/viewer/src/stores/index.ts @@ -42,10 +42,8 @@ export type Store = { deduction: Deduction.Store } -const ONE_MONTH_MS = 30 * 24 * 60 * 60 * 1000 - function isStale(sync: Sync.State): boolean { - return new Date(sync.at).getTime() < Date.now() - ONE_MONTH_MS + return new Date(sync.at).getTime() < Date.now() - 30 * 24 * 60 * 60 * 1000 } export function create(pre: Prestore, gateway: Gateway.Sync): Store { From 85eaeb1876da540bdb1e3adbf637a7c345a44691 Mon Sep 17 00:00:00 2001 From: Batixx Date: Tue, 10 Mar 2026 15:00:18 +0100 Subject: [PATCH 3/4] inline isstale --- packages/viewer/src/stores/index.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/viewer/src/stores/index.ts b/packages/viewer/src/stores/index.ts index 66c09cc1..b7a36972 100644 --- a/packages/viewer/src/stores/index.ts +++ b/packages/viewer/src/stores/index.ts @@ -42,10 +42,6 @@ export type Store = { deduction: Deduction.Store } -function isStale(sync: Sync.State): boolean { - return new Date(sync.at).getTime() < Date.now() - 30 * 24 * 60 * 60 * 1000 -} - export function create(pre: Prestore, gateway: Gateway.Sync): Store { const spaces = writable(Collection.empty()) const properties = writable(Collection.empty()) @@ -98,7 +94,10 @@ export function create(pre: Prestore, gateway: Gateway.Sync): Store { set(pre.properties, pre.spaces, pre.theorems, pre.traits) - if (!pre.sync || isStale(pre.sync)) { + if ( + !pre.sync || + new Date(pre.sync.at).getTime() < Date.now() - 30 * 24 * 60 * 60 * 1000 + ) { sync.sync() } From f49cbd3ef8e1ba2a0aa23e8a9e0454bcf36f43e4 Mon Sep 17 00:00:00 2001 From: Steven Clontz Date: Tue, 10 Mar 2026 11:16:22 -0500 Subject: [PATCH 4/4] Apply suggestions from code review --- packages/viewer/src/context.ts | 2 +- packages/viewer/src/stores/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/viewer/src/context.ts b/packages/viewer/src/context.ts index 38824868..4b641317 100644 --- a/packages/viewer/src/context.ts +++ b/packages/viewer/src/context.ts @@ -68,7 +68,7 @@ export function initialize({ if ( !pre.sync || - new Date(pre.sync.at).getTime() < Date.now() - 30 * 24 * 60 * 60 * 1000 + new Date(pre.sync.at).getTime() < Date.now() - 7 * 24 * 60 * 60 * 1000 ) { store.sync.sync() } diff --git a/packages/viewer/src/stores/index.ts b/packages/viewer/src/stores/index.ts index b7a36972..f4a8236d 100644 --- a/packages/viewer/src/stores/index.ts +++ b/packages/viewer/src/stores/index.ts @@ -96,7 +96,7 @@ export function create(pre: Prestore, gateway: Gateway.Sync): Store { if ( !pre.sync || - new Date(pre.sync.at).getTime() < Date.now() - 30 * 24 * 60 * 60 * 1000 + new Date(pre.sync.at).getTime() < Date.now() - 7 * 24 * 60 * 60 * 1000 ) { sync.sync() }