mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
DTD only supports a single instance of a registered service with a given name. For widget preview development, we sometimes want to use a DTD instance that's attached to an IDE to test IDE integration. However, IDEs frequently spawn their own widget preview instances which register services with DTD. In the case where `flutter widget-preview start --dtd-url=<dtd-url>` is run and `dtd-url` points to a DTD instance with another widget preview service running, the process simply crashes. This change adds a unique identifier to the widget preview DTD service and stream names that allows for each `flutter widget-preview start` instance to register its own unique widget preview DTD services, even if other widget preview instances are using the same DTD instance. Fixes https://github.com/flutter/flutter/issues/179883
Widget Preview Scaffold Testing
This directory contains a hydrated instance of the widget_preview_scaffold project template that's used for generating the environment used by flutter widget-preview start to host Widget Previews, as well as utilities to detect if the hydrated instance is outdated when compared to the template files.
Updating the Hydrated Template
If any of the widget_preview_scaffold template files are updated, widget_preview_scaffold/test/template_change_detection_smoke_test.dart will fail to indicate that the hydrated scaffold needs to be regenerated. To do this, run dart test/widget_preview_scaffold.shard/update_widget_preview_scaffold.dart to regenerate the project.