tanishqgandhi1908 opened a new pull request, #8072: URL: https://github.com/apache/texera/pull/8072
### What changes were proposed in this PR? **Refactor.** `user-dataset-file-renderer`'s `did`/`dvid` inputs become `resourceId`/`versionId`, so a model no longer has to smuggle its ids through dataset-shaped names. `download` moves onto the resource descriptor: `card-item` and `list-item` both carried a `workflow`/`dataset` branch, and both now ask `descriptor.download`. One deliberate behavior change: the branch read `entry.workflow.workflow.name`, which a rename leaves stale, so downloading a just-renamed workflow produced a zip named after the old name. It now reads `entry.name`. Covered by a test. **The model detail page.** A read-only page at `/user/model/:mid`: name, created-at, public/downloadable/framework/format tags, view and like counts, cover image; a Model Card tab; and a Versions & Files tab with the version picker, file tree, file preview, and single-file and version-ZIP downloads. `ModelService` gains the read endpoints, `DownloadService` the three model downloads, and `ModelResourceDescriptor` a `privateRoute` — so the cards added in #8068 now open something. The file renderer takes a `resourceType` input, but resolves its fetch through a new `retrieveSingleFile` descriptor slot rather than growing a `type === "model"` arm, which is the point of the registry. **No Settings tab yet, on purpose.** Metadata editing (name, description, framework, format) lands with upload in the next PR; visibility, sharing and covers in the one after. <img width="807" height="647" alt="Screenshot 2026-08-28 at 11 19 16 AM" src="https://github.com/user-attachments/assets/a22ec4e3-eccc-4a5d-bcb5-3fc5147921f6" /> <img width="1210" height="602" alt="Screenshot 2026-08-28 at 11 18 45 AM" src="https://github.com/user-attachments/assets/eaabec50-7c93-4d36-aa67-11650e4500d7" /> <img width="1228" height="687" alt="Screenshot 2026-08-28 at 11 18 33 AM" src="https://github.com/user-attachments/assets/8974de85-9633-4439-8a4d-4dec0d03e129" /> ### Any related issues, documentation, discussions? Part of #6499. Depends on #8068. ### How was this PR tested? New: 24 specs for the detail page, 7 for the new `ModelService` methods, 3 for the model downloads, 2 for the renderer's model branch, plus registry coverage for `download` and `retrieveSingleFile`. The refactor's proof is that all 353 existing `user-dataset` specs pass unmodified. Four specs elsewhere needed scaffolding changes, none of them changed expectations: three `card-item` template tests set `entry` without running the input pipeline and now call `initializeEntry()` (a pattern already used in that file), and one `list-item` test moved from `(component as any).downloadService` to `TestBed.inject(DownloadService)`,since the component no longer injects it. Full dashboard and hub suite: 1877 tests, all passing. Verified manually against a local stack. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
