)]}'
{
  "commit": "abb7f63412c1df28384e0d4e7a8f7fb43122989d",
  "tree": "6c8afa41d3c7edf25217f29173c5202001cd9584",
  "parents": [
    "cb0b0dd674c1f2d39700ca70dab0c902a282bd88"
  ],
  "author": {
    "name": "Soroush Yousefpour",
    "email": "46920873+gabrimatic@users.noreply.github.com",
    "time": "Wed Jul 29 07:45:42 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jul 29 05:45:42 2026 +0000"
  },
  "message": "Fix NestedScrollView example crash when switching tabs on desktop (#186993)\n\nFixes https://github.com/flutter/flutter/issues/183199\n\nThe `NestedScrollView` API example that uses a `TabBar`/`TabBarView`\nthrows on desktop when you scroll an inner list and then switch tabs.\nThe inner `CustomScrollView`s are coordinated by the `NestedScrollView`\nthrough a shared controller, which can be attached to more than one\n`ScrollPosition` at a time (for example mid-transition between tabs).\nThe automatic desktop scrollbar attaches to that shared controller, and\na single scrollbar cannot represent multiple positions, so\n`RawScrollbar` throws the multiple-position assertion.\n\nThis leaves the framework unchanged and fixes the example itself: the\n`TabBarView` body is wrapped in a `ScrollConfiguration` that disables\nthe default scrollbars, since a single scrollbar cannot correctly\nrepresent the coordinated inner positions. A regression test reproduces\nthe exact assertion from the issue (scroll, then a mouse-wheel pointer\nsignal during a tab transition) and confirms it no longer throws.\n\n## Tests\n\n- `flutter test\nexamples/api/test/widgets/nested_scroll_view/nested_scroll_view.0_test.dart`\n- `flutter analyze\nexamples/api/lib/widgets/nested_scroll_view/nested_scroll_view.0.dart\nexamples/api/test/widgets/nested_scroll_view/nested_scroll_view.0_test.dart`\n\n## Pre-launch Checklist\n\n- [x] I read the [Contributor Guide] and followed the process outlined\nthere for submitting PRs.\n- [x] I read the [AI contribution guidelines] and understand my\nresponsibilities, or I am not using AI tools.\n- [x] I read the [Tree Hygiene] wiki page, which explains my\nresponsibilities.\n- [x] I read and followed the [Flutter Style Guide], including [Features\nwe expect every widget to implement].\n- [x] I signed the [CLA].\n- [x] I listed at least one issue that this PR fixes in the description\nabove.\n- [x] I updated/added relevant documentation (doc comments with `///`).\n- [x] I added new tests to check the change I am making, or this PR is\n[test-exempt].\n- [x] I followed the [breaking change policy] and added [Data Driven\nFixes] where supported.\n- [x] All existing and new tests are passing.\n\n\u003c!-- Links --\u003e\n[Contributor Guide]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview\n[AI contribution guidelines]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines\n[Tree Hygiene]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md\n[test-exempt]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests\n[Flutter Style Guide]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md\n[Features we expect every widget to implement]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement\n[CLA]: https://cla.developers.google.com/\n[breaking change policy]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes\n[Data Driven Fixes]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c88b9e985af47cdfcf761f013c4ae19b038875cc",
      "old_mode": 33188,
      "old_path": "examples/api/lib/widgets/nested_scroll_view/nested_scroll_view.0.dart",
      "new_id": "400eb2e5f715863465a9e9ba9d0c4c439ecdf23e",
      "new_mode": 33188,
      "new_path": "examples/api/lib/widgets/nested_scroll_view/nested_scroll_view.0.dart"
    },
    {
      "type": "modify",
      "old_id": "7768df8a978926b1951ece5796c0d415585c5750",
      "old_mode": 33188,
      "old_path": "examples/api/test/widgets/nested_scroll_view/nested_scroll_view.0_test.dart",
      "new_id": "b183365ba4d000bf26cccecd6551feb0ee29b3f8",
      "new_mode": 33188,
      "new_path": "examples/api/test/widgets/nested_scroll_view/nested_scroll_view.0_test.dart"
    }
  ]
}
