)]}'
{
  "commit": "3969c9efd18df2e08484afd3947d16f38b14b155",
  "tree": "33b687fb6013c3a9367f6d9ab6bd001c6eebbf32",
  "parents": [
    "fba895703ae41fdf03b66bccb1d32cf0c50fe956"
  ],
  "author": {
    "name": "Ben Konyi",
    "email": "bkonyi@google.com",
    "time": "Mon Jul 06 15:04:29 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 06 19:04:29 2026 +0000"
  },
  "message": "[flutter_tools] Throw DaemonException if app fails to start early (#188921)\n\n`AppDomain.launch` is responsible for launching an app using a\n`ResidentRunner`. It listens to both the `appStartedCompleter` and\n`appRunFuture`. Previously, if the runner failed early and completed\n`appRunFuture` before completing `appStartedCompleter`, the method\nreturned successfully but the client hung. This explicitly throws a\n`DaemonException` in that case to prevent the IDE/client from hanging\nindefinitely.\n\nFixes https://github.com/flutter/flutter/issues/185273",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d4df96237f289a9d17085ffc9dfa52f879ac1f9f",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/commands/daemon.dart",
      "new_id": "f8413464c70f9698564c09b63260e3aefb6643e4",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/commands/daemon.dart"
    },
    {
      "type": "modify",
      "old_id": "73ca80da165c5dcd1e5d763a11c7d7e5ed9a100e",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/test/commands.shard/hermetic/daemon_test.dart",
      "new_id": "763073f5b9388ec75999544c430bbd1f8aadb5ee",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/test/commands.shard/hermetic/daemon_test.dart"
    }
  ]
}
