Repository: flutter
Issue: StatefulShellRoute throws duplicate GlobalKey on quick transition
Labels: package,has reproducible steps,P2,p: go_router,team-go_router,triaged-go_router,found in release: 3.22

### Steps to reproduce

1. Write a minimal app with top level routes: StatefulShellRoute(/home) and GoRoute(/loading))
2. The /home page has a button to go to /loading
3. The /loading page schedules a future to `context.go('/home')`

### Expected results

When pressing the button, the app should successfully return to the home page without error.

### Actual results

A Duplicate GlobalKey error is thrown for the `StatefulNavigationShellState`.

### Code sample

<details open><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';


void main() {
  runApp(MaterialApp.router(
      routerConfig: GoRouter(initialLocation: '/home', routes: [
    GoRoute(
        path: '/loading',
        builder: (context, _) {
          Future.delayed(
              const Duration(milliseconds: 50 /* Too fast! 500 is ok */),
              () => context.go('/home'));
          return const Scaffold(body: Text('Loading...'));
        }),
    StatefulShellRoute.indexedStack(
        builder: (_, __, navigationShell) => Scaffold(body: navigationShell),
        branches: [
          StatefulShellBranch(routes: [
            GoRoute(
                path: '/home',
                builder: (context, _) => MaterialButton(
                      child: const Text('Go to Loading'),
                      onPressed: () => context.go('/loading'),
                    ))
          ])
        ])
  ])));
}
```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>

![image](https://github.com/flutter/flutter/assets/146096721/7563dac9-3dff-492b-8aa8-ec074fba6a79)

</details>


### Logs

<details open><summary>Logs</summary>

```console
$ flutter run --verbose                                                                                                
[   +7 ms] executing: uname -m                                                                                                              
[   +4 ms] Exit code 0 from: uname -m                                                                                                       
[        ] x86_64                                                                                                                           
[  +32 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.                                             
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.                                           
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.                                                      
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.                                                           
[        ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.                                                  
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.                                                  
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.                                                    
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.                                                    
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.                                                
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.                                                
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.                                               
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.                                               
[  +25 ms] executing: /home/mike/Android/Sdk/platform-tools/adb devices -l                                                                  
[  +16 ms] List of devices attached                                                                                                         
[  +12 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.                                             
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.                                           
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.                                                      
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.                                                  
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.                                                    
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.                                                
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.                                                
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.                                               
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.                                               
[  +41 ms] Connected devices:                                                                                                               
[  +28 ms] Linux (desktop) • linux  • linux-x64      • Ubuntu 22.04.4 LTS 6.5.0-35-generic                                                  
[        ] Chrome (web)    • chrome • web-javascript • Google Chrome 125.0.6422.60                                                          
[        ] [1]: Linux (linux)                                                                                                               
[        ] [2]: Chrome (chrome)                                                                                                             
[        ] Please choose one (or "q" to quit)                                                                                               
[        ] :                                                                                                                                
[+2160 ms] 1                                                                                                                                
[   +9 ms] Skipping pub get: version match.                                                                                                 
[  +85 ms] Generating /home/mike/git/bug/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java                        
[  +40 ms] No packages with native assets. Skipping native assets compilation.                                                              
[   +1 ms] Initializing file store                                                                                                          
[   +4 ms] Skipping target: gen_localizations                                                                                               
[   +2 ms] gen_dart_plugin_registrant: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents:     
/home/mike/git/bug/.dart_tool/package_config_subset}                                                                                        
[  +26 ms] gen_dart_plugin_registrant: Complete                                                                                             
[        ] Skipping target: _composite                                                                                                      
[        ] complete                                                                                                                         
[   +2 ms] Launching lib/main.dart on Linux in debug mode...                                                                                
[   +2 ms] /home/mike/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/dartaotruntime --disable-dart-dev                                  
/home/mike/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/snapshots/frontend_server_aot.dart.snapshot --sdk-root                        
/home/mike/snap/flutter/common/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --incremental --target=flutter                
--experimental-emit-debug-metadata                                                                                                          
-DFLUTTER_WEB_CANVASKIT_URL=https://www.gstatic.com/flutter-canvaskit/f6344b75dcf861d8bf1f1322780b8811f982e31a/ --output-dill               
/tmp/flutter_tools.PJUZVC/flutter_tool.NYKPOW/app.dill --packages /home/mike/git/bug/.dart_tool/package_config.json -Ddart.vm.profile=false 
-Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill               
build/1bcac9131f185b5e8bd0f600f6ffecf8.cache.dill.track.dill --verbosity=error --enable-experiment=alternative-invalidation-strategy
[  +12 ms] Building Linux application...                                                                                                    
[   +4 ms] <- compile package:bug/main.dart                                                                                                 
[        ] executing: [build/linux/x64/debug/] cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DFLUTTER_TARGET_PLATFORM=linux-x64                  
/home/mike/git/bug/linux                                                                                                                    
[  +25 ms] -- Configuring done                                                                                                              
[   +4 ms] -- Generating done                                                                                                               
[        ] -- Build files have been written to: /home/mike/git/bug/build/linux/x64/debug                                                    
[   +3 ms] executing: ninja -C build/linux/x64/debug install                                                                                
[   +5 ms] ninja: Entering directory `build/linux/x64/debug'                                                                                
[+1110 ms] [1/5] Generating /home/mike/git/bug/linux/flutter/ephemeral/libflutter_linux_gtk.so,                                             
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_basic_message_channel.h,                                                        
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_binary_codec.h,                                                                 
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_binary_messenger.h,                                                             
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_dart_project.h,                                                                 
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_engine.h,                                                                       
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_json_message_codec.h,                                                           
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_json_method_codec.h,                                                            
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_message_codec.h,                                                                
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_method_call.h,                                                                  
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_method_channel.h,                                                               
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_method_codec.h,                                                                 
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_method_response.h,                                                              
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_plugin_registrar.h,                                                             
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_plugin_registry.h,                                                              
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_standard_message_codec.h,                                                       
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_standard_method_codec.h,                                                        
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_string_codec.h,                                                                 
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_value.h, /home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/fl_view.h,    
/home/mike/git/bug/linux/flutter/ephemeral/flutter_linux/flutter_linux.h, _phony_                                                           
[   +1 ms] [   +7 ms] executing: uname -m                                                                                                   
[        ] [   +4 ms] Exit code 0 from: uname -m                                                                                            
[        ] [        ] x86_64                                                                                                                
[        ] [  +17 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.                                  
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.                                
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.                                           
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.                                                
[        ] [        ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.                                       
[        ] [   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.                                       
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.                                         
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.                                         
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.                                     
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.                                     
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.                                    
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.   
[        ] [  +47 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.                                                
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.                                                
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.                                  
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.                                
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.                                           
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.                                                
[        ] [        ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.                                       
[        ] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.                                                   
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.                                       
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.                                         
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.                                     
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.                                     
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.                                    
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.                                    
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.                                              
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.                                              
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.                                              
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.                                              
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.                                              
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.                                          
[        ] [        ] Artifact Instance of 'PubDependencies' is not required, skipping update.                                              
[        ] [  +11 ms] Initializing file store                                                                                               
[        ] [   +5 ms] Done initializing file store                                                                                          
[        ] [  +20 ms] Skipping target: native_assets                                                                                        
[        ] [        ] Skipping target: gen_localizations                                                                                    
[        ] [   +1 ms] Skipping target: gen_dart_plugin_registrant                                                                           
[        ] [ +308 ms] Skipping target: unpack_linux                                                                                         
[        ] [ +211 ms] Skipping target: kernel_snapshot                                                                                      
[        ] [ +144 ms] Skipping target: debug_bundle_linux-x64_assets                                                                        
[        ] [        ] Persisting file store                                                                                                 
[        ] [   +5 ms] Done persisting file store                                                                                            
[        ] [   +2 ms] build succeeded.                                                                                                      
[        ] [   +4 ms] "flutter assemble" took 769ms.                                                                                        
[        ] [  +40 ms] ensureAnalyticsSent: 38ms                                                                                             
[        ] [        ] Running 0 shutdown hooks                                                                                              
[        ] [        ] Shutdown hooks complete                                                                                               
[        ] [        ] exiting with code 0                                                                                                   
[ +284 ms] [2/5] Building CXX object CMakeFiles/bug.dir/flutter/generated_plugin_registrant.cc.o                                            
[  +26 ms] [3/5] Building CXX object CMakeFiles/bug.dir/my_application.cc.o                                                                 
[  +76 ms] [4/5] Linking CXX executable intermediates_do_not_run/bug                                                                        
[        ] [4/5] Install the project...                                                                                                     
[   +7 ms] -- Install configuration: "Debug"                                                                                                
[  +12 ms] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/bug                                                               
[        ] -- Set runtime path of "/home/mike/git/bug/build/linux/x64/debug/bundle/bug" to "$ORIGIN/lib"                                    
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/icudtl.dat                                                   
[   +1 ms] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/lib/libflutter_linux_gtk.so                                       
[  +48 ms] -- Up-to-date: /home/mike/git/bug/build/linux/x64/debug/bundle/lib                                                               
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets                                               
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/NOTICES.Z                                     
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/fonts                                         
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/fonts/MaterialIcons-Regular.otf               
[   +1 ms] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/AssetManifest.bin                             
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/packages                                      
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_icons                      
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_icons/assets               
[        ] -- Installing:                                                                                                                   
/home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf                      
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/kernel_blob.bin                               
[  +41 ms] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/FontManifest.json                             
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/AssetManifest.json                            
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/version.json
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/shaders
[        ] -- Installing: /home/mike/git/bug/build/linux/x64/debug/bundle/data/flutter_assets/shaders/ink_sparkle.frag
[   +9 ms] Building Linux application... (completed in 1,665ms)
[   +1 ms] ✓ Built build/linux/x64/debug/bundle/bug
[ +283 ms] VM Service URL on device: http://127.0.0.1:43447/BKsIOZQXUpA=/
[   +1 ms] Caching compiled dill
[  +57 ms] Connecting to service protocol: http://127.0.0.1:43447/BKsIOZQXUpA=/
[  +78 ms] Launching a Dart Developer Service (DDS) instance at http://127.0.0.1:0, connecting to VM service at
http://127.0.0.1:43447/BKsIOZQXUpA=/.
[  +52 ms] DDS is listening at http://127.0.0.1:35765/DTfwZQCjElA=/.
[  +38 ms] Successfully connected to service protocol: http://127.0.0.1:43447/BKsIOZQXUpA=/
[  +31 ms] DevFS: Creating new filesystem on the device (null)
[   +9 ms] DevFS: Created new filesystem on the device (file:///tmp/bugBFZPAH/bug/)
[   +1 ms] Updating assets
[  +52 ms] Syncing files to device Linux...
[   +1 ms] Compiling dart to kernel with 0 updated files
[        ] Processing bundle.
[        ] <- recompile package:bug/main.dart dd102ca6-0df0-4e87-9f77-f199e83414b8
[        ] <- dd102ca6-0df0-4e87-9f77-f199e83414b8
[        ] Bundle processing done.
[  +60 ms] Updating files.
[        ] DevFS: Sync finished
[        ] Syncing files to device Linux... (completed in 63ms)
[        ] Synced 0.0MB.
[        ] <- accept
[  +11 ms] Connected to _flutterView/0x1bb0bf0.
[   +1 ms] Flutter run key commands.
[        ] r Hot reload. 🔥🔥🔥
[        ] R Hot restart.
[        ] h List all available interactive commands.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ] A Dart VM Service on Linux is available at: http://127.0.0.1:35765/DTfwZQCjElA=/
[ +247 ms] The Flutter DevTools debugger and profiler on Linux is available at:
http://127.0.0.1:9101?uri=http://127.0.0.1:35765/DTfwZQCjElA=/
[ +987 ms] ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
                    The following assertion was thrown while finalizing the widget tree:
                    Duplicate GlobalKey detected in widget tree.
                    The following GlobalKey was specified multiple times in the widget tree. This will lead to parts of
                    the widget tree being truncated unexpectedly, because the second time a key is seen, the previous
                    instance is moved to the new location. The key was:
                    - [LabeledGlobalKey<StatefulNavigationShellState>#c169d]
                    This was determined by noticing that after the widget with the above global key was moved out of its
                    previous parent, that previous parent never updated during this frame, meaning that it either did
                    not update at all or updated before the widget was moved, in either case implying that it still
                    thinks that it should have a child with that global key.
                    The specific parent that did not update after having one or more children forcibly removed due to
                    GlobalKey reparenting is:
                    - KeyedSubtree-[GlobalKey#4d589]
                    A GlobalKey can only be specified on one widget at a time in the widget tree.
                    
                    When the exception was thrown, this was the stack:
                    #0      BuildOwner.finalizeTree.<anonymous closure> (package:flutter/src/widgets/framework.dart:3235:15)
                    #1      BuildOwner.finalizeTree (package:flutter/src/widgets/framework.dart:3260:8)
                    #2      WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1143:19)
                    #3      RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:443:5)
                    #4      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1392:15)
                    #5      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1313:9)
                    #6      SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1171:5)
                    #7      _invoke (dart:ui/hooks.dart:312:13)
                    #8      PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:419:5)
                    #9      _drawFrame (dart:ui/hooks.dart:283:31)
                    ════════════════════════════════════════════════════════════════════════════════════════════════════
[+2109 ms] DevFS: Deleting filesystem on the device (file:///tmp/bugBFZPAH/bug/)
[   +3 ms] DevFS: Deleted filesystem on the device (file:///tmp/bugBFZPAH/bug/)
[  +28 ms] Application finished.
[   +2 ms] "flutter run" took 8,235ms.
[  +10 ms] Service protocol connection closed.
[  +13 ms] ensureAnalyticsSent: 20ms
[        ] Running 1 shutdown hook
[        ] Shutdown hooks complete
[        ] exiting with code 0
```

</details>


### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
$ flutter doctor -v
[✓] Flutter (Channel stable, 3.22.0, on Ubuntu 22.04.4 LTS 6.5.0-35-generic, locale en_GB.UTF-8)
    • Flutter version 3.22.0 on channel stable at /home/mike/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5dcb86f68f (12 days ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/mike/Android/Sdk
    • Platform android-33, build-tools 31.0.0
    • Java binary at: /snap/android-studio/current/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[!] Android Studio (version unknown)
    • Android Studio at /snap/android-studio/current
    • 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
    ✗ Unable to determine Android Studio version.
    • android-studio-dir = /snap/android-studio/current
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)

[✓] VS Code (version 1.89.1)
    • VS Code at /snap/code/current/usr/share/code
    • Flutter extension version 3.88.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 22.04.4 LTS 6.5.0-35-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 125.0.6422.60

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.
```

</details>