Skip to content

Fix CI on Flutter 3.50: refresh lockfile, upgrade melos, migrate to material_ui - #558

Merged
boyan01 merged 4 commits into
mainfrom
ci/flutter-3.50-material-ui
Nov 13, 2026
Merged

boyan01 merged 4 commits into
mainfrom
ci/flutter-3.50-material-ui

Conversation

@boyan01

@boyan01 boyan01 commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

Summary

repo
├── pubspec.yaml / pubspec.lock   # melos 8.10.1, cli_launcher 0.3.4+1, refreshed lock
└── packages/*
    ├── example, test, benchmark  # flutter/material.dart -> material_ui
    ├── lib (desktop_drop, web_qrcode, win_toast)  # narrower imports, no behavior change
    └── mixin_markdown_widget     # lib migrated to material_ui, 0.5.0 (breaking)
  • main CI failed on Check committed lockfile (stale pubspec.lock) and Integration Tests (deprecated_member_use on package:flutter/material.dart under Flutter 3.50).
  • melos 8.9.0 cannot start on Dart 3.14; melos 8.10.1 with cli_launcher 0.3.4+1 can.
  • mixin_markdown_widget 0.5.0 requires Dart ^3.13 / Flutter >=3.47. MarkdownThemeData now extends the material_ui ThemeExtension, which is a different type from Flutter's legacy one.

Evidence

  • Before: main runs 43387469001 (CI) and 43387468955 (Integration Tests) failed.
    After (local, not CI): melos run analyze, melos run format, and flutter analyze --no-pub in all 16 examples exit 0; mixin_markdown_widget flutter test 282 passed (was 264 passed / 17 failed when half-migrated); a second dart pub get leaves pubspec.lock unchanged; dart pub publish --dry-run 0 warnings.
  • Not verified: Windows/Linux/macOS integration tests, GUI behavior of the markdown selection menu, scrollbar and theme switching.

Merge Danger

Door: two-way for the repo; one-way once mixin_markdown_widget 0.5.0 is published.

Blast Radius: mixin_markdown_widget consumers

Apps must switch to material_ui for MaterialApp/Theme/ThemeData to use 0.5.0. flutter-app pins ^0.4.0, so it does not pick this up automatically. This PR does not publish; that needs the tag mixin_markdown_widget-v0.5.0.

melos 8.9.0 fails to start on Dart 3.14 (cli_launcher cannot locate the
installation); melos 8.10.1 with cli_launcher 0.3.4+1 works. The lockfile also
picks up the resolution changes that made the committed-lockfile check fail.
Flutter 3.50 deprecates package:flutter/material.dart, which made
flutter analyze fail in every example.

- examples, tests and benchmarks import package:material_ui/material_ui.dart
- lib code that only needs widgets, foundation or cupertino imports narrower
  libraries instead of Material
- mixin_markdown_widget uses material_ui for its public Material types and
  now requires Dart ^3.13.0 / Flutter >=3.47.0; fix the lints enabled by the
  new language version
@boyan01
boyan01 merged commit 30236ba into main Nov 13, 2026
16 checks passed
@boyan01
boyan01 deleted the ci/flutter-3.50-material-ui branch November 13, 2026 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant