)]}'
{
  "commit": "134bbbd59f8467ce2d981b9166b33ccd4e0841ae",
  "tree": "2052627be871aaa4529d498cbd99e639b27b3b05",
  "parents": [
    "1677e4331cbe93e0a73be6f459db0a0686751ffb"
  ],
  "author": {
    "name": "Kunwoo (Chris)",
    "email": "143021053+kunwp1@users.noreply.github.com",
    "time": "Thu Jul 09 03:02:24 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 09 07:02:24 2026 +0000"
  },
  "message": "fix(frontend): virtualize dataset version file tree (#6285)\n\n### What changes were proposed in this PR?\n\nThis PR fixes the frontend issue where opening a dataset whose selected\nversion contains hundreds of files freezes the frontend for tens of\nseconds to minutes.\n\nRoot cause: the version file tree renders every file as a full tree-node\ncomponent (`@ali-hm/angular-tree-component` with virtualization\ndisabled), and each row\u0027s `nz-button` re-reads layout after every\nchange-detection pass.\n\nMeasured on the local dev stack (`ng serve`, Chrome, Long Tasks API),\ndatasets of N one-byte files:\n\n| N files | Page usable after (before → after) | Main thread blocked\n(before → after) | DOM rows (before → after) |\n|---|---|---|---|\n| 400 | 24.5 s → 1.3 s | 22.2 s → 0.2 s | 400 → 28 |\n\n### Any related issues, documentation, discussions?\n\nCloses #6281. Related to #5586 (same unbounded-rendering pattern in the\nupload lists).\n\n### How was this PR tested?\n\n\nhttps://github.com/user-attachments/assets/702b6ffa-7ac3-479e-9ac0-f1f186aa4739\n\n### Was this PR authored or co-authored using generative AI tooling?\n\nGenerated-by: Claude Code, Claude Fable 5",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8124417c1ff27c693707fe6c6e839726fb2451c8",
      "new_mode": 33188,
      "new_path": "frontend/src/app/dashboard/component/user/user-dataset/user-dataset-explorer/user-dataset-version-filetree/user-dataset-version-filetree.component.browser.spec.ts"
    },
    {
      "type": "modify",
      "old_id": "ee74c294410d7c0487d7c8314922f66faf572b97",
      "old_mode": 33188,
      "old_path": "frontend/src/app/dashboard/component/user/user-dataset/user-dataset-explorer/user-dataset-version-filetree/user-dataset-version-filetree.component.html",
      "new_id": "a120082e40960378695dc28549c9e6fb72c200a4",
      "new_mode": 33188,
      "new_path": "frontend/src/app/dashboard/component/user/user-dataset/user-dataset-explorer/user-dataset-version-filetree/user-dataset-version-filetree.component.html"
    },
    {
      "type": "modify",
      "old_id": "ee81e4c13b4f5f20902d4e014d174fb670c17b2b",
      "old_mode": 33188,
      "old_path": "frontend/src/app/dashboard/component/user/user-dataset/user-dataset-explorer/user-dataset-version-filetree/user-dataset-version-filetree.component.scss",
      "new_id": "eb1171a0158c6d702a017a13d4ee225f80c3c226",
      "new_mode": 33188,
      "new_path": "frontend/src/app/dashboard/component/user/user-dataset/user-dataset-explorer/user-dataset-version-filetree/user-dataset-version-filetree.component.scss"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0abb96262188d3c5dc521c670f298ac08173240e",
      "new_mode": 33188,
      "new_path": "frontend/src/app/dashboard/component/user/user-dataset/user-dataset-explorer/user-dataset-version-filetree/user-dataset-version-filetree.component.spec.ts"
    },
    {
      "type": "modify",
      "old_id": "2eda4b53bf67e4bc804240e0efb3c709b0dea6af",
      "old_mode": 33188,
      "old_path": "frontend/src/app/dashboard/component/user/user-dataset/user-dataset-explorer/user-dataset-version-filetree/user-dataset-version-filetree.component.ts",
      "new_id": "885feceb88cdfb07b039a4b5d1d54b48d8cd2a12",
      "new_mode": 33188,
      "new_path": "frontend/src/app/dashboard/component/user/user-dataset/user-dataset-explorer/user-dataset-version-filetree/user-dataset-version-filetree.component.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "97e8b2bd1775e8a754b42eb74842a094dfc91ba3",
      "new_mode": 33188,
      "new_path": "frontend/src/app/dashboard/component/user/user-dataset/user-dataset-explorer/user-dataset-version-filetree/user-dataset-version-filetree.test-utils.ts"
    }
  ]
}
