Skip to content
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

'ready' callback fires prematurely when updateCriteria() is called again before its previous invocation has been completed #194

Open
crocodile opened this issue Apr 19, 2020 · 0 comments

Comments

@crocodile
Copy link

crocodile commented Apr 19, 2020

Prerequisites:
Test with no network connectivity

Steps:
1.) Start a location update for a specific location
2.) Follow up with an update criteria call. (This has to happen before step 1, hence the no network connectivity scenario being simulated)

Note that in my case, there are ~30 geofire keys to be returned when there is network connectivity.

Actual:
A 'ready' event is falsely fired for the second call, even though the db was not queried yet. The code is ignoring the current queries ongoing for the second call, and thinks that there are no outstanding queries when the second call is invoked because of this line that I replaced:
this._outstandingGeohashReadyEvents = geohashesToQuery.slice();

Expected: (After this change)
The 'ready' event is only fired when all existing queries have been returned.

See my fix:
https://github.com/crocodile/geofire-js/blob/829bc49c04800b09df198cb81be03e11405caaef/src/GeoQuery.ts#L406-L411

@crocodile crocodile changed the title 'ready' callback fires prematurely when updateCriteria() is called again before it's previous invocation has been completed 'ready' callback fires prematurely when updateCriteria() is called again before its previous invocation has been completed Apr 19, 2020
@puf puf added the type: bug label Feb 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants