1. 16 Sep, 2015 1 commit
    • Hixie's avatar
      "newChild == oldChild || !newChild.mounted" assert · 12a09822
      Hixie authored
      If a StatefulComponent marks itself dirty, gets rebuilt, then its parent
      gets rebuilt, its parent will find that its child is from a newer
      generation and hasn't changed. Previously, we considered two stateful
      nodes to not be syncable even if they were the same; combined with the
      way the "old" node looks like it's been put elsewhere (since it's
      already been synced), we end up confused as to why the new node is
      already mounted.
      
      This fixes the problem by making the canSync logic consider two
      identical nodes as syncable (since they are; syncChild() short-circuits
      that case), and by changing syncChildren to consider identical nodes as
      matches even if they are already synced.
      12a09822
  2. 15 Sep, 2015 3 commits
    • Hixie's avatar
      Improve exception reporting in Widgets framework · daf5c312
      Hixie authored
      This specifically improves the reporting of exceptions in syncChild(),
      and makes the way we've been adding information to toStringName() less
      ad-hoc and easier to extend.
      daf5c312
    • Hixie's avatar
      Ignore generation of child if child is unchanged · dfd821e5
      Hixie authored
      Also:
      
       - don't mark a node as from the new generation if it is dirty, since we
         know it still has to be built.
      
       - establish the rule that you can't call setState() during initState()
         or build().
      
       - make syncChild() return early for unchanged children.
      
       - update the tests, including adding a new one.
      dfd821e5
    • Adam Barth's avatar
      Rev pub package · 2cb58ebf
      Adam Barth authored
      2cb58ebf
  3. 14 Sep, 2015 11 commits
  4. 12 Sep, 2015 1 commit
  5. 11 Sep, 2015 18 commits
  6. 10 Sep, 2015 6 commits