fix(frontend): virtualize dataset version file tree (#6285)

### What changes were proposed in this PR?

This PR fixes the frontend issue where opening a dataset whose selected
version contains hundreds of files freezes the frontend for tens of
seconds to minutes.

Root cause: the version file tree renders every file as a full tree-node
component (`@ali-hm/angular-tree-component` with virtualization
disabled), and each row's `nz-button` re-reads layout after every
change-detection pass.

Measured on the local dev stack (`ng serve`, Chrome, Long Tasks API),
datasets of N one-byte files:

| N files | Page usable after (before → after) | Main thread blocked
(before → after) | DOM rows (before → after) |
|---|---|---|---|
| 400 | 24.5 s → 1.3 s | 22.2 s → 0.2 s | 400 → 28 |

### Any related issues, documentation, discussions?

Closes #6281. Related to #5586 (same unbounded-rendering pattern in the
upload lists).

### How was this PR tested?


https://github.com/user-attachments/assets/702b6ffa-7ac3-479e-9ac0-f1f186aa4739

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code, Claude Fable 5
6 files changed
tree: 2052627be871aaa4529d498cbd99e639b27b3b05
  1. .github/
  2. .run/
  3. access-control-service/
  4. agent-service/
  5. amber/
  6. bin/
  7. common/
  8. computing-unit-managing-service/
  9. config-service/
  10. docs/
  11. file-service/
  12. frontend/
  13. licenses/
  14. licenses-3rd-party-code/
  15. notebook-migration-service/
  16. project/
  17. pyright-language-service/
  18. sql/
  19. workflow-compiling-service/
  20. .asf.yaml
  21. .dockerignore
  22. .gitattributes
  23. .gitignore
  24. .jvmopts
  25. .licenserc.yaml
  26. .scalafix.conf
  27. .scalafmt.conf
  28. AGENTS.md
  29. build.sbt
  30. CLAUDE.md
  31. codecov.yml
  32. CONTRIBUTING.md
  33. DISCLAIMER
  34. LICENSE
  35. NOTICE
  36. README.md
  37. SECURITY.md
README.md

Apache Texera (Incubating) is an open-source platform for human-AI collaborative data science using visual workflows. It enables human analysts to construct, execute, and refine data analysis tasks through an intuitive GUI, assisted by AI agents that understand natural-language instructions. Texera is well suited for a wide range of applications, including “AI for Science,” by making advanced AI and data science capabilities accessible to a broader community. It can run on a laptop for local use or be deployed in the cloud to support scalable processing of large datasets.

The platform has the following key features:

  • Natural-language data science through AI agents
  • Intuitive GUI-based workflows for data science
  • Real-time collaboration for workflow editing and execution
  • Runtime debugging and interactive workflow execution
  • Language-agnostic workflow runtime, native support for Python and Java
  • Parallel backend engine for scalable big-data processing
  • Separation of compute and storage for flexible cloud deployment

texera-screenshot

Citation

Please cite Texera as


@article{DBLP:journals/pvldb/WangHNKALLDL24, author = {Zuozhi Wang and Yicong Huang and Shengquan Ni and Avinash Kumar and Sadeem Alsudais and Xiaozhen Liu and Xinyuan Lin and Yunyan Ding and Chen Li}, title = {Texera: {A} System for Collaborative and Interactive Data Analytics Using Workflows}, journal = {Proc. {VLDB} Endow.}, volume = {17}, number = {11}, pages = {3580--3588}, year = {2024}, url = {https://www.vldb.org/pvldb/vol17/p3580-wang.pdf}, timestamp = {Thu, 19 Sep 2024 13:09:37 +0200}, biburl = {https://dblp.org/rec/journals/pvldb/WangHNKALLDL24.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }