Skip to content

Conversation

@DrJKL
Copy link
Contributor

@DrJKL DrJKL commented Dec 8, 2025

Summary

See what it looks like. How it feels. What do you think?

  • Also was able to unify down to a single SearchBox component.

Changes

  • Bigger widget / slot labels
  • Smaller header text
  • Unified Searchboxes across sidebar tabs

┆Issue is synchronized with this Notion page by Unito

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 8, 2025

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (14)
  • browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-create-group-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/interactions/canvas/zoom.spec.ts-snapshots/zoomed-in-ctrl-shift-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/interactions/node/bringToFront.spec.ts-snapshots/bring-to-front-overlapped-after-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/interactions/node/bringToFront.spec.ts-snapshots/bring-to-front-overlapped-before-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/interactions/node/bringToFront.spec.ts-snapshots/bring-to-front-widget-overlapped-after-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/interactions/node/bringToFront.spec.ts-snapshots/bring-to-front-widget-overlapped-before-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-touch-mobile-chrome-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-color-blue-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-dark-all-colors-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-light-all-colors-chromium-linux.png is excluded by !**/*.png
  • browser_tests/tests/vueNodes/nodeStates/mute.spec.ts-snapshots/vue-node-muted-state-chromium-linux.png is excluded by !**/*.png

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

SearchBox was refactored and moved from src/components/inputsrc/components/common, switching to an internal v-model (defineModel) with debounced search emits, adding showBorder/size props and exposing focus; imports updated across the repo. Several UI spacing/class tweaks and a design-system CSS token reorganization were made.

Changes

Cohort / File(s) Change Summary
SearchBox refactor & relocation
src/components/common/SearchBox.vue, src/components/input/SearchBox.vue
Removed legacy input/SearchBox.vue; added/refactored common/SearchBox.vue using defineModel + watchDebounced, internal v-model, layout changes, removed update:modelValue emit, added showBorder & size props, and exposed focus().
Tests & stories updated for SearchBox
src/components/common/SearchBox.test.ts, src/components/common/SearchBox.stories.ts, tests-ui/.../AssetBrowserModal.test.ts, src/components/widget/layout/BaseModalLayout.stories.ts
Updated imports to new path, tests now expect search emit and use async timer helpers, story typing/argTypes and default args adjusted.
SearchBox import usages updated
src/components/custom/widget/WorkflowTemplateSelectorDialog.vue, src/components/input/MultiSelect.vue, src/components/widget/SampleModelSelector.vue, src/platform/assets/components/AssetBrowserModal.vue, src/platform/assets/components/MediaAssetFilterBar.vue, src/components/widget/layout/BaseModalLayout.stories.ts
Replaced imports from @/components/input/SearchBox.vue@/components/common/SearchBox.vue; removed one size="lg" prop and appended "..." to a placeholder binding.
Sidebar tab layout & padding changes
src/components/sidebar/tabs/AssetsSidebarTab.vue, src/components/sidebar/tabs/ModelLibrarySidebarTab.vue, src/components/sidebar/tabs/NodeLibrarySidebarTab.vue, src/components/sidebar/tabs/WorkflowsSidebarTab.vue, src/components/sidebar/tabs/SidebarTabTemplate.vue
Moved padding into wrapper divs, added/relocated TabList into a tool-buttons slot, inserted a Divider in body templates, and adjusted toolbar min-height (min-h-15.5min-h-16).
Node UI class and layout tweaks
src/renderer/.../InputSlot.vue, src/renderer/.../LGraphNode.vue, src/renderer/.../NodeHeader.vue, src/renderer/.../NodeWidgets.vue, src/renderer/.../OutputSlot.vue, src/renderer/.../widgets/components/layout/WidgetLayoutField.vue
Consolidated computed class logic into inline cn(...) bindings, adjusted Tailwind utilities (text size, alignment, flex/span), removed unused helpers, simplified template handlers and DOM wrappers.
Design system CSS theme updates
packages/design-system/src/css/style.css
Removed global root mapping for --color-comfy-menu-secondary; added --color-comfy-input and --color-comfy-input-foreground; reintroduced --color-comfy-menu-secondary inside the @theme inline block.
Localization tweak
src/locales/en/main.json
sideToolbar.searchAssets changed from "Search assets..." → "Search Assets".

Possibly related PRs

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch drjkl/reverse-shrink-ray

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

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 12/12/2025, 01:17:29 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

🎭 Playwright Test Results

Some tests failed

⏰ Completed at: 12/12/2025, 01:27:13 AM UTC

📈 Summary

  • Total Tests: 489
  • Passed: 466 ✅
  • Failed: 13 ❌
  • Flaky: 1 ⚠️
  • Skipped: 9 ⏭️

📊 Test Reports by Browser

  • chromium: View Report • ✅ 461 / ❌ 11 / ⚠️ 1 / ⏭️ 9
  • chromium-2x: View Report • ✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • chromium-0.5x: View Report • ✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • mobile-chrome: View Report • ✅ 2 / ❌ 2 / ⚠️ 0 / ⏭️ 0

🎉 Click on the links above to view detailed test results for each browser configuration.

@DrJKL DrJKL force-pushed the drjkl/reverse-shrink-ray branch from 6479bac to 30f9668 Compare December 8, 2025 06:43
@DrJKL DrJKL force-pushed the drjkl/consistency-is-inter branch 2 times, most recently from d2ebe0f to b702361 Compare December 8, 2025 19:49
@DrJKL DrJKL force-pushed the drjkl/reverse-shrink-ray branch from 25bf976 to b0476bd Compare December 8, 2025 20:11
@DrJKL DrJKL added the New Browser Test Expectations New browser test screenshot should be set by github action label Dec 8, 2025
@github-actions
Copy link

github-actions bot commented Dec 8, 2025

Updating Playwright Expectations

@github-actions github-actions bot removed the New Browser Test Expectations New browser test screenshot should be set by github action label Dec 8, 2025
@DrJKL DrJKL force-pushed the drjkl/consistency-is-inter branch 3 times, most recently from b1f64a6 to b7d26e9 Compare December 9, 2025 01:28
Base automatically changed from drjkl/consistency-is-inter to main December 9, 2025 02:48
@DrJKL DrJKL force-pushed the drjkl/reverse-shrink-ray branch from 8197219 to bc7d097 Compare December 9, 2025 18:15
@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Bundle Size Report

Summary

  • Raw size: 17.1 MB baseline 17.1 MB — 🟢 -1.46 kB
  • Gzip: 3.38 MB baseline 3.39 MB — 🟢 -1.47 kB
  • Brotli: 2.6 MB baseline 2.6 MB — 🟢 -104 B
  • Bundles: 97 current • 97 baseline • 52 added / 52 removed

Category Glance
App Entry Points 🟢 -1.54 kB (3.23 MB) · Vendor & Third-Party 🔴 +418 B (8.56 MB) · UI Components 🟢 -323 B (178 kB) · Graph Workspace 🟢 -7 B (981 kB) · Panels & Settings 🟢 -2 B (298 kB) · Other ⚪ 0 B (3.81 MB) · + 3 more

Per-category breakdown
App Entry Points — 3.23 MB (baseline 3.23 MB) • 🟢 -1.54 kB

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-Bicr9SPo.js (removed) 3.01 MB 🟢 -3.01 MB 🟢 -625 kB 🟢 -476 kB
assets/index-DsllhMSk.js (new) 3.01 MB 🔴 +3.01 MB 🔴 +625 kB 🔴 +476 kB
assets/index-BIqp2Aoh.js (removed) 224 kB 🟢 -224 kB 🟢 -47.8 kB 🟢 -39.4 kB
assets/index-Bviu2kul.js (new) 224 kB 🔴 +224 kB 🔴 +47.8 kB 🔴 +39.4 kB
assets/index-BkOLn1pk.js (removed) 345 B 🟢 -345 B 🟢 -242 B 🟢 -201 B
assets/index-T9Ala_QQ.js (new) 345 B 🔴 +345 B 🔴 +244 B 🔴 +209 B

Status: 3 added / 3 removed

Graph Workspace — 981 kB (baseline 981 kB) • 🟢 -7 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-DhhHBt0s.js (removed) 981 kB 🟢 -981 kB 🟢 -190 kB 🟢 -145 kB
assets/GraphView-CVwhexQM.js (new) 981 kB 🔴 +981 kB 🔴 +190 kB 🔴 +145 kB

Status: 1 added / 1 removed

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

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/UserSelectView-9xpddWfD.js (new) 6.54 kB 🔴 +6.54 kB 🔴 +2.13 kB 🔴 +1.9 kB
assets/UserSelectView-Dofobcn0.js (removed) 6.54 kB 🟢 -6.54 kB 🟢 -2.14 kB 🟢 -1.9 kB

Status: 1 added / 1 removed

Panels & Settings — 298 kB (baseline 298 kB) • 🟢 -2 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/LegacyCreditsPanel-C_dL6iBr.js (removed) 21.4 kB 🟢 -21.4 kB 🟢 -5.15 kB 🟢 -4.5 kB
assets/LegacyCreditsPanel-CEeSjZ4o.js (new) 21.4 kB 🔴 +21.4 kB 🔴 +5.15 kB 🔴 +4.5 kB
assets/KeybindingPanel-BC-I9Q31.js (removed) 13.6 kB 🟢 -13.6 kB 🟢 -3.42 kB 🟢 -3.01 kB
assets/KeybindingPanel-BlGQ1Q-j.js (new) 13.6 kB 🔴 +13.6 kB 🔴 +3.42 kB 🔴 +3.01 kB
assets/ExtensionPanel-CwEyHiDf.js (removed) 10.8 kB 🟢 -10.8 kB 🟢 -2.57 kB 🟢 -2.26 kB
assets/ExtensionPanel-BxY1SgVm.js (new) 10.8 kB 🔴 +10.8 kB 🔴 +2.57 kB 🔴 +2.26 kB
assets/AboutPanel-CuesNs9V.js (new) 9.16 kB 🔴 +9.16 kB 🔴 +2.46 kB 🔴 +2.21 kB
assets/AboutPanel-Ysulo8fx.js (removed) 9.16 kB 🟢 -9.16 kB 🟢 -2.46 kB 🟢 -2.21 kB
assets/ServerConfigPanel-C67cJ-CR.js (new) 6.56 kB 🔴 +6.56 kB 🔴 +1.83 kB 🔴 +1.63 kB
assets/ServerConfigPanel-CPvRgLyF.js (removed) 6.56 kB 🟢 -6.56 kB 🟢 -1.83 kB 🟢 -1.63 kB
assets/UserPanel-BLFUtMLk.js (new) 6.23 kB 🔴 +6.23 kB 🔴 +1.72 kB 🔴 +1.51 kB
assets/UserPanel-CoqWi0MO.js (removed) 6.23 kB 🟢 -6.23 kB 🟢 -1.72 kB 🟢 -1.51 kB
assets/settings-BhbWhsRg.js 101 B 101 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BXTtSH4O.js 33.3 kB 33.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-C9Pzn-NG.js 25.2 kB 25.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CCy2fA_h.js 27.3 kB 27.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CQpqEFfl.js 26.6 kB 26.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DHcnxypw.js 21.7 kB 21.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DhFTK9fY.js 25.1 kB 25.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DlT4t_ui.js 25.9 kB 25.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DRgSrIdD.js 24.2 kB 24.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-tjkeqiZq.js 21.1 kB 21.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 6 added / 6 removed

UI Components — 178 kB (baseline 178 kB) • 🟢 -323 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/Load3D.vue_vue_type_script_setup_true_lang-CsHBDvd9.js (removed) 53.7 kB 🟢 -53.7 kB 🟢 -8.48 kB 🟢 -7.29 kB
assets/Load3D.vue_vue_type_script_setup_true_lang-D85QouIt.js (new) 53.7 kB 🔴 +53.7 kB 🔴 +8.48 kB 🔴 +7.28 kB
assets/WidgetSelect.vue_vue_type_script_setup_true_lang-DdtKXmpR.js (new) 48.1 kB 🔴 +48.1 kB 🔴 +10.4 kB 🔴 +8.99 kB
assets/WidgetSelect.vue_vue_type_script_setup_true_lang-odWxFxJW.js (removed) 48.1 kB 🟢 -48.1 kB 🟢 -10.4 kB 🟢 -8.98 kB
assets/LazyImage.vue_vue_type_script_setup_true_lang-BRebaQx4.js (removed) 48 kB 🟢 -48 kB 🟢 -10.6 kB 🟢 -9.32 kB
assets/LazyImage.vue_vue_type_script_setup_true_lang-DzkFTOMr.js (new) 48 kB 🔴 +48 kB 🔴 +10.6 kB 🔴 +9.31 kB
assets/WidgetInputNumber.vue_vue_type_script_setup_true_lang-B7vPFFbC.js (new) 12.9 kB 🔴 +12.9 kB 🔴 +3.37 kB 🔴 +2.99 kB
assets/WidgetInputNumber.vue_vue_type_script_setup_true_lang-S-VtnNUk.js (removed) 12.9 kB 🟢 -12.9 kB 🟢 -3.37 kB 🟢 -2.97 kB
assets/ComfyQueueButton-D3BSki7Y.js (new) 8.44 kB 🔴 +8.44 kB 🔴 +2.48 kB 🔴 +2.21 kB
assets/ComfyQueueButton-Mle5u9Vc.js (removed) 8.44 kB 🟢 -8.44 kB 🟢 -2.47 kB 🟢 -2.21 kB
assets/WidgetLayoutField.vue_vue_type_script_setup_true_lang-bU8OGViF.js (removed) 2.47 kB 🟢 -2.47 kB 🟢 -935 B 🟢 -806 B
assets/WidgetLayoutField.vue_vue_type_script_setup_true_lang-BrX4GKiT.js (new) 2.15 kB 🔴 +2.15 kB 🔴 +894 B 🔴 +766 B
assets/WidgetButton-CK5wnnsh.js (removed) 2.04 kB 🟢 -2.04 kB 🟢 -929 B 🟢 -812 B
assets/WidgetButton-CMNwFzv0.js (new) 2.04 kB 🔴 +2.04 kB 🔴 +929 B 🔴 +828 B
assets/UserAvatar.vue_vue_type_script_setup_true_lang-DROonty0.js (removed) 1.34 kB 🟢 -1.34 kB 🟢 -685 B 🟢 -591 B
assets/UserAvatar.vue_vue_type_script_setup_true_lang-HWlLovsu.js (new) 1.34 kB 🔴 +1.34 kB 🔴 +685 B 🔴 +593 B
assets/MediaTitle.vue_vue_type_script_setup_true_lang-G8cutQ1f.js (removed) 897 B 🟢 -897 B 🟢 -501 B 🟢 -441 B
assets/MediaTitle.vue_vue_type_script_setup_true_lang-MbXEGn6H.js (new) 897 B 🔴 +897 B 🔴 +500 B 🔴 +442 B

Status: 9 added / 9 removed

Data & Services — 12.5 kB (baseline 12.5 kB) • ⚪ 0 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/keybindingService-BGLEZ0Eu.js (new) 7.51 kB 🔴 +7.51 kB 🔴 +1.83 kB 🔴 +1.57 kB
assets/keybindingService-Cfx2Rl6m.js (removed) 7.51 kB 🟢 -7.51 kB 🟢 -1.83 kB 🟢 -1.58 kB
assets/serverConfigStore-bHPLOH2-.js (new) 2.83 kB 🔴 +2.83 kB 🔴 +907 B 🔴 +789 B
assets/serverConfigStore-C8zDWJOU.js (removed) 2.83 kB 🟢 -2.83 kB 🟢 -910 B 🟢 -787 B
assets/audioService-CFs5t_wp.js (new) 2.2 kB 🔴 +2.2 kB 🔴 +955 B 🔴 +819 B
assets/audioService-OIPg2_Ff.js (removed) 2.2 kB 🟢 -2.2 kB 🟢 -960 B 🟢 -821 B

Status: 3 added / 3 removed

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

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/audioUtils-Bk9VfzRN.js (new) 1.41 kB 🔴 +1.41 kB 🔴 +651 B 🔴 +543 B
assets/audioUtils-i1tUkM8X.js (removed) 1.41 kB 🟢 -1.41 kB 🟢 -650 B 🟢 -578 B
assets/mathUtil-CD4DsosH.js 1.32 kB 1.32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeFilterUtil-CXKCRJ-m.js 460 B 460 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 1 added / 1 removed

Vendor & Third-Party — 8.56 MB (baseline 8.56 MB) • 🔴 +418 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-other-Es5IU4iT.js (removed) 3.98 MB 🟢 -3.98 MB 🟢 -843 kB 🟢 -673 kB
assets/vendor-other-Deurr33o.js (new) 3.98 MB 🔴 +3.98 MB 🔴 +843 kB 🔴 +674 kB
assets/vendor-primevue-DO99B366.js (new) 1.96 MB 🔴 +1.96 MB 🔴 +335 kB 🔴 +202 kB
assets/vendor-primevue-DRta5A0j.js (removed) 1.96 MB 🟢 -1.96 MB 🟢 -336 kB 🟢 -202 kB
assets/vendor-chart-QtHvZroj.js (removed) 452 kB 🟢 -452 kB 🟢 -99.1 kB 🟢 -81 kB
assets/vendor-chart-VUOgEeCi.js (new) 452 kB 🔴 +452 kB 🔴 +99.1 kB 🔴 +81 kB
assets/vendor-tiptap-1u_V6HbC.js (removed) 232 kB 🟢 -232 kB 🟢 -45.7 kB 🟢 -37.7 kB
assets/vendor-tiptap-jlp9Zr6M.js (new) 232 kB 🔴 +232 kB 🔴 +45.7 kB 🔴 +37.7 kB
assets/vendor-vue-30uFjOtU.js (removed) 160 kB 🟢 -160 kB 🟢 -37.3 kB 🟢 -31.5 kB
assets/vendor-vue-DQYuPKbl.js (new) 160 kB 🔴 +160 kB 🔴 +37.3 kB 🔴 +31.6 kB
assets/vendor-three-aR6ntw5X.js 1.37 MB 1.37 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-BZLod3g9.js 407 kB 407 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Other — 3.81 MB (baseline 3.81 MB) • ⚪ 0 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/WidgetRecordAudio-C_LOdHPT.js (new) 20.4 kB 🔴 +20.4 kB 🔴 +5.23 kB 🔴 +4.63 kB
assets/WidgetRecordAudio-SYAm0cnD.js (removed) 20.4 kB 🟢 -20.4 kB 🟢 -5.23 kB 🟢 -4.62 kB
assets/AudioPreviewPlayer-BWp66n18.js (new) 13.4 kB 🔴 +13.4 kB 🔴 +3.37 kB 🔴 +3 kB
assets/AudioPreviewPlayer-CRaov6mK.js (removed) 13.4 kB 🟢 -13.4 kB 🟢 -3.37 kB 🟢 -3.01 kB
assets/WidgetGalleria-B9DlNC0K.js (removed) 4.1 kB 🟢 -4.1 kB 🟢 -1.44 kB 🟢 -1.3 kB
assets/WidgetGalleria-RBTfPV6E.js (new) 4.1 kB 🔴 +4.1 kB 🔴 +1.44 kB 🔴 +1.31 kB
assets/WidgetColorPicker-C-RWrsbk.js (new) 3.41 kB 🔴 +3.41 kB 🔴 +1.38 kB 🔴 +1.23 kB
assets/WidgetColorPicker-C0Oz7RBL.js (removed) 3.41 kB 🟢 -3.41 kB 🟢 -1.38 kB 🟢 -1.23 kB
assets/WidgetTextarea-BE_Up7kb.js (removed) 3.08 kB 🟢 -3.08 kB 🟢 -1.22 kB 🟢 -1.07 kB
assets/WidgetTextarea-CPF6xtdB.js (new) 3.08 kB 🔴 +3.08 kB 🔴 +1.21 kB 🔴 +1.07 kB
assets/WidgetMarkdown-C8G1zw6-.js (removed) 3.08 kB 🟢 -3.08 kB 🟢 -1.28 kB 🟢 -1.12 kB
assets/WidgetMarkdown-Cluoe1hq.js (new) 3.08 kB 🔴 +3.08 kB 🔴 +1.28 kB 🔴 +1.12 kB
assets/WidgetAudioUI-CIwNJF8T.js (removed) 2.85 kB 🟢 -2.85 kB 🟢 -1.16 kB 🟢 -1.05 kB
assets/WidgetAudioUI-Jr_NO6K_.js (new) 2.85 kB 🔴 +2.85 kB 🔴 +1.16 kB 🔴 +1.05 kB
assets/MediaVideoTop-B8jmaGRE.js (new) 2.65 kB 🔴 +2.65 kB 🔴 +1.01 kB 🔴 +868 B
assets/MediaVideoTop-DM7ksxDd.js (removed) 2.65 kB 🟢 -2.65 kB 🟢 -1.02 kB 🟢 -870 B
assets/WidgetChart-B6jx9bUF.js (removed) 2.48 kB 🟢 -2.48 kB 🟢 -932 B 🟢 -815 B
assets/WidgetChart-BH0eLeWx.js (new) 2.48 kB 🔴 +2.48 kB 🔴 +931 B 🔴 +815 B
assets/WidgetImageCompare-D6EQY_DK.js (removed) 2.21 kB 🟢 -2.21 kB 🟢 -749 B 🟢 -660 B
assets/WidgetImageCompare-mYznCAm6.js (new) 2.21 kB 🔴 +2.21 kB 🔴 +746 B 🔴 +659 B
assets/WidgetInputText-BP3Ovdsh.js (new) 1.99 kB 🔴 +1.99 kB 🔴 +918 B 🔴 +847 B
assets/WidgetInputText-BRwocPJ6.js (removed) 1.99 kB 🟢 -1.99 kB 🟢 -918 B 🟢 -847 B
assets/WidgetToggleSwitch-BgXgGjUb.js (removed) 1.76 kB 🟢 -1.76 kB 🟢 -833 B 🟢 -733 B
assets/WidgetToggleSwitch-DwGF3dMX.js (new) 1.76 kB 🔴 +1.76 kB 🔴 +831 B 🔴 +736 B
assets/MediaImageTop-B2BN_vpA.js (new) 1.75 kB 🔴 +1.75 kB 🔴 +841 B 🔴 +714 B
assets/MediaImageTop-BixOCGRS.js (removed) 1.75 kB 🟢 -1.75 kB 🟢 -843 B 🟢 -718 B
assets/MediaImageBottom-BuR_yZh7.js (new) 1.55 kB 🔴 +1.55 kB 🔴 +735 B 🔴 +640 B
assets/MediaImageBottom-CUxguxBc.js (removed) 1.55 kB 🟢 -1.55 kB 🟢 -733 B 🟢 -639 B
assets/MediaAudioBottom-BMssRpUY.js (new) 1.51 kB 🔴 +1.51 kB 🔴 +731 B 🔴 +646 B
assets/MediaAudioBottom-CM31msN7.js (removed) 1.51 kB 🟢 -1.51 kB 🟢 -732 B 🟢 -647 B
assets/Media3DBottom-6VW_fGFB.js (new) 1.5 kB 🔴 +1.5 kB 🔴 +730 B 🔴 +647 B
assets/Media3DBottom-DFKujdMc.js (removed) 1.5 kB 🟢 -1.5 kB 🟢 -730 B 🟢 -645 B
assets/MediaVideoBottom-EFqbdASk.js (removed) 1.5 kB 🟢 -1.5 kB 🟢 -730 B 🟢 -647 B
assets/MediaVideoBottom-Uul8UJly.js (new) 1.5 kB 🔴 +1.5 kB 🔴 +730 B 🔴 +647 B
assets/Media3DTop-8qvGQ2pU.js (removed) 1.49 kB 🟢 -1.49 kB 🟢 -765 B 🟢 -647 B
assets/Media3DTop-D-mma0vy.js (new) 1.49 kB 🔴 +1.49 kB 🔴 +759 B 🔴 +650 B
assets/MediaAudioTop-D1WKsNUf.js (new) 1.46 kB 🔴 +1.46 kB 🔴 +738 B 🔴 +620 B
assets/MediaAudioTop-DPi7DMtd.js (removed) 1.46 kB 🟢 -1.46 kB 🟢 -739 B 🟢 -616 B
assets/WidgetSelect-BxYVTl4M.js (new) 655 B 🔴 +655 B 🔴 +337 B 🔴 +285 B
assets/WidgetSelect-JYLO1f_V.js (removed) 655 B 🟢 -655 B 🟢 -342 B 🟢 -287 B
assets/WidgetInputNumber-CUS6DriS.js (removed) 595 B 🟢 -595 B 🟢 -327 B 🟢 -277 B
assets/WidgetInputNumber-DwpKk9Pr.js (new) 595 B 🔴 +595 B 🔴 +327 B 🔴 +273 B
assets/Load3D-B2WbQPI8.js (new) 424 B 🔴 +424 B 🔴 +265 B 🔴 +223 B
assets/Load3D-BaH2_xy-.js (removed) 424 B 🟢 -424 B 🟢 -266 B 🟢 -223 B
assets/WidgetLegacy-_RTSm9qi.js (new) 364 B 🔴 +364 B 🔴 +233 B 🔴 +193 B
assets/WidgetLegacy-ChncR7gH.js (removed) 364 B 🟢 -364 B 🟢 -237 B 🟢 -193 B
assets/commands-_s-RvhJR.js 13.6 kB 13.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BuUILW6P.js 13 kB 13 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BV4R6fLx.js 14.9 kB 14.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BWp4HdfU.js 101 B 101 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CLwPdnT6.js 14.2 kB 14.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CWMchBmd.js 15.9 kB 15.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DazTQhtc.js 12.9 kB 12.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DmWrOe93.js 13.7 kB 13.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DwiH7Kr6.js 13.8 kB 13.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-mS3LCNPn.js 14.5 kB 14.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BMi-Aksj.js 99 kB 99 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CqR8skJT.js 73.1 kB 73.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Cw9RZWRY.js 89 B 89 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DcRHAFEy.js 81.7 kB 81.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DdFdLxku.js 72.2 kB 72.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DJAtuVu5.js 84.3 kB 84.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DK8I9Rk3.js 114 kB 114 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-gP_ssnMb.js 83.4 kB 83.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-nxXY9vGp.js 94 kB 94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Ycd3gqkA.js 86.5 kB 86.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BC3OlaIn.js 342 kB 342 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BsqN8-W1.js 285 kB 285 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Bw_Jitw_.js 101 B 101 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CK2saYDx.js 307 kB 307 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Cm5kR4Hi.js 306 kB 306 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CMrh-uxB.js 310 kB 310 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DlUIOit1.js 369 kB 369 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DNu_xoP2.js 282 kB 282 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DpcvlpZe.js 303 kB 303 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-IyjOYIl-.js 317 kB 317 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-BIbGSUAt.js 1.28 kB 1.28 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 23 added / 23 removed

@DrJKL DrJKL changed the title Style: prototype with larger node text Style: Larger Node Text, More Sidebar Alignment Dec 9, 2025
@DrJKL DrJKL added Design Used to request Product feedback on design decisions New Browser Test Expectations New browser test screenshot should be set by github action labels Dec 9, 2025
@DrJKL DrJKL force-pushed the drjkl/reverse-shrink-ray branch from ae7fa98 to e258e03 Compare December 9, 2025 22:55
@DrJKL DrJKL added New Browser Test Expectations New browser test screenshot should be set by github action and removed New Browser Test Expectations New browser test screenshot should be set by github action labels Dec 9, 2025
@github-actions github-actions bot removed the New Browser Test Expectations New browser test screenshot should be set by github action label Dec 9, 2025
@DrJKL DrJKL force-pushed the drjkl/reverse-shrink-ray branch from 6745b42 to 71a25cc Compare December 11, 2025 00:47
@DrJKL DrJKL marked this pull request as ready for review December 11, 2025 02:07
@DrJKL DrJKL requested a review from Yorha4D as a code owner December 11, 2025 02:07
@DrJKL DrJKL force-pushed the drjkl/reverse-shrink-ray branch from 38b35be to d4b028a Compare December 11, 2025 23:37
@DrJKL DrJKL force-pushed the drjkl/reverse-shrink-ray branch from b116250 to f4e089b Compare December 12, 2025 01:15
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: 1

♻️ Duplicate comments (10)
src/renderer/extensions/vueNodes/widgets/components/layout/WidgetLayoutField.vue (2)

21-25: Conditional rendering preserved from previous implementation.

The v-if="widget.name" condition matches the previous logic, as confirmed in past review discussions.


35-37: Event handlers simplified to modifier-only pattern.

Using .stop modifiers without handler functions is cleaner and idiomatic Vue.

src/components/common/SearchBox.stories.ts (1)

4-8: LGTM – Import path and typing workaround.

The import path update and GenericMeta interface work around typing issues with the exposed focus method. This approach was previously reviewed and accepted.

src/components/common/SearchBox.vue (2)

50-50: Use @/utils/tailwindUtil for cn import.

The coding guidelines specify using the local re-export from @/utils/tailwindUtil rather than importing directly from @comfyorg/tailwind-utils.

-import { cn } from '@comfyorg/tailwind-utils'
+import { cn } from '@/utils/tailwindUtil'

107-119: Size prop is not applied when showBorder is true.

The wrapperStyle computed property returns early when showBorder is true, bypassing the size-specific classes. Both props should work independently.

 const wrapperStyle = computed(() => {
+  const sizeClasses = {
+    md: 'h-8 px-2 py-1.5',
+    lg: 'h-10 px-4 py-2'
+  }[size]
+
   if (showBorder) {
-    return cn('rounded p-2 border border-solid border-border-default')
+    return cn('rounded border border-solid border-border-default', sizeClasses)
   }
 
-  // Size-specific classes matching button sizes for consistency
-  const sizeClasses = {
-    md: 'h-8 px-2 py-1.5', // Matches button sm size
-    lg: 'h-10 px-4 py-2' // Matches button md size
-  }[size]
-
   return cn('rounded-lg', sizeClasses)
 })
src/renderer/extensions/vueNodes/components/NodeWidgets.vue (1)

54-63: Removing flex-1 from a grid item is fine (grid sizing is via col-span-*).

src/components/sidebar/tabs/ModelLibrarySidebarTab.vue (1)

32-32: New PrimeVue Divider usage should be avoided / centralized (migration already tracked).
Please ensure this is aligned with the existing “replace Divider” effort and confirm correct PrimeVue import style for tree-shaking in this repo.

Also applies to: 48-50

src/components/sidebar/tabs/AssetsSidebarTab.vue (1)

61-61: PrimeVue Divider introduction: please align with the existing divider replacement plan.
Also confirm import style and bundle impact (import { Divider } from 'primevue' vs component import path used elsewhere).

Also applies to: 179-183

src/renderer/extensions/vueNodes/components/InputSlot.vue (1)

3-18: socketless hiding the entire slot still looks risky—confirm it’s only used with dot-only.
If InputSlot is ever rendered with a label/field and socketless=true, this would hide more than just the socket.

#!/bin/bash
# Verify InputSlot socketless usage contexts (dot-only vs full slot)
rg -n --type=vue "<InputSlot\\b" -C2
echo "---- socketless call sites ----"
rg -n --type=vue "socketless" -C3
echo "---- socketless + dot-only call sites (expected) ----"
rg -n --type=vue "InputSlot[\\s\\S]{0,200}socketless[\\s\\S]{0,200}dot-only|dot-only[\\s\\S]{0,200}socketless" -n
src/platform/assets/components/MediaAssetFilterBar.vue (1)

3-7: Avoid concatenating '...' outside the translation (i18n punctuation).
This is already tracked (see existing i18n ticket); ideally use a dedicated placeholder key that includes the ellipsis.

Comment on lines +665 to 666
"searchAssets": "Search Assets",
"labels": {
Copy link
Contributor

@coderabbitai coderabbitai bot Dec 12, 2025

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Confirm this string is a label (not a placeholder) and stays consistent with other “Search…” copy.

sideToolbar.searchAssets changed to title case (“Search Assets”), but many other search strings are placeholder-style with ellipses (e.g., g.searchPlaceholder: “Search...”). If this is shown inside an input as placeholder text, the ellipsis/lowercase pattern may be preferable; if it’s a section label/header, title case is fine.

🤖 Prompt for AI Agents
In src/locales/en/main.json around lines 665-666, the string "searchAssets":
"Search Assets" must be validated as a label vs a placeholder and made
consistent with other "Search…" entries; search the codebase for
sideToolbar.searchAssets usage: if it's rendered as a placeholder inside an
input, change the value to the placeholder-style "Search..."
(lowercase/ellipsis) and align casing with g.searchPlaceholder; if it's used as
a section label or header, keep title case "Search Assets"; update the locale
string accordingly and ensure any tests/components expecting the previous format
are updated to match.

Copy link
Contributor Author

@DrJKL DrJKL Dec 12, 2025

Choose a reason for hiding this comment

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

What is the casing of the other search boxes, like nodes and models?

Copy link
Contributor

Choose a reason for hiding this comment

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

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check the casing pattern of other search-related strings in the locales file
echo "=== Search-related strings in main.json ==="
cat src/locales/en/main.json | jq -r '.. | select(type == "string") | select(test("(?i)search"; "i"))' | grep -i search | head -30

echo ""
echo "=== Specific search strings from g and sideToolbar sections ==="
cat src/locales/en/main.json | jq -r '.g.searchWorkflows, .g.searchSettings, .g.searchNodes, .g.searchModels, .g.searchKeybindings, .g.searchExtensions, .g.search, .g.searchPlaceholder, .sideToolbar.searchAssets'

Length of output: 705


🏁 Script executed:

#!/bin/bash
# Check how SearchBox is used with these search strings in components
echo "=== Usage of searchAssets in MediaAssetFilterBar ==="
rg -A2 -B2 "searchAssets" src/platform/assets/components/MediaAssetFilterBar.vue

echo ""
echo "=== Usage of searchNodes in NodeLibrarySidebarTab ==="
rg -A2 -B2 'searchNodes|placeholder.*search' src/components/sidebar/tabs/NodeLibrarySidebarTab.vue

echo ""
echo "=== Usage of searchModels in ModelLibrarySidebarTab ==="
rg -A2 -B2 'searchModels|placeholder.*search' src/components/sidebar/tabs/ModelLibrarySidebarTab.vue

echo ""
echo "=== Usage in WorkflowsSidebarTab ==="
rg -A2 -B2 'searchWorkflows|placeholder.*search' src/components/sidebar/tabs/WorkflowsSidebarTab.vue

Length of output: 920


@DrJKL All the other search boxes use Title Case without ellipsis in the locale strings:

  • g.searchNodes: "Search Nodes"
  • g.searchModels: "Search Models"
  • g.searchWorkflows: "Search Workflows"
  • g.searchSettings: "Search Settings"
  • g.searchKeybindings: "Search Keybindings"

The components then add the ellipsis programmatically with + '...' when using these strings as placeholders:

:placeholder="$t('g.searchNodes') + '...'"
:placeholder="$t('g.searchModels') + '...'"
:placeholder="$t('sideToolbar.searchAssets') + '...'"

So your change from "Search assets..." to "Search Assets" is perfectly consistent with the existing pattern! 👍

@DrJKL DrJKL added New Browser Test Expectations New browser test screenshot should be set by github action and removed New Browser Test Expectations New browser test screenshot should be set by github action labels Dec 12, 2025
@github-actions github-actions bot removed the New Browser Test Expectations New browser test screenshot should be set by github action label Dec 12, 2025
@DrJKL DrJKL requested a review from comfydesigner December 12, 2025 01:44
@DrJKL DrJKL merged commit 18b133d into main Dec 12, 2025
3 checks passed
@DrJKL DrJKL deleted the drjkl/reverse-shrink-ray branch December 12, 2025 03:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Design Used to request Product feedback on design decisions size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants