feat(frontend): add the model detail page - #8072
Open
tanishqgandhi1908 wants to merge 3 commits into
Open
Conversation
Contributor
Automated Reviewer SuggestionsBased on the
|
…ource-agnostic and add the model detail page
…ource-agnostic and add the model detail page
tanishqgandhi1908
force-pushed
the
feat/model-detail-page
branch
from
August 28, 2026 21:18
492a42b to
e5973dd
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #8072 +/- ##
============================================
- Coverage 93.52% 93.52% -0.01%
Complexity 4709 4709
============================================
Files 1193 1195 +2
Lines 48113 48463 +350
Branches 5344 5378 +34
============================================
+ Hits 45000 45324 +324
- Misses 1671 1693 +22
- Partials 1442 1446 +4
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Contributor
Author
|
/request-review @aicam |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this PR?
Refactor.
user-dataset-file-renderer'sdid/dvidinputs becomeresourceId/versionId, so a model no longer has to smuggle its ids through dataset-shaped names.downloadmoves onto the resource descriptor:card-itemandlist-itemboth carried aworkflow/datasetbranch, and both now askdescriptor.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 readsentry.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, placeholder view and like counters, 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.ModelServicegains the read endpoints,DownloadServicethe three model downloads, andModelResourceDescriptoraprivateRoute— so the cards added in #8068 now open something.The file renderer takes a
resourceTypeinput, but resolves its fetch through a newretrieveSingleFiledescriptor slot rather than growing atype === "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.
View and like counters read a constant
0, deliberately. The hub backend has no model entity —hub/EntityType.scalaisSeq(Workflow, Dataset)with a throwingfromString,EntityTables.forTypematches only those two, and there are nomodel_user_likes/model_view_counttables, so every hub call from this page would 400. The tags are there so the header matches the dataset page; they get wired up in the hub PR, alongside #7930.Any related issues, documentation, discussions?
Part of #6499. Depends on #8068.
How was this PR tested?
New: 26 specs for the detail page, 7 for the new
ModelServicemethods, 3 for the model downloads, 2 for the renderer's model branch, plus registry coverage fordownloadandretrieveSingleFile.The refactor's proof is that all 353 existing
user-datasetspecs pass unmodified. Four specs elsewhere needed scaffolding changes, none of them changed expectations: threecard-itemtemplate tests setentrywithout running the input pipeline and now callinitializeEntry()(a pattern already used in that file), and onelist-itemtest moved from(component as any).downloadServicetoTestBed.inject(DownloadService),since the component no longer injects it.Full dashboard and hub suite: 1880 tests, all passing. Verified manually against a local stack.
Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code