Skip to content

fix: restore mouse-wheel scrolling in preview-as-text outputs#8863

Merged
christian-byrne merged 1 commit intomainfrom
fix/scroll-large-value-outputs
Feb 20, 2026
Merged

fix: restore mouse-wheel scrolling in preview-as-text outputs#8863
christian-byrne merged 1 commit intomainfrom
fix/scroll-large-value-outputs

Conversation

@christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Feb 14, 2026

Summary

Restore mouse-wheel scrolling for read-only preview widgets (PreviewAny plaintext and markdown modes), broken by the focus-gated wheel capture in #6597.

Changes

  • What: Remove disabled attribute from read-only textareas (keep readonly) so they can receive focus and capture wheel events. Add data-capture-wheel and tabindex to WidgetMarkdown display div.
  • Root cause: disabled elements cannot receive focus in browsers. The focus-gated wheelCapturedByFocusedElement() from Forward scroll unless focused #6597 always evaluated to false for disabled textareas, forwarding all wheel events to the canvas.

Review Focus

  • Verify that removing disabled while keeping readonly does not allow unintended editing
  • Confirm tabindex="0" on the markdown display div does not cause unexpected tab-order issues
  • Ensure trackpad panning over unfocused widgets (Panning stops over text widgets on trackpad #6523) still works correctly

Fixes COM-14812

┆Issue is synchronized with this Notion page by Unito

@christian-byrne christian-byrne added the verified bug Something isn't working (confirmed by the team) label Feb 14, 2026
@christian-byrne christian-byrne requested a review from a team as a code owner February 14, 2026 03:19
@dosubot dosubot bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Feb 14, 2026
@github-actions
Copy link

github-actions bot commented Feb 14, 2026

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 02/20/2026, 05:30:34 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@github-actions
Copy link

github-actions bot commented Feb 14, 2026

Playwright: ✅ 524 passed, 0 failed · 1 flaky

📊 Browser Reports
  • chromium: View Report (✅ 512 / ❌ 0 / ⚠️ 1 / ⏭️ 10)
  • 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)

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 14, 2026

No actionable comments were generated in the recent review. 🎉


📝 Walkthrough

Walkthrough

Three widget components are modified to enhance accessibility and interaction: preview widgets are no longer explicitly disabled, markdown rendering gains keyboard focus and wheel-event capture, and textarea read-only state is no longer bound to the disabled attribute.

Changes

Cohort / File(s) Summary
Preview Widget Enablement
src/extensions/core/previewAny.ts
Removed explicit disabling lines that set showValueWidget.element.disabled = true and showValueWidgetPlain.element.disabled = true, allowing those widgets to remain enabled.
Markdown Widget Accessibility
src/renderer/extensions/vueNodes/widgets/components/WidgetMarkdown.vue
Added tabindex="0" to make rendered markdown focusable and data-capture-wheel="true" to allow wheel event capture on the rendered HTML container.
Textarea Widget State Binding
src/renderer/extensions/vueNodes/widgets/components/WidgetTextarea.vue
Removed binding of the disabled attribute to the isReadOnly computed property, decoupling read-only presentation from the disabled state.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Widgets hop awake beneath soft light,
Keys and wheels join in the gentle night,
Read-only whispers, not locked away,
Small changes nibble at the grey,
A rabbit cheers — accessibility bright!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main objective: restoring mouse-wheel scrolling in preview-as-text outputs, which aligns with the core changes across all modified files.
Description check ✅ Passed The pull request description includes all required template sections: Summary, Changes (What, Root cause), Review Focus, and issue reference. It provides comprehensive context about the problem and solution.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/scroll-large-value-outputs

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

@github-actions
Copy link

github-actions bot commented Feb 14, 2026

📦 Bundle: 4.26 MB gzip 🟢 -126 B

Details

Summary

  • Raw size: 20 MB baseline 20 MB — 🟢 -92 B
  • Gzip: 4.26 MB baseline 4.26 MB — 🟢 -126 B
  • Brotli: 3.3 MB baseline 3.3 MB — 🔴 +60 B
  • Bundles: 219 current • 219 baseline • 106 added / 106 removed

Category Glance
Other 🟢 -92 B (7.38 MB) · Vendor & Third-Party ⚪ 0 B (8.69 MB) · Data & Services ⚪ 0 B (2.4 MB) · Graph Workspace ⚪ 0 B (914 kB) · Panels & Settings ⚪ 0 B (430 kB) · Views & Navigation ⚪ 0 B (68.6 kB) · + 5 more

App Entry Points — 21.4 kB (baseline 21.4 kB) • ⚪ 0 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-BtWTqsaw.js (removed) 21.4 kB 🟢 -21.4 kB 🟢 -6.99 kB 🟢 -6.07 kB
assets/index-CrFDXXHi.js (new) 21.4 kB 🔴 +21.4 kB 🔴 +6.98 kB 🔴 +6.07 kB

Status: 1 added / 1 removed

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

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-BD9SOPK1.js (removed) 914 kB 🟢 -914 kB 🟢 -196 kB 🟢 -149 kB
assets/GraphView-TTc59MN7.js (new) 914 kB 🔴 +914 kB 🔴 +196 kB 🔴 +149 kB

Status: 1 added / 1 removed

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

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-DRYH6ryv.js (removed) 15.5 kB 🟢 -15.5 kB 🟢 -3.31 kB 🟢 -2.82 kB
assets/CloudSurveyView-khqX_DJ-.js (new) 15.5 kB 🔴 +15.5 kB 🔴 +3.31 kB 🔴 +2.81 kB
assets/CloudLoginView-BYgiCOMa.js (new) 10 kB 🔴 +10 kB 🔴 +2.91 kB 🔴 +2.56 kB
assets/CloudLoginView-DlL7sOh4.js (removed) 10 kB 🟢 -10 kB 🟢 -2.91 kB 🟢 -2.56 kB
assets/UserCheckView-JnCj2ewu.js (new) 8.41 kB 🔴 +8.41 kB 🔴 +2.22 kB 🔴 +1.95 kB
assets/UserCheckView-LVuSGj3I.js (removed) 8.41 kB 🟢 -8.41 kB 🟢 -2.23 kB 🟢 -1.94 kB
assets/CloudSignupView-B6zscKUi.js (new) 7.38 kB 🔴 +7.38 kB 🔴 +2.3 kB 🔴 +2.02 kB
assets/CloudSignupView-DUjxXSG6.js (removed) 7.38 kB 🟢 -7.38 kB 🟢 -2.31 kB 🟢 -2.01 kB
assets/CloudLayoutView-B-9HUKN7.js (new) 6.4 kB 🔴 +6.4 kB 🔴 +2.09 kB 🔴 +1.81 kB
assets/CloudLayoutView-FZVJheTE.js (removed) 6.4 kB 🟢 -6.4 kB 🟢 -2.09 kB 🟢 -1.82 kB
assets/CloudForgotPasswordView-BO2JpwAD.js (removed) 5.53 kB 🟢 -5.53 kB 🟢 -1.92 kB 🟢 -1.69 kB
assets/CloudForgotPasswordView-DD1uyLMU.js (new) 5.53 kB 🔴 +5.53 kB 🔴 +1.92 kB 🔴 +1.69 kB
assets/CloudAuthTimeoutView-BnUtrlqh.js (removed) 4.88 kB 🟢 -4.88 kB 🟢 -1.76 kB 🟢 -1.54 kB
assets/CloudAuthTimeoutView-Dx2PnBrZ.js (new) 4.88 kB 🔴 +4.88 kB 🔴 +1.75 kB 🔴 +1.54 kB
assets/CloudSubscriptionRedirectView-Drm2LV_J.js (new) 4.68 kB 🔴 +4.68 kB 🔴 +1.76 kB 🔴 +1.56 kB
assets/CloudSubscriptionRedirectView-Gv0xsL9P.js (removed) 4.68 kB 🟢 -4.68 kB 🟢 -1.76 kB 🟢 -1.56 kB
assets/UserSelectView-C9101tQU.js (new) 4.5 kB 🔴 +4.5 kB 🔴 +1.64 kB 🔴 +1.46 kB
assets/UserSelectView-DmHiviWL.js (removed) 4.5 kB 🟢 -4.5 kB 🟢 -1.64 kB 🟢 -1.47 kB
assets/CloudSorryContactSupportView-D9UxxFTg.js 1.02 kB 1.02 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-Bn5Nxcmc.js 296 B 296 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

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

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/SecretsPanel-9yXojr8m.js (new) 21.5 kB 🔴 +21.5 kB 🔴 +5.3 kB 🔴 +4.65 kB
assets/SecretsPanel-DwlvPZX5.js (removed) 21.5 kB 🟢 -21.5 kB 🟢 -5.3 kB 🟢 -4.64 kB
assets/LegacyCreditsPanel-CwCdWBY9.js (new) 20.6 kB 🔴 +20.6 kB 🔴 +5.55 kB 🔴 +4.87 kB
assets/LegacyCreditsPanel-DfyCG7CC.js (removed) 20.6 kB 🟢 -20.6 kB 🟢 -5.55 kB 🟢 -4.88 kB
assets/SubscriptionPanel-BbL2skun.js (removed) 18.5 kB 🟢 -18.5 kB 🟢 -4.68 kB 🟢 -4.14 kB
assets/SubscriptionPanel-CYB8iylu.js (new) 18.5 kB 🔴 +18.5 kB 🔴 +4.68 kB 🔴 +4.13 kB
assets/KeybindingPanel-C_5Vku7-.js (removed) 12.3 kB 🟢 -12.3 kB 🟢 -3.55 kB 🟢 -3.16 kB
assets/KeybindingPanel-DQNaIwiP.js (new) 12.3 kB 🔴 +12.3 kB 🔴 +3.55 kB 🔴 +3.15 kB
assets/ExtensionPanel-DOORkZJB.js (removed) 9.35 kB 🟢 -9.35 kB 🟢 -2.64 kB 🟢 -2.35 kB
assets/ExtensionPanel-p2npbEgU.js (new) 9.35 kB 🔴 +9.35 kB 🔴 +2.63 kB 🔴 +2.35 kB
assets/AboutPanel-BtqaTW3w.js (removed) 8.53 kB 🟢 -8.53 kB 🟢 -2.44 kB 🟢 -2.2 kB
assets/AboutPanel-CTs2ykcz.js (new) 8.53 kB 🔴 +8.53 kB 🔴 +2.44 kB 🔴 +2.19 kB
assets/ServerConfigPanel-0ZmlAY8V.js (new) 6.41 kB 🔴 +6.41 kB 🔴 +2.11 kB 🔴 +1.9 kB
assets/ServerConfigPanel-BlIDd3hn.js (removed) 6.41 kB 🟢 -6.41 kB 🟢 -2.11 kB 🟢 -1.89 kB
assets/UserPanel-BScDSnli.js (new) 6.13 kB 🔴 +6.13 kB 🔴 +1.97 kB 🔴 +1.73 kB
assets/UserPanel-C3Jde4DB.js (removed) 6.13 kB 🟢 -6.13 kB 🟢 -1.98 kB 🟢 -1.73 kB
assets/cloudRemoteConfig-CGjBY1NY.js (new) 1.41 kB 🔴 +1.41 kB 🔴 +694 B 🔴 +603 B
assets/cloudRemoteConfig-CJ4CDE9Y.js (removed) 1.41 kB 🟢 -1.41 kB 🟢 -695 B 🟢 -605 B
assets/refreshRemoteConfig-DC-SJU4x.js (removed) 1.14 kB 🟢 -1.14 kB 🟢 -519 B 🟢 -477 B
assets/refreshRemoteConfig-DhuZqLle.js (new) 1.14 kB 🔴 +1.14 kB 🔴 +520 B 🔴 +472 B
assets/config-C5QaqZix.js 996 B 996 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-B0mOvnTo.js 32 kB 32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BcrCrxYO.js 27.4 kB 27.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BdMQ9yxb.js 24.2 kB 24.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BMpJMaIw.js 33.7 kB 33.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-C-rh-es6.js 30.1 kB 30.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CgiUGcth.js 23.6 kB 23.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CzjpXwlp.js 38 kB 38 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CzpC_oh3.js 28.4 kB 28.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Dp3u6l4N.js 29.5 kB 29.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DZjzU5N0.js 28.4 kB 28.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-rQc1NwAI.js 27.6 kB 27.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 10 added / 10 removed

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

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-BcZUQMS7.js (new) 3.4 kB 🔴 +3.4 kB 🔴 +1.18 kB 🔴 +987 B
assets/auth-CKLXCr7I.js (removed) 3.4 kB 🟢 -3.4 kB 🟢 -1.18 kB 🟢 -988 B
assets/SignUpForm-B8H2upEy.js (new) 3.01 kB 🔴 +3.01 kB 🔴 +1.23 kB 🔴 +1.1 kB
assets/SignUpForm-ne7JPefJ.js (removed) 3.01 kB 🟢 -3.01 kB 🟢 -1.23 kB 🟢 -1.1 kB
assets/UpdatePasswordContent-BlAiKLST.js (new) 2.34 kB 🔴 +2.34 kB 🔴 +1.05 kB 🔴 +932 B
assets/UpdatePasswordContent-qmazMGgN.js (removed) 2.34 kB 🟢 -2.34 kB 🟢 -1.06 kB 🟢 -929 B
assets/firebaseAuthStore-BX0994lz.js (new) 758 B 🔴 +758 B 🔴 +371 B 🔴 +360 B
assets/firebaseAuthStore-qCdAm4pT.js (removed) 758 B 🟢 -758 B 🟢 -371 B 🟢 -334 B
assets/auth-CDkSPabj.js (new) 357 B 🔴 +357 B 🔴 +224 B 🔴 +211 B
assets/auth-Ch5QGsX-.js (removed) 357 B 🟢 -357 B 🟢 -224 B 🟢 -192 B
assets/PasswordFields-ChCYPNPm.js 4.51 kB 4.51 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WorkspaceProfilePic-DwMbocAN.js 1.57 kB 1.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Editors & Dialogs — 706 B (baseline 706 B) • ⚪ 0 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-CyItR4Ez.js (removed) 706 B 🟢 -706 B 🟢 -365 B 🟢 -316 B
assets/useSubscriptionDialog-DV-dLt11.js (new) 706 B 🔴 +706 B 🔴 +364 B 🔴 +317 B

Status: 1 added / 1 removed

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

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useTerminalTabs-5UlF3zVi.js (new) 9.81 kB 🔴 +9.81 kB 🔴 +3.39 kB 🔴 +3 kB
assets/useTerminalTabs-6aysGxj7.js (removed) 9.81 kB 🟢 -9.81 kB 🟢 -3.39 kB 🟢 -2.98 kB
assets/ComfyQueueButton-CdkNNaNT.js (new) 7.17 kB 🔴 +7.17 kB 🔴 +2.32 kB 🔴 +2.08 kB
assets/ComfyQueueButton-cOb8247v.js (removed) 7.17 kB 🟢 -7.17 kB 🟢 -2.32 kB 🟢 -2.08 kB
assets/SubscribeButton-B2stgrS0.js (removed) 2.35 kB 🟢 -2.35 kB 🟢 -1.02 kB 🟢 -887 B
assets/SubscribeButton-CVzVQkNj.js (new) 2.35 kB 🔴 +2.35 kB 🔴 +1.02 kB 🔴 +886 B
assets/cloudFeedbackTopbarButton-BpqTgxt4.js (removed) 1.56 kB 🟢 -1.56 kB 🟢 -844 B 🟢 -741 B
assets/cloudFeedbackTopbarButton-XQLY1SPi.js (new) 1.56 kB 🔴 +1.56 kB 🔴 +843 B 🔴 +747 B
assets/ComfyQueueButton-BRWR-muM.js (removed) 763 B 🟢 -763 B 🟢 -381 B 🟢 -340 B
assets/ComfyQueueButton-Dohbo7ch.js (new) 763 B 🔴 +763 B 🔴 +379 B 🔴 +341 B
assets/Button-CC5RleXn.js 2.98 kB 2.98 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/CloudBadge-OjhGOi8-.js 1.24 kB 1.24 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ScrubableNumberInput-DabUIV79.js 5.96 kB 5.96 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/TopbarBadge-VWWyqurE.js 7.45 kB 7.45 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar-DsMH6rUM.js 1.17 kB 1.17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetButton-DwYqMhCJ.js 1.84 kB 1.84 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Data & Services — 2.4 MB (baseline 2.4 MB) • ⚪ 0 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-CUzFx9yy.js (new) 1.62 MB 🔴 +1.62 MB 🔴 +363 kB 🔴 +276 kB
assets/dialogService-CyHDGI9s.js (removed) 1.62 MB 🟢 -1.62 MB 🟢 -363 kB 🟢 -277 kB
assets/api-B94nnp2Q.js (new) 648 kB 🔴 +648 kB 🔴 +146 kB 🔴 +117 kB
assets/api-QGtyGNO8.js (removed) 648 kB 🟢 -648 kB 🟢 -146 kB 🟢 -117 kB
assets/load3dService-4uvZy3F8.js (removed) 90.9 kB 🟢 -90.9 kB 🟢 -19 kB 🟢 -16.4 kB
assets/load3dService-CSBEetuM.js (new) 90.9 kB 🔴 +90.9 kB 🔴 +19 kB 🔴 +16.4 kB
assets/systemStatsStore-Bif9zb9o.js (removed) 12.2 kB 🟢 -12.2 kB 🟢 -4.27 kB 🟢 -3.74 kB
assets/systemStatsStore-DOPc5_1i.js (new) 12.2 kB 🔴 +12.2 kB 🔴 +4.27 kB 🔴 +3.74 kB
assets/releaseStore-BMXG3hWJ.js (new) 7.96 kB 🔴 +7.96 kB 🔴 +2.22 kB 🔴 +1.96 kB
assets/releaseStore-nKFBiRjS.js (removed) 7.96 kB 🟢 -7.96 kB 🟢 -2.22 kB 🟢 -1.96 kB
assets/keybindingService-BpYwtN6b.js (removed) 6.52 kB 🟢 -6.52 kB 🟢 -1.71 kB 🟢 -1.48 kB
assets/keybindingService-Dd2yhUoX.js (new) 6.52 kB 🔴 +6.52 kB 🔴 +1.71 kB 🔴 +1.48 kB
assets/bootstrapStore-Dq1yLFTM.js (new) 2.08 kB 🔴 +2.08 kB 🔴 +876 B 🔴 +794 B
assets/bootstrapStore-K2CXw5-5.js (removed) 2.08 kB 🟢 -2.08 kB 🟢 -877 B 🟢 -793 B
assets/userStore-DVkPm28v.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -721 B 🟢 -673 B
assets/userStore-DWvz9fMR.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +720 B 🔴 +679 B
assets/audioService-D1QwPtKy.js (new) 1.73 kB 🔴 +1.73 kB 🔴 +847 B 🔴 +722 B
assets/audioService-uHAeRyK7.js (removed) 1.73 kB 🟢 -1.73 kB 🟢 -848 B 🟢 -725 B
assets/releaseStore-CRLa52Hg.js (removed) 730 B 🟢 -730 B 🟢 -369 B 🟢 -324 B
assets/releaseStore-sxkVmNiL.js (new) 730 B 🔴 +730 B 🔴 +367 B 🔴 +327 B
assets/settingStore-Bg7-kvKY.js (removed) 714 B 🟢 -714 B 🟢 -370 B 🟢 -344 B
assets/settingStore-BNaT2Une.js (new) 714 B 🔴 +714 B 🔴 +369 B 🔴 +351 B
assets/workflowDraftStore-Ce7xdZ6r.js (new) 706 B 🔴 +706 B 🔴 +362 B 🔴 +337 B
assets/workflowDraftStore-GdOG_5i2.js (removed) 706 B 🟢 -706 B 🟢 -363 B 🟢 -322 B
assets/dialogService-BJ8CgYOs.js (removed) 695 B 🟢 -695 B 🟢 -355 B 🟢 -331 B
assets/dialogService-CsyWZc0u.js (new) 695 B 🔴 +695 B 🔴 +353 B 🔴 +335 B
assets/serverConfigStore-DWKub1Pu.js 2.32 kB 2.32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 13 added / 13 removed

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

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useLoad3d-BbviznZe.js (new) 14.6 kB 🔴 +14.6 kB 🔴 +3.63 kB 🔴 +3.2 kB
assets/useLoad3d-BLK6tKql.js (removed) 14.6 kB 🟢 -14.6 kB 🟢 -3.63 kB 🟢 -3.21 kB
assets/useLoad3dViewer-CHYkA_62.js (new) 14.1 kB 🔴 +14.1 kB 🔴 +3.15 kB 🔴 +2.79 kB
assets/useLoad3dViewer-DGVSLHxP.js (removed) 14.1 kB 🟢 -14.1 kB 🟢 -3.15 kB 🟢 -2.8 kB
assets/useFeatureFlags-BxbuN38F.js (new) 3.5 kB 🔴 +3.5 kB 🔴 +1.08 kB 🔴 +928 B
assets/useFeatureFlags-DRaxmk3F.js (removed) 3.5 kB 🟢 -3.5 kB 🟢 -1.08 kB 🟢 -928 B
assets/useWorkspaceUI-BIs5N5q9.js (removed) 3 kB 🟢 -3 kB 🟢 -824 B 🟢 -703 B
assets/useWorkspaceUI-Cf_GsXa0.js (new) 3 kB 🔴 +3 kB 🔴 +823 B 🔴 +702 B
assets/useSubscriptionCredits-D--aYt6s.js (new) 2.75 kB 🔴 +2.75 kB 🔴 +1.04 kB 🔴 +901 B
assets/useSubscriptionCredits-D6A6yf1L.js (removed) 2.75 kB 🟢 -2.75 kB 🟢 -1.04 kB 🟢 -903 B
assets/subscriptionCheckoutUtil-Dht0M5G3.js (removed) 2.53 kB 🟢 -2.53 kB 🟢 -1.06 kB 🟢 -959 B
assets/subscriptionCheckoutUtil-DMW_XhqU.js (new) 2.53 kB 🔴 +2.53 kB 🔴 +1.06 kB 🔴 +963 B
assets/useErrorHandling-BIQP3N7P.js (removed) 1.5 kB 🟢 -1.5 kB 🟢 -630 B 🟢 -535 B
assets/useErrorHandling-DGbvkdgu.js (new) 1.5 kB 🔴 +1.5 kB 🔴 +629 B 🔴 +534 B
assets/useWorkspaceSwitch-C3vO0Yet.js (removed) 1.25 kB 🟢 -1.25 kB 🟢 -544 B 🟢 -478 B
assets/useWorkspaceSwitch-omfM7ROH.js (new) 1.25 kB 🔴 +1.25 kB 🔴 +544 B 🔴 +488 B
assets/audioUtils-DJ5eLlME.js (new) 858 B 🔴 +858 B 🔴 +501 B 🔴 +403 B
assets/audioUtils-eGzaAPVs.js (removed) 858 B 🟢 -858 B 🟢 -499 B 🟢 -406 B
assets/useLoad3d-D9Xrkmwo.js (removed) 829 B 🟢 -829 B 🟢 -414 B 🟢 -370 B
assets/useLoad3d-DN90jVTM.js (new) 829 B 🔴 +829 B 🔴 +410 B 🔴 +370 B
assets/useLoad3dViewer-BI_jWLXu.js (new) 808 B 🔴 +808 B 🔴 +396 B 🔴 +358 B
assets/useLoad3dViewer-CP_g29-u.js (removed) 808 B 🟢 -808 B 🟢 -396 B 🟢 -356 B
assets/useCurrentUser-CWttPtwp.js (new) 692 B 🔴 +692 B 🔴 +357 B 🔴 +334 B
assets/useCurrentUser-sGDawnsL.js (removed) 692 B 🟢 -692 B 🟢 -358 B 🟢 -333 B
assets/_plugin-vue_export-helper-CY4XIWDa.js 315 B 315 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/colorUtil-CeP50apf.js 7 kB 7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/envUtil-BQSmRN2Q.js 466 B 466 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-Cu9hIV7U.js 1.56 kB 1.56 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SkeletonUtils-Dbobu-mZ.js 133 B 133 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/useExternalLink-CT2LWObJ.js 1.66 kB 1.66 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 12 added / 12 removed

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

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-axios-C4mPrLmU.js 70.3 kB 70.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-chart-BVph5xqx.js 399 kB 399 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-firebase-BvMr43CG.js 836 kB 836 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-i18n-cR3vmlFu.js 131 kB 131 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-markdown-oliHT-H5.js 102 kB 102 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-DJyFg6na.js 1.52 MB 1.52 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-gefG45vj.js 1.73 MB 1.73 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-DAi_xVZa.js 255 kB 255 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-sentry-SQwstEKc.js 182 kB 182 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-DSpQy18i.js 1.8 MB 1.8 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-Bi_34iZD.js 625 kB 625 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-core-BjA-tjXK.js 311 kB 311 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vueuse-DcEOrMQz.js 112 kB 112 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-C4cqihSk.js 374 kB 374 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-yjs-CP_4YO8u.js 143 kB 143 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-zod-DcCUUPIi.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 7.38 MB (baseline 7.38 MB) • 🟢 -92 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-DX3V6Vwo.js (removed) 72.3 kB 🟢 -72.3 kB 🟢 -18.6 kB 🟢 -16 kB
assets/core-BdkhJx6j.js (new) 72.2 kB 🔴 +72.2 kB 🔴 +18.6 kB 🔴 +16 kB
assets/groupNode-CdpDJNQV.js (removed) 72.1 kB 🟢 -72.1 kB 🟢 -17.7 kB 🟢 -15.6 kB
assets/groupNode-CdQiLBtp.js (new) 72.1 kB 🔴 +72.1 kB 🔴 +17.7 kB 🔴 +15.6 kB
assets/WidgetSelect-C2CP_nAQ.js (removed) 57.8 kB 🟢 -57.8 kB 🟢 -12.2 kB 🟢 -10.6 kB
assets/WidgetSelect-Ox7VUZkn.js (new) 57.8 kB 🔴 +57.8 kB 🔴 +12.2 kB 🔴 +10.6 kB
assets/SubscriptionRequiredDialogContentWorkspace-CATdi9yx.js (new) 45.8 kB 🔴 +45.8 kB 🔴 +8.55 kB 🔴 +7.4 kB
assets/SubscriptionRequiredDialogContentWorkspace-UCS4eMeF.js (removed) 45.8 kB 🟢 -45.8 kB 🟢 -8.55 kB 🟢 -7.42 kB
assets/Load3DControls-DEDoHfdZ.js (new) 30.9 kB 🔴 +30.9 kB 🔴 +5.34 kB 🔴 +4.64 kB
assets/Load3DControls-PpKMGGVl.js (removed) 30.9 kB 🟢 -30.9 kB 🟢 -5.34 kB 🟢 -4.64 kB
assets/WorkspacePanelContent-Bb7CzTAC.js (new) 29.2 kB 🔴 +29.2 kB 🔴 +6.08 kB 🔴 +5.34 kB
assets/WorkspacePanelContent-c5XpAquS.js (removed) 29.2 kB 🟢 -29.2 kB 🟢 -6.09 kB 🟢 -5.38 kB
assets/SubscriptionRequiredDialogContent-201AohEI.js (new) 26.2 kB 🔴 +26.2 kB 🔴 +6.55 kB 🔴 +5.77 kB
assets/SubscriptionRequiredDialogContent-CcvSqRVo.js (removed) 26.2 kB 🟢 -26.2 kB 🟢 -6.55 kB 🟢 -5.78 kB
assets/Load3dViewerContent-Cqcr9XqP.js (new) 23 kB 🔴 +23 kB 🔴 +5.19 kB 🔴 +4.5 kB
assets/Load3dViewerContent-jA36aSpC.js (removed) 23 kB 🟢 -23 kB 🟢 -5.19 kB 🟢 -4.5 kB
assets/WidgetImageCrop-BaYcgf7K.js (new) 22.1 kB 🔴 +22.1 kB 🔴 +5.49 kB 🔴 +4.84 kB
assets/WidgetImageCrop-D2UL07cA.js (removed) 22.1 kB 🟢 -22.1 kB 🟢 -5.5 kB 🟢 -4.86 kB
assets/SubscriptionPanelContentWorkspace-CB4kim8Q.js (new) 21.6 kB 🔴 +21.6 kB 🔴 +5.01 kB 🔴 +4.43 kB
assets/SubscriptionPanelContentWorkspace-vUVzpZ5Z.js (removed) 21.6 kB 🟢 -21.6 kB 🟢 -5.02 kB 🟢 -4.43 kB
assets/CurrentUserPopoverWorkspace-Cu4uTtfo.js (removed) 19.8 kB 🟢 -19.8 kB 🟢 -4.85 kB 🟢 -4.32 kB
assets/CurrentUserPopoverWorkspace-CybkxH00.js (new) 19.8 kB 🔴 +19.8 kB 🔴 +4.85 kB 🔴 +4.33 kB
assets/SignInContent-BlHqlNk5.js (removed) 18.9 kB 🟢 -18.9 kB 🟢 -4.78 kB 🟢 -4.18 kB
assets/SignInContent-CbfD5uec.js (new) 18.9 kB 🔴 +18.9 kB 🔴 +4.77 kB 🔴 +4.18 kB
assets/WidgetRecordAudio-CScDSvtT.js (removed) 17.3 kB 🟢 -17.3 kB 🟢 -4.93 kB 🟢 -4.41 kB
assets/WidgetRecordAudio-Zw9gvusY.js (new) 17.3 kB 🔴 +17.3 kB 🔴 +4.93 kB 🔴 +4.41 kB
assets/Load3D-D4Hdnj30.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +4.02 kB 🔴 +3.52 kB
assets/Load3D-PkaGex_e.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -4.03 kB 🟢 -3.52 kB
assets/load3d-CCdfeceu.js (new) 14.7 kB 🔴 +14.7 kB 🔴 +4.18 kB 🔴 +3.62 kB
assets/load3d-D27OscDv.js (removed) 14.7 kB 🟢 -14.7 kB 🟢 -4.18 kB 🟢 -3.63 kB
assets/WidgetInputNumber-6WozkObW.js (removed) 11.8 kB 🟢 -11.8 kB 🟢 -3.31 kB 🟢 -2.97 kB
assets/WidgetInputNumber-BxDyn6g_.js (new) 11.8 kB 🔴 +11.8 kB 🔴 +3.31 kB 🔴 +2.97 kB
assets/AudioPreviewPlayer-D4pq9IkB.js (new) 10.8 kB 🔴 +10.8 kB 🔴 +3.18 kB 🔴 +2.84 kB
assets/AudioPreviewPlayer-DLXYlsmA.js (removed) 10.8 kB 🟢 -10.8 kB 🟢 -3.18 kB 🟢 -2.86 kB
assets/changeTracker-CHo4arbo.js (removed) 9.38 kB 🟢 -9.38 kB 🟢 -2.89 kB 🟢 -2.55 kB
assets/changeTracker-CZStYw0o.js (new) 9.38 kB 🔴 +9.38 kB 🔴 +2.89 kB 🔴 +2.55 kB
assets/nodeTemplates-DNxtLBFk.js (new) 9.27 kB 🔴 +9.27 kB 🔴 +3.24 kB 🔴 +2.84 kB
assets/nodeTemplates-RuUI3reo.js (removed) 9.27 kB 🟢 -9.27 kB 🟢 -3.25 kB 🟢 -2.85 kB
assets/InviteMemberDialogContent-Cgz1vksc.js (new) 7.35 kB 🔴 +7.35 kB 🔴 +2.28 kB 🔴 +1.98 kB
assets/InviteMemberDialogContent-T1h71iE9.js (removed) 7.35 kB 🟢 -7.35 kB 🟢 -2.28 kB 🟢 -1.99 kB
assets/WidgetWithControl-C4n-nBbv.js (removed) 7.01 kB 🟢 -7.01 kB 🟢 -2.61 kB 🟢 -2.33 kB
assets/WidgetWithControl-Ko6S1TVc.js (new) 7.01 kB 🔴 +7.01 kB 🔴 +2.61 kB 🔴 +2.33 kB
assets/Load3DConfiguration-B7IT8pgy.js (new) 6.27 kB 🔴 +6.27 kB 🔴 +1.91 kB 🔴 +1.67 kB
assets/Load3DConfiguration-C_FbZxHD.js (removed) 6.27 kB 🟢 -6.27 kB 🟢 -1.91 kB 🟢 -1.68 kB
assets/CreateWorkspaceDialogContent--1vDV54_.js (new) 5.5 kB 🔴 +5.5 kB 🔴 +1.97 kB 🔴 +1.72 kB
assets/CreateWorkspaceDialogContent-B8-U8Tjt.js (removed) 5.5 kB 🟢 -5.5 kB 🟢 -1.97 kB 🟢 -1.72 kB
assets/EditWorkspaceDialogContent-D5NszCh5.js (removed) 5.3 kB 🟢 -5.3 kB 🟢 -1.93 kB 🟢 -1.68 kB
assets/EditWorkspaceDialogContent-PQjUyC4j.js (new) 5.3 kB 🔴 +5.3 kB 🔴 +1.93 kB 🔴 +1.68 kB
assets/ValueControlPopover-BpjtO6Cu.js (removed) 4.89 kB 🟢 -4.89 kB 🟢 -1.75 kB 🟢 -1.57 kB
assets/ValueControlPopover-CL0WIOTb.js (new) 4.89 kB 🔴 +4.89 kB 🔴 +1.75 kB 🔴 +1.57 kB
assets/Preview3d-B1foJO5v.js (new) 4.78 kB 🔴 +4.78 kB 🔴 +1.55 kB 🔴 +1.35 kB
assets/Preview3d-CiG4atZD.js (removed) 4.78 kB 🟢 -4.78 kB 🟢 -1.55 kB 🟢 -1.35 kB
assets/CancelSubscriptionDialogContent-BSDXF90p.js (removed) 4.76 kB 🟢 -4.76 kB 🟢 -1.77 kB 🟢 -1.56 kB
assets/CancelSubscriptionDialogContent-C8ZMaV6Q.js (new) 4.76 kB 🔴 +4.76 kB 🔴 +1.77 kB 🔴 +1.55 kB
assets/DeleteWorkspaceDialogContent-8eE2kB7N.js (new) 4.2 kB 🔴 +4.2 kB 🔴 +1.62 kB 🔴 +1.41 kB
assets/DeleteWorkspaceDialogContent-DTIOxdtx.js (removed) 4.2 kB 🟢 -4.2 kB 🟢 -1.62 kB 🟢 -1.41 kB
assets/LeaveWorkspaceDialogContent-BMLr2t0l.js (new) 4.03 kB 🔴 +4.03 kB 🔴 +1.56 kB 🔴 +1.36 kB
assets/LeaveWorkspaceDialogContent-svL4U2f2.js (removed) 4.03 kB 🟢 -4.03 kB 🟢 -1.56 kB 🟢 -1.36 kB
assets/RemoveMemberDialogContent-CYjD6uus.js (new) 4.01 kB 🔴 +4.01 kB 🔴 +1.51 kB 🔴 +1.32 kB
assets/RemoveMemberDialogContent-DQ65ACEn.js (removed) 4.01 kB 🟢 -4.01 kB 🟢 -1.51 kB 🟢 -1.32 kB
assets/RevokeInviteDialogContent-C2U-LaBC.js (removed) 3.92 kB 🟢 -3.92 kB 🟢 -1.53 kB 🟢 -1.34 kB
assets/RevokeInviteDialogContent-mNsOFMXg.js (new) 3.92 kB 🔴 +3.92 kB 🔴 +1.53 kB 🔴 +1.34 kB
assets/InviteMemberUpsellDialogContent-BJgSsJS8.js (new) 3.79 kB 🔴 +3.79 kB 🔴 +1.39 kB 🔴 +1.22 kB
assets/InviteMemberUpsellDialogContent-CJ4m3jv8.js (removed) 3.79 kB 🟢 -3.79 kB 🟢 -1.39 kB 🟢 -1.22 kB
assets/saveMesh-CT8LbtKy.js (new) 3.35 kB 🔴 +3.35 kB 🔴 +1.44 kB 🔴 +1.28 kB
assets/saveMesh-DkZXfjZB.js (removed) 3.35 kB 🟢 -3.35 kB 🟢 -1.45 kB 🟢 -1.28 kB
assets/WidgetTextarea-BCCY3me8.js (removed) 3.18 kB 🟢 -3.18 kB 🟢 -1.3 kB 🟢 -1.14 kB
assets/WidgetTextarea-BrSdHQB4.js (new) 3.13 kB 🔴 +3.13 kB 🔴 +1.3 kB 🔴 +1.14 kB
assets/cloudSessionCookie-Cnyeit6I.js (new) 3.07 kB 🔴 +3.07 kB 🔴 +1.07 kB 🔴 +974 B
assets/cloudSessionCookie-D7bVyLWE.js (removed) 3.07 kB 🟢 -3.07 kB 🟢 -1.07 kB 🟢 -973 B
assets/WidgetMarkdown-BaAuT1DD.js (new) 2.93 kB 🔴 +2.93 kB 🔴 +1.23 kB 🔴 +1.06 kB
assets/GlobalToast-BDsH7FOx.js (new) 2.91 kB 🔴 +2.91 kB 🔴 +1.21 kB 🔴 +1.06 kB
assets/GlobalToast-DmDwDpJE.js (removed) 2.91 kB 🟢 -2.91 kB 🟢 -1.21 kB 🟢 -1.04 kB
assets/WidgetMarkdown-CYq8CHI1.js (removed) 2.88 kB 🟢 -2.88 kB 🟢 -1.22 kB 🟢 -1.06 kB
assets/SubscribeToRun-C8fezxeV.js (new) 2.2 kB 🔴 +2.2 kB 🔴 +1.01 kB 🔴 +891 B
assets/SubscribeToRun-Dfg6v1UV.js (removed) 2.2 kB 🟢 -2.2 kB 🟢 -1.01 kB 🟢 -891 B
assets/CloudRunButtonWrapper-CGeGXMbB.js (new) 1.65 kB 🔴 +1.65 kB 🔴 +772 B 🔴 +683 B
assets/CloudRunButtonWrapper-DNg-RfDb.js (removed) 1.65 kB 🟢 -1.65 kB 🟢 -773 B 🟢 -687 B
assets/cloudBadges-BfsxWcCu.js (new) 1.34 kB 🔴 +1.34 kB 🔴 +689 B 🔴 +599 B
assets/cloudBadges-Cj45cMR6.js (removed) 1.34 kB 🟢 -1.34 kB 🟢 -693 B 🟢 -603 B
assets/cloudSubscription-DJhON_2p.js (removed) 1.3 kB 🟢 -1.3 kB 🟢 -645 B 🟢 -561 B
assets/cloudSubscription-DpzYQDvd.js (new) 1.3 kB 🔴 +1.3 kB 🔴 +644 B 🔴 +557 B
assets/Load3D-65sEo9ac.js (removed) 1.04 kB 🟢 -1.04 kB 🟢 -486 B 🟢 -432 B
assets/Load3D-C5XyHkdD.js (new) 1.04 kB 🔴 +1.04 kB 🔴 +482 B 🔴 +431 B
assets/nightlyBadges-93FGyyg2.js (removed) 971 B 🟢 -971 B 🟢 -521 B 🟢 -461 B
assets/nightlyBadges-BkXwePnJ.js (new) 971 B 🔴 +971 B 🔴 +518 B 🔴 +459 B
assets/Load3dViewerContent-BSyObl63.js (new) 963 B 🔴 +963 B 🔴 +454 B 🔴 +404 B
assets/Load3dViewerContent-CGsVBAzC.js (removed) 963 B 🟢 -963 B 🟢 -456 B 🟢 -409 B
assets/SubscriptionPanelContentWorkspace-B7iAY3vM.js (new) 900 B 🔴 +900 B 🔴 +422 B 🔴 +366 B
assets/SubscriptionPanelContentWorkspace-D5AIKzc8.js (removed) 900 B 🟢 -900 B 🟢 -425 B 🟢 -369 B
assets/graphHasMissingNodes-9Xe1ko4t.js (removed) 761 B 🟢 -761 B 🟢 -373 B 🟢 -321 B
assets/graphHasMissingNodes-iHUKT68R.js (new) 761 B 🔴 +761 B 🔴 +374 B 🔴 +328 B
assets/changeTracker-BOTHd4fN.js (new) 727 B 🔴 +727 B 🔴 +369 B 🔴 +343 B
assets/changeTracker-CIyypa7g.js (removed) 727 B 🟢 -727 B 🟢 -371 B 🟢 -324 B
assets/WidgetLegacy-5MlC-UWb.js (new) 715 B 🔴 +715 B 🔴 +371 B 🔴 +339 B
assets/WidgetLegacy-CNPwmjel.js (removed) 715 B 🟢 -715 B 🟢 -372 B 🟢 -337 B
assets/WidgetInputNumber-BnIg99dg.js (removed) 437 B 🟢 -437 B 🟢 -248 B 🟢 -215 B
assets/WidgetInputNumber-DgeN5jL3.js (new) 437 B 🔴 +437 B 🔴 +250 B 🔴 +216 B
assets/AnimationControls-BzKwvrey.js 4.61 kB 4.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ApiNodesSignInContent-DPS3_zY7.js 2.69 kB 2.69 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/auto-P6cmVFBq.js 1.7 kB 1.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/BaseViewTemplate-CPWbq97h.js 1.78 kB 1.78 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/comfy-logo-single-Bzuu84gN.js 198 B 198 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ComfyOrgHeader-CR3OyyCW.js 910 B 910 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-6ntdtqc9.js 16.6 kB 16.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-B4RbG9Th.js 17.2 kB 17.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BmIbopvA.js 14.9 kB 14.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Br2FiHkj.js 17.1 kB 17.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BrlWvwVz.js 15.7 kB 15.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BV_NDvWz.js 15.5 kB 15.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CSxUmE31.js 14.7 kB 14.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-D3gGGUgv.js 16.3 kB 16.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DBqn--Z9.js 15.8 kB 15.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DgX9pWvG.js 15.8 kB 15.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DlSpFU8-.js 18.4 kB 18.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/constants-BKU8e69-.js 579 B 579 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-B21P2kuA.js 199 B 199 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-BPsuwzFt.js 505 kB 505 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/LazyImage-C812ZTaN.js 12.3 kB 12.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Bg-1LcRk.js 120 kB 120 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BhTuc8pp.js 144 kB 144 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BjNyGyrP.js 136 kB 136 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Bl8Fy3rY.js 141 kB 141 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Bo3hm2ug.js 190 kB 190 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C-XiaTzV.js 157 kB 157 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D-LaWT4q.js 121 kB 121 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DkPPQYpL.js 170 kB 170 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-paKyiK5-.js 137 kB 137 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-wXc1MGIE.js 139 kB 139 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-XEp46eGp.js 164 kB 164 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-uVW6UxXn.js 1.82 kB 1.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-Bo-yoCQs.js 1.43 kB 1.43 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-BWaFQR3Q.js 1.75 kB 1.75 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-_lQOgDGQ.js 2.23 kB 2.23 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Bheu43Bb.js 391 kB 391 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BPuceShu.js 346 kB 346 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BvgDpig6.js 377 kB 377 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BZpu0NoU.js 463 kB 463 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Cev_L1ap.js 381 kB 381 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CGC_NG3k.js 369 kB 369 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Cj5X8IGf.js 343 kB 343 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DAEaB4hJ.js 373 kB 373 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DJG4rq9g.js 377 kB 377 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DJl7ITPK.js 424 kB 424 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Dywtk58C.js 424 kB 424 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-CxcvRxyJ.js 665 B 665 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/rolldown-runtime-DLICfi3-.js 1.97 kB 1.97 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SelectValue-CKdTjksa.js 8.94 kB 8.94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/signInSchema-FyXu3mPx.js 1.53 kB 1.53 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Slider-D_ngVjVT.js 3.52 kB 3.52 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/src-hEkx01Ix.js 251 B 251 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/telemetry-zZf2dHJ2.js 226 B 226 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/types-DT3N7am7.js 204 B 204 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widget-DTUjK0ZE.js 445 B 445 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-CXf2UpG7.js 3.19 kB 3.19 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-DnTyITVB.js 283 B 283 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-B9WHn-7I.js 2.21 kB 2.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-LYMr5zb-.js 2.9 kB 2.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria-Daz0soUA.js 3.61 kB 3.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-Ds3saEb3.js 3.1 kB 3.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-DTX5OxDV.js 1.86 kB 1.86 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-CDiEG33G.js 1.95 kB 1.95 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-DfMXJwGW.js 1.1 kB 1.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-BfjjyC7J.js 2.5 kB 2.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetTypes-Cp8f93Pk.js 393 B 393 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 49 added / 49 removed

@christian-byrne christian-byrne added needs-backport Fix/change that needs to be cherry-picked to the current feature freeze branch core/1.39 Backport PRs for core 1.39 cloud/1.39 Backport PRs for cloud 1.39 labels Feb 14, 2026
Remove `disabled` attribute from read-only preview textareas — disabled
elements cannot receive focus, so the focus-gated wheel capture logic
(#6597) always forwards wheel events to the canvas instead of allowing
scroll.

Add `data-capture-wheel` and `tabindex` to WidgetMarkdown display div
so rendered markdown content can also capture wheel events when focused.

Fixes COM-14812

Amp-Thread-ID: https://ampcode.com/threads/T-019c5a22-0e4c-7217-b022-49f9c86b8790
@christian-byrne christian-byrne force-pushed the fix/scroll-large-value-outputs branch from ffbba1a to 893f086 Compare February 20, 2026 05:29
:class="cn(WidgetInputBaseClass, 'size-full text-xs resize-none')"
:placeholder
:readonly="isReadOnly"
:disabled="isReadOnly"
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this was for display purposes

@DrJKL DrJKL assigned christian-byrne and unassigned DrJKL Feb 20, 2026
@christian-byrne christian-byrne merged commit 102149f into main Feb 20, 2026
28 checks passed
@christian-byrne christian-byrne deleted the fix/scroll-large-value-outputs branch February 20, 2026 08:55
github-actions bot pushed a commit that referenced this pull request Feb 20, 2026
## Summary

Restore mouse-wheel scrolling for read-only preview widgets (PreviewAny
plaintext and markdown modes), broken by the focus-gated wheel capture
in #6597.

## Changes

- **What**: Remove `disabled` attribute from read-only textareas (keep
`readonly`) so they can receive focus and capture wheel events. Add
`data-capture-wheel` and `tabindex` to WidgetMarkdown display div.
- **Root cause**: `disabled` elements cannot receive focus in browsers.
The focus-gated `wheelCapturedByFocusedElement()` from #6597 always
evaluated to false for disabled textareas, forwarding all wheel events
to the canvas.

## Review Focus

- Verify that removing `disabled` while keeping `readonly` does not
allow unintended editing
- Confirm `tabindex="0"` on the markdown display div does not cause
unexpected tab-order issues
- Ensure trackpad panning over unfocused widgets (#6523) still works
correctly

Fixes COM-14812

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8863-fix-restore-mouse-wheel-scrolling-in-preview-as-text-outputs-3076d73d365081719bf5e453235bb2b5)
by [Unito](https://www.unito.io)
github-actions bot pushed a commit that referenced this pull request Feb 20, 2026
## Summary

Restore mouse-wheel scrolling for read-only preview widgets (PreviewAny
plaintext and markdown modes), broken by the focus-gated wheel capture
in #6597.

## Changes

- **What**: Remove `disabled` attribute from read-only textareas (keep
`readonly`) so they can receive focus and capture wheel events. Add
`data-capture-wheel` and `tabindex` to WidgetMarkdown display div.
- **Root cause**: `disabled` elements cannot receive focus in browsers.
The focus-gated `wheelCapturedByFocusedElement()` from #6597 always
evaluated to false for disabled textareas, forwarding all wheel events
to the canvas.

## Review Focus

- Verify that removing `disabled` while keeping `readonly` does not
allow unintended editing
- Confirm `tabindex="0"` on the markdown display div does not cause
unexpected tab-order issues
- Ensure trackpad panning over unfocused widgets (#6523) still works
correctly

Fixes COM-14812

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8863-fix-restore-mouse-wheel-scrolling-in-preview-as-text-outputs-3076d73d365081719bf5e453235bb2b5)
by [Unito](https://www.unito.io)
@comfy-pr-bot
Copy link
Member

@christian-byrne Successfully backported to #9006

@comfy-pr-bot
Copy link
Member

@christian-byrne Successfully backported to #9007

@github-actions github-actions bot removed the needs-backport Fix/change that needs to be cherry-picked to the current feature freeze branch label Feb 20, 2026
pythongosssss pushed a commit that referenced this pull request Feb 20, 2026
…-text outputs (#9006)

Backport of #8863 to `core/1.39`

Automatically created by backport workflow.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9006-backport-core-1-39-fix-restore-mouse-wheel-scrolling-in-preview-as-text-outputs-30d6d73d365081bf9398c56dece63fe9)
by [Unito](https://www.unito.io)

Co-authored-by: Christian Byrne <cbyrne@comfy.org>
pythongosssss pushed a commit that referenced this pull request Feb 20, 2026
…s-text outputs (#9007)

Backport of #8863 to `cloud/1.39`

Automatically created by backport workflow.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9007-backport-cloud-1-39-fix-restore-mouse-wheel-scrolling-in-preview-as-text-outputs-30d6d73d365081c58024cd56484ba839)
by [Unito](https://www.unito.io)

Co-authored-by: Christian Byrne <cbyrne@comfy.org>
huntcsg pushed a commit that referenced this pull request Feb 21, 2026
## Summary

Restore mouse-wheel scrolling for read-only preview widgets (PreviewAny
plaintext and markdown modes), broken by the focus-gated wheel capture
in #6597.

## Changes

- **What**: Remove `disabled` attribute from read-only textareas (keep
`readonly`) so they can receive focus and capture wheel events. Add
`data-capture-wheel` and `tabindex` to WidgetMarkdown display div.
- **Root cause**: `disabled` elements cannot receive focus in browsers.
The focus-gated `wheelCapturedByFocusedElement()` from #6597 always
evaluated to false for disabled textareas, forwarding all wheel events
to the canvas.

## Review Focus

- Verify that removing `disabled` while keeping `readonly` does not
allow unintended editing
- Confirm `tabindex="0"` on the markdown display div does not cause
unexpected tab-order issues
- Ensure trackpad panning over unfocused widgets (#6523) still works
correctly

Fixes COM-14812

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8863-fix-restore-mouse-wheel-scrolling-in-preview-as-text-outputs-3076d73d365081719bf5e453235bb2b5)
by [Unito](https://www.unito.io)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cloud/1.39 Backport PRs for cloud 1.39 core/1.39 Backport PRs for core 1.39 size:XS This PR changes 0-9 lines, ignoring generated files. verified bug Something isn't working (confirmed by the team)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants