File tree Expand file tree Collapse file tree 3 files changed +32
-1
lines changed
common/src/client/sync/stream Expand file tree Collapse file tree 3 files changed +32
-1
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ ' @powersync/common ' : patch
3+ ' @powersync/node ' : patch
4+ ' @powersync/web ' : patch
5+ ' @powersync/react-native ' : patch
6+ ---
7+
8+ Rust sync client: Fix reported ` lastSyncedAt ` values in sync status.
Original file line number Diff line number Diff line change @@ -934,7 +934,7 @@ The next upload iteration will be delayed.`);
934934 return {
935935 priority : status . priority ,
936936 hasSynced : status . has_synced ?? undefined ,
937- lastSyncedAt : status ?. last_synced_at != null ? new Date ( status ! . last_synced_at ! ) : undefined
937+ lastSyncedAt : status ?. last_synced_at != null ? new Date ( status ! . last_synced_at ! * 1000 ) : undefined
938938 } ;
939939 }
940940
Original file line number Diff line number Diff line change @@ -112,6 +112,29 @@ function defineSyncTests(impl: SyncClientImplementation) {
112112 connectionMethod : SyncStreamConnectionMethod . HTTP
113113 } ;
114114
115+ mockSyncServiceTest ( 'sets last sync time' , async ( { syncService } ) => {
116+ const db = await syncService . createDatabase ( ) ;
117+ db . connect ( new TestConnector ( ) , options ) ;
118+ await vi . waitFor ( ( ) => expect ( syncService . connectedListeners ) . toHaveLength ( 1 ) ) ;
119+
120+ syncService . pushLine ( {
121+ checkpoint : {
122+ last_op_id : '0' ,
123+ buckets : [ ]
124+ }
125+ } ) ;
126+ syncService . pushLine ( { checkpoint_complete : { last_op_id : '0' } } ) ;
127+ const now = Date . now ( ) ;
128+
129+ await db . waitForFirstSync ( ) ;
130+ const status = db . currentStatus ;
131+ const lastSyncedAt = status . lastSyncedAt ! . getTime ( ) ;
132+
133+ // The reported time of the last sync should be close to the current time (5s is very generous already, but we've
134+ // had an issue where dates weren't parsed correctly and we were off by decades).
135+ expect ( Math . abs ( lastSyncedAt - now ) ) . toBeLessThan ( 5000 ) ;
136+ } ) ;
137+
115138 describe ( 'reports progress' , ( ) => {
116139 let lastOpId = 0 ;
117140
You can’t perform that action at this time.
0 commit comments