build(deps): bump flutter pin to 3.44.9 and upgrade dependencies
The pubspec pinned Flutter 3.44.5 while the toolchain had moved to
3.44.9, so `flutter pub upgrade` failed version solving outright and no
dependency had been upgradable for a while. Bumping the pin unblocks
resolution (CI reads the same field via flutter-version-file).
Notable bumps: dio 5.9.2 -> 5.11.0, firebase_core 4.10 -> 4.13 (plus
crashlytics/analytics/performance), app_links 7.2.1, flutter_markdown_plus
1.0.12, intl, path_provider, webview_flutter, flutter_cache_manager.
dio 5.11 adds DioExceptionType.transformTimeout, which broke the
exhaustive switch in BaseApiClient._handleError. Grouped it with the
other timeout types and covered all four mappings with tests, which
were previously untested.
Raised the json_annotation floor to ^4.12.0 to silence a
json_serializable build warning; the resolved version was already 4.12.0.
flutter_secure_storage stays on v9 deliberately. v10.0.0 shipped in 5.0.0
and was reverted in 5.0.1 (ba28e09) while chasing the #484 startup freeze
on low-end Android 14, and upstream #1084 (unrecoverable NPE in
initialize() on Android 13) is still open. v9 pins win32 ^5, so
device_info_plus, package_info_plus and wakelock_plus are held at their
current majors too - their only breaking change was a win32 6.0.0 bump
that affects Windows only.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
a21cf192eb
commit
40733756ab
4 changed files with 148 additions and 94 deletions
|
|
@ -331,6 +331,41 @@ void main() {
|
|||
),
|
||||
);
|
||||
});
|
||||
|
||||
const timeoutCases = {
|
||||
DioExceptionType.connectionTimeout: 'Connection timeout',
|
||||
DioExceptionType.sendTimeout: 'Upload timeout',
|
||||
DioExceptionType.receiveTimeout: 'Server response timeout',
|
||||
DioExceptionType.transformTimeout: 'Response processing timeout',
|
||||
};
|
||||
|
||||
timeoutCases.forEach((type, expectedMessage) {
|
||||
test('${type.name} throws TimeoutException', () async {
|
||||
final path = '/${type.name}';
|
||||
|
||||
dioAdapter.onGet(
|
||||
'https://api.test.com$path',
|
||||
(server) => server.throws(
|
||||
0,
|
||||
DioException(
|
||||
requestOptions: RequestOptions(path: path),
|
||||
type: type,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(
|
||||
() => client.testGet(path),
|
||||
throwsA(
|
||||
isA<TimeoutException>().having(
|
||||
(e) => e.message,
|
||||
'message',
|
||||
contains(expectedMessage),
|
||||
),
|
||||
),
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
group('successful get()', () {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue