diff --git a/crates/core/src/sync/streaming_sync.rs b/crates/core/src/sync/streaming_sync.rs index 36409e9..0c300f6 100644 --- a/crates/core/src/sync/streaming_sync.rs +++ b/crates/core/src/sync/streaming_sync.rs @@ -563,6 +563,8 @@ impl StreamingSyncIteration { continue; } SyncEvent::StreamEnded => { + self.status + .update(|s| s.disconnect(), &mut event.instructions); break false; } SyncEvent::DidRefreshToken => { diff --git a/dart/test/sync_test.dart b/dart/test/sync_test.dart index 92181bf..cbe8ae9 100644 --- a/dart/test/sync_test.dart +++ b/dart/test/sync_test.dart @@ -207,6 +207,11 @@ void _syncTests({ containsPair('status', containsPair('connected', true))) ]); expect(invokeControl('connection', 'end'), [ + { + 'UpdateSyncStatus': { + 'status': containsPair('connected', false), + } + }, { 'CloseSyncStream': {'hide_disconnect': false} }