Describe the bug
shouldRefresh returns false but onRefresh is executed anyway.
To Reproduce
This is th code I'm using
DioRefreshInterceptor(
tokenManager: tokenManager,
authHeader: (tokenStore) {
if (tokenStore.accessToken == null) {
return {};
}
return {'Authorization': 'Bearer ${tokenStore.accessToken}'};
},
shouldRefresh: (response) {
talker.log(response?.statusCode);
talker.log(response?.statusCode == 401 || response?.statusCode == 403);
return response?.statusCode == 401 || response?.statusCode == 403;
},
onRefresh: (dio, tokenStore) async {
talker.log('try refresh');
final response = await dio.post(
'${F.apiUrl}/api/auth/refresh',
data: {'refreshToken': tokenStore.refreshToken},
options: Options(headers: {'Authorization': null}),
);
secureStorage.write(
key: 'refreshToken',
value: response.data['refreshToken'],
);
return TokenStore(
accessToken: response.data['jwt'],
refreshToken: response.data['refreshToken'],
);
},
onRefreshFailedCallback: (error) {
// Handle refresh failure side effects, such as clearing session state.
talker.error('Token refresh failed: $error');
},
retryInterceptors: [
TalkerDioLogger(
talker: talker,
settings: const TalkerDioLoggerSettings(
printResponseData: false,
printRequestHeaders: false,
printResponseHeaders: false,
printErrorHeaders: false,
),
),
],
),
On my specific case, talker.log(response?.statusCode) logs 400
So as expected talker.log(response?.statusCode == 401 || response?.statusCode == 403) logs false
But talker.log('try refresh') is still logged.
Expected behavior
onRefresh is not called
Smartphone (please complete the following information):
- Device: Pixel 10 Pro XL
- OS: Android 17
flutter doctor -v output
Details
[√] Flutter (Channel stable, 3.47.1, on Microsoft Windows [version 10.0.26200.9168], locale fr-FR) [198ms]
• Flutter version 3.47.1 on channel stable at C:\Tools\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 6655482ec0 (9 days ago), 2026-08-19 10:07:23 -0700
• Engine revision 5d53178869
• Dart version 3.13.1
• DevTools version 2.60.0
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations, enable-native-assets, enable-record-use, enable-swift-package-manager, omit-legacy-version-file,
enable-lldb-debugging, enable-uiscene-migration
[√] Windows Version (Windows 11 or higher, 25H2, 2009) [847ms]
[√] Android toolchain - develop for Android devices (Android SDK version 37.0.0) [2,3s]
• Android SDK at C:\Users\Alexandre\AppData\Local\Android\sdk
• Emulator version 36.6.11.0 (build_id 15507667) (CL:N/A)
• Platform android-37.0, build-tools 37.0.0
• Java binary at: C:\Program Files\Java\jdk-21.0.11\bin\java
This JDK is specified in your Flutter configuration.
To change the current JDK, run: flutter config --jdk-dir="path/to/jdk".
• Java version Java(TM) SE Runtime Environment (build 21.0.11+9-LTS-211)
• All Android licenses accepted.
[√] Chrome - develop for the web [10ms]
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[X] Visual Studio - develop Windows apps [9ms]
X Visual Studio not installed; this is necessary to develop Windows apps.
Download at https://visualstudio.microsoft.com/downloads/.
Please install the "Desktop development with C++" workload, including all of its default components
[√] Connected device (4 available) [375ms]
• sdk gphone16k x86 64 (mobile) • emulator-5554 • android-x64 • Android 17 (API 37) (emulator)
• Windows (desktop) • windows • windows-x64 • Microsoft Windows [version 10.0.26200.9168]
• Chrome (web) • chrome • web-javascript • Google Chrome 151.0.7922.170
• Edge (web) • edge • web-javascript • Microsoft Edge 151.0.4129.107
[√] Network resources [373ms]
• All expected network resources are available.
! Doctor found issues in 1 category.
Additional context
Add any other context about the problem here.
Describe the bug
shouldRefreshreturnsfalsebutonRefreshis executed anyway.To Reproduce
This is th code I'm using
On my specific case,
talker.log(response?.statusCode)logs400So as expected
talker.log(response?.statusCode == 401 || response?.statusCode == 403)logsfalseBut
talker.log('try refresh')is still logged.Expected behavior
onRefreshis not calledSmartphone (please complete the following information):
flutter doctor -v output
Details
[√] Flutter (Channel stable, 3.47.1, on Microsoft Windows [version 10.0.26200.9168], locale fr-FR) [198ms] • Flutter version 3.47.1 on channel stable at C:\Tools\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 6655482ec0 (9 days ago), 2026-08-19 10:07:23 -0700 • Engine revision 5d53178869 • Dart version 3.13.1 • DevTools version 2.60.0 • Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations, enable-native-assets, enable-record-use, enable-swift-package-manager, omit-legacy-version-file, enable-lldb-debugging, enable-uiscene-migration[√] Windows Version (Windows 11 or higher, 25H2, 2009) [847ms]
[√] Android toolchain - develop for Android devices (Android SDK version 37.0.0) [2,3s]
• Android SDK at C:\Users\Alexandre\AppData\Local\Android\sdk
• Emulator version 36.6.11.0 (build_id 15507667) (CL:N/A)
• Platform android-37.0, build-tools 37.0.0
• Java binary at: C:\Program Files\Java\jdk-21.0.11\bin\java
This JDK is specified in your Flutter configuration.
To change the current JDK, run:
flutter config --jdk-dir="path/to/jdk".• Java version Java(TM) SE Runtime Environment (build 21.0.11+9-LTS-211)
• All Android licenses accepted.
[√] Chrome - develop for the web [10ms]
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[X] Visual Studio - develop Windows apps [9ms]
X Visual Studio not installed; this is necessary to develop Windows apps.
Download at https://visualstudio.microsoft.com/downloads/.
Please install the "Desktop development with C++" workload, including all of its default components
[√] Connected device (4 available) [375ms]
• sdk gphone16k x86 64 (mobile) • emulator-5554 • android-x64 • Android 17 (API 37) (emulator)
• Windows (desktop) • windows • windows-x64 • Microsoft Windows [version 10.0.26200.9168]
• Chrome (web) • chrome • web-javascript • Google Chrome 151.0.7922.170
• Edge (web) • edge • web-javascript • Microsoft Edge 151.0.4129.107
[√] Network resources [373ms]
• All expected network resources are available.
! Doctor found issues in 1 category.
Additional context
Add any other context about the problem here.