)]}'
{
  "commit": "dc0f8ea4d09aabb0fed16daea3d4653c8f967b02",
  "tree": "5e0c0e63ca472603a66a862d104ee67e4e6f500d",
  "parents": [
    "20967732ea9dd30240a6429621ab2f82874bd9f0"
  ],
  "author": {
    "name": "Nate Bosch",
    "email": "nbosch@google.com",
    "time": "Wed Dec 04 08:54:38 2024 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Dec 04 08:54:38 2024 -0800"
  },
  "message": "Fix hang after multiple precompiled browser tests (#2422)\n\nFixes #2294\r\n\r\nAvoid creating extra unexpected BrowserManager instances by caching the\r\nfuture in the `_browserManagers` map without any async delay. Previously\r\nit was possible for two managers to be created if the second suite is\r\nloaded before the first suite\u0027s `compilerSupport` was resolved. This was\r\nnot a problem for tests that get compiled by the test runner because the\r\ncompilation would delay the second suite load until after the first\r\nsuite\u0027s `compilerSupport` has resolved. It is not a problem when running\r\nwithout concurrency because that delays the second suite load.\r\n\r\nAdd a concurrency argument to the regression test, otherwise the default\r\nis to run with concurrency 1 which works around the bug.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c200b21891c2cb481f4fed4e72a34fdcb4d66dca",
      "old_mode": 33188,
      "old_path": "pkgs/test/CHANGELOG.md",
      "new_id": "afe8dec19ec2744e4bf451b35b64446cf2fcc772",
      "new_mode": 33188,
      "new_path": "pkgs/test/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "c4df1b32c8ead10301a6a1ba67a9b5d82cbd81d4",
      "old_mode": 33188,
      "old_path": "pkgs/test/lib/src/runner/browser/platform.dart",
      "new_id": "da03a3e000ca86cf033fc5950f56d6811ef6b3bd",
      "new_mode": 33188,
      "new_path": "pkgs/test/lib/src/runner/browser/platform.dart"
    },
    {
      "type": "modify",
      "old_id": "a66e5927176192de100efe508bc7bab926f5b205",
      "old_mode": 33188,
      "old_path": "pkgs/test/pubspec.yaml",
      "new_id": "0ab65ad4078881cf446fd3756b006bfb3b6510ad",
      "new_mode": 33188,
      "new_path": "pkgs/test/pubspec.yaml"
    },
    {
      "type": "modify",
      "old_id": "8eb135d5583f900120cda7f305c77f72b3cf44e1",
      "old_mode": 33188,
      "old_path": "pkgs/test/test/runner/precompiled_test.dart",
      "new_id": "51dde28b97401cc954555e7773e86bf56fd9f859",
      "new_mode": 33188,
      "new_path": "pkgs/test/test/runner/precompiled_test.dart"
    },
    {
      "type": "modify",
      "old_id": "321f01952b3eadc05c7225a44bbc4ced3769fc89",
      "old_mode": 33188,
      "old_path": "pkgs/test_core/CHANGELOG.md",
      "new_id": "4c305bc617d73a45f1f36b85f28fb259411f6ab8",
      "new_mode": 33188,
      "new_path": "pkgs/test_core/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "b606bb3d082b508a08793780fa73e555d2557f9d",
      "old_mode": 33188,
      "old_path": "pkgs/test_core/pubspec.yaml",
      "new_id": "d08e24ca9b629f98b809abdcd895d82b9bfee761",
      "new_mode": 33188,
      "new_path": "pkgs/test_core/pubspec.yaml"
    }
  ]
}
