Draft: Initial attempt at naive debounce for login api #7
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.
Update
maybeLogin
to check last login time and perform exponential backoff, up to 5 minutes. Debounce will reset back to 1s after 12 hours has passed, to prevent users from being stuck with a 5 minute polling interval in the case of a login.In the event a user's password/api key do expire or are changed naturally, then during the config update the bridge/homebridge will be prompted to restart, resetting the debounce and allowing them to login promptly.
Should ameliorate issues in #6
Update example to have parameters provided via env var.
Added .env.sample
Update sleep function to have correctly named parameter
Example can be run via
node --env-file=.env example
Example run with
loginCheck(4)
and persisted token temporarily disabled.