Check session state in registered check to avoid using transferred servers more #5037
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.
Summary
#4650, #4975
This PR updates
serverManager::isRegistered()
which is used in many places as a general "does the app have a server" check, to also check that the server session is good to use (which internally checks the webhook/install ID existing and being valid).The install ID is random and excluded from backups and transfers to avoid using the same registration/tokens on another device, which can resolve the issues if used at the correct time. However, it was only checked when launching the app, and any other entrypoints simply continued as if you had a server configured. With this change, many more features including sensor updates will return instead of re-using a (duplicate) registration.
Screenshots
n/a
Link to pull request in Documentation repository
n/a
Any other notes