Skip to content

Conversation

@dnfield
Copy link
Contributor

@dnfield dnfield commented Jun 27, 2019

Description

Updates the documentation on Element.reassemble to clarify that builds may get scheduled before it after a hot reload in the presence of animations, timers, or debuggers.

Several attempts were made to fix this issue; while the solution may be possible, it is unreasonably difficult and would probably break other things. The core problem is that even though the service isolate can try to push reassemble to the head of the queue, any async calls done at any point after that can interrupt some element getting a reassemble call. Pausing the animator fixes cases where animations cause this, but makes hot reload feel slow (animations stop for a fraction of a second or more) and doesn't solve the problem of other timers or async processes messing things up.

Related Issues

Clarifies #26503

Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I signed the CLA.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I updated/added relevant documentation (doc comments with ///).
  • All existing and new tests are passing.
  • The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Does your PR require Flutter developers to manually update their apps to accommodate your change?

  • Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
  • No, this is not a breaking change.

@dnfield dnfield added framework flutter/packages/flutter repository. See also f: labels. d: api docs Issues with https://api.flutter.dev/ labels Jun 27, 2019
@dnfield
Copy link
Contributor Author

dnfield commented Jun 27, 2019

/cc @rrousselGit

Copy link
Member

@goderbauer goderbauer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Based on your previous attempts, documenting the current behavior seems fine to me.

/cc @Hixie

@dnfield dnfield requested a review from Hixie July 1, 2019 18:21
@Hixie
Copy link
Contributor

Hixie commented Jul 1, 2019

This doesn't fix #26503, it just documents the failure. Which is fine, but we shouldn't close #26503 as a result.

@dnfield dnfield merged commit e2a55fe into flutter:master Jul 2, 2019
tango5614 added a commit to tango5614/flutter that referenced this pull request Jul 4, 2019
* commit 'a0c47e2216a2b50b70c478001cf5652f31a783af': (187 commits)
  Do not use ideographic baseline for RenderPargraph baseline (flutter#35493)
  Add type to StreamChannel in generated test code. (flutter#35367)
  Fix RenderFittedBox when child.size.isEmpty (flutter#35487)
  add APK build time benchmarks (flutter#35481)
  fix Selection handles position is off (flutter#34665)
  Move usage flutter create tests into memory filesystem. (flutter#35160)
  Include tags in SemanticsNode debug properties (flutter#35491)
  Re-apply 'Add currentSystemFrameTimeStamp to SchedulerBinding' (flutter#35492)
  CupertinoTextField vertical alignment (flutter#34723)
  Mark update-packages as non-experimental (flutter#35467)
  fix default artifacts to exclude ios and android (flutter#35303)
  Roll engine ffba2f6..7d3e722 (59 commits) (flutter#35489)
  Update macrobenchmarks README and app name (flutter#35477)
  mark windows and macos chrome dev mode as flaky (flutter#35495)
  Use the new service protocol message names (flutter#35482)
  Manual roll of engine 45b66b7...ffba2f6 (flutter#35464)
  more ui-as-code (flutter#35393)
  update reassemble doc (flutter#35164)
  New parameter for RawGestureDetector to customize semantics mapping (flutter#33936)
  Add --target support for Windows and Linux (flutter#34660)
  ...
johnsonmh pushed a commit to johnsonmh/flutter that referenced this pull request Jul 30, 2019
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 5, 2021
chinmaygarde pushed a commit to flutter/engine that referenced this pull request Sep 23, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

customer: product d: api docs Issues with https://api.flutter.dev/ framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants