Skip to content

Conversation

@riscait
Copy link
Member

@riscait riscait commented Dec 8, 2025

🙌 What's Done

  • bump to Flutter 3.38.4 and Dart 3.10
  • remove Freezed and add Equatable instead
  • bump to altive_lints 2.0.0-dev.3 and remove custom_lint
  • bump to go_router 17 with go_router_builder 4
  • bump to retrofit_generator 10.2
  • run dart format and melos run gen
  • bump to slang 4.11 and add slang_flutter 4.11 and remove slang_build_runner

✍️ What's Not Done

📝 Additional Notes

🖼️ Image Differences

Before After
image image

Pre-launch Checklist

  • I have reviewed my own code (e.g., updated tests and documentation)

Note

Upgrades Flutter/Dart and tooling, replaces Freezed with Equatable across models, updates go_router/slang and generated code, consolidates routes, and adjusts CI/lints.

  • SDK & Tooling
    • Upgrade to Flutter 3.38.4 and Dart 3.10; refresh lockfile.
    • Bump go_router to 17 (+ go_router_builder v4), retrofit_generator to 10.2, slang/slang_flutter to 4.11, altive_lints to 2.0.0-dev.3.
    • Workspace overrides for analyzer and test_api to support new generators.
  • Codebase Migration (Freezed → Equatable)
    • Replace Freezed data classes with equatable + json_serializable (e.g., RequestedVersionInfo, Todo, pub.dev client models) and remove generated *.freezed.dart.
  • Routing
    • Update to new go_router APIs; consolidate branch routes into lib/router/app_routes.dart and regenerate mixin-based helpers; adjust error route.
  • i18n
    • Regenerate localization with slang 4.11; updated generated APIs and files (strings*.g.dart).
  • Generated Assets
    • Regenerate FlutterGen outputs (e.g., assets.gen.dart) adding parameters like colorMapper and animation metadata.
  • CI & Lints
    • Remove custom_lint; adopt altive_lints plugin config; simplify GitHub Actions to analysis/format checks.
  • Tests
    • Add/adjust unit tests for new Equatable models and converters; keep behavior parity.

Written by Cursor Bugbot for commit 870fd6b. This will update automatically on new commits. Configure here.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @riscait, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on a significant dependency upgrade and refactoring effort across the project. It updates the core Flutter and Dart SDK versions, migrates data classes from Freezed to Equatable, and updates various build tools and linting configurations. These changes aim to modernize the codebase, improve maintainability, and leverage newer features from updated packages.

Highlights

  • Flutter and Dart Version Bump: The project has been updated to Flutter 3.38.4 and Dart 3.10, ensuring compatibility with the latest features and performance improvements.
  • Freezed to Equatable Migration: Data classes previously using Freezed have been refactored to use Equatable for value equality, simplifying code and reducing generated file size.
  • Linting Toolchain Update: The altive_lints package has been updated to version 2.0.0-dev.3, and the custom_lint tool has been removed, streamlining the linting process.
  • GoRouter Upgrade: The navigation system has been upgraded to go_router version 17 and go_router_builder version 4, bringing new routing capabilities and improvements.
  • Retrofit Generator Update: The retrofit_generator has been updated to version 10.2, which may include enhancements for API client generation.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/flutter-app-code-check.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request is a significant dependency upgrade, bumping Flutter, Dart, and several major packages. It also includes a migration from freezed to equatable for data classes, and refactors routing with the new go_router version. The changes are extensive and mostly well-executed. I've identified a critical compilation error due to an incorrect @override annotation and a medium-severity issue that will likely cause a lint error. Overall, great work on this large-scale update.

@codecov
Copy link

codecov bot commented Dec 8, 2025

Codecov Report

❌ Patch coverage is 78.94737% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 47.18%. Comparing base (3747726) to head (870fd6b).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
...ate_requester/entities/requested_version_info.dart 77.77% 2 Missing ⚠️
...lib/pages/riverpod_example_page/entities/todo.dart 80.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #629      +/-   ##
==========================================
+ Coverage   46.15%   47.18%   +1.03%     
==========================================
  Files          27       27              
  Lines         533      551      +18     
==========================================
+ Hits          246      260      +14     
- Misses        287      291       +4     
Files with missing lines Coverage Δ
...ges/core/authenticator/lib/src/signing_method.dart 0.00% <ø> (ø)
...l/lib/src/json_converter.dart/color_converter.dart 77.77% <ø> (ø)
...ate_requester/entities/requested_version_info.dart 81.81% <77.77%> (-18.19%) ⬇️
...lib/pages/riverpod_example_page/entities/todo.dart 80.00% <80.00%> (-20.00%) ⬇️
Components Coverage Δ
flutter_app 31.60% <78.94%> (+4.74%) ⬆️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0b820f0...870fd6b. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

- remove Freezed and add Equatable instead
- bump to altive_lints 2.0.0-dev.3 and remove custom_lint
- bump to go_router 17 with go_router_builder 4
- bump to retrofit_generator to 10.2
@riscait riscait marked this pull request as ready for review December 8, 2025 08:31
@riscait riscait requested a review from a team as a code owner December 8, 2025 08:31
@riscait riscait requested review from Aimiee01, k-nkmr and naipaka and removed request for a team and Aimiee01 December 8, 2025 08:31
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.


/// Location of the route.
final String location;
const ErrorRoute({required this.exception});
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: ErrorRoute missing location property after refactoring

The location field was removed from ErrorRoute constructor, but the build method still passes location to ErrorPage. Since ErrorRoute extends GoRouteData directly without a generated mixin (like other routes use with $HomeRouteData), there's no location getter available. This will either cause a compile error or runtime failure when accessing location. The location should be obtained from state.uri.path in the build method instead.

Additional Locations (1)

Fix in Cursor Fix in Web

Copy link
Contributor

@naipaka naipaka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@riscait riscait added this pull request to the merge queue Dec 8, 2025
Merged via the queue into main with commit 23b6b8c Dec 8, 2025
9 checks passed
@riscait riscait deleted the flutter-3.38 branch December 8, 2025 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate Freezed from v2 to v3

3 participants