[Fix] Reset hasSynced #139
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
The
hasSycnedstatus would be retained after calls todisconnectAndClearhave been made.Steps to reproduce the issue:
The previous
hasSynced: truewould cause the check to immediately pass before syncing had completed on the second round.This PR clears the
hasSyncedstatus when disconnecting and clearing. The PowerSync client typically checks the setting in theinitializemethod which won't be called again, but the status will be updated on the next full sync whenlastSyncedAthas been set.Testing
This was tested on MacOS by syncing locally then logging out. The local PowerSync service was then stopped to delay the syncing process. The next login should show the loading message until a sync has occurred.
The first test is without the fix, the second test contains the fix.
fix_has_synced.mp4
On web it was observed that a large queue of sync status updates were present after
disconnectAndClearthis was due to thecrudLoopnot ending when theStreamingSyncImplementationwas aborted. A break for uploads was added.This only shows the fix present.
web_hassynced.mp4