text:
[go_router] when location has '#' , subsequent ones will be omitted

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
context.push("/web?url=https://test-m.junohoro.com/birth-time/#/birth");
GoRoute(
        path: '/web',
        name: RouteName.web,
        builder: (_, state) {
          print('uuuu:${state.queryParams['url']}');
          print('uuu2:${state.params['url']}');
          print('uuu3:${state.extra}');
          return WebViewPage('${state.extra}');
        }),

Expected results
[GoRouter] pushing /web?url=https://test-m.junohoro.com/birth-time/#/birth
I/flutter (22335): uuuu:https://test-m.junohoro.com/birth-time/#birth
Actual results
[GoRouter] pushing /web?url=https://test-m.junohoro.com/birth-time/#/birth
I/flutter (22335): [MyNavObserver] didPush: web, previousRoute: null
I/flutter (22335): uuuu:https://test-m.junohoro.com/birth-time/
I/flutter (22335): uuu2:null
I/flutter (22335): uuu3:null
Code sample
  GoRoute(
        path: '/web',
        name: RouteName.web,
        builder: (_, state) {
          print('uuuu:${state.queryParams['url']}');
          print('uuu2:${state.params['url']}');
          print('uuu3:${state.extra}');
          return WebViewPage('${state.extra}');
        }),

context.push("/web?url=https://test-m.junohoro.com/birth-time/#/birth");

Screenshots or Video

Logs
[GoRouter] pushing /web?url=https://test-m.junohoro.com/birth-time/#/birth
I/flutter (22335): [MyNavObserver] didPush: web, previousRoute: null
I/flutter (22335): uuuu:https://test-m.junohoro.com/birth-time/
I/flutter (22335): uuu2:null
I/flutter (22335): uuu3:null
Flutter Doctor output
[!] Flutter (Channel stable, 3.7.12, on macOS 13.3.1 22E261 darwin-x64, locale zh-Hans-CN)
• Flutter version 3.7.12 on channel stable at /Users/lizhuoyuan/fvm/versions/stable
! Warning: dart on your path resolves to /usr/local/Cellar/dart/2.17.5/libexec/bin/dart, which is not inside your current Flutter SDK checkout at
/Users/lizhuoyuan/fvm/versions/stable. Consider adding /Users/lizhuoyuan/fvm/versions/stable/bin to the front of your path.
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 4d9e56e694 (2 weeks ago), 2023-04-17 21:47:46 -0400
• Engine revision 1a65d409c7
• Dart version 2.19.6
• DevTools version 2.20.1
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn
• If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at /Users/lizhuoyuan/Library/Android/sdk
• Platform android-33, build-tools 30.0.3
• ANDROID_HOME = /Users/lizhuoyuan/Library/Android/sdk
• Java binary at: /Library/Java/JavaVirtualMachines/jdk-11.0.13.jdk/Contents/Home/bin/java
• Java version Java(TM) SE Runtime Environment 18.9 (build 11.0.13+10-LTS-370)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14E222b
• CocoaPods version 1.11.3
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
[✓] VS Code (version 1.74.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.56.0
[✓] Connected device (2 available)
• Pixel 6 Pro (mobile) • 1B231FDEE001S7 • android-arm64  • Android 13 (API 33)
• Chrome (web)         • chrome         • web-javascript • Google Chrome 112.0.5615.137
[✓] HTTP Host Availability
• All required HTTP hosts are available

Hi @lizhuoyuan
What is your current go_router version? And please provide a completed and minimal reproducible code sample so that we may verify this. Thank you!

Hi @lizhuoyuan What is your current go_router version? And please provide a completed and minimal reproducible code sample so that we may verify this. Thank you!

6.5.8
The latest version has the same problem
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

void main() {
  runApp(const MyApp());
}

final router = GoRouter(routes: [
  GoRoute(
    path: '/',
    builder: (context, state) => MyHomePage(),
  ),
  GoRoute(
    path: '/t',
    builder: (context, state) => MyHomePage(
      url: state.queryParameters['url'],
    ),
  ),
]);

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routerConfig: router,
      title: 'Flutter Demo',
    );
  }
}

class MyHomePage extends StatefulWidget {
  final String? url;

  const MyHomePage({Key? key, this.url}) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: widget.url == null
            ? TextButton(
                onPressed: () {
                  context.push('/t?url=123/#/123');
                },
                child: const Text('push /t?url=123/#/123'))
            : Text('${widget.url}'),
      ),
    );
  }
}

https://user-images.githubusercontent.com/15923901/236176030-6bf36623-8894-402f-9015-c4382b356229.mp4

I think you've already used go_router: ^7.0.0 since queryParameters is only available on the latest version.
I also can reproduce this issue on go_router: ^7.0.0. Labeling this for further investigation. Thank you!

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.7.12, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.7.12 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4d9e56e694 (2 days ago), 2023-04-17 21:47:46 -0400
    • Engine revision 1a65d409c7
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.77.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.62.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 13 (API 33)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 112.0.5615.137

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[!] Flutter (Channel master, 3.11.0-1.0.pre.43, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.11.0-1.0.pre.43 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 15386d9d17 (21 minutes ago), 2023-05-03 21:35:35 -0400
    • Engine revision ee65be7d8f
    • Dart version 3.1.0 (build 3.1.0-70.0.dev)
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.77.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.62.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 112.0.5615.137

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

The hash will be treated fragment in url. This seems like a user error. I think the correct way to do this is to either escape the hash manually or use Uri to formulate the string which would escape the character automatically

The hash will be treated fragment in url. This seems like a user error. I think the correct way to do this is to either escape the hash manually or use Uri to formulate the string which would escape the character automatically

Thank you for the idea, can you please provide a small piece of code?

I have a way, that is to use Uri.encodeComponent before wearing, and use Uri.decodeComponent after receiving it on the other side
String url = 'http://www.11sds.cc123/#/123';
String encodeResult = Uri. encodeComponent(url);
String decodeResult = Uri. decodeComponent(r);

Because encodeComponent will escape "/" and other symbols, resulting in the failure to recognize the Url, so decode is required.
It would be even better if go_router could do it itself

I thought there was an update for 8.0
sad

authors: chunhtai huycozy lizhuoyuan


text:
[Impeller] InkSparkle splash not clipping on iOS.

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Set the splashFactory to InkSparkle.splashFactory
Run the app with Impeller enabled on iOS.
Tap a button/inkwell.

Expected results
The button/inkwell should display the sparkle, correctly clipping the effect to the shape/border of the material.
Actual results

Debug mode: The sparkle doesn't happen at all, with the UI hanging for the time of the effect. If the button/inkwell is kept pressed, after ~1 second the widget instantly appears as pressed.
Release mode: The sparkle happens without hanging the UI, but it doesn't clip to the border/shape of the material.

If Impeller is disabled with --no-enable-impeller, InkSparkle works normally.
Code sample
This is the app from the videos.
Code sample
class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(
          seedColor: Colors.deepPurple,
        ),
        useMaterial3: true,
        splashFactory: InkSparkle.splashFactory,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Center(
          child: Column(
            children: [
              InkWell(
                borderRadius: BorderRadius.circular(24),
                onTap: () {},
                child: const Padding(
                  padding: EdgeInsets.all(24),
                  child: Text('Press me'),
                ),
              ),
              const SizedBox(height: 24),
              FilledButton(
                onPressed: () {},
                child: const Padding(
                  padding: EdgeInsets.all(24),
                  child: Text('Press me'),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration

Debug
Release

I'm pressing as soon as the mouse stops, as you can see, nothing happens for a while in debug mode.
And in release mode the sparkle is not clipping.

Logs
No response
Flutter Doctor output
Tested on stable and master channels, both with the same issue.
Doctor output - Stable channel
[✓] Flutter (Channel stable, 3.10.1-0.0.pre.1, on macOS 13.2.1 22D68 darwin-x64, locale en-BR)
    • Flutter version 3.10.1-0.0.pre.1 on channel stable at /usr/local/Caskroom/flutter/3.0.5/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 38b9918850 (5 weeks ago), 2023-04-07 11:07:23 -0700
    • Engine revision d44b5a94c9
    • Dart version 3.0.0
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/luccas/Library/Developer/Xamarin/android-sdk-macosx
    • Platform android-33, build-tools 33.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.78.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.64.0

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • 11605EBF-6D6C-41FF-A907-1C81093F3264 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-x64     • macOS 13.2.1 22D68 darwin-x64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 113.0.5672.92

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Doctor output - Master channel
[✓] Flutter (Channel master, 3.11.0-5.0.pre.57, on macOS 13.2.1 22D68 darwin-x64, locale en-BR)
    • Flutter version 3.11.0-5.0.pre.57 on channel master at /Users/luccas/Documents/VSCode/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 9c72f5a7e6 (14 minutes ago), 2023-05-12 14:49:35 -0400
    • Engine revision c784d6d413
    • Dart version 3.1.0 (build 3.1.0-102.0.dev)
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/luccas/Library/Developer/Xamarin/android-sdk-macosx
    • Platform android-33, build-tools 33.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.78.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.64.0

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • 11605EBF-6D6C-41FF-A907-1C81093F3264 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-x64     • macOS 13.2.1 22D68 darwin-x64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 113.0.5672.92

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Thanks for the report. Reproduced this issue on the latest Flutter stable and master channels.

Add demo without using Impeller (Expected result)
https://github.com/flutter/flutter/assets/104349824/75adb2e3-c2c3-4e9a-8449-a9e7794536b8

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.10.0, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.10.0 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 84a1e904f4 (35 hours ago), 2023-05-09 07:41:44 -0700
    • Engine revision d44b5a94c9
    • Dart version 3.0.0
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.78.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.62.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 113.0.5672.92

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.11.0-6.0.pre.63, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.11.0-6.0.pre.63 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7b8f7a2a64 (5 hours ago), 2023-05-14 17:42:29 -0400
    • Engine revision 326de1d849
    • Dart version 3.1.0 (build 3.1.0-110.0.dev)
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.78.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.64.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 113.0.5672.92

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

The remaining issue is https://github.com/flutter/flutter/issues/113719

source: gharchive/issue

authors: huycozy jonahwilliams luccasclezar

repo: flutter/flutter

license_type: permissive

license_source: github-api


text:
Using uncommon file extensions for flutter-internal files risks customer web servers refusing to serve them

Background
Within the build output of any flutter app, there exists a unique file, the asset manifest (currently named AssetManifest.smcbin). This file contains metadata about assets that are available to the app at runtime. In particular, it provides the framework a cross-platform means to discover higher-resolution variants of image assets.
https://github.com/flutter/flutter/pull/122505 changed the extension and underlying format of the file. Before this, it was JSON (AssetManifest.json). This changed the file to be a serialized binary object (AssetManifest.bin, encoded using StandardMessageCodec). A follow-up hotfix changed the filename again to AssetManifest.smcbin, which is the current name as of writing.
Issue
Ideally, changing the extension (or any other aspect) of AssetManifest.smcbin should not impact customers, as this file is a framework-internal implementation detail. However, customers deploying flutter web apps have been impacted with vague, frustrating issues. Here are known examples, with some affecting several customers:

https://github.com/flutter/flutter/issues/124883

This is what prompted the change from AssetManifest.bin to AssetManifest.smcbin, which may have been a mistake in hindsight. See the following issues in this list.

https://github.com/flutter/flutter/issues/128230

By default, some (most?) production IIS web servers are configured to not serve files for which it does not recognize the extension. Clients requesting these files will get a vague 404 response.

https://github.com/flutter/flutter/issues/127038

Similar to the previous issue. To my knowledge, the web server did not know what to use for the content-type header, so it wouldn't serve the file.

The main purpose of this issue is to document this (to be added as a code comment) and raise awareness of this issue, as it could be a problem for other features that rely on requesting files with uncommon extensions (hopefully none).
Takeaway questions: is there a way for us to improve this situation for customers? Is there some sort of way to, in the build output, hint to web servers that this file is safe to serve to clients? Can we make these type of issues easier to catch and debug? Is there some other , well-known, file extension we could use that would be safer (such as .bin, at the risk of reintroducing #124883).

Regarding https://github.com/flutter/flutter/issues/124883, do we know what heuristic IDM is using to block the file? If it's just the extension name we could name this file anything, like .txt right?

Regarding #124883, do we know what heuristic IDM is using to block the file? If it's just the extension name we could name this file anything, like .txt right?

The exact reason for why IDM was doing this is unclear. However, changing the file extension away from .bin was sufficient to address this issue, which is why we chose to do it (the risk of doing this was unknown at the time). The file extension doesn't matter to the flutter framework, so, as far as it's concerned, we can rename the file to be anything, even something inaccurate like .txt (though this may risk a web server serving this with an incorrect content-type header--not sure how much it matters).

even something inaccurate like .txt (though this may risk a web server serving this with an incorrect content-type header--not sure how much it matters).

Since this file is an implementation detail of the framework, I wouldn't think of this in terms of "accurate" vs "inaccurate", all that matters is that we download and read the correct filename string.

even something inaccurate like .txt (though this may risk a web server serving this with an incorrect content-type header--not sure how much it matters).

Since this file is an implementation detail of the framework, I wouldn't think of this in terms of "accurate" vs "inaccurate", all that matters is that we download and read the correct filename string.
I say this from the perspective of Flutter. It would be great if we could verify any future changes with IIS.

It's not always as simple as that, due to CORS restrictions and such. Often web servers have special treatment of HTTP headers based on the content type that they have inferred, and that can sometimes affect the way the scripts on the page can actually access these resources. In this case, it's likely that this file will always be same-origin, which means that most of the time this won't be a problem, but serving a resource with an incorrect content type can sometimes have surprising results.

Often web servers have special treatment of HTTP headers based on the content type that they have inferred

You mean inferred based on file extension, or contents?
It's common for web servers to choose content type solely based off of file extension, and choose their HTTP header behavior based off of the content type.

can sometimes affect the way the scripts on the page can actually access these resources

like not being able to read the raw bytes?
Yes, the browser blocks you from reading the HTTP response if the CORS requirements aren't met. Again, I'm not sure if that specifically is likely to happen here, but in general the extension type of a file can definitely be a signal to the web server to change its behavior, so I think we should try to be reasonably accurate with our file extensions to be as compatible as possible with standard web servers.

I think the constraint is that we do not control the server. We should design it in a way that works with existing website hosting servers.

@andrewkolos Feel free to assign a priority for this one. I'm not sure how to prioritize it myself.

There's been some good discussion of this issue here and on the #hackers-web Discord channel (6/8/23).
My plan is to revert the hotfix that renamedAssetManifest.smcbin to AssetManifest.bin, closing #128230 and reopening #124883. .bin is a file extension that is appropriate while also being more commonly recognized by software.
In the future (e.g. next minor version), we could change how the asset manifest works for flutter web specifically. For example, we could directly embed the contents of the asset manifest into the web entrypoint, or, if we continue to have problems with the binary format, we could generate a second JSON version of the asset manifest and have flutter web use that instead.

authors: andrewkolos christopherfujino eyebrowsoffire yjbanov


text:
plugin contribution guide is missing details for formatting

re: https://github.com/flutter/plugins/blob/master/CONTRIBUTING.md
I believe this repo relies on auto-formatting!?
Is the right command to run pub global run flutter_plugin_tools format ?
What does that require to run? Mine fails trying to locate 'clang-format'

cc @goderbauer @collinjackson

That's the right command.
You need clang-format-5 in your path or you can pass its location via the --clang-format flag. In addition to that, you need the latest dart in your path and I believe that's it.

Where does one get clang-format?

Personally, I am now using the one that comes with the engine (located at engine/src/buildtools/mac-x64/clang/bin/clang-format). Previously, I used one installed with brew.

It might be worth adding a download step to flutter_plugin_tools that downloads the correct clang-format from wherever the engine is downloading it from during gclient sync. Similarly to how it already downloads the java formatter.

That sounds like a good solution.

On a Mac, I installed clang-format-5.0 with https://github.com/Homebrew/homebrew-core/pull/27694:
brew install https://raw.githubusercontent.com/DennisOSRM/homebrew-core/813160d88fc1101aa173c745e031e251acbb96d9/Formula/clang-format@5.rb

I can then run the format tool with:
pub global run flutter_plugin_tools format --clang-format=clang-format-5.0

@recastrodiaz thanks!

Adding cipd support to the tool for this would add a lot of complexity for relatively little benefit. I think it's fine to require people to either install clang-format, or use the patch command that the CI outputs.

authors: dustin-graham goderbauer mit-mit recastrodiaz stuartmorgan


text:
Google testing failure missing triage info

Example RP: https://github.com/flutter/flutter/pull/134637

By clicking details, here is the check run page:
https://github.com/flutter/flutter/pull/134637/checks?check_run_id=16761209576
The View more details on Flutter Roll on Borg however directs to the wiki page as well.
Not sure how to debug this failure.

@XilaiZhang Could you help take a look?

https://github.com/flutter/flutter/wiki/Understanding-Google-Testing#my-cl-reached-max-number-of-retry-why-and-how-do-i-resolve-this
This is concerning as the only solution offered is to ask a Googler to investigate or follow the solutions below:

rebase and ignore google testing which it looks like you cannot or
wait for commits to catch up and hope the conflict is resolved then resubmit or
manually override if you are a Googler, which you can no longer do.

Can we revert this functionality at this time?

Some more examples of this:
https://github.com/flutter/flutter/pull/134629
https://github.com/flutter/flutter/pull/134628
https://github.com/flutter/flutter/pull/134607

Marking as P1 considering high impact but there is a workaround to reset the test status considering this is a false alarm.

sent cl/565087659 for review and put more context in https://github.com/flutter/flutter/pull/134637#issuecomment-1718048841

I have a couple PRs (https://github.com/flutter/flutter/pull/134493, https://github.com/flutter/flutter/pull/134542) that are having this issue to. Will overriding the status even work if FroB says it's "Deleted" and there's no CL?

yes it would work even if its deleted and theres no cl

umm i tried the same with autosubmit but for some reasons autosubmit merged it. Would be great if you could file a bug and document what happened. thank you!

Latency in reporting the status?

Latency in reporting the status?

It went from red -> green -> red again? and persisted red, until Xilai overrode it a second time from FRoB.

Latency in reporting the status?

It went from red -> green -> red again? and persisted red, until Xilai overrode it a second time from FRoB.

I did not know that.

This happened again on https://github.com/flutter/flutter/pull/134590 cc @XilaiZhang

I will file a separate issue for this

Isn't that part of this issue? Also what is the work around here then? Do you need to go on Frob and toggle the status to land the PR? I am assuming you do not since you can squash and merge in flutter.

Isn't that part of this issue? Also what is the work around here then?

If you're referring to https://github.com/flutter/flutter/issues/134684, it is not obvious to me that it is the same issue as this one. I will defer to you however if you think it is the same issue.

@christopherfujino no I am fine with this, I thought the actual issue was the one you pointed out. My mistake I thought there were two issues beyond the missing triage info. Please keep it open.

Hi @XilaiZhang, any updates on this? Just caught up on the thread

Yeah i sent updates in the PSA on Saturday

Gotcha. Thanks! I will close this, but feel free to reopen if necessary.

authors: XilaiZhang christopherfujino drewroengoogle keyonghan ricardoamador vashworth


text:
[webview_flutter] Address privacy manifest requirement

This plugin is listed on https://developer.apple.com/support/third-party-SDK-requirements/ as requiring a privacy manifest. It's not currently clear why; we'll need to clarify why it's there and then either

add a privacy manifest, and figure out how to embed it, or
have it removed from the list if it's there in error.

See https://github.com/flutter/flutter/issues/131940 for context.

The guidance we have received is:

If an SDK doesn’t collect any data, then a privacy manifest should be provided outlining that no data is collected.

So we'll need to bundle an "empty" manifest.


text:
Creating a new flutter project takes too long to load

Steps to reproduce
When I create a new flutter project it is just stuck loading and nothing happens.

Even when I clone a project and get dependencies it just says "Resolving dependencies...".

Actual results
It is just stuck at creating flutter project
Logs

Logs

<!-- Paste your logs here -->

Flutter Doctor output

Doctor output

[√] Flutter (Channel stable, 3.13.5, on Microsoft Windows [Version 10.0.19045.3803], locale en-PH)
    • Flutter version 3.13.5 on channel stable at C:\src\flutter\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 12fccda598 (3 months ago), 2023-09-19 13:56:11 -0700
    • Engine revision bd986c5ed2
    • Dart version 3.1.2
    • DevTools version 2.25.0

[√] Windows Version (Installed version of Windows is version 10 or higher)

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at C:\Users\BERNARD\AppData\Local\Android\sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)
    ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[X] Visual Studio - develop Windows apps
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[√] Android Studio (version 2022.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19045.3803]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 120.0.6099.130
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 120.0.2210.91

[☠] Network resources (the doctor check crashed)
    X Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know
      about this issue at https://github.com/flutter/flutter/issues.
    X Exception: Network resources exceeded maximum allowed duration of 0:04:30.000000
    •

! Doctor found issues in 3 categories.

@Rararawrd what are your system specifications?

@Rararawrd what are your system specifications?

Hi @Rararawrd, do you create the project with the IDE or do you use the flutter tool?
Can you also upgrade to the latest version of flutter to see if you still experience this issue?

flutter doctor --android-licenses worked like a charm on my end. It might be the same on your end

authors: AmanGit010 Rararawrd danagbemava-nc mwaidesu


text:
linux-49 lost external connection from phone device.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
linux-49 lost external connection from phone device.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

External connection has been restored by rebooting phone device.


text:
TextField Acessibility ID not persist after build

Steps to reproduce

create a sample app
add a Button with Key property
add a TextField with Key property
build app
inspect built app using some tool like appium-inspector

Expected results
Both Button and TextField expose accessibility-id.
Actual results
Only Button shows accessility-id.
Code sample
Code sample
TextField(
  decoration: InputDecoration(
    border: OutlineInputBorder(),
    hintText: 'Enter a search term',
  ),
),

TextButton(
  style: ButtonStyle(
    foregroundColor: MaterialStateProperty.all<Color>(Colors.blue),
  ),
  onPressed: () { },
  child: Text('TextButton'),
)

Screenshots or Video

Screenshots / Video demonstration

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
Flutter 3.19 may have identifier for SemanticsProperties (introduced by flutter/flutter#138331). It sets resource-id and accessibilityIdentifier for Android and iOS, then UiAutomator2/XCUITest drivers also can handle Key without this driver
"appium:disableIdLocatorAutocompletion": true would be necessary to make resource-id idea work without any package name prefix like Android compose.
e.g. flutter/flutter#17988 (comment)
[✓] Flutter (Channel stable, 3.19.0, on Ubuntu 23.10 6.5.0-21-generic, locale en_US.UTF-8)
    • Flutter version 3.19.0 on channel stable at /home/pedro/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision bae5e49bc2 (2 weeks ago), 2024-02-13 17:46:18 -0800
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /home/pedro/Development/Android/Sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /home/pedro/Development/Android/Sdk
    • Java binary at: /snap/android-studio/148/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.
[✓] Chrome - develop for the web
    • Chrome at google-chrome
[✓] Linux toolchain - develop for Linux desktop
    • Ubuntu clang version 16.0.6 (15)
    • cmake version 3.27.4
    • ninja version 1.11.1
    • pkg-config version 1.8.1
[✓] Android Studio (version 2023.1)
    • Android Studio at /snap/android-studio/148
    • Flutter plugin can be installed from:
      :hammer: https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      :hammer: https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
[✓] VS Code (version 1.86.2)
    • VS Code at /snap/code/current/usr/share/code
    • Flutter extension version 3.83.20240201
[✓] Connected device (3 available)
    • SM G770F (mobile) • RQ8NB02AVTF • android-arm64  • Android 13 (API 33)
    • Linux (desktop)   • linux       • linux-x64      • Ubuntu 23.10 6.5.0-21-generic
    • Chrome (web)      • chrome      • web-javascript • Google Chrome 122.0.6261.69
[✓] Network resources
    • All expected network resources are available.
• No issues found!

Thanks for the report. I also see the same on the latest master channel. This also happens on the previous release 3.16.9.

Complete sample code
import 'package:flutter/material.dart';

void main() async {
  runApp(
    const MaterialApp(
      title: 'Flutter Example',
      home: MyApp(),
    ),
  );
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
				mainAxisAlignment: MainAxisAlignment.center,
        children: [
          const TextField(
            key: Key('search_field'),
            decoration: InputDecoration(
              border: OutlineInputBorder(),
              hintText: 'Enter a search term',
            ),
          ),
          TextButton(
            key: const Key('text_button'),
            style: ButtonStyle(
              foregroundColor: MaterialStateProperty.all<Color>(Colors.blue),
            ),
            onPressed: () {},
            child: const Text('TextButton'),
          ),
        ],
      ),
    );
  }
}

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.19.2, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.19.2 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7482962148 (31 hours ago), 2024-02-27 16:51:22 -0500
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.86.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.82.0

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 122.0.6261.94

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.20.0-15.0.pre.45, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.20.0-15.0.pre.45 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2ccf375cb1 (40 minutes ago), 2024-02-28 23:17:36 -0500
    • Engine revision 232217f39c
    • Dart version 3.4.0 (build 3.4.0-187.0.dev)
    • DevTools version 2.33.0-dev.11
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.86.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.82.0

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 122.0.6261.94

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

@hangyujin Are you the right person to confirm what the intended behavior is here for accessibility ids on Android?

I am not familiar with this, the feature was added at https://github.com/flutter/engine/pull/47961.
bartekpacia Do you know what the intended behavior is here?

Thanks for the ping @hangyujin. I believe author of this issue misunderstands the new "accessibility identifier" feature we added in Flutter 3.19. key on the widget doesn't have any effect, no changes were made to its behavior.
To add accessibility identifier to a widget, it has to be wrapped with Semantics and Semantics.identifier must be specified:
class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Semantics(
            identifier: 'search_field',
            child: TextField(
              decoration: InputDecoration(
                border: OutlineInputBorder(),
                hintText: 'Enter a search term',
              ),
            ),
          ),
          Semantics(
            identifier: Key('text_button')
            child: TextButton(
              style: ButtonStyle(
                foregroundColor: MaterialStateProperty.all<Color>(Colors.blue),
              ),
              onPressed: () {},
              child: const Text('TextButton'),
            ),
          ),
        ],
      ),
    );
  }
}

Thanks @hangyujin @bartekpacia.
Does that fix your problem @paulowsky?

authors: bartekpacia hangyujin huycozy justinmc paulowsky


text:
[google_sign_in_ios] Add Swift Package Manager compatibility to google_sign_in_ios

Prerequisites:

[x] https://github.com/flutter/flutter/pull/146256
[x] https://github.com/flutter/flutter/issues/146901

Follow "Converting an existing Objective-C Flutter Plugin to a Swift Package" instructions to make google_sign_in_ios plugin compatible with Swift Package Manager and CocoaPods.
To validate all is working, run the following commands
// Disable swift package manager
flutter config --no-enable-swift-package-manager

// Build example with CocoaPods
dart run script/tool/bin/flutter_plugin_tools.dart build-examples --ios --packages=google_sign_in_ios
dart run script/tool/bin/flutter_plugin_tools.dart build-examples --macos --packages=google_sign_in_ios

// Build example with swift package manager
dart run script/tool/bin/flutter_plugin_tools.dart build-examples --ios --swift-package-manager --packages=google_sign_in_ios
dart run script/tool/bin/flutter_plugin_tools.dart build-examples --macos --swift-package-manager --packages=google_sign_in_ios

// Run native tests
dart run script/tool/bin/flutter_plugin_tools.dart native-test --ios --packages=google_sign_in_ios
dart run script/tool/bin/flutter_plugin_tools.dart native-test --macos --packages=google_sign_in_ios

Sent a patch upstream to fix deprecation warnings that become errors: https://github.com/openid/AppAuth-iOS/pull/871

authors: loic-sharma vashworth


text:
Issue with CHROME_EXECUTABLE when used with Arc Browser

Steps to reproduce
I have installed Arc browser and I only have two browsers on my macOS system. Safari and Arc. So while running flutter doctor I always had an error saying Chrome Browser is missing. I set CHROME_EXECUTABLE to point to the Arc app so Flutter knows I am using that browser.
Now every time I run flutter doctor or even open a flutter project in VS Code I am getting this issue.
Steps:

Install Arc Browser
Set CHROME_EXECUTABLE to Arc App
Run flutter doctor or just open any flutter project in VSCode
You will see a new window or error dialog of Arc (screenshot attached)

Also running flutter doctor takes time after showing VS Code (version 1.89.0) because after that line flutter checks for available devices. That scanning process took some time and showed the dialog I mentioned and in the case of flutter doctor -v, the command got stuck at searching for connected devices until I closed that dialog.
Expected results
flutter doctor should run normally as CHROME_EXECUTABLE set to Chrome Browser path as Arc is also a Chromium-based browser.
Actual results
While running flutter doctor or opening a flutter project on VSCode Arc displays that error window.
While running flutter doctor -v command got stuck scanning for connected devices until I closed the error window of Arc that opened after running this command.
Code sample
Code sample
flutter doctor
flutter doctor -v

Screenshots or Video

Screenshots / Video demonstration

Here is the Screen Recording
https://drive.google.com/file/d/1edTlctlX2ql7xgPUOnh1zlrL9I_3Uuqp/view

Flutter Doctor output
Doctor output of Stable
[✓] Flutter (Channel stable, 3.19.6, on macOS 14.4.1 23E224 darwin-arm64, locale en-US)
    • Flutter version 3.19.6 on channel stable at /Users/os/Developer/sdk/flutter
    • Upstream repository git@github.com:flutter/flutter.git
    • Framework revision 54e66469a9 (3 weeks ago), 2024-04-17 13:08:03 -0700
    • Engine revision c4cd48e186
    • Dart version 3.3.4
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0-rc1)
    • Android SDK at /Users/os/Library/Android/sdk
    • Platform android-34, build-tools 35.0.0-rc1
    • ANDROID_HOME = /Users/os/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/os/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Arc.app/Contents/MacOS/Arc

[✓] Android Studio (version 2023.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)

[✓] VS Code (version 1.89.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.88.0

[✓] Connected device (2 available)
    • macOS (desktop)   • macos                                         • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)      • chrome                                        • web-javascript •

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Doctor output of Master Chanel
[!] Flutter (Channel master, 3.22.0-30.0.pre.11, on macOS 14.4.1 23E224 darwin-arm64, locale en-US)
    • Flutter version 3.22.0-30.0.pre.11 on channel master at /Users/os/Developer/sdk/flutter-dev
    ! Warning: `flutter` on your path resolves to /Users/os/Developer/sdk/flutter/bin/flutter, which is not inside your current Flutter SDK
      checkout at /Users/os/Developer/sdk/flutter-dev. Consider adding /Users/os/Developer/sdk/flutter-dev/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/os/Developer/sdk/flutter/bin/dart, which is not inside your current Flutter SDK checkout at
      /Users/os/Developer/sdk/flutter-dev. Consider adding /Users/os/Developer/sdk/flutter-dev/bin to the front of your path.
    ! Upstream repository git@github.com:kishan-dhankecha/flutter.git is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to git@github.com:kishan-dhankecha/flutter.git to dismiss this error.
    • Framework revision c90e18c6f5 (9 hours ago), 2024-05-09 20:32:11 -0700
    • Engine revision c0917b14fc
    • Dart version 3.5.0 (build 3.5.0-138.0.dev)
    • DevTools version 2.36.0-dev.5
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks
      and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0-rc1)
    • Android SDK at /Users/os/Library/Android/sdk
    • Platform android-34, build-tools 35.0.0-rc1
    • ANDROID_HOME = /Users/os/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/os/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Arc.app/Contents/MacOS/Arc

[✓] Android Studio (version 2023.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)

[✓] VS Code (version 1.89.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.88.0

[✓] Connected device (3 available)
    • macOS (desktop)                 • macos                                         • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                         • darwin         • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)                    • chrome                                        • web-javascript •

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

I never heard about Arc Browser before, but it is obviously a different browser than Chrome. I don't understand why you want to specify it as a CHROME_EXECUTABLE. Even though it claims to be a Chromium-based, it doesn't mean that it is 100% compatible with Chrome. It is possible that browser doesn't support some features that Flutter needs.
If you want to use a different browser, you can run flutter with $ flutter run -d web-server and then open the browser of your choice and navigate to http://localhost:PORT where PORT is the port number that flutter printed to the console.

I can reproduce this with Arc but not with Edge(another chromium-based browser).  Arc might be doing something else that under the hood that leads to the crash/delay with retrieving the connected devices.
Labeling for further investigation

flutter doctor -v
[✓] Flutter (Channel stable, 3.19.6, on macOS 14.4.1 23E224 darwin-arm64, locale en-GB)
    • Flutter version 3.19.6 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 54e66469a9 (4 weeks ago), 2024-04-17 13:08:03 -0700
    • Engine revision c4cd48e186
    • Dart version 3.3.4
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Users/nexus/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode-15.3.0.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Arc.app/Contents/MacOS/Arc

[✓] Android Studio (version 2023.1)
    • Android Studio at /Users/nexus/Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.5)
    • IntelliJ at /Users/nexus/Applications/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 77.2.2
    • Dart plugin version 232.10286

[✓] VS Code (version 1.88.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.88.0

[✓] Connected device (4 available)
    • Nexus (mobile)       • 00008020-001875E83A38002E • ios            • iOS 17.4.1 21E236
    • Dean’s iPad (mobile) • 00008103-000825C811E3401E • ios            • iOS 17.4.1 21E236
    • macOS (desktop)      • macos                     • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)         • chrome                    • web-javascript •

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.22.0-31.0.pre.21, on macOS 14.4.1 23E224 darwin-arm64, locale en-GB)
    • Flutter version 3.22.0-31.0.pre.21 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current
      Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front
      of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current
      Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c336c2a44e (69 minutes ago), 2024-05-13 01:47:29 -0400
    • Engine revision 57e74a1b38
    • Dart version 3.5.0 (build 3.5.0-147.0.dev)
    • DevTools version 2.36.0-dev.5
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to
      perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Users/nexus/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode-15.3.0.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Arc.app/Contents/MacOS/Arc

[✓] Android Studio (version 2023.1)
    • Android Studio at /Users/nexus/Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.2.5)
    • IntelliJ at /Users/nexus/Applications/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 77.2.2
    • Dart plugin version 232.10286

[✓] VS Code (version 1.88.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.88.0

[✓] Connected device (5 available)
    • Nexus (mobile)                  • 00008020-001875E83A38002E • ios            • iOS 17.4.1 21E236
    • Dean’s iPad (mobile)            • 00008103-000825C811E3401E • ios            • iOS 17.4.1 21E236
    • macOS (desktop)                 • macos                     • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad     • darwin         • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)                    • chrome                    • web-javascript •

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Thanks for the detailed issue report!
To my knowledge, Flutter only officially supports debugging with Google Chrome^1. Flutter will try to work with any Chromium-based browser (like Edge), but compatibility is not guaranteed.
If you wish to test your Flutter web app on Arc, @bc-lee's earlier comment might be helpful.

authors: andrewkolos bc-lee danagbemava-nc kishan-dhankecha


text:
mac-12 lost external connection from phone device.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
mac-12 lost external connection from phone device.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Rebooting phone device to restore connection.


text:
Drawer width should vary based on device size

The drawer width is too narrow on the small iPhone screens (iPhone SE, 5, etc) and leaves only a narrow tap section on the right side of the screen to close. The user can still swipe to close but it may not be obvious to them, especially if they opened the menu by tapping instead of swiping.
The width is hardcoded at 304.0 right now https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/drawer.dart#L41
I found this TODO for the drawer
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/drawer.dart#L28
// TODO(eseidel): Draw width should vary based on device size:
// http://material.google.com/layout/structure.html#structure-side-nav

// Mobile:
// Width = Screen width − 56 dp
// Maximum width: 320dp
// Maximum width applies only when using a left nav. When using a right nav,
// the panel can cover the full width of the screen.

// Desktop/Tablet:
// Maximum width for a left nav is 400dp.
// The right nav can vary depending on content.

You can still change the size from the outside
https://stackoverflow.com/questions/51174594/is-there-any-alternative-way-to-change-the-scaffold-drawer-width

This is a good workaround until this issue gets fixed.
return LayoutBuilder(
  builder: (BuildContext context, BoxConstraints constraints) {
    return Drawer(
      width: MediaQuery.of(context).size.width - 56,
      // ...

authors: GCSBOSS jklint-g zoechi