)]}'
{
  "commit": "9857b65785c814164f0203ddb0a1be0a99a4605f",
  "tree": "794005117cacf5d8f95344c817e029ac597a2bc0",
  "parents": [
    "a14ede630d6ba74c75bea29a4c170be1a5056a58"
  ],
  "author": {
    "name": "Muhammad Kamel",
    "email": "mu7ammadkamel@hotmail.com",
    "time": "Fri May 01 02:35:11 2026 +0300"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Apr 30 16:35:11 2026 -0700"
  },
  "message": "Notify Flutter inspector when navigating widget tree with keyboard (#9810)\n\n* Notify Flutter inspector when navigating widget tree with keyboard\n\n* Add inspector tree left/right keyboard navigation coverage\n\nUpdates inspector tree tests to cover left and right arrow navigation, including expand, next-row selection, and parent selection behavior. Also ensures left navigation to a parent notifies Flutter Inspector consistently with other keyboard selection changes.\n\n* Fix inspector widget tree visibility issues during keyboard navigation\n\nResolves two regressions surfaced when navigating the inspector widget\ntree with the arrow-left key.\n\n1. Clicking a still-visible row used to call `expandPath` on the clicked\n   node, which re-expanded the clicked node itself and undid any subtree\n   collapses the user had just performed via the arrow-left key. Removed\n   the call from `onSelectNode`; programmatic selection flows (search,\n   on-device pick) continue to call `expandPath` via `syncTreeSelection`,\n   so external selection still works correctly.\n\n2. Collapsing all the way to the root via the arrow-left key shrank the\n   visible rows down to a single row, which the inspector treated as a\n   \"still loading\" state and replaced with a spinner — hiding the user\u0027s\n   `[root]` row. Gated that branch on `!firstInspectorTreeLoadCompleted`\n   so the spinner only shows during the initial load; afterwards a\n   one-row tree renders as the legitimate single-row state.\n\nAdds regression tests covering both behaviors.\n\n* docs: add release notes for inspector keyboard navigation fixes (#9810)\n\n* test: update inspector tree selection test for collapsed nodes",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4e772e48c1e2c1bd58423ebca52792fe276e57f4",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/lib/src/screens/inspector/inspector_tree_controller.dart",
      "new_id": "67c39baebfd32013f310418546a6869d9f5a39e4",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/lib/src/screens/inspector/inspector_tree_controller.dart"
    },
    {
      "type": "modify",
      "old_id": "787e89cb3ba10bf8388ee9a346f8ab08dcacf038",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md",
      "new_id": "457bde5abc027daf3c4b1b2162390d08f586629e",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md"
    },
    {
      "type": "modify",
      "old_id": "feda195f58326f856297adec09dbacef0d56e9d2",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/test/screens/inspector/inspector_tree_test.dart",
      "new_id": "c6ae0e91bcf034333cad642b4138f991d697ba5a",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/test/screens/inspector/inspector_tree_test.dart"
    }
  ]
}
