)]}'
{
  "commit": "6603e14ccd73dbb87689a01cf70d6c292c35810a",
  "tree": "f817af5ade5417832ecdc6ab7d52bcf9d7b69ec3",
  "parents": [
    "0cbd1a4be0a4b37c6ca7801681b235a1cdf3ee19"
  ],
  "author": {
    "name": "Jason Simmons",
    "email": "jason-simmons@users.noreply.github.com",
    "time": "Tue Sep 01 15:40:24 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Sep 01 15:40:24 2026 +0000"
  },
  "message": "Replace Shell::WaitForFirstFrame with an asynchronous API that matches the Shell threading model (#191841)\n\nThe Shell::WaitForFirstFrame API would block until the engine renders\nthe first frame. This could potentially cause issues if the shell is\ndestroyed while a thread is waiting within a call to WaitForFirstFrame.\n\nThis PR replaces WaitForFirstFrame with an AddFirstFrameCallback API\nthat invokes a callback when the first frame has been rendered. If the\nshell is destroyed before the first frame, then the callback will never\nbe executed.\n\nSee https://github.com/flutter/flutter/pull/190132",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a4414c6cb095353c43c784f314ef63a9369106ed",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/common/shell.cc",
      "new_id": "d71499b994e0bcc5feeebeec9536c4e19ea268bf",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/common/shell.cc"
    },
    {
      "type": "modify",
      "old_id": "bc845af79551612d324b830e5d0ca8deaecfc56b",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/common/shell.h",
      "new_id": "5143f37bed1683296b337fde63822ad396d66d91",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/common/shell.h"
    },
    {
      "type": "modify",
      "old_id": "371e824d7b04b385b8bf0f07c3393bc33a981fac",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/common/shell_unittests.cc",
      "new_id": "6be760c7fd87792121891aa6f6b71e1d88a64116",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/common/shell_unittests.cc"
    },
    {
      "type": "modify",
      "old_id": "8eb6160219472961cd981051a7580526d3fb36da",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm",
      "new_id": "50d4dd8b8f856aed07c9ce94af742397a9415111",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm"
    }
  ]
}
