Skip to content

feat: add getAssetFilename util with fallback chain#8309

Merged
DrJKL merged 2 commits intomainfrom
feat/asset-filename-util
Jan 25, 2026
Merged

feat: add getAssetFilename util with fallback chain#8309
DrJKL merged 2 commits intomainfrom
feat/asset-filename-util

Conversation

@DrJKL
Copy link
Contributor

@DrJKL DrJKL commented Jan 25, 2026

Summary

┆Issue is synchronized with this Notion page by Unito

@DrJKL DrJKL requested a review from a team as a code owner January 25, 2026 01:27
@dosubot dosubot bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Jan 25, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 25, 2026

📝 Walkthrough

Walkthrough

Adds a new exported utility getAssetFilename(asset: AssetItem): string that resolves filenames via a fallback chain (user_metadata.filename → metadata.filename → asset.name). Two call sites were updated to use it; one call site now rejects assets with an empty filename instead of only logging.

Changes

Cohort / File(s) Summary
Centralized filename utility
src/platform/assets/utils/assetMetadataUtils.ts
New exported function getAssetFilename(asset: AssetItem): string that returns filename using getStringProperty(asset, 'filename') ?? asset.name.
Filename extraction refactor & stricter validation
src/platform/assets/utils/createModelNodeFromAsset.ts, src/renderer/extensions/vueNodes/widgets/composables/useComboWidget.ts
Replaced inline filename extraction with getAssetFilename(...). createModelNodeFromAsset now returns an INVALID_ASSET error if the resolved filename is empty; useComboWidget uses the new utility for selection flow.
Tests updated
src/platform/assets/utils/createModelNodeFromAsset.test.ts
Removed an invalid-asset test case that asserted non-string (number) user_metadata.filename, aligning tests with new filename handling.

Possibly related PRs

Suggested reviewers

  • shinshin86
  • KarryCharon
  • Yorha4D
✨ Finishing touches
  • 📝 Generate docstrings

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

github-actions bot commented Jan 25, 2026

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 01/25/2026, 01:40:41 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@github-actions
Copy link

github-actions bot commented Jan 25, 2026

🎭 Playwright Tests: ⚠️ Passed with flaky tests

Results: 505 passed, 0 failed, 1 flaky, 8 skipped (Total: 514)

❌ Failed Tests

📊 Browser Reports
  • chromium: View Report (✅ 495 / ❌ 0 / ⚠️ 0 / ⏭️ 8)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 7 / ❌ 0 / ⚠️ 1 / ⏭️ 0)

@DrJKL DrJKL added needs-backport Fix/change that needs to be cherry-picked to the current feature freeze branch cloud/1.37 Backport PRs for cloud 1.37 labels Jan 25, 2026
@github-actions
Copy link

github-actions bot commented Jan 25, 2026

Bundle Size Report

Summary

  • Raw size: 21.9 MB baseline 21.9 MB — 🟢 -39 B
  • Gzip: 4.56 MB baseline 4.56 MB — 🔴 +1 B
  • Brotli: 3.38 MB baseline 3.38 MB — 🟢 -124 B
  • Bundles: 170 current • 170 baseline • 82 added / 82 removed

Category Glance
Other 🟢 -192 B (6.43 MB) · Data & Services 🔴 +175 B (3.18 MB) · Graph Workspace 🟢 -14 B (957 kB) · Panels & Settings 🟢 -8 B (462 kB) · Vendor & Third-Party ⚪ 0 B (10.7 MB) · Views & Navigation ⚪ 0 B (80.7 kB) · + 5 more

Per-category breakdown
App Entry Points — 22.8 kB (baseline 22.8 kB) • ⚪ 0 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-CCvCeVTj.js (removed) 22.8 kB 🟢 -22.8 kB 🟢 -6.84 kB 🟢 -6.02 kB
assets/index-CopjOmhg.js (new) 22.8 kB 🔴 +22.8 kB 🔴 +6.84 kB 🔴 +6.01 kB

Status: 1 added / 1 removed

Graph Workspace — 957 kB (baseline 957 kB) • 🟢 -14 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-BZsTLKhe.js (removed) 957 kB 🟢 -957 kB 🟢 -194 kB 🟢 -146 kB
assets/GraphView-CtJX63bM.js (new) 957 kB 🔴 +957 kB 🔴 +194 kB 🔴 +146 kB

Status: 1 added / 1 removed

Views & Navigation — 80.7 kB (baseline 80.7 kB) • ⚪ 0 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-LQo413HQ.js (removed) 17.1 kB 🟢 -17.1 kB 🟢 -3.6 kB 🟢 -3.06 kB
assets/CloudSurveyView-y-HPsA_q.js (new) 17.1 kB 🔴 +17.1 kB 🔴 +3.6 kB 🔴 +3.06 kB
assets/CloudLoginView-BxchfJUP.js (removed) 11.8 kB 🟢 -11.8 kB 🟢 -3.1 kB 🟢 -2.72 kB
assets/CloudLoginView-Z7ARiP5k.js (new) 11.8 kB 🔴 +11.8 kB 🔴 +3.1 kB 🔴 +2.71 kB
assets/UserCheckView-CnOVyDTB.js (new) 10.5 kB 🔴 +10.5 kB 🔴 +2.44 kB 🔴 +2.13 kB
assets/UserCheckView-zo-kc-ks.js (removed) 10.5 kB 🟢 -10.5 kB 🟢 -2.44 kB 🟢 -2.13 kB
assets/CloudLayoutView-4B4onf4y.js (new) 8.54 kB 🔴 +8.54 kB 🔴 +2.25 kB 🔴 +1.96 kB
assets/CloudLayoutView-CN4adNFA.js (removed) 8.54 kB 🟢 -8.54 kB 🟢 -2.25 kB 🟢 -1.96 kB
assets/CloudSignupView-CPibmhfE.js (removed) 8.18 kB 🟢 -8.18 kB 🟢 -2.33 kB 🟢 -2.03 kB
assets/CloudSignupView-DDxsf13v.js (new) 8.18 kB 🔴 +8.18 kB 🔴 +2.33 kB 🔴 +2.02 kB
assets/CloudForgotPasswordView-ALsENN9n.js (new) 6.26 kB 🔴 +6.26 kB 🔴 +1.93 kB 🔴 +1.69 kB
assets/CloudForgotPasswordView-D-6tniaw.js (removed) 6.26 kB 🟢 -6.26 kB 🟢 -1.92 kB 🟢 -1.69 kB
assets/UserSelectView-40oeJDbR.js (new) 5.28 kB 🔴 +5.28 kB 🔴 +1.76 kB 🔴 +1.57 kB
assets/UserSelectView-zA0p16xU.js (removed) 5.28 kB 🟢 -5.28 kB 🟢 -1.76 kB 🟢 -1.58 kB
assets/CloudSubscriptionRedirectView-CTuL7Yb5.js (removed) 5.27 kB 🟢 -5.27 kB 🟢 -1.73 kB 🟢 -1.54 kB
assets/CloudSubscriptionRedirectView-JIWoEzUj.js (new) 5.27 kB 🔴 +5.27 kB 🔴 +1.73 kB 🔴 +1.53 kB
assets/CloudAuthTimeoutView-3eoxdUll.js (new) 5.24 kB 🔴 +5.24 kB 🔴 +1.7 kB 🔴 +1.48 kB
assets/CloudAuthTimeoutView-E1Uhd3WN.js (removed) 5.24 kB 🟢 -5.24 kB 🟢 -1.71 kB 🟢 -1.48 kB
assets/CloudSorryContactSupportView-B5gYo5Lv.js 1.97 kB 1.97 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-MvRmLoAK.js 500 B 500 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

Panels & Settings — 462 kB (baseline 462 kB) • 🟢 -8 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/WorkspacePanel-Be_rQCEI.js (new) 29.8 kB 🔴 +29.8 kB 🔴 +5.89 kB 🔴 +5.14 kB
assets/WorkspacePanel-BkbhKsyW.js (removed) 29.8 kB 🟢 -29.8 kB 🟢 -5.89 kB 🟢 -5.14 kB
assets/LegacyCreditsPanel-DPs3tG7X.js (new) 23.8 kB 🔴 +23.8 kB 🔴 +5.95 kB 🔴 +5.22 kB
assets/LegacyCreditsPanel-T6ACgd2o.js (removed) 23.8 kB 🟢 -23.8 kB 🟢 -5.94 kB 🟢 -5.22 kB
assets/SubscriptionPanel-BpjWY64G.js (removed) 20.9 kB 🟢 -20.9 kB 🟢 -5.01 kB 🟢 -4.42 kB
assets/SubscriptionPanel-CTae2e6Y.js (new) 20.9 kB 🔴 +20.9 kB 🔴 +5.01 kB 🔴 +4.43 kB
assets/KeybindingPanel-3oCnIHKn.js (new) 14.2 kB 🔴 +14.2 kB 🔴 +3.74 kB 🔴 +3.31 kB
assets/KeybindingPanel-CyZYTzia.js (removed) 14.2 kB 🟢 -14.2 kB 🟢 -3.74 kB 🟢 -3.31 kB
assets/AboutPanel-Cz6X11wQ.js (new) 10.8 kB 🔴 +10.8 kB 🔴 +2.68 kB 🔴 +2.44 kB
assets/AboutPanel-D2TDOwe3.js (removed) 10.8 kB 🟢 -10.8 kB 🟢 -2.68 kB 🟢 -2.43 kB
assets/ExtensionPanel-C4a-wWtS.js (new) 10.2 kB 🔴 +10.2 kB 🔴 +2.71 kB 🔴 +2.4 kB
assets/ExtensionPanel-D6wqKG9G.js (removed) 10.2 kB 🟢 -10.2 kB 🟢 -2.71 kB 🟢 -2.4 kB
assets/ServerConfigPanel-ByDFUxva.js (new) 7.23 kB 🔴 +7.23 kB 🔴 +2.17 kB 🔴 +1.94 kB
assets/ServerConfigPanel-CU63bOCF.js (removed) 7.23 kB 🟢 -7.23 kB 🟢 -2.17 kB 🟢 -1.94 kB
assets/UserPanel-BehAkXcx.js (removed) 6.58 kB 🟢 -6.58 kB 🟢 -1.9 kB 🟢 -1.67 kB
assets/UserPanel-ByjzHBl7.js (new) 6.58 kB 🔴 +6.58 kB 🔴 +1.9 kB 🔴 +1.67 kB
assets/config-CA7qzuJC.js (removed) 1.16 kB 🟢 -1.16 kB 🟢 -612 B 🟢 -533 B
assets/config-Dvt_yr6H.js (new) 1.15 kB 🔴 +1.15 kB 🔴 +605 B 🔴 +533 B
assets/refreshRemoteConfig-DOqFeO2b.js (removed) 1.14 kB 🟢 -1.14 kB 🟢 -524 B 🟢 -489 B
assets/refreshRemoteConfig-XLtreccn.js (new) 1.14 kB 🔴 +1.14 kB 🔴 +521 B 🔴 +452 B
assets/cloudRemoteConfig-CWs91DOj.js (new) 1.11 kB 🔴 +1.11 kB 🔴 +507 B 🔴 +457 B
assets/cloudRemoteConfig-D-g5KChK.js (removed) 1.11 kB 🟢 -1.11 kB 🟢 -509 B 🟢 -437 B
assets/refreshRemoteConfig-D23Gxy2P.js (removed) 169 B 🟢 -169 B 🟢 -108 B 🟢 -105 B
assets/refreshRemoteConfig-DUdrO5Xa.js (new) 169 B 🔴 +169 B 🔴 +108 B 🔴 +105 B
assets/remoteConfig-w1E3DdAQ.js 536 B 536 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-9p7XO4_-.js 25.2 kB 25.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CgtWExMH.js 34.3 kB 34.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CKVLGCg3.js 29.6 kB 29.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DFFGGhiG.js 28.9 kB 28.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DhYavwEF.js 28.6 kB 28.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DqRBPTem.js 29.5 kB 29.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DxaZVjyr.js 38.3 kB 38.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-hFnVImU9.js 30.4 kB 30.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-jUaSxrVP.js 32.1 kB 32.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-ootI-8ie.js 31.2 kB 31.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-tU5WPebQ.js 25.9 kB 25.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 12 added / 12 removed

User & Accounts — 3.94 kB (baseline 3.94 kB) • ⚪ 0 B

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-BfLWq4Q7.js (removed) 3.54 kB 🟢 -3.54 kB 🟢 -1.24 kB 🟢 -1.06 kB
assets/auth-Dy6Qsebh.js (new) 3.54 kB 🔴 +3.54 kB 🔴 +1.24 kB 🔴 +1.06 kB
assets/firebaseAuthStore-BbVcevlU.js (removed) 217 B 🟢 -217 B 🟢 -137 B 🟢 -134 B
assets/firebaseAuthStore-D50IWUYz.js (new) 217 B 🔴 +217 B 🔴 +138 B 🔴 +122 B
assets/auth-CZQ-HQdW.js (removed) 178 B 🟢 -178 B 🟢 -142 B 🟢 -138 B
assets/auth-DljFiVhI.js (new) 178 B 🔴 +178 B 🔴 +142 B 🔴 +133 B

Status: 3 added / 3 removed

Editors & Dialogs — 2.83 kB (baseline 2.83 kB) • ⚪ 0 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-CVnlT4hS.js (removed) 2.65 kB 🟢 -2.65 kB 🟢 -1.25 kB 🟢 -1.11 kB
assets/useSubscriptionDialog-DuINxAwe.js (new) 2.65 kB 🔴 +2.65 kB 🔴 +1.25 kB 🔴 +1.11 kB
assets/useSubscriptionDialog-Csvd_DJ4.js (removed) 179 B 🟢 -179 B 🟢 -110 B 🟢 -98 B
assets/useSubscriptionDialog-DXJNlRe8.js (new) 179 B 🔴 +179 B 🔴 +110 B 🔴 +98 B

Status: 2 added / 2 removed

UI Components — 33.7 kB (baseline 33.7 kB) • ⚪ 0 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyQueueButton-AHJC1PZW.js (new) 9.52 kB 🔴 +9.52 kB 🔴 +2.69 kB 🔴 +2.41 kB
assets/ComfyQueueButton-DzDzwZAU.js (removed) 9.52 kB 🟢 -9.52 kB 🟢 -2.69 kB 🟢 -2.41 kB
assets/SubscribeButton-DcKXuNnX.js (new) 4.63 kB 🔴 +4.63 kB 🔴 +1.57 kB 🔴 +1.39 kB
assets/SubscribeButton-jDg3mZWv.js (removed) 4.63 kB 🟢 -4.63 kB 🟢 -1.57 kB 🟢 -1.39 kB
assets/CloudBadge-C5AP64EI.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -725 B 🟢 -658 B
assets/CloudBadge-j3i3Pxfu.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +723 B 🔴 +644 B
assets/cloudFeedbackTopbarButton-D_cseqiJ.js (new) 1.24 kB 🔴 +1.24 kB 🔴 +675 B 🔴 +577 B
assets/cloudFeedbackTopbarButton-it1nJJqL.js (removed) 1.24 kB 🟢 -1.24 kB 🟢 -676 B 🟢 -578 B
assets/ComfyQueueButton-BsCakb3D.js (new) 181 B 🔴 +181 B 🔴 +118 B 🔴 +109 B
assets/ComfyQueueButton-CPkRVaPD.js (removed) 181 B 🟢 -181 B 🟢 -118 B 🟢 -111 B
assets/Button-B9mYP1x0.js 3.82 kB 3.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/TopbarBadge-DHZYSmi1.js 8.36 kB 8.36 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar-CIuPULbC.js 1.73 kB 1.73 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetButton-BFtcBv-z.js 2.41 kB 2.41 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Data & Services — 3.18 MB (baseline 3.18 MB) • 🔴 +175 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-DeR99oys.js (new) 2 MB 🔴 +2 MB 🔴 +422 kB 🔴 +321 kB
assets/dialogService-uMu1ouSK.js (removed) 1.99 MB 🟢 -1.99 MB 🟢 -422 kB 🟢 -322 kB
assets/api-CJQTq_gI.js (new) 1.16 MB 🔴 +1.16 MB 🔴 +242 kB 🔴 +188 kB
assets/api-QJbA7kzA.js (removed) 1.16 MB 🟢 -1.16 MB 🟢 -242 kB 🟢 -188 kB
assets/releaseStore-BaOMHPhh.js (removed) 8.91 kB 🟢 -8.91 kB 🟢 -2.4 kB 🟢 -2.12 kB
assets/releaseStore-Dod9nwSg.js (new) 8.91 kB 🔴 +8.91 kB 🔴 +2.4 kB 🔴 +2.12 kB
assets/keybindingService-DCzpIym1.js (new) 6.78 kB 🔴 +6.78 kB 🔴 +1.74 kB 🔴 +1.52 kB
assets/keybindingService-DZWXgKqR.js (removed) 6.78 kB 🟢 -6.78 kB 🟢 -1.75 kB 🟢 -1.51 kB
assets/userStore-CdzdOMyn.js (new) 2.16 kB 🔴 +2.16 kB 🔴 +813 B 🔴 +725 B
assets/userStore-Cyql_EmD.js (removed) 2.16 kB 🟢 -2.16 kB 🟢 -814 B 🟢 -724 B
assets/audioService-C__NM0wr.js (removed) 2.03 kB 🟢 -2.03 kB 🟢 -932 B 🟢 -822 B
assets/audioService-HpH5636u.js (new) 2.03 kB 🔴 +2.03 kB 🔴 +933 B 🔴 +821 B
assets/teamWorkspaceStore-CDk9idvs.js (removed) 165 B 🟢 -165 B 🟢 -123 B 🟢 -107 B
assets/teamWorkspaceStore-DX8a8CfI.js (new) 165 B 🔴 +165 B 🔴 +123 B 🔴 +105 B
assets/releaseStore-CvXiohWZ.js (new) 140 B 🔴 +140 B 🔴 +106 B 🔴 +102 B
assets/releaseStore-DG3PObFp.js (removed) 140 B 🟢 -140 B 🟢 -106 B 🟢 -108 B
assets/serverConfigStore-B2LzN8g1.js 2.64 kB 2.64 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 8 added / 8 removed

Utilities & Hooks — 25.2 kB (baseline 25.2 kB) • ⚪ 0 B

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useErrorHandling-cFWfVmQU.js (removed) 5.08 kB 🟢 -5.08 kB 🟢 -1.5 kB 🟢 -1.31 kB
assets/useErrorHandling-WWko5xxN.js (new) 5.08 kB 🔴 +5.08 kB 🔴 +1.5 kB 🔴 +1.3 kB
assets/useWorkspaceUI-Cjaiq6Wd.js (removed) 3.42 kB 🟢 -3.42 kB 🟢 -973 B 🟢 -836 B
assets/useWorkspaceUI-D-jzm4zD.js (new) 3.42 kB 🔴 +3.42 kB 🔴 +973 B 🔴 +847 B
assets/useSubscriptionActions-B9bKBD_l.js (new) 2.22 kB 🔴 +2.22 kB 🔴 +870 B 🔴 +763 B
assets/useSubscriptionActions-Bk7YAVGr.js (removed) 2.22 kB 🟢 -2.22 kB 🟢 -869 B 🟢 -761 B
assets/subscriptionCheckoutUtil-Bu2yCeDz.js (new) 2 kB 🔴 +2 kB 🔴 +862 B 🔴 +749 B
assets/subscriptionCheckoutUtil-DM7XuJfE.js (removed) 2 kB 🟢 -2 kB 🟢 -864 B 🟢 -745 B
assets/useSubscriptionCredits-CgkUKR56.js (removed) 1.39 kB 🟢 -1.39 kB 🟢 -596 B 🟢 -525 B
assets/useSubscriptionCredits-Cx8F5W4B.js (new) 1.39 kB 🔴 +1.39 kB 🔴 +595 B 🔴 +531 B
assets/audioUtils-CBhx8m3K.js (removed) 970 B 🟢 -970 B 🟢 -545 B 🟢 -454 B
assets/audioUtils-ChLvezQG.js (new) 970 B 🔴 +970 B 🔴 +547 B 🔴 +482 B
assets/useCurrentUser-BvSdXkSl.js (new) 145 B 🔴 +145 B 🔴 +114 B 🔴 +104 B
assets/useCurrentUser-DPhlSn3j.js (removed) 145 B 🟢 -145 B 🟢 -114 B 🟢 -104 B
assets/_plugin-vue_export-helper-DLRTaeJK.js 467 B 467 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/colorUtil-8brfHtOx.js 7.2 kB 7.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-DBMaRy6q.js 1.78 kB 1.78 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/tailwindUtil-Hy0jY5OA.js 488 B 488 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 7 added / 7 removed

Vendor & Third-Party — 10.7 MB (baseline 10.7 MB) • ⚪ 0 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-chart-DdBDBwvF.js 408 kB 408 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-Dk4vQph5.js 4.1 MB 4.1 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-BK91gQps.js 3.04 MB 3.04 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-Bh_PdEOO.js 256 kB 256 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-BKpliY5_.js 1.83 MB 1.83 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-BFRBT3RT.js 650 kB 650 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-DMjbEcx7.js 13.6 kB 13.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-PDw3y6Aq.js 398 kB 398 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 6.43 MB (baseline 6.43 MB) • 🟢 -192 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-CUe17yXG.js (removed) 178 kB 🟢 -178 kB 🟢 -43 kB 🟢 -35.9 kB
assets/core-rDZ2xfD1.js (new) 178 kB 🔴 +178 kB 🔴 +43 kB 🔴 +35.9 kB
assets/WidgetSelect-Cav8D31p.js (removed) 50.7 kB 🟢 -50.7 kB 🟢 -11.2 kB 🟢 -9.74 kB
assets/WidgetSelect-rNwow24S.js (new) 50.7 kB 🔴 +50.7 kB 🔴 +11.2 kB 🔴 +9.76 kB
assets/Load3DControls-COFbUNop.js (removed) 35.9 kB 🟢 -35.9 kB 🟢 -5.87 kB 🟢 -5.09 kB
assets/Load3DControls-DJVy_vgq.js (new) 35.9 kB 🔴 +35.9 kB 🔴 +5.87 kB 🔴 +5.07 kB
assets/SubscriptionRequiredDialogContent-BTR5vESK.js (new) 28.7 kB 🔴 +28.7 kB 🔴 +6.78 kB 🔴 +5.92 kB
assets/SubscriptionRequiredDialogContent-CKuSe0qR.js (removed) 28.7 kB 🟢 -28.7 kB 🟢 -6.78 kB 🟢 -5.91 kB
assets/CurrentUserPopoverWorkspace-BqcyHSY4.js (removed) 22.1 kB 🟢 -22.1 kB 🟢 -4.94 kB 🟢 -4.38 kB
assets/CurrentUserPopoverWorkspace-C-JMZjkz.js (new) 22.1 kB 🔴 +22.1 kB 🔴 +4.95 kB 🔴 +4.38 kB
assets/Load3D-BkK3Hl0P.js (removed) 20.9 kB 🟢 -20.9 kB 🟢 -4.58 kB 🟢 -4.01 kB
assets/Load3D-Cq0oCzo3.js (new) 20.9 kB 🔴 +20.9 kB 🔴 +4.59 kB 🔴 +4.02 kB
assets/WidgetInputNumber-BGcFKPbM.js (removed) 18.3 kB 🟢 -18.3 kB 🟢 -4.51 kB 🟢 -4.02 kB
assets/WidgetInputNumber-KTCv1Zan.js (new) 18.3 kB 🔴 +18.3 kB 🔴 +4.51 kB 🔴 +4.01 kB
assets/WidgetRecordAudio-r0sXHDen.js (new) 18.2 kB 🔴 +18.2 kB 🔴 +4.96 kB 🔴 +4.43 kB
assets/WidgetRecordAudio-UwxajrK3.js (removed) 18.2 kB 🟢 -18.2 kB 🟢 -4.96 kB 🟢 -4.43 kB
assets/SubscriptionPanelContentWorkspace-BoACSzOx.js (new) 18.2 kB 🔴 +18.2 kB 🔴 +4.48 kB 🔴 +3.91 kB
assets/SubscriptionPanelContentWorkspace-C5eIvSc7.js (removed) 18.2 kB 🟢 -18.2 kB 🟢 -4.48 kB 🟢 -3.9 kB
assets/WidgetImageCrop-rFDr691m.js (removed) 17.1 kB 🟢 -17.1 kB 🟢 -4.14 kB 🟢 -3.63 kB
assets/WidgetImageCrop-sXc86AvV.js (new) 17.1 kB 🔴 +17.1 kB 🔴 +4.14 kB 🔴 +3.63 kB
assets/PanelTemplate-B0lEjWSw.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +5.45 kB 🔴 +4.79 kB
assets/PanelTemplate-DuahnlFs.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -5.45 kB 🟢 -4.79 kB
assets/AudioPreviewPlayer-o9BlPAhu.js (removed) 10.8 kB 🟢 -10.8 kB 🟢 -2.97 kB 🟢 -2.65 kB
assets/AudioPreviewPlayer-Pqw8AywO.js (new) 10.8 kB 🔴 +10.8 kB 🔴 +2.97 kB 🔴 +2.66 kB
assets/InviteMemberDialogContent-90ZklY-8.js (removed) 8.36 kB 🟢 -8.36 kB 🟢 -2.5 kB 🟢 -2.17 kB
assets/InviteMemberDialogContent-DeP0CVIa.js (new) 8.36 kB 🔴 +8.36 kB 🔴 +2.5 kB 🔴 +2.17 kB
assets/WidgetWithControl-BgSSRWa2.js (new) 8.02 kB 🔴 +8.02 kB 🔴 +2.65 kB 🔴 +2.39 kB
assets/WidgetWithControl-swP4J4Oj.js (removed) 8.02 kB 🟢 -8.02 kB 🟢 -2.64 kB 🟢 -2.38 kB
assets/CreateWorkspaceDialogContent-CiTAmWgj.js (removed) 5.93 kB 🟢 -5.93 kB 🟢 -1.93 kB 🟢 -1.69 kB
assets/CreateWorkspaceDialogContent-Da9iEtlW.js (new) 5.93 kB 🔴 +5.93 kB 🔴 +1.92 kB 🔴 +1.68 kB
assets/EditWorkspaceDialogContent-B0AKBUrS.js (removed) 5.7 kB 🟢 -5.7 kB 🟢 -1.88 kB 🟢 -1.65 kB
assets/EditWorkspaceDialogContent-DXt_rXa9.js (new) 5.7 kB 🔴 +5.7 kB 🔴 +1.88 kB 🔴 +1.65 kB
assets/ValueControlPopover-BVWug27Y.js (new) 4.86 kB 🔴 +4.86 kB 🔴 +1.54 kB 🔴 +1.37 kB
assets/ValueControlPopover-C7Hmpi4w.js (removed) 4.86 kB 🟢 -4.86 kB 🟢 -1.54 kB 🟢 -1.37 kB
assets/DeleteWorkspaceDialogContent-DbQDJjW8.js (removed) 4.59 kB 🟢 -4.59 kB 🟢 -1.56 kB 🟢 -1.35 kB
assets/DeleteWorkspaceDialogContent-X9E2rsmE.js (new) 4.59 kB 🔴 +4.59 kB 🔴 +1.56 kB 🔴 +1.35 kB
assets/LeaveWorkspaceDialogContent-BEfmeNTi.js (removed) 4.41 kB 🟢 -4.41 kB 🟢 -1.5 kB 🟢 -1.31 kB
assets/LeaveWorkspaceDialogContent-CKNCkotx.js (new) 4.41 kB 🔴 +4.41 kB 🔴 +1.5 kB 🔴 +1.31 kB
assets/RemoveMemberDialogContent-DdeXuEyr.js (removed) 4.38 kB 🟢 -4.38 kB 🟢 -1.45 kB 🟢 -1.27 kB
assets/RemoveMemberDialogContent-u_nRQJX2.js (new) 4.38 kB 🔴 +4.38 kB 🔴 +1.45 kB 🔴 +1.27 kB
assets/RevokeInviteDialogContent-BVZ0muwc.js (new) 4.29 kB 🔴 +4.29 kB 🔴 +1.47 kB 🔴 +1.29 kB
assets/RevokeInviteDialogContent-CwfQYLSS.js (removed) 4.29 kB 🟢 -4.29 kB 🟢 -1.47 kB 🟢 -1.29 kB
assets/GlobalToast-DvbIS1WL.js (new) 3.05 kB 🔴 +3.05 kB 🔴 +1.09 kB 🔴 +942 B
assets/GlobalToast-wvwdVKH_.js (removed) 3.05 kB 🟢 -3.05 kB 🟢 -1.1 kB 🟢 -942 B
assets/SubscribeToRun-B5HVLD0q.js (removed) 2.96 kB 🟢 -2.96 kB 🟢 -1.16 kB 🟢 -1.04 kB
assets/SubscribeToRun-CJ2TYpfE.js (new) 2.96 kB 🔴 +2.96 kB 🔴 +1.16 kB 🔴 +1.01 kB
assets/cloudSessionCookie-D25KwKPo.js (new) 2.94 kB 🔴 +2.94 kB 🔴 +935 B 🔴 +804 B
assets/cloudSessionCookie-DfZwl2jg.js (removed) 2.94 kB 🟢 -2.94 kB 🟢 -935 B 🟢 -801 B
assets/BaseViewTemplate-BSCo1oMF.js (new) 2.42 kB 🔴 +2.42 kB 🔴 +1.04 kB 🔴 +938 B
assets/BaseViewTemplate-DHIXUg5W.js (removed) 2.42 kB 🟢 -2.42 kB 🟢 -1.05 kB 🟢 -940 B
assets/CloudRunButtonWrapper-D5ZnDXNw.js (new) 1.79 kB 🔴 +1.79 kB 🔴 +645 B 🔴 +564 B
assets/CloudRunButtonWrapper-hyKcE7Fv.js (removed) 1.79 kB 🟢 -1.79 kB 🟢 -645 B 🟢 -563 B
assets/cloudBadges-B-1SdIPd.js (removed) 1.08 kB 🟢 -1.08 kB 🟢 -540 B 🟢 -486 B
assets/cloudBadges-BNSKv-eE.js (new) 1.08 kB 🔴 +1.08 kB 🔴 +539 B 🔴 +497 B
assets/graphHasMissingNodes-NdTCdUXU.js (new) 1.06 kB 🔴 +1.06 kB 🔴 +461 B 🔴 +428 B
assets/graphHasMissingNodes-ZC0B0aBO.js (removed) 1.06 kB 🟢 -1.06 kB 🟢 -463 B 🟢 -421 B
assets/cloudSubscription-BIx00pXR.js (new) 976 B 🔴 +976 B 🔴 +463 B 🔴 +395 B
assets/cloudSubscription-CB1WfKYf.js (removed) 976 B 🟢 -976 B 🟢 -465 B 🟢 -397 B
assets/nightlyBadges-DPAihsvw.js (removed) 594 B 🟢 -594 B 🟢 -358 B 🟢 -312 B
assets/nightlyBadges-Dxtm5XpM.js (new) 594 B 🔴 +594 B 🔴 +357 B 🔴 +312 B
assets/SubscriptionPanelContentWorkspace-BQSK_HFj.js (removed) 266 B 🟢 -266 B 🟢 -136 B 🟢 -120 B
assets/SubscriptionPanelContentWorkspace-Bt2gpeQH.js (new) 266 B 🔴 +266 B 🔴 +136 B 🔴 +112 B
assets/WidgetInputNumber-B-_Bxd6g.js (new) 186 B 🔴 +186 B 🔴 +119 B 🔴 +123 B
assets/WidgetInputNumber-BgAE_tp8.js (removed) 186 B 🟢 -186 B 🟢 -119 B 🟢 -121 B
assets/WidgetLegacy-DEshSjWs.js (removed) 164 B 🟢 -164 B 🟢 -125 B 🟢 -107 B
assets/WidgetLegacy-QGtZqRkt.js (new) 164 B 🔴 +164 B 🔴 +125 B 🔴 +103 B
assets/Load3D-CvgkJrfk.js (removed) 131 B 🟢 -131 B 🟢 -107 B 🟢 -113 B
assets/Load3D-UrxC33gQ.js (new) 131 B 🔴 +131 B 🔴 +107 B 🔴 +121 B
assets/auto-BmypP-XQ.js 1.73 kB 1.73 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-27PChCGl.js 17 kB 17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-B52_zgXW.js 18.8 kB 18.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BC_Q8we6.js 19.3 kB 19.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BZlNQPg2.js 17.8 kB 17.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CgVf6wUK.js 17.9 kB 17.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CuidUnsD.js 19.3 kB 19.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-D5OfZ3bv.js 18.5 kB 18.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Dmj47WTl.js 20.6 kB 20.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DUK2nLuH.js 17.2 kB 17.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-K3soE7da.js 18 kB 18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-MVcGSIbM.js 18 kB 18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/LazyImage-rWQpxwnM.js 14.1 kB 14.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BKNTTNlG.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C_hdRFbZ.js 129 kB 129 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CfGGFRzU.js 126 kB 126 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CpFx4JJ1.js 151 kB 151 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Cro09VYh.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CsHi8V26.js 146 kB 146 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CvOyqCL5.js 122 kB 122 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D29Ga1Vv.js 168 kB 168 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DTZ3Cq9q.js 122 kB 122 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DVNwcedr.js 140 kB 140 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-WxzUNrgR.js 124 kB 124 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-8_T22Isd.js 2.38 kB 2.38 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-CBP8th-j.js 2 kB 2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-1THG_DJM.js 2.34 kB 2.34 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-bsLx-Wg6.js 2.84 kB 2.84 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/mixpanel.module-BiPjOPVW.js 143 B 143 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BhCOuEba.js 359 kB 359 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BMK6BIfT.js 376 kB 376 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BRyEXRs7.js 363 kB 363 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CcpUorR_.js 440 kB 440 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CF18koQc.js 405 kB 405 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CHsbMBTq.js 336 kB 336 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DbcqYeAO.js 334 kB 334 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DPQWojsE.js 356 kB 356 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DsEMLGXe.js 366 kB 366 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DT5ppw0r.js 363 kB 363 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-S8kvmuqz.js 405 kB 405 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-B-XG7lU7.js 838 B 838 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/rolldown-runtime-cVp-94Rc.js 1.96 kB 1.96 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Slider-BAEfKuro.js 4.21 kB 4.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widget-CD3JnB1i.js 518 B 518 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-Bp7B7z1s.js 186 B 186 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-CgNPbPqq.js 4.71 kB 4.71 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-3mC7A_va.js 2.79 kB 2.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-x8L_rIAb.js 3.71 kB 3.71 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria-f72WaoQY.js 4.57 kB 4.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-Dd0p7l7V.js 3.79 kB 3.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-DOFSeOZG.js 2.58 kB 2.58 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-CZXFB71F.js 2.61 kB 2.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-bP5F2-qx.js 3.22 kB 3.22 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-DOe9Bb1I.js 1.31 kB 1.31 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetTextarea-DwdEJ3mA.js 3.52 kB 3.52 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-BIK7gguT.js 3.08 kB 3.08 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 34 added / 34 removed

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/platform/assets/utils/createModelNodeFromAsset.ts (1)

73-86: Error messages are misleading.

The error message on line 76 references user_metadata.filename specifically, but getAssetFilename() may have resolved the value from metadata.filename or asset.name instead. Additionally, typeof filename will always be 'string' since getAssetFilename() guarantees a string return type.

🛠️ Suggested fix for clearer error messages
   if (filename.length === 0) {
     console.error(
-      `Asset ${validAsset.id} has invalid user_metadata.filename (expected non-empty string, got ${typeof filename})`
+      `Asset ${validAsset.id} has empty filename (resolved from user_metadata, metadata, or asset.name)`
     )
     return {
       success: false,
       error: {
         code: 'INVALID_ASSET',
-        message: `Invalid filename (expected non-empty string, got ${typeof filename})`,
+        message: 'Asset filename is empty',
         assetId: validAsset.id
       }
     }
   }

@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:S This PR changes 10-29 lines, ignoring generated files. labels Jan 25, 2026
@DrJKL DrJKL merged commit 702c917 into main Jan 25, 2026
32 checks passed
@DrJKL DrJKL deleted the feat/asset-filename-util branch January 25, 2026 01:50
github-actions bot pushed a commit that referenced this pull request Jan 25, 2026
@comfy-pr-bot
Copy link
Member

@DrJKL Successfully backported to #8310

@github-actions github-actions bot removed the needs-backport Fix/change that needs to be cherry-picked to the current feature freeze branch label Jan 25, 2026
DrJKL added a commit that referenced this pull request Jan 25, 2026
…hain (#8310)

Backport of #8309 to `cloud/1.37`

Automatically created by backport workflow.

Co-authored-by: Alexander Brown <drjkl@comfy.org>
Co-authored-by: Amp <amp@ampcode.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cloud/1.37 Backport PRs for cloud 1.37 size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants