Skip to content

Commit c00cc80

Browse files
committed
chore(deps): bump to Flutter 3.32.0
1 parent 26e2cfe commit c00cc80

File tree

8 files changed

+205
-181
lines changed

8 files changed

+205
-181
lines changed

.github/workflows/ci.yaml

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,9 @@ permissions:
2424
jobs:
2525
setup:
2626
name: Setup
27-
needs: []
2827
timeout-minutes: 5
2928
runs-on: ubuntu-latest
3029

31-
strategy:
32-
fail-fast: false
33-
3430
steps:
3531
- name: 📚 Git checkout
3632
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -268,9 +264,9 @@ jobs:
268264
continue-on-error: true
269265
- name: 📊 Upload code coverage
270266
if: ${{ !cancelled() }}
271-
uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0
267+
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
272268
with:
273-
token: ${{ secrets.CODECOV_TOKEN }}
269+
use_oidc: true
274270
files: packages/app/coverage/lcov.info
275271
fail_ci_if_error: true
276272
verbose: true
@@ -299,6 +295,8 @@ jobs:
299295
cache: true
300296
- name: 🌐 Disable analytics
301297
run: flutter --disable-analytics
298+
- name: 📦 Install dependencies
299+
run: dart pub get --enforce-lockfile
302300
- name: ✨ Verify formatting
303301
run: dart format . --output=none --set-exit-if-changed
304302

@@ -344,7 +342,6 @@ jobs:
344342
345343
spell-check:
346344
name: Check Spelling
347-
needs: []
348345
runs-on: ubuntu-latest
349346

350347
steps:
@@ -370,7 +367,6 @@ jobs:
370367

371368
link-check:
372369
name: Check Links
373-
needs: []
374370
timeout-minutes: 2
375371
runs-on: ubuntu-latest
376372

@@ -384,7 +380,6 @@ jobs:
384380

385381
markdownlint:
386382
name: Lint Markdown
387-
needs: []
388383
timeout-minutes: 4
389384
runs-on: ubuntu-latest
390385

@@ -405,3 +400,26 @@ jobs:
405400
# Surprisingly, the default is to only lint the project root.
406401
globs: |
407402
**/*.md
403+
404+
zizmor:
405+
name: Run zizmor
406+
timeout-minutes: 1
407+
runs-on: ubuntu-latest
408+
409+
permissions:
410+
contents: read
411+
security-events: write
412+
actions: read
413+
414+
steps:
415+
- name: 📚 Git Checkout
416+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
417+
with:
418+
submodules: recursive
419+
clean: true
420+
persist-credentials: false
421+
set-safe-directory: true
422+
- name: 🌈 Run zizmor
423+
uses: zizmorcore/zizmor-action@2520132f44b3ed84916048d32e5c7153fc739fe7 # v0.0.3
424+
env:
425+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

packages/_analysis_options/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ issue_tracker: https://github.com/PHS-TSA/nexus/issues
77
repository: https://github.com/PHS-TSA/nexus.git
88

99
environment:
10-
sdk: ^3.7.0
10+
sdk: ^3.8.0
1111
resolution: workspace
1212

1313
dependencies:
14-
very_good_analysis: ^7.0.0
14+
very_good_analysis: ^8.0.0-rc.1

packages/app/lib/src/features/home/presentation/home/feed.dart

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -89,21 +89,20 @@ class Feed extends ConsumerWidget {
8989
),
9090
),
9191

92-
AsyncValue(:final value, hasValue: true) when value != null =>
93-
GestureDetector(
94-
onTap: () async {
95-
await context.router.push(PostViewRoute(id: value.id.id));
96-
},
97-
child: Card(
98-
margin: const EdgeInsets.all(4),
99-
child: ProviderScope(
100-
overrides: [
101-
currentPostProvider.overrideWithValue(value),
102-
],
103-
child: Post(key: ValueKey(value)),
104-
),
92+
// Intentional, we don’t want to match null.
93+
// ignore: async_value_nullable_pattern
94+
AsyncValue(:final value?, hasValue: true) => GestureDetector(
95+
onTap: () async {
96+
await context.router.push(PostViewRoute(id: value.id.id));
97+
},
98+
child: Card(
99+
margin: const EdgeInsets.all(4),
100+
child: ProviderScope(
101+
overrides: [currentPostProvider.overrideWithValue(value)],
102+
child: Post(key: ValueKey(value)),
105103
),
106104
),
105+
),
107106

108107
// If we have none, return a placeholder.
109108
AsyncValue(hasValue: true) when index == 0 => const Center(

packages/app/lib/src/features/home/presentation/home/post_view_page.dart

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -48,23 +48,22 @@ class PostViewPage extends ConsumerWidget {
4848
),
4949
),
5050
floatingActionButton: Consumer(
51-
builder:
52-
(context, ref, _) => FloatingActionButton(
53-
onPressed: () async {
54-
final post = ref.read(postServiceProvider(_postId)).valueOrNull;
55-
if (post == null) {
56-
return;
57-
}
58-
59-
await showDialog<void>(
60-
context: context,
61-
builder: (context) => CreateComment(post: post),
62-
);
63-
64-
ref.invalidate(singlePostProvider(_postId));
65-
},
66-
child: const Icon(Icons.add_comment),
67-
),
51+
builder: (context, ref, _) => FloatingActionButton(
52+
onPressed: () async {
53+
final post = ref.read(postServiceProvider(_postId)).valueOrNull;
54+
if (post == null) {
55+
return;
56+
}
57+
58+
await showDialog<void>(
59+
context: context,
60+
builder: (context) => CreateComment(post: post),
61+
);
62+
63+
ref.invalidate(singlePostProvider(_postId));
64+
},
65+
child: const Icon(Icons.add_comment),
66+
),
6867
),
6968
body: RefreshIndicator(
7069
onRefresh: () async {
@@ -92,6 +91,8 @@ class PostViewPage extends ConsumerWidget {
9291
style: const TextStyle(color: Colors.red),
9392
),
9493
),
94+
// Intentional, we don’t want to match null.
95+
// ignore: async_value_nullable_pattern
9596
AsyncValue(:final value?, hasValue: true) => Column(
9697
children: [
9798
ProviderScope(

packages/app/pubspec.yaml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ issue_tracker: https://github.com/PHS-TSA/nexus/issues
2323
repository: https://github.com/PHS-TSA/nexus.git
2424

2525
environment:
26-
sdk: ^3.7.0
26+
sdk: ^3.8.0
2727
resolution: workspace
2828

2929
# Dependencies specify other packages that your package needs in order to work.
@@ -34,61 +34,61 @@ resolution: workspace
3434
# versions available, run `flutter pub outdated`.
3535
dependency_overrides:
3636
flutter_web_auth_2: 4.1.0 # Supports WASM.
37-
pana: 0.22.18
37+
pana: 0.22.21
3838

3939
dependencies:
40-
appwrite: ^14.0.0
41-
auto_route: ^10.0.0
40+
appwrite: ^16.1.0
41+
auto_route: ^10.0.1
4242
# The following adds the Cupertino Icons font to your application.
4343
# Use with the CupertinoIcons class for iOS style icons.
4444
cupertino_icons: ^1.0.8 # Only required if you use Cupertino (iOS style) icons
4545
dio: ^5.8.0+1
4646
envied: ^1.1.1
47-
fast_immutable_collections: ^11.0.3
47+
fast_immutable_collections: ^11.0.4
4848
flutter:
4949
sdk: flutter
5050
flutter_hooks: ^0.21.2
5151
flutter_image_compress: ^2.4.0
5252
flutter_localizations: # Required to enable localization
5353
sdk: flutter
54-
flutter_map: ^8.1.0
54+
flutter_map: ^8.1.1
5555
flutter_map_cancellable_tile_provider: ^3.1.0
56-
flutter_native_splash: ^2.4.5
56+
flutter_native_splash: ^2.4.6
5757
flutter_web_plugins:
5858
sdk: flutter
5959
freezed_annotation: ^3.0.0
60-
geolocator: ^13.0.2
60+
geolocator: ^14.0.0
6161
hooks_riverpod: ^2.6.1
6262
image_picker: ^1.1.2
63-
intl: ^0.19.0
63+
intl: ^0.20.2
6464
json_annotation: ^4.9.0
6565
latlong2: ^0.9.1
6666
meta: ^1.16.0
6767
os_detect: ^2.0.3
6868
path_provider: ^2.1.5
6969
riverpod_annotation: ^2.6.1
70-
shared_preferences: ^2.5.2
70+
shared_preferences: ^2.5.3
7171
timeago_flutter: ^3.7.0
7272
url_launcher: ^6.3.1
7373
window_manager: ^0.4.3
7474

7575
dev_dependencies:
7676
_analysis_options: 0.0.0
77-
auto_route_generator: ^10.0.0
77+
auto_route_generator: ^10.0.1
7878
build_runner: ^2.4.15
7979
build_version: ^2.1.1
8080
checks: ^0.3.0
8181
custom_lint: ^0.7.5
8282
dhttpd: ^4.1.0
8383
envied_generator: ^1.1.1
84-
flutter_checks: ^0.1.1
85-
flutter_gen_runner: ^5.9.0
84+
flutter_checks: ^0.1.2
85+
flutter_gen_runner: ^5.10.0
8686
flutter_launcher_icons: ^0.14.3
8787
flutter_test: # Required for a Flutter project that includes tests
8888
sdk: flutter
89-
freezed: ^3.0.2
89+
freezed: ^3.0.6
9090
freezed_lint: ^0.0.9
91-
json_serializable: ^6.9.4
91+
json_serializable: ^6.9.5
9292
mocktail: ^1.0.4
9393
riverpod_generator: ^2.6.5
9494
riverpod_lint: ^2.6.5
@@ -105,7 +105,7 @@ flutter:
105105
uses-material-design: true # Required if you use the Material icon font
106106

107107
# Enable generation of localized strings from arb files.
108-
generate: false
108+
generate: true
109109

110110
# To add assets to your application, add an assets section, like this:
111111
assets: # Lists assets such as image files

packages/app/test/src/app/router_test.dart

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,33 +40,31 @@ void main() {
4040
final routerSubscription = container.listen(routerProvider, (_, _) {});
4141
final tested = routerSubscription.read();
4242

43-
final mapRoute = tested.routes[0].children?.routes.toList()[0];
43+
final mapRoute = tested.routes[0].children?.toList()[0];
4444
check(mapRoute?.path).equals('');
4545
});
4646
test('should be correct for MapInfoRoute.', () {
4747
final container = createContainer();
4848
final routerSubscription = container.listen(routerProvider, (_, _) {});
4949
final tested = routerSubscription.read();
5050

51-
final sampleItemDetailsRoute =
52-
tested.routes[0].children?.routes.toList()[1];
51+
final sampleItemDetailsRoute = tested.routes[0].children?.toList()[1];
5352
check(sampleItemDetailsRoute?.path).equals('info');
5453
});
5554
test('should be correct for SettingsRoute.', () {
5655
final container = createContainer();
5756
final routerSubscription = container.listen(routerProvider, (_, _) {});
5857
final tested = routerSubscription.read();
5958

60-
final settingsRoute = tested.routes[0].children?.routes.toList()[2];
59+
final settingsRoute = tested.routes[0].children?.toList()[2];
6160
check(settingsRoute?.path).equals('settings');
6261
});
6362
test("should be correct for ShellRoute('Feed')", () {
6463
final container = createContainer();
6564
final routerSubscription = container.listen(routerProvider, (_, _) {});
6665
final tested = routerSubscription.read();
6766

68-
final sampleItemDetailsRoute =
69-
tested.routes[0].children?.routes.toList()[3];
67+
final sampleItemDetailsRoute = tested.routes[0].children?.toList()[3];
7068
check(sampleItemDetailsRoute?.path).equals('local');
7169
});
7270
test('should allow logging in', () {

0 commit comments

Comments
 (0)