-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
Closed
Copy link
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: widget previewsIssues related to the Widget Previewer toolingIssues related to the Widget Previewer toolingfound in release: 3.32Found to occur in 3.32Found to occur in 3.32found in release: 3.33Found to occur in 3.33Found to occur in 3.33has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-toolOwned by Flutter Tool teamOwned by Flutter Tool teamtoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.triaged-toolTriaged by Flutter Tool teamTriaged by Flutter Tool team
Description
Steps to reproduce
- Make sure
flutter deviceslists Google Chrome, otherwise the widget previews will not work - Create a new empty pub workspace
- Create a new flutter project in a subfolder of that workspace using
flutter create - Make sure to set
resolution: workspacein the new flutter project - Make sure to add the new flutter project to the workspace list of packages
- Add the following sample widget preview to
lib/main.dartin the new flutter project:
@Preview()
Widget preview() => Text("test");- Run
flutter pub get(from the workspace root) - Run
flutter widget-preview start(from the workspace root)
Expected results
The Widget previews page should open in the browser
Actual results
The command fails with a compile error because the import cannot be resolved:
See these GitHub Actions workflow run results: https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039
Code sample
https://github.com/benthillerkus/widget-preview-repro-workspaces
Screenshots or Video
Screenshots / Video demonstration
[Upload media here]
Logs
Logs
Downloading Web SDK...
Creating widget preview scaffolding at: /home/runner/work/widget-preview-repro-workspaces/widget-preview-repro-workspaces/.dart_tool/widget_preview_scaffold
.dart_tool/widget_preview_scaffold/web/favicon.png (created)
.dart_tool/widget_preview_scaffold/web/icons/Icon-maskable-192.png (created)
.dart_tool/widget_preview_scaffold/web/icons/Icon-192.png (created)
.dart_tool/widget_preview_scaffold/web/icons/Icon-512.png (created)
.dart_tool/widget_preview_scaffold/web/icons/Icon-maskable-512.png (created)
.dart_tool/widget_preview_scaffold/web/index.html (created)
.dart_tool/widget_preview_scaffold/web/manifest.json (created)
.dart_tool/widget_preview_scaffold/analysis_options.yaml (created)
.dart_tool/widget_preview_scaffold/lib/main.dart (created)
.dart_tool/widget_preview_scaffold/pubspec.yaml (created)
.dart_tool/widget_preview_scaffold/.gitignore (created)
.dart_tool/widget_preview_scaffold/.idea/modules.xml (created)
.dart_tool/widget_preview_scaffold/.idea/libraries/KotlinJavaRuntime.xml (created)
.dart_tool/widget_preview_scaffold/.idea/libraries/Dart_SDK.xml (created)
.dart_tool/widget_preview_scaffold/.idea/workspace.xml (created)
.dart_tool/widget_preview_scaffold/.idea/runConfigurations/main_dart.xml (created)
.dart_tool/widget_preview_scaffold/widget_preview_scaffold.iml (created)
.dart_tool/widget_preview_scaffold/README.md (created)
.dart_tool/widget_preview_scaffold/lib/src/widget_preview_rendering.dart (created)
.dart_tool/widget_preview_scaffold/lib/src/dtd_services.dart (created)
.dart_tool/widget_preview_scaffold/lib/src/generated_preview.dart (created)
.dart_tool/widget_preview_scaffold/lib/src/controls.dart (created)
.dart_tool/widget_preview_scaffold/lib/src/widget_preview.dart (created)
.dart_tool/widget_preview_scaffold/lib/src/utils.dart (created)
Creating the Widget Preview Scaffold manifest at /home/runner/work/widget-preview-repro-workspaces/widget-preview-repro-workspaces/.dart_tool/widget_preview_scaffold/preview_manifest.json
Resolving dependencies in `.dart_tool/widget_preview_scaffold`...
Downloading packages...
Got dependencies in `.dart_tool/widget_preview_scaffold`.
Resolving dependencies in `/home/runner/work/widget-preview-repro-workspaces/widget-preview-repro-workspaces/.dart_tool/widget_preview_scaffold`...
Downloading packages...
json_rpc_2 3.0.3 (4.0.0 available)
lints 5.1.1 (6.0.0 available)
material_color_utilities 0.11.1 (0.12.0 available)
meta 1.16.0 (1.17.0 available)
test_api 0.7.4 (0.7.6 available)
vector_math 2.1.4 (2.2.0 available)
vm_service 15.0.0 (15.0.1 available)
+ workspace 0.0.0 from path .
Changed 1 dependency in `/home/runner/work/widget-preview-repro-workspaces/widget-preview-repro-workspaces/.dart_tool/widget_preview_scaffold`!
7 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
"dtd" is already in "dependencies". Will try to update the constraint.
"flutter_lints" is already in "dependencies". Will try to update the constraint.
"stack_trace" is already in "dependencies". Will try to update the constraint.
"url_launcher" is already in "dependencies". Will try to update the constraint.
Resolving dependencies in `/home/runner/work/widget-preview-repro-workspaces/widget-preview-repro-workspaces/.dart_tool/widget_preview_scaffold`...
Downloading packages...
json_rpc_2 3.0.3 (4.0.0 available)
lints 5.1.1 (6.0.0 available)
material_color_utilities 0.11.1 (0.12.0 available)
meta 1.16.0 (1.17.0 available)
test_api 0.7.4 (0.7.6 available)
vector_math 2.1.4 (2.2.0 available)
vm_service 15.0.0 (15.0.1 available)
Got dependencies in `/home/runner/work/widget-preview-repro-workspaces/widget-preview-repro-workspaces/.dart_tool/widget_preview_scaffold`!
7 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
Resolving dependencies in `.dart_tool/widget_preview_scaffold`...
Downloading packages...
Got dependencies in `.dart_tool/widget_preview_scaffold`.
Finding previews in /home/runner/work/widget-preview-repro-workspaces/widget-preview-repro-workspaces...
Found 1 preview.
Launching the Widget Preview Scaffold...
[{"event":"daemon.connected","params":{"version":"0.6.1","pid":2616}}]
[{"event":"app.start","params":{"appId":"d9e[8](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:9)0c6b-7f66-4aa9-ba54-5dd50b99bf23","deviceId":"chrome","directory":"/home/runner/work/widget-preview-repro-workspaces/widget-preview-repro-workspaces/.dart_tool/widget_preview_scaffold","supportsRestart":true,"launchMode":"run","mode":"debug"}}]
Launching lib/main.dart on Chrome in debug mode...
[{"event":"app.progress","params":{"appId":"d[9](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:10)e80c6b-7f66-4aa9-ba54-5dd50b99bf23","id":"1","progressId":null,"message":"Waiting for connection from debug service on Chrome...","finished":false}}]
Error: Couldn't resolve the package 'test' in 'package:test/main.dart'.
lib/src/generated_preview.dart:3:8: Error: Not found: 'package:test/main.dart'
import 'package:test/main.dart' as _i2;
^
lib/src/generated_preview.dart:6:43: Error: Method not found: 'preview'.
[_i1.WidgetPreview(builder: () => _i2.preview())];
^^^^^^^
Unhandled exception:
Unsupported operation: Unsupported invalid type InvalidType(<invalid>) (InvalidType). Encountered while compiling file:///home/runner/work/widget-preview-repro-workspaces/widget-preview-repro-workspaces/.dart_tool/widget_preview_scaffold/lib/src/generated_preview.dart, which contains the type: FunctionType(<invalid> Function()).
#0 LibraryCompiler._typeCompilationError (package:dev_compiler/src/kernel/compiler_new.dart:3930)
#1 LibraryCompiler._emitType (package:dev_compiler/src/kernel/compiler_new.dart:3899)
#2 LibraryCompiler._emitFunctionTagged (package:dev_compiler/src/kernel/compiler_new.dart:3773)
#3 LibraryCompiler.visitFunctionExpression (package:dev_compiler/src/kernel/compiler_new.dart:7825)
#4 FunctionExpression.accept (package:kernel/src/ast/expressions.dart:4608)
#5 LibraryCompiler._visitExpression (package:dev_compiler/src/kernel/compiler_new.dart:4508)
#6 LibraryCompiler._emitNamedExpression (package:dev_compiler/src/kernel/compiler_new.dart:7090)
#7 LibraryCompiler._emitArgumentGroups (package:dev_compiler/src/kernel/compiler_new.dart:7078)
#8 LibraryCompiler._emitArgumentList (package:dev_compiler/src/kernel/compiler_new.dart:7041)
#9 LibraryCompiler.visitConstructorInvocation (package:dev_compiler/src/kernel/compiler_new.dart:7306)
#[10](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:11) ConstructorInvocation.accept (package:kernel/src/ast/expressions.dart:2686)
#[11](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:12) LibraryCompiler._visitExpression (package:dev_compiler/src/kernel/compiler_new.dart:4508)
#[12](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:13) MappedIterable.elementAt (dart:_internal/iterable.dart:402)
#13 ListIterator.moveNext (dart:_internal/iterable.dart:371)
#14 new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194)
#15 new _GrowableList.of (dart:core-patch/growable_array.dart:154)
#16 new List.of (dart:core-patch/array_patch.dart:39)
#17 SetBase.toList (dart:collection/set.dart:119)
#18 LibraryCompiler._visitExpressionList (package:dev_compiler/src/kernel/compiler_new.dart:4471)
#19 LibraryCompiler.visitListLiteral (package:dev_compiler/src/kernel/compiler_new.dart:7699)
#20 ListLiteral.accept (package:kernel/src/ast/expressions.dart:4162)
#21 LibraryCompiler._visitExpression (package:dev_compiler/src/kernel/compiler_new.dart:4508)
#22 LibraryCompiler.visitReturnStatement (package:dev_compiler/src/kernel/compiler_new.dart:5220)
#23 ReturnStatement.accept (package:kernel/src/ast/statements.dart:1076)
#24 LibraryCompiler._visitStatement (package:dev_compiler/src/kernel/compiler_new.dart:44[13](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:14))
#25 LibraryCompiler._emitFunctionScopedBody (package:dev_compiler/src/kernel/compiler_new.dart:4446)
#26 LibraryCompiler._emitFunction.<anonymous closure> (package:dev_compiler/src/kernel/compiler_new.dart:4094)
#27 LibraryCompiler._withLetScope (package:dev_compiler/src/kernel/compiler_new.dart:3191)
#28 LibraryCompiler._withCurrentFunction (package:dev_compiler/src/kernel/compiler_new.dart:4225)
#29 LibraryCompiler._emitFunction (package:dev_compiler/src/kernel/compiler_new.dart:4087)
#30 LibraryCompiler._emitLibraryFunction (package:dev_compiler/src/kernel/compiler_new.dart:3707)
#31 LibraryCompiler._emitLibraryMembers (package:dev_compiler/src/kernel/compiler_new.dart:3565)
#32 LibraryCompiler._emitLibrary (package:dev_compiler/src/kernel/compiler_new.dart:1164)
#33 LibraryCompiler.emitLibrary (package:dev_compiler/src/kernel/compiler_new.dart:822)
#34 LibraryBundleCompiler.emitModule (package:dev_compiler/src/kernel/compiler_new.dart:157)
#35 IncrementalJavaScriptBundler.compile (package:frontend_server/src/javascript_bundle.dart:259)
#36 FrontendCompiler.writeJavaScriptBundle (package:frontend_server/frontend_server.dart:875)
<asynchronous suspension>
#37 FrontendCompiler.compile (package:frontend_server/frontend_server.dart:690)
<asynchronous suspension>
#38 listenAndCompile.<anonymous closure> (package:frontend_server/frontend_server.dart:1399)
<asynchronous suspension>
[{"event":"app.stop","params":{"appId":"d9e80c6b-7f66-4aa9-ba54-5dd50b99bf23","error":"The Dart compiler exited unexpectedly.","trace":"#0 throwToolExit (package:flutter_tools/src/base/common.dart:34:3)\n#1 DefaultResidentCompiler._compile.<anonymous closure> (package:flutter_tools/src/compile.dart:894:15)\n#2 _rootRun (dart:async/zone.dart:1517:47)\n#3 _CustomZone.run (dart:async/zone.dart:[14](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:15)22:19)\n#4 _CustomZone.runGuarded (dart:async/zone.dart:1321:7)\n#5 _BufferingStreamSubscription._sendDone.sendDone (dart:async/stream_impl.dart:434:13)\n#6 _BufferingStreamSubscription._sendDone (dart:async/stream_impl.dart:444:7)\n#7 _BufferingStreamSubscription._close (dart:async/stream_impl.dart:333:7)\n#8 _SinkTransformerStreamSubscription._close (dart:async/stream_transformers.dart:91:11)\n#9 _EventSinkWrapper.close (dart:async/stream_transformers.dart:21:11)\n#10 _StringAdapterSink.close (dart:convert/string_conversion.dart:241:11)\n#11 _LineSplitterSink.close (dart:convert/line_splitter.dart:144:11)\n#12 _SinkTransformerStreamSubscription._handleDone (dart:async/stream_transformers.dart:136:24)\n#13 _rootRun (dart:async/zone.dart:[15](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:16)17:47)\n#14 _CustomZone.run (dart:async/zone.dart:1422:19)\n#15 _CustomZone.runGuarded (dart:async/zone.dart:1321:7)\n#[16](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:17) _BufferingStreamSubscription._sendDone.sendDone (dart:async/stream_impl.dart:434:13)\n#[17](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:18) _BufferingStreamSubscription._sendDone (dart:async/stream_impl.dart:444:7)\n#[18](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:19) _BufferingStreamSubscription._close (dart:async/stream_impl.dart:333:7)\n#[19](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:20) _SinkTransformerStreamSubscription._close (dart:async/stream_transformers.dart:91:11)\n#[20](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:21) _EventSinkWrapper.close (dart:async/stream_transformers.dart:[21](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:22):11)\n#21 _StringAdapterSink.close (dart:convert/string_conversion.dart:241:11)\n#[22](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:23) _Utf8ConversionSink.close (dart:convert/string_conversion.dart:301:20)\n#[23](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:24) _ConverterStreamEventSink.close (dart:convert/chunked_conversion.dart:79:18)\n#[24](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:25) _SinkTransformerStreamSubscription._handleDone (dart:async/stream_transformers.dart:136:24)\n#[25](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:26) _rootRun (dart:async/zone.dart:1517:47)\n#26 _CustomZone.run (dart:async/zone.dart:1422:19)\n#27 _CustomZone.runGuarded (dart:async/zone.dart:1321:7)\n#28 _BufferingStreamSubscription._sendDone.sendDone (dart:async/stream_impl.dart:434:13)\n#29 _BufferingStreamSubscription._sendDone (dart:async/stream_impl.dart:444:7)\n#30 _BufferingStreamSubscription._close (dart:async/stream_impl.dart:333:7)\n#31 _SyncStreamControllerDispatch._sendDone (dart:async/stream_controller.dart:806:19)\n#32 _StreamController._closeUnchecked (dart:async/stream_controller.dart:652:7)\n#33 _StreamController.close (dart:async/stream_controller.dart:645:5)\n#34 _Socket._onData (dart:io-patch/socket_patch.dart:2912:21)\n#35 _rootRunUnary (dart:async/zone.dart:1546:13)\n#36 _CustomZone.runUnary (dart:async/zone.dart:1429:19)\n#37 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329:7)\n#38 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381:11)\n#39 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:312:7)\n#40 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:798:19)\n#41 _StreamController._add (dart:async/stream_controller.dart:663:7)\n#42 _StreamController.add (dart:async/stream_controller.dart:618:5)\n#43 new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:2331:33)\n#44 _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1641:18)\n#45 _microtaskLoop (dart:async/schedule_microtask.dart:42:23)\n#46 _startMicrotaskLoop (dart:async/schedule_microtask.dart:60:5)\n#47 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:1[27](https://github.com/benthillerkus/widget-preview-repro-workspaces/actions/runs/15186404039/job/42707786840#step:6:28):13)\n#48 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:194:5)\n"}}]
Failed to compile application.
[{"event":"app.progress","params":{"appId":"d9e80c6b-7f66-4aa9-ba54-5dd50b99bf23","id":"2","progressId":null,"message":"Waiting for Flutter DevTools to be served...","finished":false}}]
Done loading previews.
[{"event":"app.progress","params":{"appId":"d9e80c6b-7f66-4aa9-ba54-5dd50b99bf23","id":"1","progressId":null,"finished":true}}]
Failed to launch the widget previewer.
Error: Process completed with exit code 1.Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.32.0, on macOS 15.5 24F74 darwin-arm64, locale en-DE) [558ms]
• Flutter version 3.32.0 on channel stable at /Users/bent/.puro/envs/stable/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision be698c48a6 (3 days ago), 2025-05-19 12:59:14 -0700
• Engine revision 1881800949
• Dart version 3.8.0
• DevTools version 2.45.1
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) [1,489ms]
• Android SDK at /Users/bent/Library/Android/sdk
• Platform android-35, build-tools 34.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 16.2) [1,042ms]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16C5032a
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [12ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2024.1) [12ms]
• 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.11+0-17.0.11b1207.24-11852314)
[✓] VS Code (version 1.100.2) [11ms]
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.110.0
[✓] Connected device (2 available) [6.3s]
• macOS (desktop) • macos • darwin-arm64 • macOS 15.5 24F74 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 137.0.7151.41
! Error: Browsing on the local area network for iPad von The. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code -27)
[✓] Network resources [318ms]
• All expected network resources are available.
• No issues found!^^ This is the output from my local dev machine, but please note that I was able to reproduce the issue setup on a matrix of Windows, macOS, Ubuntu, Flutter stable channel and master channel on GitHub Actions, so the issue is not related any local issues on my machine.
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: widget previewsIssues related to the Widget Previewer toolingIssues related to the Widget Previewer toolingfound in release: 3.32Found to occur in 3.32Found to occur in 3.32found in release: 3.33Found to occur in 3.33Found to occur in 3.33has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-toolOwned by Flutter Tool teamOwned by Flutter Tool teamtoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.triaged-toolTriaged by Flutter Tool teamTriaged by Flutter Tool team