Skip to content

Conversation

@Myestery
Copy link
Collaborator

@Myestery Myestery commented Nov 21, 2025

Summary

Changes

  • What:
  • Breaking:
  • Dependencies:

Review Focus

Screenshots (if applicable)

┆Issue is synchronized with this Notion page by Unito

@github-actions
Copy link

github-actions bot commented Nov 21, 2025

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 11/25/2025, 12:57:54 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@github-actions
Copy link

github-actions bot commented Nov 21, 2025

🎭 Playwright Test Results

⚠️ Tests passed with flaky tests

⏰ Completed at: 11/25/2025, 01:09:30 AM UTC

📈 Summary

  • Total Tests: 496
  • Passed: 484 ✅
  • Failed: 0
  • Flaky: 3 ⚠️
  • Skipped: 9 ⏭️

📊 Test Reports by Browser

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

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

@github-actions
Copy link

github-actions bot commented Nov 21, 2025

Bundle Size Report

Summary

  • Raw size: 14.2 MB baseline 14.2 MB — 🔴 +18.1 kB
  • Gzip: 2.84 MB baseline 2.84 MB — 🔴 +5.15 kB
  • Brotli: 2.23 MB baseline 2.23 MB — 🔴 +4.29 kB
  • Bundles: 94 current • 92 baseline • 41 added / 39 removed

Category Glance
Other 🔴 +11.8 kB (3.88 MB) · UI Components 🔴 +5.53 kB (146 kB) · App Entry Points 🔴 +740 B (3.18 MB) · Vendor & Third-Party ⚪ 0 B (5.7 MB) · Graph Workspace ⚪ 0 B (942 kB) · Panels & Settings ⚪ 0 B (306 kB) · + 3 more

Per-category breakdown
App Entry Points — 3.18 MB (baseline 3.18 MB) • 🔴 +740 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-vpFFc8FR.js (new) 2.95 MB 🔴 +2.95 MB 🔴 +615 kB 🔴 +467 kB
assets/index-CNvE512m.js (removed) 2.95 MB 🟢 -2.95 MB 🟢 -615 kB 🟢 -467 kB
assets/index-Bkewtmgb.js (removed) 228 kB 🟢 -228 kB 🟢 -48.9 kB 🟢 -40.3 kB
assets/index-CcTwmHdn.js (new) 228 kB 🔴 +228 kB 🔴 +48.9 kB 🔴 +40.3 kB
assets/index-B-CSvh36.js (new) 345 B 🔴 +345 B 🔴 +246 B 🔴 +203 B
assets/index-mr1ahtAb.js (removed) 345 B 🟢 -345 B 🟢 -246 B 🟢 -233 B

Status: 3 added / 3 removed

Graph Workspace — 942 kB (baseline 942 kB) • ⚪ 0 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-CKnO0PRK.js (removed) 942 kB 🟢 -942 kB 🟢 -182 kB 🟢 -140 kB
assets/GraphView-rgNYKFFI.js (new) 942 kB 🔴 +942 kB 🔴 +182 kB 🔴 +140 kB

Status: 1 added / 1 removed

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

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/UserSelectView-D7-iGrdl.js (new) 7.97 kB 🔴 +7.97 kB 🔴 +2.43 kB 🔴 +2.14 kB
assets/UserSelectView-KE9oG5ga.js (removed) 7.97 kB 🟢 -7.97 kB 🟢 -2.43 kB 🟢 -2.14 kB

Status: 1 added / 1 removed

Panels & Settings — 306 kB (baseline 306 kB) • ⚪ 0 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CreditsPanel-DaVgmrVP.js (new) 22.9 kB 🔴 +22.9 kB 🔴 +5.46 kB 🔴 +4.78 kB
assets/CreditsPanel-DCzyBs6P.js (removed) 22.9 kB 🟢 -22.9 kB 🟢 -5.46 kB 🟢 -4.77 kB
assets/KeybindingPanel-BtdT6i-e.js (removed) 15.1 kB 🟢 -15.1 kB 🟢 -3.73 kB 🟢 -3.3 kB
assets/KeybindingPanel-DuYtsFi2.js (new) 15.1 kB 🔴 +15.1 kB 🔴 +3.73 kB 🔴 +3.28 kB
assets/ExtensionPanel-DVFj8U5S.js (removed) 11.9 kB 🟢 -11.9 kB 🟢 -2.79 kB 🟢 -2.45 kB
assets/ExtensionPanel-Dwu4RMSG.js (new) 11.9 kB 🔴 +11.9 kB 🔴 +2.79 kB 🔴 +2.45 kB
assets/AboutPanel-BcfUljIW.js (removed) 10.1 kB 🟢 -10.1 kB 🟢 -2.62 kB 🟢 -2.31 kB
assets/AboutPanel-CUlfSH_c.js (new) 10.1 kB 🔴 +10.1 kB 🔴 +2.62 kB 🔴 +2.31 kB
assets/ServerConfigPanel-CUrIOK9d.js (new) 8.02 kB 🔴 +8.02 kB 🔴 +2.12 kB 🔴 +1.87 kB
assets/ServerConfigPanel-M0ELfEAd.js (removed) 8.02 kB 🟢 -8.02 kB 🟢 -2.12 kB 🟢 -1.88 kB
assets/UserPanel-ChciQDD-.js (new) 7.74 kB 🔴 +7.74 kB 🔴 +2.02 kB 🔴 +1.77 kB
assets/UserPanel-Coz6F5aR.js (removed) 7.74 kB 🟢 -7.74 kB 🟢 -2.02 kB 🟢 -1.77 kB
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 — 146 kB (baseline 141 kB) • 🔴 +5.53 kB

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/Load3D.vue_vue_type_script_setup_true_lang-B6FKgkhs.js (new) 53.9 kB 🔴 +53.9 kB 🔴 +8.43 kB 🔴 +7.23 kB
assets/Load3D.vue_vue_type_script_setup_true_lang-MKpn-Hoz.js (removed) 53.9 kB 🟢 -53.9 kB 🟢 -8.43 kB 🟢 -7.23 kB
assets/WidgetSelect.vue_vue_type_script_setup_true_lang-DansUk7A.js (new) 48 kB 🔴 +48 kB 🔴 +10.3 kB 🔴 +8.91 kB
assets/WidgetSelect.vue_vue_type_script_setup_true_lang-DnpblL0S.js (removed) 48 kB 🟢 -48 kB 🟢 -10.3 kB 🟢 -8.94 kB
assets/WidgetInputNumber.vue_vue_type_script_setup_true_lang-CSDSYAxe.js (removed) 12.7 kB 🟢 -12.7 kB 🟢 -3.3 kB 🟢 -2.92 kB
assets/WidgetInputNumber.vue_vue_type_script_setup_true_lang-xeM5SOvd.js (new) 12.7 kB 🔴 +12.7 kB 🔴 +3.3 kB 🔴 +2.92 kB
assets/ComfyQueueButton-CZ6p6H2U.js (new) 9.22 kB 🔴 +9.22 kB 🔴 +2.5 kB 🔴 +2.2 kB
assets/ComfyQueueButton-L1i_ikh-.js (removed) 9.22 kB 🟢 -9.22 kB 🟢 -2.5 kB 🟢 -2.2 kB
assets/WidgetSelectToggle-DaCpop5q.js (new) 5.34 kB 🔴 +5.34 kB 🔴 +1.83 kB 🔴 +1.59 kB
assets/WidgetLayoutField.vue_vue_type_script_setup_true_lang-BGvjhGPm.js (new) 2.15 kB 🔴 +2.15 kB 🔴 +801 B 🔴 +703 B
assets/WidgetLayoutField.vue_vue_type_script_setup_true_lang-DGYlg-k0.js (removed) 2.15 kB 🟢 -2.15 kB 🟢 -800 B 🟢 -691 B
assets/WidgetButton-D-N4Ankj.js (new) 1.91 kB 🔴 +1.91 kB 🔴 +864 B 🔴 +755 B
assets/WidgetButton-CtnTx0SP.js (removed) 1.72 kB 🟢 -1.72 kB 🟢 -787 B 🟢 -685 B
assets/MediaTitle.vue_vue_type_script_setup_true_lang-Co9q-wAY.js (new) 848 B 🔴 +848 B 🔴 +474 B 🔴 +426 B
assets/MediaTitle.vue_vue_type_script_setup_true_lang-CQNpN7rG.js (removed) 848 B 🟢 -848 B 🟢 -473 B 🟢 -415 B
assets/LazyImage.vue_vue_type_script_setup_true_lang-Wi-CcgaU.js 10.7 kB 10.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar.vue_vue_type_script_setup_true_lang-D2s8tnS2.js 1.26 kB 1.26 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 8 added / 7 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-BHMItoQV.js (new) 7.51 kB 🔴 +7.51 kB 🔴 +1.83 kB 🔴 +1.58 kB
assets/keybindingService-D7TRmkkX.js (removed) 7.51 kB 🟢 -7.51 kB 🟢 -1.84 kB 🟢 -1.58 kB
assets/audioService-CUocktc4.js (new) 2.2 kB 🔴 +2.2 kB 🔴 +961 B 🔴 +830 B
assets/audioService-r_h9jGAX.js (removed) 2.2 kB 🟢 -2.2 kB 🟢 -964 B 🟢 -829 B
assets/serverConfigStore-D2N-YjtJ.js 2.79 kB 2.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 2 added / 2 removed

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

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/audioUtils-BQY6l0ij.js (removed) 1.41 kB 🟢 -1.41 kB 🟢 -651 B 🟢 -542 B
assets/audioUtils-CB-9p_6u.js (new) 1.41 kB 🔴 +1.41 kB 🔴 +649 B 🔴 +543 B
assets/mathUtil-CTARWQ-l.js 1.07 kB 1.07 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 — 5.7 MB (baseline 5.7 MB) • ⚪ 0 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-other-OCBGbKU2.js 3.59 MB 3.59 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-PESgPnbc.js 517 B 517 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-aR6ntw5X.js 1.37 MB 1.37 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-CmuD0u4q.js 232 kB 232 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-DhKsTD0i.js 92.6 kB 92.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-BZLod3g9.js 407 kB 407 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 3.88 MB (baseline 3.87 MB) • 🔴 +11.8 kB

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/WidgetRecordAudio-CzpiRmh0.js (new) 21.9 kB 🔴 +21.9 kB 🔴 +5.52 kB 🔴 +4.89 kB
assets/WidgetRecordAudio-BfBLk-lp.js (removed) 21.9 kB 🟢 -21.9 kB 🟢 -5.52 kB 🟢 -4.88 kB
assets/AudioPreviewPlayer-CBw-M_tu.js (new) 14.9 kB 🔴 +14.9 kB 🔴 +3.69 kB 🔴 +3.3 kB
assets/AudioPreviewPlayer-DqLZ38bT.js (removed) 14.9 kB 🟢 -14.9 kB 🟢 -3.69 kB 🟢 -3.3 kB
assets/WidgetWebcam-BMh8SGO8.js (new) 11.8 kB 🔴 +11.8 kB 🔴 +3.09 kB 🔴 +2.68 kB
assets/WidgetGalleria-BMvLNZaq.js (new) 5.56 kB 🔴 +5.56 kB 🔴 +1.74 kB 🔴 +1.54 kB
assets/WidgetGalleria-DoAlXBDl.js (removed) 5.56 kB 🟢 -5.56 kB 🟢 -1.74 kB 🟢 -1.54 kB
assets/WidgetColorPicker-DYoeIqMl.js (new) 4.87 kB 🔴 +4.87 kB 🔴 +1.69 kB 🔴 +1.48 kB
assets/WidgetColorPicker-zQlf9p12.js (removed) 4.87 kB 🟢 -4.87 kB 🟢 -1.69 kB 🟢 -1.48 kB
assets/WidgetMarkdown-C_u80NNV.js (removed) 4.64 kB 🟢 -4.64 kB 🟢 -1.62 kB 🟢 -1.41 kB
assets/WidgetMarkdown-web4J1pk.js (new) 4.64 kB 🔴 +4.64 kB 🔴 +1.62 kB 🔴 +1.41 kB
assets/WidgetAudioUI-Aw5bpIih.js (new) 4.33 kB 🔴 +4.33 kB 🔴 +1.43 kB 🔴 +1.29 kB
assets/WidgetAudioUI-DT2ynruD.js (removed) 4.33 kB 🟢 -4.33 kB 🟢 -1.44 kB 🟢 -1.28 kB
assets/WidgetTextarea-BnMmRkC9.js (removed) 4.03 kB 🟢 -4.03 kB 🟢 -1.34 kB 🟢 -1.18 kB
assets/WidgetTextarea-BXf1nHPq.js (new) 4.03 kB 🔴 +4.03 kB 🔴 +1.34 kB 🔴 +1.18 kB
assets/WidgetInputText-DUjLt3hL.js (new) 3.45 kB 🔴 +3.45 kB 🔴 +1.24 kB 🔴 +1.09 kB
assets/WidgetInputText-vmzfkZFx.js (removed) 3.45 kB 🟢 -3.45 kB 🟢 -1.23 kB 🟢 -1.09 kB
assets/WidgetToggleSwitch-DCytZycR.js (removed) 3.23 kB 🟢 -3.23 kB 🟢 -1.14 kB 🟢 -1.01 kB
assets/WidgetToggleSwitch-MG5oc8nJ.js (new) 3.23 kB 🔴 +3.23 kB 🔴 +1.14 kB 🔴 +1.01 kB
assets/MediaImageBottom-CRSflyef.js (new) 3.05 kB 🔴 +3.05 kB 🔴 +1.05 kB 🔴 +917 B
assets/MediaImageBottom-CZt4IxyV.js (removed) 3.05 kB 🟢 -3.05 kB 🟢 -1.05 kB 🟢 -918 B
assets/MediaAudioBottom-C4YiELFp.js (removed) 3 kB 🟢 -3 kB 🟢 -1.05 kB 🟢 -926 B
assets/MediaAudioBottom-Dc7Na2xk.js (new) 3 kB 🔴 +3 kB 🔴 +1.05 kB 🔴 +913 B
assets/Media3DTop-BuCCKc64.js (removed) 3 kB 🟢 -3 kB 🟢 -1.08 kB 🟢 -918 B
assets/Media3DTop-N1-u8QqE.js (new) 3 kB 🔴 +3 kB 🔴 +1.08 kB 🔴 +929 B
assets/MediaVideoBottom-CR3ZIdeh.js (new) 3 kB 🔴 +3 kB 🔴 +1.05 kB 🔴 +927 B
assets/MediaVideoBottom-fep0jwyo.js (removed) 3 kB 🟢 -3 kB 🟢 -1.05 kB 🟢 -908 B
assets/Media3DBottom-BO-ICt-3.js (removed) 2.98 kB 🟢 -2.98 kB 🟢 -1.04 kB 🟢 -931 B
assets/Media3DBottom-CuaphTop.js (new) 2.98 kB 🔴 +2.98 kB 🔴 +1.04 kB 🔴 +921 B
assets/WidgetSelect-CPl-gc8N.js (removed) 2.17 kB 🟢 -2.17 kB 🟢 -672 B 🟢 -576 B
assets/WidgetSelect-D_T3UYOz.js (new) 2.17 kB 🔴 +2.17 kB 🔴 +675 B 🔴 +577 B
assets/WidgetInputNumber-DnVixbxE.js (removed) 2.12 kB 🟢 -2.12 kB 🟢 -663 B 🟢 -556 B
assets/WidgetInputNumber-DUdR_92V.js (new) 2.12 kB 🔴 +2.12 kB 🔴 +664 B 🔴 +556 B
assets/Load3D-Btv-6tdn.js (new) 1.94 kB 🔴 +1.94 kB 🔴 +595 B 🔴 +506 B
assets/Load3D-C_Xs-0qj.js (removed) 1.94 kB 🟢 -1.94 kB 🟢 -598 B 🟢 -498 B
assets/WidgetLegacy-Ba-tdq0O.js (removed) 1.88 kB 🟢 -1.88 kB 🟢 -561 B 🟢 -471 B
assets/WidgetLegacy-Dq5ZFXYX.js (new) 1.88 kB 🔴 +1.88 kB 🔴 +561 B 🔴 +468 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-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-5lOBdqcC.js 84.5 kB 84.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BOCuaVpE.js 73.4 kB 73.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-ClrEFGUz.js 72.4 kB 72.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CyNU0iQX.js 99.3 kB 99.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D7gwLxft.js 114 kB 114 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DC8o4BCt.js 86.8 kB 86.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DKiesCV4.js 94.3 kB 94.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Hq2q-OtB.js 83.6 kB 83.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-USAlAlnj.js 82 kB 82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-RTI8pWy9.js 1.42 kB 1.42 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-DlKHfEAA.js 1.68 kB 1.68 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-BB0lT7C5.js 2.7 kB 2.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-_Px5dSNW.js 306 kB 306 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-7z21KPoS.js 285 kB 285 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BWKZzBPK.js 346 kB 346 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CGbgH4Yl.js 320 kB 320 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CjjjdWkV.js 313 kB 313 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CVrNtxvj.js 288 kB 288 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DLRSA0IK.js 309 kB 309 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DQV2gnwA.js 372 kB 372 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-ofqLG5vz.js 310 kB 310 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-rDmYEWg5.js 2.39 kB 2.39 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-Ds3K3ULR.js 2.15 kB 2.15 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-BIbGSUAt.js 1.28 kB 1.28 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 19 added / 18 removed

…ontrols

Implements a proper Vue toggle widget component and enhances the webcam widget to dynamically show/hide related controls based on camera state, with automatic restoration on component unmount.
@coderabbitai
Copy link

coderabbitai bot commented Nov 21, 2025

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

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

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch webcam-capture

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

…elds

Use toRaw() and markRaw() when modifying widget objects to prevent Vue's
reactive proxy from wrapping them. This fixes errors when LiteGraph tries
to access private class members like #value in BaseWidget.
Add video preview functionality with hover overlay that allows users to:
- Click button to start camera and show live preview
- Hover over video to see stop overlay
- Click anywhere on video to hide preview (keeps camera active)
- Click button again to re-show preview without re-requesting permissions

Uses VueUse's useElementHover for automatic hover detection and proper
MediaStream handling with cleanup on unmount.
Added programmatic capture button that appears when camera is turned on. The button uses node.addWidget() to integrate with LiteGraph canvas.

- Add captureImage() function to draw video frame to canvas and store in node.imgs
- Add capture button widget in showWidgets() using node.addWidget()
- Create canvas element at module level for efficient reuse
- Widget restoration handled by existing restoreWidgets() cleanup
Added optional iconClass property to IWidgetOptions to support icon display in widget buttons.
Updated button widget to support icon display and improved styling to match design system.

- Add icon rendering using widget.options.iconClass
- Update styling to use semantic tokens
- Use widget.label for display instead of widget.name
- Apply consistent button styling with design system tokens
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants