-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
Description
Description
For a chat application I am doing a double query, I have a listener for new messages, and a paginated query for old messages.
I just discovered that my listener is impacted by the queries I do on that same path, which I believe shouldn't be the case
Reproducing the issue
final database = FirebaseDatabase.instance;
final path = '/test_path';
String? randomKey;
for (var i = 0; i < 10; i++) {
final ref = database.ref(path).push();
if (i == 5) {
randomKey = ref.key;
}
await ref.set('test $i');
}
final ref = database.ref(path);
var hasQueried = false;
ref.orderByKey().startAt(randomKey).onValue.listen((event) {
print('listener ${event.snapshot.children.length}');
if (!hasQueried) {
hasQueried = true;
ref.orderByKey().limitToLast(3).endBefore(randomKey).get().then((data) {
print('obtained previous messages ${data.children.length}');
});
}
});Firebase SDK Version
11.2
Xcode Version
16.1
Installation Method
CocoaPods
Firebase Product(s)
Database
Targeted Platforms
iOS
Relevant Log Output
listener 5
obtained previous messages 3
listener 0If using Swift Package Manager, the project's Package.resolved
Expand Package.resolved snippet
Replace this line with the contents of your Package.resolved.
If using CocoaPods, the project's Podfile.lock
Expand Podfile.lock snippet
Replace this line with the contents of your Podfile.lock!
Greismorr