)]}'
{
  "commit": "e4395713819d6607350c0cd6439e624fe14464db",
  "tree": "d4527420d87c85197e1cf6130e99f9fa346828f7",
  "parents": [
    "e17e654cfb616ab2938e85c9f5b30e120016f29f"
  ],
  "author": {
    "name": "Rishika",
    "email": "145187152+rishika0212@users.noreply.github.com",
    "time": "Fri Apr 17 00:01:12 2026 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Apr 16 18:31:12 2026 +0000"
  },
  "message": "Fix cancelled HTTP requests showing as Pending in DevTools Network tab (#9685)\n\n## Description\r\n\r\nThis PR fixes an issue where cancelled HTTP requests appear as \"Pending\" in the DevTools Network tab.\r\n\r\nWhen a request is aborted (for example using `HttpClientRequest.abort` or Dio cancellation), DevTools keeps the request in a Pending state because no response is received. This change detects such cases and displays the request status as \"Cancelled\" instead.\r\n\r\n### Changes\r\n- Detect cancelled/aborted requests in `HttpRequestData`\r\n- Display \"Cancelled\" instead of \"Pending\" in the Network table\r\n- Ensure cancelled requests are no longer treated as `inProgress`\r\n- Prevent duration from remaining `null` for cancelled requests\r\n- Add a regression test to verify the behavior\r\n- Update `CustomPointerScrollView` to use `cacheExtent` so the project compiles with the current Flutter SDK\r\n\r\nAll existing network tests pass locally.\r\n\r\nFixes: #9593\r\n\r\n![build.yaml badge]\r\n\r\nIf you need help, consider asking for help on [Discord].\r\n\r\n[build.yaml badge]: https://github.com/flutter/devtools/actions/workflows/build.yaml/badge.svg",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "831b3e520528aa7fb1dc061d8842d8ebcaf7a6e0",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/lib/src/screens/network/network_request_inspector_views.dart",
      "new_id": "e9bf905f7113052d543e50411ef1fc91c918b180",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/lib/src/screens/network/network_request_inspector_views.dart"
    },
    {
      "type": "modify",
      "old_id": "6347ffdbf8d18394c79dc8535733da0e539f3dfc",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/lib/src/shared/http/http_request_data.dart",
      "new_id": "270bf0696a46df5e694a6f4bb11df7c7678330ca",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/lib/src/shared/http/http_request_data.dart"
    },
    {
      "type": "modify",
      "old_id": "05805dbad6fc02272b42871dec9c52b5e9c8592e",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md",
      "new_id": "d729c95b7963f975532f25c4aaec0cf100117bc1",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md"
    },
    {
      "type": "modify",
      "old_id": "1cc1d6d69a45bc0a30d90e17279540f2309301e2",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/test/screens/network/network_controller_test.dart",
      "new_id": "09553ebbb30c1a5e7f1def352326e9add9aea8ae",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/test/screens/network/network_controller_test.dart"
    },
    {
      "type": "modify",
      "old_id": "8b1459e7a80e9cb70966f43f7f0f796c9922e4d2",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/test/screens/network/network_model_test.dart",
      "new_id": "5ecdbfb6503e90d9ebb9e5123990463cfc2f646d",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/test/screens/network/network_model_test.dart"
    },
    {
      "type": "modify",
      "old_id": "e9191c3b97f77a2518f92996e406c90736f2eaee",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/test/screens/network/network_table_test.dart",
      "new_id": "ebc778db896dfdaa2258f1881f19597fe3ed4d20",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/test/screens/network/network_table_test.dart"
    },
    {
      "type": "modify",
      "old_id": "36be55665f8bfd306e167966dff7d660ca4a512a",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/test/shared/eval_integration_test.dart",
      "new_id": "d8bec3aa0b9d1662b09c6e42fa9f3b7816422723",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/test/shared/eval_integration_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "646c2efe58e28ad2f3092da7cbabcc8bd321e2cc",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/test/test_infra/test_data/http_get_cancelled_json.dart"
    },
    {
      "type": "modify",
      "old_id": "bde16b1bce68302970d0fa9afeaf7b179c99d9a4",
      "old_mode": 33188,
      "old_path": "packages/devtools_app_shared/lib/src/service/eval_on_dart_library.dart",
      "new_id": "0fbe004e8a6cd690c4ba3871739bb21209b52209",
      "new_mode": 33188,
      "new_path": "packages/devtools_app_shared/lib/src/service/eval_on_dart_library.dart"
    }
  ]
}
