isRetryable has false-positives

Aperta
#847 1 commento 2 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@utkrishtsahu ci sta già lavorando.

Dal 28/5/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

Checklist
Description

In the app we have implemented a check for isRetryable, however users report more often logouts.

A few examples of false positives in production:

iOS
AuthenticationCredentialsTokenRenewFailedException, code: RENEW_FAILED canRetry: false message: The credentials renewal failed. CAUSE: Unable to complete the operation. CAUSE: Error Domain=NSURLErrorDomain Code=-1200. (we've noticed different code value, 1001-1005, 1009 and so on)

Android
AuthenticationCredentialsUnknownException, code: An error occurred while processing the request. canRetry: false message: An error occurred while processing the request. details: {_isRetryable: false, cause: e5.b: Something went wrong, causeStackTrace: e5.b: Something went wrong at e5.a$a$a.d(Unknown Source:55) at e5.a$a$a.b(Unknown Source:0) at com.auth0.android.request.internal.e.e(Unknown Source:176) at f5.q.s(Unknown Source:291) at f5.q.k(Unknown Source:0) at f5.n.run(Unknown Source:14) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:[1154-1156]) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:[651-652]) at java.lang.Thread.run(Thread.java:[1119-1564]) Caused by: d5.b: Something went wrong at e5.a$a$a.d(Unknown Source:52) ... 8 more Caused by: javax.net.ssl.SSLHandshakeException:

Reproduction
  1. Put the phone under bad network conditions (VPN that blocks server)
  2. Try to refresh the token

Expected: isRetryable is true
Actual: isRetryable is false

Additional context

During inspection I've noticed that isRetryable fields falls back to false if not found in the details.
If we can't guarantee correctness of the data from the platform, it's probably wise to make the field nullable

auth0_flutter version

2.1.0

Flutter version

3.44.0

Platform

Android, iOS

Platform version(s)

No response

Lingua principale
Dart
Stelle
86
Fork
62
Merge medio
9h 58m
PR unite (30g)
22

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di auth0/auth0-flutter

Tutte le issue di auth0/auth0-flutter

Issue simili

Altre issue su Dart

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.