TF-3739 Fix error when uploading several attachments on android #3751
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.
Issue
Cannot upload multiple attachment when token expired.
PlatformException(token_failed, Concurrent operations detected: token, token, null, null)
Root cause
The application uses
Dio
withAuthorizationInterceptor
to automatically attach access tokens toHTTP requests
. When the token expires, the interceptor will refresh the token to get a new token. However, when multiple uploads (multi-file) run in parallel, or uploads run in separate isolates, requests with401
errors will simultaneously trigger token refresh, leading to multiple calls to therefreshingTokensOIDC(...)
function at the same time. This causes internal errors from the platform channel because it does not support simultaneous operationsSolution
Async, await
to replace forisolate
when upload attachmentResolved
demo-android.online-video-cutter.com.mp4