Fixed onDisconnect logic to use deviceId #1010
Draft
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.
The example originally used
uid
documents to determine whether a user is online or not. This is not best practice because you may have an onDisconnect that sets the user as offline, and if the same user open two different tabs, close one tab, and the user would show up as offline, even though one tab is still open.This PR adds a
devices
collection and then adds a new document that represents the device's ID, and onDisconnect, will set the device's status to offline. The coThe function will check that change and remove the device from the Firestore user's devices collection and check if there are no devices in the collection. If that is the case, then the user itself will be removed from the user collection.The client will then check Firestore for how many users are in the users collection.