Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,5 @@ Generic Flutter and Dart standards live in `.claude/rules/`:

- Run Flutter commands from `mobile/`.
- If dependencies change, run `flutter pub get`.
- If you touch generated-code inputs such as Riverpod, Freezed, JSON, Mockito, or Drift, run `dart run build_runner build --delete-conflicting-outputs` and commit the generated files.
- If you touch generated-code inputs such as Riverpod, JSON, Mockito, or Drift, run `dart run build_runner build --delete-conflicting-outputs` and commit the generated files.
- Add or update tests with the change. For UI changes, update goldens when appropriate.
8 changes: 3 additions & 5 deletions .claude/hooks/pre-commit-build-runner.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Git pre-commit hook component
# Runs build_runner if any staged Dart files contain code generation annotations
#
# Annotations: @freezed, @riverpod, @Riverpod, @JsonSerializable,
# Annotations: @riverpod, @Riverpod, @JsonSerializable,
# @GenerateMocks, @HiveType, @DriftDatabase, @DriftAccessor

set -e
Expand All @@ -15,7 +15,7 @@ FIRST_CMD=$(echo "$COMMAND" | head -1 | sed 's/\s*&&.*//' | sed 's/\s*|.*//' | s
echo "$FIRST_CMD" | grep -qE '^\s*git\s+commit\b' || exit 0

# Get staged Dart files (excluding generated files)
STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep '\.dart$' | grep -v '\.g\.dart$' | grep -v '\.freezed\.dart$' || true)
STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep '\.dart$' | grep -v '\.g\.dart$' || true)

if [ -z "$STAGED_FILES" ]; then
exit 0
Expand All @@ -29,7 +29,7 @@ for FILE in $STAGED_FILES; do
[ -f "$FILE" ] || continue

# Check if file contains code generation annotations
if grep -qE '@(freezed|riverpod|Riverpod|JsonSerializable|GenerateMocks|HiveType|DriftDatabase|DriftAccessor)' "$FILE"; then
if grep -qE '@(riverpod|Riverpod|JsonSerializable|GenerateMocks|HiveType|DriftDatabase|DriftAccessor)' "$FILE"; then
# Find the package root
PACKAGE_DIR="$FILE"
while [ "$PACKAGE_DIR" != "." ] && [ "$PACKAGE_DIR" != "/" ]; do
Expand Down Expand Up @@ -60,9 +60,7 @@ if [ -n "$PACKAGE_ROOTS" ]; then
# Stage any regenerated files
for FILE in $STAGED_FILES; do
GENERATED="${FILE%.dart}.g.dart"
FREEZED="${FILE%.dart}.freezed.dart"
[ -f "$GENERATED" ] && git add "$GENERATED"
[ -f "$FREEZED" ] && git add "$FREEZED"
done
fi

Expand Down
2 changes: 1 addition & 1 deletion .claude/rules/agent_workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ wrong. The real explanations, in order of frequency:

1. The change broke the behavior the test asserts (most common).
2. The change broke a test setup invariant — mocks, fixtures, or
generated files (Riverpod, Freezed, JSON, Mockito, Drift) out of
generated files (Riverpod, JSON, Mockito, Drift) out of
sync with their inputs.
3. The change reveals a real race or order-dependence the test
correctly catches.
Expand Down
10 changes: 5 additions & 5 deletions .claude/rules/ios_build_troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ flutter clean && flutter pub get && cd ios && pod install

Do not create PRs to change `pubspec.lock` or `Package.resolved` for the stale-cache case.

## Cause 3: the generated Swift package floor is stuck at iOS 13
## Cause 3: the generated Swift package floor is below iOS 16

Xcode reports, for `FlutterGeneratedPluginSwiftPackage`, that `firebase-*` require iOS 15.0 and `c2pa-flutter` / `divine-video-player` require 16.0 "but this target supports 13". The project is not misconfigured: every `IPHONEOS_DEPLOYMENT_TARGET` in `mobile/ios/Runner.xcodeproj/project.pbxproj` and the Podfile `platform` are 16.0. The floor that fails is the `platforms:` line of the generated, gitignored `mobile/ios/Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage/Package.swift`.
Xcode reports, for `FlutterGeneratedPluginSwiftPackage`, that `c2pa-flutter` / `divine-video-player` require iOS 16.0 but the generated package supports an older target. The project is not misconfigured: every `IPHONEOS_DEPLOYMENT_TARGET` in `mobile/ios/Runner.xcodeproj/project.pbxproj` and the Podfile `platform` are 16.0. The floor that fails is the `platforms:` line of the generated, gitignored `mobile/ios/Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage/Package.swift`.

Flutter (3.44) writes that manifest at its default `.iOS("13.0")` every time it injects plugins — `flutter pub get`, `flutter analyze`, `flutter test`, and the implicit pub step of most other commands. `flutter build ios` and `flutter run` normally raise it to the project's deployment target afterwards, but that step silently does nothing when `xcodebuild -showBuildSettings` exceeds Flutter's 60-second timeout (a cold machine or a fresh worktree).
Flutter writes that manifest at its own default every time it injects plugins — 3.44 used `.iOS("13.0")`, while 3.47 uses `.iOS("15.0")`. Commands such as `flutter pub get`, `flutter analyze`, `flutter test`, and the implicit pub step of most other commands can therefore lower it. `flutter build ios` and `flutter run` normally raise it to the project's deployment target afterwards, but that step can silently do nothing when `xcodebuild -showBuildSettings` exceeds Flutter's 60-second timeout (a cold machine or a fresh worktree).

The shared Runner scheme's pre-action repairs the generated manifest in place, without invoking Flutter. **That repair cannot rescue the build it runs in.** Xcode emits `Resolve Package Graph` at the very start of a build, before it runs scheme pre-actions, so a build that starts on a 13.0 floor still fails with all seven errors; the repair then lands, and the *next* build succeeds. Measured 2026-09-06 on a device Profile build: sabotaged floor → `** BUILD FAILED **` with the repair line present in the same log → unchanged rebuild → `** BUILD SUCCEEDED **`.
The shared Runner scheme's pre-action uses `scripts/ensure_ios_swift_package_floor.rb` to repair any generated target below iOS 16 in place, without invoking Flutter. Codemagic uses the same helper. **That repair cannot rescue the Xcode build it runs in.** Xcode emits `Resolve Package Graph` at the very start of a build, before it runs scheme pre-actions, so a build that starts below 16 still fails; the repair then lands, and the *next* build succeeds. Measured 2026-09-06 on a device Profile build: sabotaged floor → `** BUILD FAILED **` with the repair line present in the same log → unchanged rebuild → `** BUILD SUCCEEDED **`.

So the failure is self-limiting rather than prevented: if Xcode fails this way, just build again. To skip the wasted first build after any `flutter pub get`, `flutter analyze` or `flutter test`, run this from `mobile/` before returning to Xcode:

Expand All @@ -45,6 +45,6 @@ flutter build ios --config-only
grep -A1 "platforms:" ios/Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage/Package.swift
```

The grep must show `16.0`. If it still shows `13.0`, run the build command again — Flutter skips its own bump when `xcodebuild -showBuildSettings` exceeds its 60-second timeout on a cold machine.
The grep must show `16.0` or newer. If it still shows an older version, run the build command again — Flutter can skip its own bump when `xcodebuild -showBuildSettings` exceeds its 60-second timeout on a cold machine.

Do not add a Flutter command to `mobile/pre_build_ios.sh`: it runs as a pre-action of the shared Runner scheme on every Xcode build, so a `flutter pub get` there re-lowered the floor mid-build and made every Xcode build and Profile run fail this way. The script now repairs the manifest directly and syncs CocoaPods. CI performs the same repair separately in `codemagic.yaml` before archiving.
2 changes: 1 addition & 1 deletion .claude/rules/self_review_checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ Then:
rather than patch. See
[`agent_workflow.md`](agent_workflow.md#5-failing-tests-are-never-acceptable-and-always-your-fault)
and [when the failure is not yours](agent_workflow.md#when-the-failure-is-not-yours).
- [ ] Generated files (Riverpod, Freezed, JSON, Mockito, Drift) are
- [ ] Generated files (Riverpod, JSON, Mockito, Drift) are
regenerated and staged if you touched inputs.
- [ ] `pubspec.lock` churn from a different SDK/pub-resolver run is
**discarded**, not committed — only commit lockfile changes that come
Expand Down
10 changes: 3 additions & 7 deletions .codex/hooks/pre-commit-build-runner.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Git pre-commit hook component
# Runs build_runner if any staged Dart files contain code generation annotations
#
# Annotations: @freezed, @riverpod, @Riverpod, @JsonSerializable,
# Annotations: @riverpod, @Riverpod, @JsonSerializable,
# @GenerateMocks, @HiveType, @DriftDatabase, @DriftAccessor

set -e
Expand Down Expand Up @@ -35,7 +35,7 @@ PACKAGE_ROOTS=()

while IFS= read -r -d '' FILE; do
case "$FILE" in
*.g.dart|*.freezed.dart|*.mocks.dart)
*.g.dart|*.mocks.dart)
continue
;;
*.dart)
Expand All @@ -48,7 +48,7 @@ while IFS= read -r -d '' FILE; do
STAGED_FILES[${#STAGED_FILES[@]}]="$FILE"
[ -f "$FILE" ] || continue

if grep -qE '@(freezed|riverpod|Riverpod|JsonSerializable|GenerateMocks|HiveType|DriftDatabase|DriftAccessor)' "$FILE"; then
if grep -qE '@(riverpod|Riverpod|JsonSerializable|GenerateMocks|HiveType|DriftDatabase|DriftAccessor)' "$FILE"; then
PACKAGE_DIR=$(dirname "$FILE")
while [ "$PACKAGE_DIR" != "." ] && [ "$PACKAGE_DIR" != "/" ]; do
if [ -f "$PACKAGE_DIR/pubspec.yaml" ]; then
Expand Down Expand Up @@ -87,14 +87,10 @@ if [ ${#PACKAGE_ROOTS[@]} -gt 0 ]; then
# Stage any regenerated files
for FILE in "${STAGED_FILES[@]}"; do
GENERATED="${FILE%.dart}.g.dart"
FREEZED="${FILE%.dart}.freezed.dart"
MOCKS="${FILE%.dart}.mocks.dart"
if [ -f "$GENERATED" ]; then
git add "$GENERATED"
fi
if [ -f "$FREEZED" ]; then
git add "$FREEZED"
fi
if [ -f "$MOCKS" ]; then
git add "$MOCKS"
fi
Expand Down
2 changes: 1 addition & 1 deletion .codex/scripts/test-config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ cat > "$TEST_REPO/mobile/lib/info only.dart" <<'EOF'
void main() {}
EOF
cat > "$TEST_REPO/mobile/lib/with space.dart" <<'EOF'
@freezed
@JsonSerializable()
class GeneratedInput {}
EOF

Expand Down
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ updates:
# constrained by `dependency_overrides`. mobile/pubspec.yaml has exactly that
# shape, so the ecosystem could silently produce nothing at all.
# • dependabot/dependabot-core#15654 — unmerged fix for Dependabot rewriting the
# lockfile's Flutter constraint (`3.44.0` -> `>=3.44.0`), which would dirty
# lockfile's Flutter constraint (`3.47.0` -> `>=3.47.0`), which would dirty
# mobile/pubspec.lock on every run and fight the Generated Files check.
# • dependabot/dependabot-core#11860 — the Flutter checkout that pub updates
# depend on fails on `bin/internal/engine.version`.
Expand Down
12 changes: 10 additions & 2 deletions .github/scripts/tests/test_codemagic_shorebird_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,9 +222,9 @@ def test_shorebird_required_defines_reject_empty_values(self) -> None:
)

def test_shorebird_install_reuses_only_the_expected_cached_version(self) -> None:
self.assertIn('EXPECTED_SHOREBIRD_VERSION="Shorebird 1.6.117"', self.contents)
self.assertIn('EXPECTED_SHOREBIRD_VERSION="Shorebird 1.6.120"', self.contents)
self.assertIn(
'EXPECTED_SHOREBIRD_REVISION="45facdd4e4b3c39e0d260107977584f0b7c66bec"',
'EXPECTED_SHOREBIRD_REVISION="5ac7f9a9a5c4a5e66a958e608da0f73e34a3d6bb"',
self.contents,
)
self.assertIn('if [ -x "$SHOREBIRD_BIN" ]; then', self.contents)
Expand All @@ -243,6 +243,14 @@ def test_shorebird_cli_install_is_pinned_to_a_full_commit(self) -> None:
self.assertNotIn("raw.githubusercontent.com/shorebirdtech/install", self.contents)
self.assertNotRegex(self.contents, r"git clone .* (?:stable|v[0-9])")

def test_ios_spm_floor_uses_the_shared_version_aware_repair(self) -> None:
definition = self._definition_block("prepare_ios_spm_packages")

self.assertIn("ruby scripts/ensure_ios_swift_package_floor.rb", definition)
self.assertIn("FlutterGeneratedPluginSwiftPackage/Package.swift", definition)
self.assertIn("FlutterFramework/Package.swift", definition)
self.assertNotIn('.gsub(\'.iOS("13.0")\'', definition)

def test_shorebird_release_commands_are_signed_and_preflighted(self) -> None:
self.assertIn("*preflight_shorebird_ios_release", self.contents)
self.assertIn("*preflight_shorebird_android_release", self.contents)
Expand Down
75 changes: 75 additions & 0 deletions .github/scripts/tests/test_ios_swift_package_floor.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
import subprocess
import tempfile
import unittest
from pathlib import Path


SCRIPT = (
Path(__file__).resolve().parents[3]
/ "mobile"
/ "scripts"
/ "ensure_ios_swift_package_floor.rb"
)


class IosSwiftPackageFloorTest(unittest.TestCase):
def _run(self, declaration: str | None) -> tuple[subprocess.CompletedProcess[str], str]:
with tempfile.TemporaryDirectory() as directory:
manifest = Path(directory) / "Package.swift"
platforms = (
f" platforms: [\n {declaration}\n ],\n"
if declaration is not None
else ""
)
manifest.write_text(
"let package = Package(\n"
' name: "FlutterGeneratedPluginSwiftPackage",\n'
f"{platforms}"
")\n"
)
result = subprocess.run(
["ruby", str(SCRIPT), str(manifest)],
check=False,
text=True,
capture_output=True,
)
return result, manifest.read_text()

def test_raises_legacy_and_current_flutter_floors(self) -> None:
for declaration in (
'.iOS("13.0")',
".iOS(.v13)",
'.iOS("15.0")',
".iOS(.v15)",
):
with self.subTest(declaration=declaration):
result, contents = self._run(declaration)

self.assertEqual(0, result.returncode, result.stderr)
self.assertIn('.iOS("16.0")', contents)
self.assertNotIn(declaration, contents)

def test_keeps_supported_and_future_floors(self) -> None:
for declaration in ('.iOS("16.0")', ".iOS(.v16)", '.iOS("17.0")'):
with self.subTest(declaration=declaration):
result, contents = self._run(declaration)

self.assertEqual(0, result.returncode, result.stderr)
self.assertIn(declaration, contents)

def test_adds_the_floor_when_platforms_are_absent(self) -> None:
result, contents = self._run(None)

self.assertEqual(0, result.returncode, result.stderr)
self.assertIn('.iOS("16.0")', contents)

def test_rejects_a_platforms_block_without_ios(self) -> None:
result, contents = self._run('.macOS("12.0")')

self.assertNotEqual(0, result.returncode)
self.assertIn("platforms block to declare an iOS target", result.stderr)
self.assertNotIn('.iOS("16.0")', contents)


if __name__ == "__main__":
unittest.main()
2 changes: 1 addition & 1 deletion .github/workflows/analytics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/analytics"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
min_coverage: 73
2 changes: 1 addition & 1 deletion .github/workflows/app_update_repository.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/app_update_repository"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
min_coverage: 89
2 changes: 1 addition & 1 deletion .github/workflows/app_version_client.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/app_version_client"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
min_coverage: 76
2 changes: 1 addition & 1 deletion .github/workflows/background_uploader.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/background_uploader"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
min_coverage: 69
2 changes: 1 addition & 1 deletion .github/workflows/badge_repository.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/badge_repository"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
2 changes: 1 addition & 1 deletion .github/workflows/blossom_upload_service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/blossom_upload_service"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
min_coverage: 100
2 changes: 1 addition & 1 deletion .github/workflows/blurhash_service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/blurhash_service"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
2 changes: 1 addition & 1 deletion .github/workflows/bookmarks_repository.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/bookmarks_repository"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
# Stated rather than omitted: 28 package workflows leave this key out and
# the VeryGood default is 100, so an omitted key gates at 100 silently.
min_coverage: 100
2 changes: 1 addition & 1 deletion .github/workflows/cache_sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/cache_sync"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
coverage_excludes: "**/*.g.dart"
4 changes: 2 additions & 2 deletions .github/workflows/caption_generator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/caption_generator"
flutter_version: "3.44.9"
flutter_version: "3.47.2"

# The Dart workflow above never compiles the native Kotlin, so a compile
# error would pass green until the package is wired into an app build.
Expand All @@ -45,7 +45,7 @@ jobs:
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: "3.44.9"
flutter-version: "3.47.2"
channel: "stable"
cache: true
- name: Setup Gradle
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/categories_repository.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/categories_repository"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
2 changes: 1 addition & 1 deletion .github/workflows/collaborator_repository.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/collaborator_repository"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
min_coverage: 96
2 changes: 1 addition & 1 deletion .github/workflows/comments_repository.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/comments_repository"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
min_coverage: 80
2 changes: 1 addition & 1 deletion .github/workflows/content_blocklist_repository.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/content_blocklist_repository"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
2 changes: 1 addition & 1 deletion .github/workflows/content_policy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/content_policy"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
2 changes: 1 addition & 1 deletion .github/workflows/coordinator_route_probe.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: "3.44.9"
flutter-version: "3.47.2"
channel: stable
cache: true
- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/count_formatter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/count_formatter"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
2 changes: 1 addition & 1 deletion .github/workflows/creator_sync.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/creator_sync"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
2 changes: 1 addition & 1 deletion .github/workflows/curated_list_repository.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
working_directory: "mobile/packages/curated_list_repository"
flutter_version: "3.44.9"
flutter_version: "3.47.2"
Loading
Loading