Skip to content

Commit 858946b

Browse files
authored
fix: use getAssetFilename in ModelInfoPanel filename field (#10836)
# Summary * Model Info sidebar panel displays `asset.name` (registry name) instead of the actual filename from `user_metadata.filename` * Other UI components (asset cards, widgets, missing model scan) correctly use `getAssetFilename()` which prefers `user_metadata.filename` over `asset.name` * One-line template fix: `{{ asset.name }}` → `{{ getAssetFilename(asset) }}` * Fixes #10598 # Bug `ModelInfoPanel.vue:35` used raw `asset.name` for the "File Name" field. When `user_metadata.filename` differs from `asset.name` (e.g. registry name vs actual path like `checkpoints/v1-5-pruned.safetensors`), users see inconsistent filenames across the UI. # AS-IS / TO-BE <img width="800" height="600" alt="before-after-10598" src="https://github.com/user-attachments/assets/15beb6c8-4bad-4ed2-9c85-6f8c7c0b6d3e" /> | | File Name field shows | | :--- | :--- | | **AS-IS** (bug) | `sdxl-lightning-4step` — raw `asset.name` (registry display name) | | **TO-BE** (fix) | `checkpoints/sdxl_lightning_4step.safetensors` — `getAssetFilename(asset)` (actual file path) | # Red-Green Verification | Commit | CI Status | Purpose | | :--- | :--- | :--- | | `test: add failing test for ModelInfoPanel showing wrong filename` | 🔴 Red | Proves the test catches the bug | | `fix: use getAssetFilename in ModelInfoPanel filename field` | 🟢 Green | Proves the fix resolves the bug | # Test Plan - [x] CI red on test-only commit - [x] CI green on fix commit - [x] Unit test: `prefers user_metadata.filename over asset.name for filename field` - [ ] Manual: open Asset Browser → click a model → verify File Name in Model Info panel matches the actual file path (requires `--enable-assets`)
1 parent c5b1830 commit 858946b

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

src/platform/assets/components/modelInfo/ModelInfoPanel.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,15 @@ describe('ModelInfoPanel', () => {
6161
expect(wrapper.text()).toContain('my-model.safetensors')
6262
})
6363

64+
it('prefers user_metadata.filename over asset.name for filename field', () => {
65+
const asset = createMockAsset({
66+
name: 'registry-display-name',
67+
user_metadata: { filename: 'checkpoints/real-file.safetensors' }
68+
})
69+
const wrapper = mountPanel(asset)
70+
expect(wrapper.text()).toContain('checkpoints/real-file.safetensors')
71+
})
72+
6473
it('displays name from user_metadata when present', () => {
6574
const asset = createMockAsset({
6675
user_metadata: { name: 'My Custom Model' }

src/platform/assets/components/modelInfo/ModelInfoPanel.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@
3232
</div>
3333
</ModelInfoField>
3434
<ModelInfoField :label="t('assetBrowser.modelInfo.fileName')">
35-
<span class="break-all text-muted-foreground">{{ asset.name }}</span>
35+
<span class="break-all text-muted-foreground">{{
36+
getAssetFilename(asset)
37+
}}</span>
3638
</ModelInfoField>
3739
<ModelInfoField
3840
v-if="sourceUrl"
@@ -232,6 +234,7 @@ import {
232234
getAssetBaseModels,
233235
getAssetDescription,
234236
getAssetDisplayName,
237+
getAssetFilename,
235238
getAssetModelType,
236239
getAssetSourceUrl,
237240
getAssetTriggerPhrases,

0 commit comments

Comments
 (0)