Skip to content

Conversation

@jtydhr88
Copy link
Collaborator

@jtydhr88 jtydhr88 commented Feb 1, 2026

Summary

  • Update imageCrop extension to target new ImageCropV2 comfyClass
  • Fix BOUNDING_BOX io_type mismatch (was BOUNDINGBOX, backend sends BOUNDING_BOX)
  • Keep old ImageCrop node_id unchanged for backward compatibility

BE Changes is Comfy-Org/ComfyUI#11594

┆Issue is synchronized with this Notion page by Unito

@jtydhr88 jtydhr88 requested a review from a team as a code owner February 1, 2026 14:28
@dosubot dosubot bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Feb 1, 2026
@dosubot
Copy link

dosubot bot commented Feb 1, 2026

Related Documentation

No published documentation to review for changes on this repository.

Write your first living document

How did I do? Any feedback?  Join Discord

@github-actions
Copy link

github-actions bot commented Feb 1, 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 (✅ 493 / ❌ 0 / ⚠️ 1 / ⏭️ 8)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 9 / ❌ 0 / ⚠️ 0 / ⏭️ 0)

@github-actions
Copy link

github-actions bot commented Feb 1, 2026

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 02/01/2026, 02:30:07 PM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 1, 2026

📝 Walkthrough

Walkthrough

Updates the image crop extension to target ImageCropV2 nodes specifically and renames the bounding box widget discriminant and aliases from 'BOUNDINGBOX' to 'BOUNDING_BOX' across widget registry, schema definitions, and public exports.

Changes

Cohort / File(s) Summary
Bounding Box Widget Standardization
src/renderer/extensions/vueNodes/widgets/registry/widgetRegistry.ts, src/schemas/nodeDef/nodeDefSchemaV2.ts, src/scripts/widgets.ts
Renamed bounding box widget alias/key from 'BOUNDINGBOX' to 'BOUNDING_BOX' in widget registry, input schema discriminant, and public ComfyWidgets export for consistent naming.
Image Crop Extension
src/extensions/core/imageCrop.ts
Updated nodeCreated hook filter to target 'ImageCropV2' instead of 'ImageCrop', narrowing extension activation to the V2 variant.

Suggested reviewers

  • shinshin86
  • KarryCharon
  • christian-byrne
  • Yorha4D
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/image-crop-v2-deprecate-old

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@github-actions
Copy link

github-actions bot commented Feb 1, 2026

Bundle Size Report

Summary

  • Raw size: 22.2 MB baseline 22.2 MB — 🔴 +5 B
  • Gzip: 4.62 MB baseline 4.62 MB — 🔴 +46 B
  • Brotli: 3.43 MB baseline 3.43 MB — 🔴 +53 B
  • Bundles: 175 current • 175 baseline • 83 added / 83 removed

Category Glance
Data & Services 🔴 +3 B (2.71 MB) · Other 🔴 +2 B (7.16 MB) · Vendor & Third-Party ⚪ 0 B (10.7 MB) · Graph Workspace ⚪ 0 B (978 kB) · Panels & Settings ⚪ 0 B (471 kB) · Views & Navigation ⚪ 0 B (80.7 kB) · + 5 more

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

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-BzG51FuC.js (new) 26 kB 🔴 +26 kB 🔴 +7.51 kB 🔴 +6.62 kB
assets/index-C3HuR0hj.js (removed) 26 kB 🟢 -26 kB 🟢 -7.51 kB 🟢 -6.63 kB

Status: 1 added / 1 removed

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

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-DhVxNap0.js (removed) 978 kB 🟢 -978 kB 🟢 -198 kB 🟢 -149 kB
assets/GraphView-l62lPkeJ.js (new) 978 kB 🔴 +978 kB 🔴 +198 kB 🔴 +149 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-VRIbhtAh.js (new) 17.1 kB 🔴 +17.1 kB 🔴 +3.6 kB 🔴 +3.05 kB
assets/CloudSurveyView-ziK9AUsm.js (removed) 17.1 kB 🟢 -17.1 kB 🟢 -3.61 kB 🟢 -3.05 kB
assets/CloudLoginView-D_YSmPsa.js (new) 11.8 kB 🔴 +11.8 kB 🔴 +3.09 kB 🔴 +2.72 kB
assets/CloudLoginView-DXonJKO4.js (removed) 11.8 kB 🟢 -11.8 kB 🟢 -3.09 kB 🟢 -2.73 kB
assets/UserCheckView-5x2PTQ6-.js (removed) 10.5 kB 🟢 -10.5 kB 🟢 -2.44 kB 🟢 -2.13 kB
assets/UserCheckView-BDGF4uhh.js (new) 10.5 kB 🔴 +10.5 kB 🔴 +2.45 kB 🔴 +2.13 kB
assets/CloudLayoutView-B1CAuzRk.js (new) 8.54 kB 🔴 +8.54 kB 🔴 +2.24 kB 🔴 +1.96 kB
assets/CloudLayoutView-DSs2q7rr.js (removed) 8.54 kB 🟢 -8.54 kB 🟢 -2.24 kB 🟢 -1.96 kB
assets/CloudSignupView-CxLmZake.js (new) 8.18 kB 🔴 +8.18 kB 🔴 +2.33 kB 🔴 +2.02 kB
assets/CloudSignupView-DySE0iNT.js (removed) 8.18 kB 🟢 -8.18 kB 🟢 -2.33 kB 🟢 -2.02 kB
assets/CloudForgotPasswordView-0uIWjhyU.js (new) 6.26 kB 🔴 +6.26 kB 🔴 +1.93 kB 🔴 +1.69 kB
assets/CloudForgotPasswordView-CR7htaVs.js (removed) 6.26 kB 🟢 -6.26 kB 🟢 -1.92 kB 🟢 -1.69 kB
assets/UserSelectView-Ck8DemdR.js (new) 5.28 kB 🔴 +5.28 kB 🔴 +1.76 kB 🔴 +1.57 kB
assets/UserSelectView-DtO8lAcY.js (removed) 5.28 kB 🟢 -5.28 kB 🟢 -1.76 kB 🟢 -1.57 kB
assets/CloudSubscriptionRedirectView-BHZkgfwi.js (new) 5.27 kB 🔴 +5.27 kB 🔴 +1.73 kB 🔴 +1.54 kB
assets/CloudSubscriptionRedirectView-GAfRVbll.js (removed) 5.27 kB 🟢 -5.27 kB 🟢 -1.73 kB 🟢 -1.54 kB
assets/CloudAuthTimeoutView-C_1cECZ7.js (new) 5.24 kB 🔴 +5.24 kB 🔴 +1.71 kB 🔴 +1.48 kB
assets/CloudAuthTimeoutView-CZe2Bn-s.js (removed) 5.24 kB 🟢 -5.24 kB 🟢 -1.7 kB 🟢 -1.48 kB
assets/CloudSorryContactSupportView-DIeFUzGa.js 1.97 kB 1.97 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-C3R3uE_I.js 500 B 500 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

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

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/WorkspacePanel-CiaXtDA_.js (new) 29.8 kB 🔴 +29.8 kB 🔴 +5.9 kB 🔴 +5.15 kB
assets/WorkspacePanel-DNmXvouL.js (removed) 29.8 kB 🟢 -29.8 kB 🟢 -5.9 kB 🟢 -5.14 kB
assets/LegacyCreditsPanel-BDlcGHbV.js (removed) 23.8 kB 🟢 -23.8 kB 🟢 -5.94 kB 🟢 -5.23 kB
assets/LegacyCreditsPanel-TUl6-3hb.js (new) 23.8 kB 🔴 +23.8 kB 🔴 +5.94 kB 🔴 +5.23 kB
assets/SubscriptionPanel-BT9VzCxO.js (new) 21 kB 🔴 +21 kB 🔴 +5.04 kB 🔴 +4.44 kB
assets/SubscriptionPanel-CWX7FfjD.js (removed) 21 kB 🟢 -21 kB 🟢 -5.04 kB 🟢 -4.44 kB
assets/KeybindingPanel-BfgM_tBX.js (removed) 14.3 kB 🟢 -14.3 kB 🟢 -3.77 kB 🟢 -3.35 kB
assets/KeybindingPanel-CDdfWrEl.js (new) 14.3 kB 🔴 +14.3 kB 🔴 +3.77 kB 🔴 +3.35 kB
assets/AboutPanel-D8vpFLsm.js (new) 10.8 kB 🔴 +10.8 kB 🔴 +2.68 kB 🔴 +2.42 kB
assets/AboutPanel-stEg1T_1.js (removed) 10.8 kB 🟢 -10.8 kB 🟢 -2.68 kB 🟢 -2.42 kB
assets/ExtensionPanel-Bq9eIn1t.js (new) 10.2 kB 🔴 +10.2 kB 🔴 +2.71 kB 🔴 +2.4 kB
assets/ExtensionPanel-DMXYEzMI.js (removed) 10.2 kB 🟢 -10.2 kB 🟢 -2.71 kB 🟢 -2.4 kB
assets/ServerConfigPanel-D9_IZbW1.js (removed) 7.23 kB 🟢 -7.23 kB 🟢 -2.16 kB 🟢 -1.93 kB
assets/ServerConfigPanel-DdlvP94m.js (new) 7.23 kB 🔴 +7.23 kB 🔴 +2.16 kB 🔴 +1.94 kB
assets/UserPanel-CR9a4Woq.js (removed) 6.71 kB 🟢 -6.71 kB 🟢 -1.99 kB 🟢 -1.74 kB
assets/UserPanel-LnWqd0yo.js (new) 6.71 kB 🔴 +6.71 kB 🔴 +1.99 kB 🔴 +1.74 kB
assets/refreshRemoteConfig-CD304i5t.js (new) 1.31 kB 🔴 +1.31 kB 🔴 +572 B 🔴 +500 B
assets/refreshRemoteConfig-CeT-VKWv.js (removed) 1.31 kB 🟢 -1.31 kB 🟢 -571 B 🟢 -499 B
assets/config-BBXTMQHa.js (new) 1.15 kB 🔴 +1.15 kB 🔴 +606 B 🔴 +536 B
assets/config-EsWvVMbS.js (removed) 1.15 kB 🟢 -1.15 kB 🟢 -604 B 🟢 -530 B
assets/cloudRemoteConfig-1b0ZkWvl.js (removed) 1.11 kB 🟢 -1.11 kB 🟢 -510 B 🟢 -434 B
assets/cloudRemoteConfig-CndtfEhB.js (new) 1.11 kB 🔴 +1.11 kB 🔴 +506 B 🔴 +440 B
assets/refreshRemoteConfig-9BWkYOE9.js (new) 169 B 🔴 +169 B 🔴 +108 B 🔴 +101 B
assets/refreshRemoteConfig-Dlbo5t41.js (removed) 169 B 🟢 -169 B 🟢 -108 B 🟢 -105 B
assets/remoteConfig-B0mlVvm7.js 788 B 788 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings--kdIt6Ri.js 30.4 kB 30.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Bz57yvlp.js 25.8 kB 25.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CDJne0Sg.js 31.2 kB 31.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CmfKjjkA.js 26.4 kB 26.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-crWL6KAZ.js 39.4 kB 39.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CYbRky-T.js 29.4 kB 29.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-D_kNbI7_.js 35.2 kB 35.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Dn1HqM1j.js 32.9 kB 32.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-EPgYkg8b.js 29.6 kB 29.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-ShWh746R.js 32 kB 32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-slBzDG7F.js 30.2 kB 30.2 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-BhC2EK3C.js (removed) 3.54 kB 🟢 -3.54 kB 🟢 -1.24 kB 🟢 -1.07 kB
assets/auth-D7ny3Hsg.js (new) 3.54 kB 🔴 +3.54 kB 🔴 +1.24 kB 🔴 +1.07 kB
assets/firebaseAuthStore-DmaIb8sF.js (new) 217 B 🔴 +217 B 🔴 +136 B 🔴 +120 B
assets/firebaseAuthStore-DxkmkbMC.js (removed) 217 B 🟢 -217 B 🟢 -136 B 🟢 -119 B
assets/auth-3Mld5uTA.js (new) 178 B 🔴 +178 B 🔴 +142 B 🔴 +135 B
assets/auth-Chp0lK9f.js (removed) 178 B 🟢 -178 B 🟢 -142 B 🟢 -139 B

Status: 3 added / 3 removed

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

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-CNfIkS8n.js (removed) 2.71 kB 🟢 -2.71 kB 🟢 -1.28 kB 🟢 -1.14 kB
assets/useSubscriptionDialog-CuUghgs6.js (new) 2.71 kB 🔴 +2.71 kB 🔴 +1.28 kB 🔴 +1.14 kB
assets/useSubscriptionDialog-B3pSjf9-.js (new) 179 B 🔴 +179 B 🔴 +110 B 🔴 +100 B
assets/useSubscriptionDialog-xmNctnmD.js (removed) 179 B 🟢 -179 B 🟢 -110 B 🟢 -103 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-BW933-gL.js (new) 9.52 kB 🔴 +9.52 kB 🔴 +2.69 kB 🔴 +2.41 kB
assets/ComfyQueueButton-CLkjFcMb.js (removed) 9.52 kB 🟢 -9.52 kB 🟢 -2.69 kB 🟢 -2.41 kB
assets/SubscribeButton-B9YJSlm4.js (removed) 4.63 kB 🟢 -4.63 kB 🟢 -1.57 kB 🟢 -1.39 kB
assets/SubscribeButton-C7b7nyy8.js (new) 4.63 kB 🔴 +4.63 kB 🔴 +1.57 kB 🔴 +1.38 kB
assets/cloudFeedbackTopbarButton-CUt-axFW.js (removed) 1.24 kB 🟢 -1.24 kB 🟢 -673 B 🟢 -573 B
assets/cloudFeedbackTopbarButton-UdjJR5ol.js (new) 1.24 kB 🔴 +1.24 kB 🔴 +675 B 🔴 +563 B
assets/ComfyQueueButton-Cq2tROCE.js (removed) 181 B 🟢 -181 B 🟢 -118 B 🟢 -106 B
assets/ComfyQueueButton-CyDYUxI-.js (new) 181 B 🔴 +181 B 🔴 +118 B 🔴 +119 B
assets/Button-D_3gqTPH.js 3.82 kB 3.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/CloudBadge-BBlqhaBt.js 1.85 kB 1.85 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/TopbarBadge-BVHWMUK_.js 8.36 kB 8.36 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar-D80lITos.js 1.73 kB 1.73 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetButton-D9iI72GP.js 2.41 kB 2.41 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 4 added / 4 removed

Data & Services — 2.71 MB (baseline 2.71 MB) • 🔴 +3 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-DJ5KqVeb.js (new) 2.01 MB 🔴 +2.01 MB 🔴 +425 kB 🔴 +324 kB
assets/dialogService-DBBNV_vR.js (removed) 2.01 MB 🟢 -2.01 MB 🟢 -425 kB 🟢 -324 kB
assets/api-DJ8oCFPv.js (new) 675 kB 🔴 +675 kB 🔴 +149 kB 🔴 +119 kB
assets/api-vBm2uF-p.js (removed) 675 kB 🟢 -675 kB 🟢 -149 kB 🟢 -119 kB
assets/releaseStore-C12FurDw.js (new) 8.91 kB 🔴 +8.91 kB 🔴 +2.4 kB 🔴 +2.12 kB
assets/releaseStore-CcBltwJM.js (removed) 8.91 kB 🟢 -8.91 kB 🟢 -2.4 kB 🟢 -2.12 kB
assets/keybindingService-BE1flsi4.js (new) 6.74 kB 🔴 +6.74 kB 🔴 +1.76 kB 🔴 +1.53 kB
assets/keybindingService-wjWH0qDj.js (removed) 6.74 kB 🟢 -6.74 kB 🟢 -1.76 kB 🟢 -1.53 kB
assets/bootstrapStore-C5zndN06.js (new) 2.69 kB 🔴 +2.69 kB 🔴 +1.03 kB 🔴 +970 B
assets/bootstrapStore-Cj8TXHJt.js (removed) 2.69 kB 🟢 -2.69 kB 🟢 -1.03 kB 🟢 -956 B
assets/userStore-C8nnj9qZ.js (new) 2.16 kB 🔴 +2.16 kB 🔴 +811 B 🔴 +725 B
assets/userStore-CY0H4OYg.js (removed) 2.16 kB 🟢 -2.16 kB 🟢 -810 B 🟢 -726 B
assets/audioService-Czx_spjG.js (new) 2.03 kB 🔴 +2.03 kB 🔴 +929 B 🔴 +814 B
assets/audioService-DbQzWFOd.js (removed) 2.03 kB 🟢 -2.03 kB 🟢 -926 B 🟢 -813 B
assets/releaseStore-CA21PUzA.js (removed) 140 B 🟢 -140 B 🟢 -106 B 🟢 -103 B
assets/releaseStore-GAk9xFDw.js (new) 140 B 🔴 +140 B 🔴 +106 B 🔴 +115 B
assets/serverConfigStore-B4PsmGgu.js 2.64 kB 2.64 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 8 added / 8 removed

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

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useErrorHandling-B0rdQ7tk.js (removed) 5.21 kB 🟢 -5.21 kB 🟢 -1.54 kB 🟢 -1.34 kB
assets/useErrorHandling-D3PsYFmF.js (new) 5.21 kB 🔴 +5.21 kB 🔴 +1.54 kB 🔴 +1.34 kB
assets/useWorkspaceUI-B_gwpC9H.js (new) 3.42 kB 🔴 +3.42 kB 🔴 +976 B 🔴 +843 B
assets/useWorkspaceUI-CeFvQPRO.js (removed) 3.42 kB 🟢 -3.42 kB 🟢 -975 B 🟢 -839 B
assets/useSubscriptionActions--sXg05iu.js (new) 2.22 kB 🔴 +2.22 kB 🔴 +871 B 🔴 +768 B
assets/useSubscriptionActions-PgVbqOkw.js (removed) 2.22 kB 🟢 -2.22 kB 🟢 -871 B 🟢 -766 B
assets/subscriptionCheckoutUtil-Cgp6v25E.js (new) 2.03 kB 🔴 +2.03 kB 🔴 +872 B 🔴 +767 B
assets/subscriptionCheckoutUtil-CUM4ebAj.js (removed) 2.03 kB 🟢 -2.03 kB 🟢 -870 B 🟢 -760 B
assets/useSubscriptionCredits-Cv49ys4E.js (new) 1.39 kB 🔴 +1.39 kB 🔴 +598 B 🔴 +549 B
assets/useSubscriptionCredits-X0Wp5BAv.js (removed) 1.39 kB 🟢 -1.39 kB 🟢 -598 B 🟢 -527 B
assets/audioUtils-B4QUNTM4.js (new) 970 B 🔴 +970 B 🔴 +548 B 🔴 +460 B
assets/audioUtils-C5XTtrzq.js (removed) 970 B 🟢 -970 B 🟢 -549 B 🟢 -482 B
assets/useCurrentUser-Cikfv4Rt.js (new) 145 B 🔴 +145 B 🔴 +114 B 🔴 +101 B
assets/useCurrentUser-Es8Mx1_c.js (removed) 145 B 🟢 -145 B 🟢 -114 B 🟢 -102 B
assets/_plugin-vue_export-helper-DuK_Fly3.js 467 B 467 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/colorUtil-BjSbjz7i.js 7.2 kB 7.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-B_PGIBYn.js 1.78 kB 1.78 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/tailwindUtil-DXdzAQWK.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-DHGfk3hn.js 408 kB 408 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-CQ-cKqyS.js 4.1 MB 4.1 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-4Jj8eU28.js 3.04 MB 3.04 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-aCG649nF.js 263 kB 263 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-CERwhPwK.js 1.83 MB 1.83 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-BxrEVL6s.js 650 kB 650 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-Dwii0E-t.js 13.6 kB 13.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-IX6P8SWv.js 398 kB 398 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 7.16 MB (baseline 7.16 MB) • 🔴 +2 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-D9nnpUGY.js (new) 97.8 kB 🔴 +97.8 kB 🔴 +23.4 kB 🔴 +20.1 kB
assets/core-fH0YLNa1.js (removed) 97.8 kB 🟢 -97.8 kB 🟢 -23.4 kB 🟢 -20.1 kB
assets/groupNode-CE0ZzbPa.js (removed) 74.7 kB 🟢 -74.7 kB 🟢 -18.1 kB 🟢 -15.9 kB
assets/groupNode-DONTqEkY.js (new) 74.7 kB 🔴 +74.7 kB 🔴 +18.1 kB 🔴 +16 kB
assets/WidgetSelect-BNUwqttl.js (removed) 52.2 kB 🟢 -52.2 kB 🟢 -11.5 kB 🟢 -10 kB
assets/WidgetSelect-BP04DlHS.js (new) 52.2 kB 🔴 +52.2 kB 🔴 +11.5 kB 🔴 +10 kB
assets/Load3DControls-Bdbfmplo.js (removed) 35.9 kB 🟢 -35.9 kB 🟢 -5.87 kB 🟢 -5.08 kB
assets/Load3DControls-BgdGK8sz.js (new) 35.9 kB 🔴 +35.9 kB 🔴 +5.87 kB 🔴 +5.08 kB
assets/SubscriptionRequiredDialogContent-BqhlemRa.js (removed) 28.7 kB 🟢 -28.7 kB 🟢 -6.79 kB 🟢 -5.91 kB
assets/SubscriptionRequiredDialogContent-CkANy0p4.js (new) 28.7 kB 🔴 +28.7 kB 🔴 +6.79 kB 🔴 +5.91 kB
assets/CurrentUserPopoverWorkspace-CIZs6I-s.js (removed) 22.2 kB 🟢 -22.2 kB 🟢 -4.99 kB 🟢 -4.43 kB
assets/CurrentUserPopoverWorkspace-DvPk8Tjz.js (new) 22.2 kB 🔴 +22.2 kB 🔴 +4.99 kB 🔴 +4.43 kB
assets/Load3D-BeQJIVmL.js (removed) 19.2 kB 🟢 -19.2 kB 🟢 -4.37 kB 🟢 -3.84 kB
assets/Load3D-q1Fek9v0.js (new) 19.2 kB 🔴 +19.2 kB 🔴 +4.37 kB 🔴 +3.84 kB
assets/WidgetInputNumber-D8bV0Krp.js (removed) 18.3 kB 🟢 -18.3 kB 🟢 -4.52 kB 🟢 -4.03 kB
assets/WidgetInputNumber-DBNxpto9.js (new) 18.3 kB 🔴 +18.3 kB 🔴 +4.52 kB 🔴 +4.03 kB
assets/WidgetRecordAudio-CwJjyp1L.js (removed) 18.3 kB 🟢 -18.3 kB 🟢 -4.97 kB 🟢 -4.44 kB
assets/WidgetRecordAudio-DpIyk4ih.js (new) 18.3 kB 🔴 +18.3 kB 🔴 +4.97 kB 🔴 +4.44 kB
assets/SubscriptionPanelContentWorkspace-BIAHdydq.js (new) 18.2 kB 🔴 +18.2 kB 🔴 +4.47 kB 🔴 +3.9 kB
assets/SubscriptionPanelContentWorkspace-BUG8Qm9t.js (removed) 18.2 kB 🟢 -18.2 kB 🟢 -4.48 kB 🟢 -3.91 kB
assets/WidgetImageCrop-BYMzdn_C.js (new) 17.1 kB 🔴 +17.1 kB 🔴 +4.14 kB 🔴 +3.63 kB
assets/WidgetImageCrop-DvXh-700.js (removed) 17.1 kB 🟢 -17.1 kB 🟢 -4.14 kB 🟢 -3.63 kB
assets/PanelTemplate-C1MBCXGJ.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -5.46 kB 🟢 -4.8 kB
assets/PanelTemplate-CMir6HBJ.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +5.46 kB 🔴 +4.8 kB
assets/AudioPreviewPlayer-BhGLtO2F.js (new) 10.8 kB 🔴 +10.8 kB 🔴 +2.98 kB 🔴 +2.66 kB
assets/AudioPreviewPlayer-CTFcuC87.js (removed) 10.8 kB 🟢 -10.8 kB 🟢 -2.97 kB 🟢 -2.66 kB
assets/nodeTemplates-DewKatx3.js (removed) 9.45 kB 🟢 -9.45 kB 🟢 -3.15 kB 🟢 -2.79 kB
assets/nodeTemplates-fFsaJTK4.js (new) 9.45 kB 🔴 +9.45 kB 🔴 +3.15 kB 🔴 +2.79 kB
assets/InviteMemberDialogContent-BnZ_uFNj.js (new) 8.36 kB 🔴 +8.36 kB 🔴 +2.51 kB 🔴 +2.17 kB
assets/InviteMemberDialogContent-ovUXth0F.js (removed) 8.36 kB 🟢 -8.36 kB 🟢 -2.51 kB 🟢 -2.17 kB
assets/WidgetWithControl-DPRQaCxi.js (removed) 8.07 kB 🟢 -8.07 kB 🟢 -2.68 kB 🟢 -2.41 kB
assets/WidgetWithControl-JrNgjU2q.js (new) 8.07 kB 🔴 +8.07 kB 🔴 +2.68 kB 🔴 +2.42 kB
assets/CreateWorkspaceDialogContent-BHLjX6Q3.js (removed) 5.93 kB 🟢 -5.93 kB 🟢 -1.93 kB 🟢 -1.68 kB
assets/CreateWorkspaceDialogContent-DvJczwBU.js (new) 5.93 kB 🔴 +5.93 kB 🔴 +1.93 kB 🔴 +1.68 kB
assets/EditWorkspaceDialogContent-Ci67-3Ab.js (new) 5.7 kB 🔴 +5.7 kB 🔴 +1.88 kB 🔴 +1.64 kB
assets/EditWorkspaceDialogContent-DcKCGoNZ.js (removed) 5.7 kB 🟢 -5.7 kB 🟢 -1.88 kB 🟢 -1.65 kB
assets/ValueControlPopover-CZ2Y2f9j.js (removed) 5.17 kB 🟢 -5.17 kB 🟢 -1.69 kB 🟢 -1.5 kB
assets/ValueControlPopover-h-nAw40a.js (new) 5.17 kB 🔴 +5.17 kB 🔴 +1.69 kB 🔴 +1.5 kB
assets/DeleteWorkspaceDialogContent-BA1gu8EQ.js (removed) 4.59 kB 🟢 -4.59 kB 🟢 -1.57 kB 🟢 -1.35 kB
assets/DeleteWorkspaceDialogContent-BN8rtJRF.js (new) 4.59 kB 🔴 +4.59 kB 🔴 +1.56 kB 🔴 +1.35 kB
assets/LeaveWorkspaceDialogContent-BFL5WeOm.js (removed) 4.41 kB 🟢 -4.41 kB 🟢 -1.51 kB 🟢 -1.31 kB
assets/LeaveWorkspaceDialogContent-Bw9nk-w3.js (new) 4.41 kB 🔴 +4.41 kB 🔴 +1.51 kB 🔴 +1.31 kB
assets/RemoveMemberDialogContent-DVE-Tvtm.js (new) 4.38 kB 🔴 +4.38 kB 🔴 +1.46 kB 🔴 +1.27 kB
assets/RemoveMemberDialogContent-iubRvSly.js (removed) 4.38 kB 🟢 -4.38 kB 🟢 -1.45 kB 🟢 -1.27 kB
assets/RevokeInviteDialogContent-DUPN4FRw.js (new) 4.29 kB 🔴 +4.29 kB 🔴 +1.47 kB 🔴 +1.29 kB
assets/RevokeInviteDialogContent-R_wXd2BD.js (removed) 4.29 kB 🟢 -4.29 kB 🟢 -1.47 kB 🟢 -1.28 kB
assets/GlobalToast-BUSIgPB4.js (removed) 3.05 kB 🟢 -3.05 kB 🟢 -1.1 kB 🟢 -940 B
assets/GlobalToast-CKWDHy6I.js (new) 3.05 kB 🔴 +3.05 kB 🔴 +1.1 kB 🔴 +939 B
assets/SubscribeToRun-CKWqehf4.js (new) 2.96 kB 🔴 +2.96 kB 🔴 +1.16 kB 🔴 +1.01 kB
assets/SubscribeToRun-Nc5f8p9x.js (removed) 2.96 kB 🟢 -2.96 kB 🟢 -1.15 kB 🟢 -1.01 kB
assets/cloudSessionCookie-Cc0JdL_k.js (new) 2.94 kB 🔴 +2.94 kB 🔴 +937 B 🔴 +807 B
assets/cloudSessionCookie-MMpoRtvf.js (removed) 2.94 kB 🟢 -2.94 kB 🟢 -933 B 🟢 -804 B
assets/BaseViewTemplate-D7_7KpG2.js (new) 2.42 kB 🔴 +2.42 kB 🔴 +1.05 kB 🔴 +950 B
assets/BaseViewTemplate-pZc8zt-s.js (removed) 2.42 kB 🟢 -2.42 kB 🟢 -1.04 kB 🟢 -938 B
assets/CloudRunButtonWrapper-BF6M7aGh.js (new) 1.79 kB 🔴 +1.79 kB 🔴 +647 B 🔴 +562 B
assets/CloudRunButtonWrapper-CbGWFM2M.js (removed) 1.79 kB 🟢 -1.79 kB 🟢 -645 B 🟢 -562 B
assets/cloudBadges-BdkjfgI-.js (new) 1.08 kB 🔴 +1.08 kB 🔴 +536 B 🔴 +493 B
assets/cloudBadges-R70OJLfR.js (removed) 1.08 kB 🟢 -1.08 kB 🟢 -535 B 🟢 -488 B
assets/graphHasMissingNodes-DXJQV3Ag.js (new) 1.06 kB 🔴 +1.06 kB 🔴 +463 B 🔴 +410 B
assets/graphHasMissingNodes-O4-F6Cad.js (removed) 1.06 kB 🟢 -1.06 kB 🟢 -461 B 🟢 -411 B
assets/cloudSubscription-CJtvjc3D.js (new) 976 B 🔴 +976 B 🔴 +461 B 🔴 +398 B
assets/cloudSubscription-Do8i40fI.js (removed) 976 B 🟢 -976 B 🟢 -461 B 🟢 -394 B
assets/nightlyBadges-B8cqb51U.js (new) 595 B 🔴 +595 B 🔴 +355 B 🔴 +309 B
assets/nightlyBadges-pPJC8XWU.js (removed) 595 B 🟢 -595 B 🟢 -356 B 🟢 -309 B
assets/SubscriptionPanelContentWorkspace-96x4vrCv.js (removed) 266 B 🟢 -266 B 🟢 -136 B 🟢 -129 B
assets/SubscriptionPanelContentWorkspace-CraE6sve.js (new) 266 B 🔴 +266 B 🔴 +136 B 🔴 +118 B
assets/WidgetInputNumber-C6LSbiOi.js (removed) 186 B 🟢 -186 B 🟢 -119 B 🟢 -119 B
assets/WidgetInputNumber-CX1rv6Wk.js (new) 186 B 🔴 +186 B 🔴 +119 B 🔴 +120 B
assets/WidgetLegacy-CInJNKU1.js (new) 164 B 🔴 +164 B 🔴 +125 B 🔴 +113 B
assets/WidgetLegacy-CqKRxAi7.js (removed) 164 B 🟢 -164 B 🟢 -125 B 🟢 -104 B
assets/Load3D-BIVhu5fz.js (removed) 131 B 🟢 -131 B 🟢 -107 B 🟢 -113 B
assets/Load3D-lbDux0bK.js (new) 131 B 🔴 +131 B 🔴 +107 B 🔴 +101 B
assets/auto-DWs2ctGL.js 1.73 kB 1.73 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-2Ummrt4M.js 18.8 kB 18.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-8WuluAqM.js 19.3 kB 19.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BViLP6Ia.js 17.8 kB 17.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BWPBsR-j.js 20.6 kB 20.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-ByXor5xN.js 18 kB 18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C5-8fNtq.js 17.9 kB 17.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CTC-eRiE.js 18.5 kB 18.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CwopaVr4.js 17.2 kB 17.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-gY5a0Gsv.js 18 kB 18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-mFAeWi-p.js 19.3 kB 19.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-tMuFl0J5.js 17 kB 17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-CYVqZIfd.js 188 B 188 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-tHknu32c.js 504 kB 504 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/LazyImage-FW2fnj2r.js 14.1 kB 14.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BbU3jvmz.js 113 kB 113 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BNS3riuS.js 131 kB 131 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BrtCV7Bk.js 151 kB 151 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C4U1m7i3.js 126 kB 126 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Ch4KooEl.js 145 kB 145 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DfTcOVNP.js 113 kB 113 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DyJ_W2qZ.js 175 kB 175 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DyOi1LHY.js 133 kB 133 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-SUJPWsXI.js 156 kB 156 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-w5Cua0MA.js 127 kB 127 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-wwqSj12G.js 129 kB 129 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-DGffIyse.js 2.38 kB 2.38 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-ISx56tjc.js 2 kB 2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-BvQKeiy3.js 2.34 kB 2.34 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-CQptuwWY.js 2.82 kB 2.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/mixpanel.module-DlEKfwN6.js 143 B 143 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-7GrJxNsU.js 349 kB 349 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-B1KZZk2Z.js 421 kB 421 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BAj0vo3H.js 347 kB 347 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Bmu0YCiI.js 371 kB 371 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CbuEO-JI.js 391 kB 391 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CkWRu1hh.js 458 kB 458 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CLEOp9MY.js 374 kB 374 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-D0Fx1Opq.js 377 kB 377 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DsEVwLcc.js 377 kB 377 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Pp9cUQcQ.js 381 kB 381 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-tOCboSV8.js 422 kB 422 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-DZ4Ggh4M.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-YlH9vant.js 4.21 kB 4.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widget-BJiJuR5i.js 518 B 518 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-CUtab2CB.js 4.71 kB 4.71 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-D79nBMxa.js 186 B 186 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-dhHvUOFA.js 2.79 kB 2.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-cRI313QT.js 3.71 kB 3.71 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria-MfBWF1yN.js 4.57 kB 4.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-DSVm_Uz5.js 3.79 kB 3.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-Bz7yzVMl.js 2.58 kB 2.58 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-BSWbqxVP.js 2.7 kB 2.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-B0KF0DcT.js 3.49 kB 3.49 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-C63n39Js.js 1.31 kB 1.31 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetTextarea-DXeivNCO.js 3.87 kB 3.87 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-B_RS0lot.js 3.26 kB 3.26 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetTypes-KPj-zM0O.js 573 B 573 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 36 added / 36 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: 1

🤖 Fix all issues with AI agents
In `@src/scripts/widgets.ts`:
- Line 305: The import that mixes a type and a value should be split into two
statements: replace the combined import that currently reads like "import { type
LGraphNode, isComboWidget } from '.../litegraph'" with one type-only import for
LGraphNode (import type { LGraphNode } ...) and a separate value import for
isComboWidget (import { isComboWidget } ...); update the top of the module where
transformWidgetConstructorV2ToV1, useBoundingBoxWidget and BOUNDING_BOX are
referenced and scan for any other imports that mix "type" with values to split
them the same way.

COLOR: transformWidgetConstructorV2ToV1(useColorWidget()),
IMAGECOMPARE: transformWidgetConstructorV2ToV1(useImageCompareWidget()),
BOUNDINGBOX: transformWidgetConstructorV2ToV1(useBoundingBoxWidget()),
BOUNDING_BOX: transformWidgetConstructorV2ToV1(useBoundingBoxWidget()),
Copy link
Contributor

@coderabbitai coderabbitai bot Feb 1, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Examine src/scripts/widgets.ts around line 305
echo "=== Checking line 305 context in src/scripts/widgets.ts ==="
sed -n '300,310p' src/scripts/widgets.ts

echo -e "\n=== Searching for BOUNDINGBOX references across the codebase ==="
# Search for BOUNDINGBOX (case-sensitive) in TypeScript and Vue files
rg -n 'BOUNDINGBOX' --type=ts --type=vue -g '!**/node_modules/**' || echo "No BOUNDINGBOX references found"

echo -e "\n=== Searching for BOUNDING_BOX to verify new key usage ==="
rg -n 'BOUNDING_BOX' --type=ts --type=vue -g '!**/node_modules/**' | head -20

Repository: Comfy-Org/ComfyUI_frontend

Length of output: 963


🏁 Script executed:

#!/bin/bash
# Verify the ComfyWidgets object structure and export
echo "=== Checking ComfyWidgets object definition and export ==="
rg -n 'export.*ComfyWidgets' src/scripts/widgets.ts -A 5

echo -e "\n=== Checking full ComfyWidgets object structure (lines 280-320) ==="
sed -n '280,320p' src/scripts/widgets.ts

echo -e "\n=== Verify import statements compliance (lines 1-30) ==="
head -30 src/scripts/widgets.ts

echo -e "\n=== Check if useBoundingBoxWidget is properly imported ==="
rg -n 'useBoundingBoxWidget' src/scripts/widgets.ts

Repository: Comfy-Org/ComfyUI_frontend

Length of output: 4121


Fix import statement structure on line 2

The BOUNDING_BOX rename is correct and properly implemented. However, line 2 violates the coding guideline for import statements: import { type LGraphNode, isComboWidget } mixes type and named imports in a single statement. These should be separated:

import type { LGraphNode } from '@/lib/litegraph/src/litegraph'
import { isComboWidget } from '@/lib/litegraph/src/litegraph'

Verification confirms no remaining BOUNDINGBOX references exist.

🤖 Prompt for AI Agents
In `@src/scripts/widgets.ts` at line 305, The import that mixes a type and a value
should be split into two statements: replace the combined import that currently
reads like "import { type LGraphNode, isComboWidget } from '.../litegraph'" with
one type-only import for LGraphNode (import type { LGraphNode } ...) and a
separate value import for isComboWidget (import { isComboWidget } ...); update
the top of the module where transformWidgetConstructorV2ToV1,
useBoundingBoxWidget and BOUNDING_BOX are referenced and scan for any other
imports that mix "type" with values to split them the same way.

Copy link
Collaborator Author

@jtydhr88 jtydhr88 Feb 1, 2026

Choose a reason for hiding this comment

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

what are you talking about? your suggestion has no any relationship to my changes, why I must make such thing in my PR?

Copy link
Contributor

Choose a reason for hiding this comment

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

@jtydhr88 You're absolutely right, and I apologize for the confusion. The import statement issue on line 2 is pre-existing code that has nothing to do with your changes. Your PR only modifies line 305 (the BOUNDING_BOX rename), which is correct and properly aligned with the backend changes.

I should not have flagged unrelated pre-existing issues in your PR review. Your changes are good to go. Sorry for the noise!


🧠 Learnings used
Learnt from: christian-byrne
Repo: Comfy-Org/ComfyUI_frontend PR: 7416
File: src/stores/imagePreviewStore.ts:5-7
Timestamp: 2025-12-13T11:03:21.073Z
Learning: In the Comfy-Org/ComfyUI_frontend repository, linting rules enforce keeping `import type` statements separate from regular `import` statements, even when importing from the same module. Do not suggest consolidating them into a single import statement.

Learnt from: CR
Repo: Comfy-Org/ComfyUI_frontend PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-28T02:00:53.680Z
Learning: Applies to **/*.{ts,tsx} : Use separate `import type` statements instead of inline `type` in mixed imports. Example: `import type { Foo } from './foo'` + `import { bar } from './foo'` (not `import { bar, type Foo } from './foo'`)

Learnt from: CR
Repo: Comfy-Org/ComfyUI_frontend PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-28T02:00:53.680Z
Learning: Applies to **/*.{js,ts,tsx,vue} : Unused imports are disallowed and must be removed

Learnt from: DrJKL
Repo: Comfy-Org/ComfyUI_frontend PR: 7894
File: src/renderer/extensions/vueNodes/widgets/components/WidgetToggleSwitch.test.ts:11-14
Timestamp: 2026-01-08T02:40:22.621Z
Learning: In the Comfy-Org/ComfyUI_frontend repository test files: When testing components, import the real type definitions from the component files instead of duplicating interface definitions in the test files. This prevents type drift and maintains consistency.

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

@DrJKL DrJKL assigned jtydhr88 and unassigned DrJKL Feb 2, 2026
@jtydhr88 jtydhr88 merged commit 4e9f581 into main Feb 2, 2026
32 checks passed
@jtydhr88 jtydhr88 deleted the fix/image-crop-v2-deprecate-old branch February 2, 2026 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants