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
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:
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} }