- 02 May, 2023 1 commit
-
-
Casey Rogers authored
cc'ing existing conversation participants: @domesticmouse @srawlins cc'ing to request review: @goderbauer This PR makes the following constructor arguments required: 1. `FutureBuilder.future` 2. `StreamBuilderBase.stream` 3. `StreamBuilder.stream` This fixes: https://github.com/flutter/flutter/issues/83081 https://github.com/flutter/flutter/issues/125188 (dupe of 83081) This obviates: https://github.com/dart-lang/linter/issues/4309 (I suggest we skip straight to merging this PR as this should be a low impact breaking change-assuming few to no devs are intentionally using the builders without their relevant arguments, however we could always merge 4309 first and then this) https://github.com/flutter/flutter/pull/83101 (The above PR required that at least one of future and initial data be non-null, this is undesirable as there are plenty of valid reasons to have both arguments be null) See above issues for a deeper dive, but here is a summary: It is very easy for a developer to forget to specify `future` or `stream` when using the respective `*Builder` widgets. This produces a non-obvious failure where the UI sits in a "no data yet received" state. It is easy for a dev to misinterpret this as the async work backing the future/stream hanging and they thus waste a lot of time trying to debug the async work. As such, we should require these two constructor arguments to make it impossible/much harder for devs to make this time-wasting mistake. This is a breaking change. However, it should break only a small number of active projects given that using a builder without specifying `future` or `stream` seems highly niche. The only place I've found non-accidental examples of this is in widget tests where you're calling `pumpWidget` with and without these arguments to test `*Builder.didUpdateWidget`'s behavior. In this and similar cases, it is a trivial fix to add `future: null`/`stream: null`. *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
-
- 12 Nov, 2022 1 commit
-
-
Dan Field authored
Make FutureBuilder handle SynchronousFuture correctly, reland SynchronousFuture usage in test assets (#115173) * Make FutureBuilder handle SynchronousFuture correctly * Reland "Load assets in flutter_test without turning event loop. (#115123)" (#115156)" This reverts commit 3895786f.
-
- 14 Apr, 2022 1 commit
-
-
Michael Goderbauer authored
-
- 07 Dec, 2021 1 commit
-
-
Remi Rousselet authored
-
- 08 Oct, 2021 3 commits
-
-
Ian Hickson authored
-
Zachary Anderson authored
This reverts commit 5fd259be.
-
Ian Hickson authored
-
- 13 Jul, 2021 1 commit
-
-
Viren Khatri authored
-
- 28 Apr, 2021 1 commit
-
-
Alexandre Ardhuin authored
-
- 14 Nov, 2020 1 commit
-
-
creativecreatorormaybenot authored
-
- 13 Oct, 2020 1 commit
-
-
Kate Lovett authored
-
- 10 Aug, 2020 1 commit
-
-
Ian Hickson authored
-
- 11 Jun, 2020 1 commit
-
-
Alexandre Ardhuin authored
* add language version 2.8 in packages/flutter * enable non-nullable analyzer flag
-
- 27 Nov, 2019 1 commit
-
-
Ian Hickson authored
* Update project.pbxproj files to say Flutter rather than Chromium Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright. * Update the copyright notice checker to require a standard notice on all files * Update copyrights on Dart files. (This was a mechanical commit.) * Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine. Some were already marked "The Flutter Authors", not clear why. Their dates have been normalized. Some were missing the blank line after the license. Some were randomly different in trivial ways for no apparent reason (e.g. missing the trailing period). * Clean up the copyrights in non-Dart files. (Manual edits.) Also, make sure templates don't have copyrights. * Fix some more ORGANIZATIONNAMEs
-
- 21 Jul, 2019 1 commit
-
-
Todd Volkert authored
This reverts commit b61fcfd2.
-
- 18 Jul, 2019 1 commit
-
-
Todd Volkert authored
This updates `AsyncSnapshot.data` to act as `AsyncSnapshot.requireData` used to -- and it removes `AsyncSnapshot.requireData`. Correspondingly, this adds a `StreamBuilder.withoutInitialData()` constructor, makes the `initialData` argument to the default `StreamBuilder()` constructor required, and deprecates the `initialData` argument to the `FutureBuilder()` constructor. See the breaking change announcement for more info. https://github.com/flutter/flutter/issues/34545 https://groups.google.com/forum/#!topic/flutter-announce/H6Od0QdsdrI
-
- 01 Mar, 2019 1 commit
-
-
Alexandre Ardhuin authored
* 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
-
- 16 Oct, 2018 1 commit
-
-
Alexandre Ardhuin authored
* Future<void> main * Future<void>.delayed * prefer_void_to_Null * address review comments
-
- 12 Sep, 2018 1 commit
-
-
Alexandre Ardhuin authored
* enable lint unnecessary_new * fix tests * fix tests * fix tests
-
- 19 Mar, 2018 1 commit
-
-
Ian Hickson authored
-
- 12 Mar, 2018 1 commit
-
-
Jason Simmons authored
-
- 06 Jan, 2018 1 commit
-
-
Brian Egan authored
-
- 07 Sep, 2017 1 commit
-
-
Ian Hickson authored
-
- 08 Jun, 2017 1 commit
-
-
Alexandre Ardhuin authored
-
- 23 Apr, 2017 1 commit
-
-
Alexandre Ardhuin authored
* more widget const constructors * prefer const constructors * address review comments
-
- 21 Apr, 2017 1 commit
-
-
Alexandre Ardhuin authored
* make @immutable const * fix build
-
- 17 Mar, 2017 1 commit
-
-
Alexandre Ardhuin authored
-
- 01 Mar, 2017 1 commit
-
-
Mikkel Nygaard Ravn authored
New concepts: PlatformMessageChannel (basic message send/receive superseding some existing PlatformMessages methods), PlatformMethodChannel (method invocation and event streams), pluggable codecs for messages and method calls: unencoded binary, string, json, and 'standard' flutter binary encoding.
-
- 23 Feb, 2017 1 commit
-
-
Alexandre Ardhuin authored
-
- 02 Feb, 2017 1 commit
-
-
Mikkel Nygaard Ravn authored
Added three widgets that interact with Futures and Streams.
-