Flutter tool's service client library tries to "upgrade" sub-components of service responses with higher level model objects. It does this for all members of the response, rather than only those documented in the version it targets, and it errors out when encountering a new type. This causes it to fail when a new field is introduced with a new typed. Clients are required to ignore this.
* Register getFlutterVersion service in flutter_tools.
* Add short revision ids to response.
* Rename method and remove obsolete comments.
* Fix broken test by adding sendPeerNotifications flag.
* Implement mockPeer.sendNotification.
This relands https://github.com/flutter/flutter/pull/35297
The followings have been done to fix the broken tests:
1. Add `didSendFirstFrameRasterizedEvent` extension and its tests
2. Wait for `didSendFirstFrameRasterizedEvent` instead of
`didSendFirstFrameEvent` during start up tests
3. Mark missed (probably newly added) start up tests as flaky
* some space formattings
* always use blocks in if-else if a block is used
* format spaces in for and while
* allow multiline if conditions
* fix missing space
* add trailing commas on list/map/parameters
* add trailing commas on Invocation with nb of arg>1
* add commas for widget containing widgets
* add trailing commas if instantiation contains trailing comma
* revert bad change
These are essentially self-inflicted race conditions. Instead of timeouts we're going to try a more verbose logging mechanism that points out when things are taking a long time.
* Remove many timeouts.
These are essentially self-inflicted race conditions. Instead of timeouts we're going to try a more verbose logging mechanism that points out when things are taking a long time.
* Get the attach tests to pass.
* Apply review comments from Todd
* More review comment fixes
* Put back the extended timeouts here now that I know why we have them...
* Revert "Revert "Run reload asynchronously so that multiple devices can reload in parallel. (#22693)" (#23598)"
This reverts commit 0b68068d6a33f35cec568ae6a9b394ff2a9fdb76.
* Fix refreshViews so it sends app-wide(rather than per-isolate) service request.
Sending per-isolate request caused dead-lock in the engine in case of more-than-one ui isolate.
* Revert "[H] Created a variant of InheritedWidget specifically for Listenables (#23393)"
This reverts commit 931328596ac48a848953f330a192fc33425a378a.
* Revert "Fix a race condition in vmservice_test.dart (#23529)"
This reverts commit 5e7b0a366b3fe55b99fa79461a94140c59ab3f07.
This reverts commit 709f54f4bbd776cb256a0edf885a64848121a894 as it seems to have broken two tests: flutter_gallery__back_button_memory, named_isolates_test.
`FlutterDevice.views` is limited by a filter. Pipe this filter up as an
option for the commands that instantiate `FlutterDevice`s. This is the
first change necessary for the CLI tooling to target specific isolates
(#22009).
More work needs to be done after this patch.
* Isolate names are dynamically generated and change every restart.
* This just filters views, not background isolates (`VMService.isolates`).