typescript-client icon indicating copy to clipboard operation
typescript-client copied to clipboard

Fix token refresh on unstable connections

Open dirkkul opened this issue 2 years ago • 0 comments

On unstable connections, the token refresh can sometimes fail which can results in unauthenticated clients.

To be able to handle these situations, the client should:

  • set a default timeout for auth connections. We used 5s in the python client, this should be plenty
  • make sure that the refresh happens early enough to still be authenticated if it fails. In the python client we refresh 30s before the authentication expires.
  • catch exceptions about timeouts and immediately retry. Note that I saw timeouts and Connection errors (not sure about the names for them here)

With this we should be able to have 3-4 retries. If this is not enough, the connection is too bad.

Python PR with the changes and a test

dirkkul avatar Mar 13 '23 11:03 dirkkul