-
Notifications
You must be signed in to change notification settings - Fork 4.1k
fix(firestore, web): stop cleaning up snapshot listeners in debug #13119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
firestore = FirebaseFirestore.instance; | ||
collection = firestore | ||
.collection('flutter-tests/web-snapshot-listeners/query-tests'); | ||
document = collection.doc('doc1'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good it you can add a test with 2 ref on the same doc (since that was the original issue):
documentRef1 = collection.doc('doc1');
documentRef2 = collection.doc('doc1');
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done 👍
@@ -101,7 +101,7 @@ class Firestore extends JsObjectWrapper<firestore_interop.FirestoreJsImpl> { | |||
} | |||
|
|||
// purely for debug mode and tracking listeners to clean up on "hot restart" | |||
final Map<String, int> _snapshotInSyncListeners = {}; | |||
static final Map<String, int> _snapshotInSyncListeners = {}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah! static is the solution!
Is there other places where this fix could be implemented? |
@Lyokone - I think so, I'll have to double check as the issue was the map was being recreated for each query. I'll create PRs for others if needed 👍 |
Description
Replace this paragraph with a description of what this PR is doing. If you're modifying existing behavior, describe the existing behavior, how this PR is changing it, and what motivated the change.
Related Issues
fixes #13019
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]
).This will ensure a smooth and quick review process. Updating the
pubspec.yaml
and changelogs is not required.///
).melos run analyze
) does not report any problems on my PR.Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?