Skip to content

feat: support dev-only nodes#8359

Merged
guill merged 3 commits intomainfrom
js/dev-nodes
Jan 29, 2026
Merged

feat: support dev-only nodes#8359
guill merged 3 commits intomainfrom
js/dev-nodes

Conversation

@guill
Copy link
Member

@guill guill commented Jan 28, 2026

Summary

Support dev_only property to node definitions that hides nodes from search and menus unless dev mode is enabled. Dev-only nodes display a "DEV" badge when visible.

This functionality is primarily intended to support unit-testing nodes on Comfy Cloud, but also has other uses.

Changes

  • What: Nodes flagged as dev_only in the node schema will only appear in search and menus if Dev Mode is on.

Screenshots (if applicable)

With Dev Mode off:
image

With Dev Mode on:
image

┆Issue is synchronized with this Notion page by Unito

@guill guill requested review from a team as code owners January 28, 2026 05:28
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Jan 28, 2026
@github-actions
Copy link

github-actions bot commented Jan 28, 2026

🎭 Playwright Tests: ✅ Passed

Results: 507 passed, 0 failed, 0 flaky, 8 skipped (Total: 515)

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

@github-actions
Copy link

github-actions bot commented Jan 28, 2026

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 01/29/2026, 02:45:34 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 28, 2026

📝 Walkthrough

Walkthrough

This pull request introduces support for marking nodes as "dev-only" and toggling their visibility based on development mode. Changes include schema updates to recognize the dev_only flag, UI badge rendering, filtering logic, and integration with existing dev mode settings.

Changes

Cohort / File(s) Summary
Schema and Type Definitions
src/schemas/nodeDefSchema.ts, src/schemas/nodeDef/nodeDefSchemaV2.ts, src/lib/litegraph/src/LGraphNode.ts
Added optional dev_only boolean field to node definition schemas and static nodeData metadata container to LGraphNode with dev_only and other optional flags.
Store and Filtering Logic
src/stores/nodeDefStore.ts
Implemented dev_only field in ComfyNodeDefImpl, added showDevOnly computed property sourced from Comfy.DevMode setting, created core.dev_only filter, updated badge text to display [DEV] label, and added watcher for dynamic skip_list updates.
Service Integration
src/services/litegraphService.ts
Added override modifier to nodeData declarations and implemented dev-mode aware skip_list handling that conditionally hides dev-only nodes based on Comfy.DevMode setting.
UI Presentation
src/components/searchbox/NodeSearchItem.vue
Repositioned experimental tag to appear after deprecated tag and added conditional rendering of new dev_only badge.
Localization
src/locales/en/main.json
Added devOnly localization entry with value "DEV".
Tests
src/utils/nodeFilterUtil.test.ts
Updated MockNode classes to use override modifier and renamed MockNodeWithOtherData to MockNodeWithEmptyData with updated nodeData structure.

Sequence Diagram

sequenceDiagram
    participant NodeDef as Node Definition
    participant Store as Node Def Store
    participant Settings as Settings Store
    participant Filter as Node Filter
    participant UI as Search UI

    NodeDef->>Store: Load node with dev_only flag
    activate Store
    Store->>Settings: Read Comfy.DevMode setting
    activate Settings
    Settings-->>Store: Return dev mode status
    deactivate Settings
    Store->>Filter: Register core.dev_only filter<br/>(showDevOnly || !nodeDef.dev_only)
    activate Filter
    Filter-->>Store: Filter applied
    deactivate Filter
    alt DevMode Enabled
        Filter->>Store: Include dev-only node
        Store->>UI: Render node with [DEV] badge
    else DevMode Disabled
        Filter->>Store: Hide dev-only node
        Store->>UI: Node filtered out
    end
    deactivate Store
    UI->>UI: Display filtered nodes
Loading

Suggested reviewers

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

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

guill added 2 commits January 27, 2026 21:29
Support `dev_only` property to node definitions that hides nodes from
search and menus unless dev mode is enabled. Dev-only nodes display a
"DEV" badge when visible.

This functionality is primarily intended to support unit-testing nodes on
Comfy Cloud, but also has other uses.
@github-actions
Copy link

github-actions bot commented Jan 28, 2026

Bundle Size Report

Summary

  • Raw size: 22.1 MB baseline 22.1 MB — 🔴 +915 B
  • Gzip: 4.6 MB baseline 4.6 MB — 🔴 +123 B
  • Brotli: 3.41 MB baseline 3.41 MB — 🔴 +486 B
  • Bundles: 173 current • 173 baseline • 84 added / 84 removed

Category Glance
Data & Services 🔴 +894 B (2.7 MB) · Graph Workspace 🔴 +207 B (973 kB) · Other 🟢 -178 B (7.05 MB) · Panels & Settings 🟢 -8 B (471 kB) · Vendor & Third-Party ⚪ 0 B (10.7 MB) · 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-BJfTsads.js (new) 26 kB 🔴 +26 kB 🔴 +7.5 kB 🔴 +6.6 kB
assets/index-CbjnTeRx.js (removed) 26 kB 🟢 -26 kB 🟢 -7.51 kB 🟢 -6.6 kB

Status: 1 added / 1 removed

Graph Workspace — 973 kB (baseline 973 kB) • 🔴 +207 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-Bx-GbKrA.js (new) 973 kB 🔴 +973 kB 🔴 +197 kB 🔴 +148 kB
assets/GraphView-CdrzYhHg.js (removed) 973 kB 🟢 -973 kB 🟢 -197 kB 🟢 -148 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-htAKy6H6.js (new) 17.1 kB 🔴 +17.1 kB 🔴 +3.61 kB 🔴 +3.05 kB
assets/CloudSurveyView-PROKTxwT.js (removed) 17.1 kB 🟢 -17.1 kB 🟢 -3.6 kB 🟢 -3.05 kB
assets/CloudLoginView-BplWh27T.js (removed) 11.8 kB 🟢 -11.8 kB 🟢 -3.09 kB 🟢 -2.71 kB
assets/CloudLoginView-Ddj9csZj.js (new) 11.8 kB 🔴 +11.8 kB 🔴 +3.09 kB 🔴 +2.71 kB
assets/UserCheckView-COSPnPQf.js (new) 10.5 kB 🔴 +10.5 kB 🔴 +2.45 kB 🔴 +2.13 kB
assets/UserCheckView-NBkXxnlW.js (removed) 10.5 kB 🟢 -10.5 kB 🟢 -2.44 kB 🟢 -2.13 kB
assets/CloudLayoutView-BRDzTdfS.js (removed) 8.54 kB 🟢 -8.54 kB 🟢 -2.25 kB 🟢 -1.95 kB
assets/CloudLayoutView-CWSi1T3S.js (new) 8.54 kB 🔴 +8.54 kB 🔴 +2.25 kB 🔴 +1.96 kB
assets/CloudSignupView-Be5FRRKt.js (new) 8.18 kB 🔴 +8.18 kB 🔴 +2.33 kB 🔴 +2.02 kB
assets/CloudSignupView-D3MP2jN9.js (removed) 8.18 kB 🟢 -8.18 kB 🟢 -2.33 kB 🟢 -2.02 kB
assets/CloudForgotPasswordView-BEIHKPEj.js (new) 6.26 kB 🔴 +6.26 kB 🔴 +1.93 kB 🔴 +1.69 kB
assets/CloudForgotPasswordView-MUos38LQ.js (removed) 6.26 kB 🟢 -6.26 kB 🟢 -1.93 kB 🟢 -1.69 kB
assets/UserSelectView-BA5iTVB0.js (removed) 5.28 kB 🟢 -5.28 kB 🟢 -1.76 kB 🟢 -1.57 kB
assets/UserSelectView-BKFKa6w9.js (new) 5.28 kB 🔴 +5.28 kB 🔴 +1.76 kB 🔴 +1.57 kB
assets/CloudSubscriptionRedirectView-Bh5msCMJ.js (removed) 5.27 kB 🟢 -5.27 kB 🟢 -1.73 kB 🟢 -1.54 kB
assets/CloudSubscriptionRedirectView-CfaLvubP.js (new) 5.27 kB 🔴 +5.27 kB 🔴 +1.73 kB 🔴 +1.54 kB
assets/CloudAuthTimeoutView-BSIGZuAG.js (removed) 5.24 kB 🟢 -5.24 kB 🟢 -1.71 kB 🟢 -1.48 kB
assets/CloudAuthTimeoutView-Ixodqxsh.js (new) 5.24 kB 🔴 +5.24 kB 🔴 +1.7 kB 🔴 +1.49 kB
assets/CloudSorryContactSupportView-n5f-fGMz.js 1.97 kB 1.97 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-V93lMUpe.js 500 B 500 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

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

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/WorkspacePanel-BJQJd5WX.js (new) 29.8 kB 🔴 +29.8 kB 🔴 +5.89 kB 🔴 +5.14 kB
assets/WorkspacePanel-kHQKSC4k.js (removed) 29.8 kB 🟢 -29.8 kB 🟢 -5.89 kB 🟢 -5.14 kB
assets/LegacyCreditsPanel-BPU0s6FG.js (removed) 23.8 kB 🟢 -23.8 kB 🟢 -5.95 kB 🟢 -5.23 kB
assets/LegacyCreditsPanel-D982AMNt.js (new) 23.8 kB 🔴 +23.8 kB 🔴 +5.95 kB 🔴 +5.23 kB
assets/SubscriptionPanel-BgRbDOui.js (new) 21 kB 🔴 +21 kB 🔴 +5.04 kB 🔴 +4.46 kB
assets/SubscriptionPanel-CcF77WnE.js (removed) 21 kB 🟢 -21 kB 🟢 -5.04 kB 🟢 -4.45 kB
assets/KeybindingPanel-4iQmX7DA.js (new) 14.2 kB 🔴 +14.2 kB 🔴 +3.74 kB 🔴 +3.31 kB
assets/KeybindingPanel-D8U9yvMF.js (removed) 14.2 kB 🟢 -14.2 kB 🟢 -3.74 kB 🟢 -3.31 kB
assets/AboutPanel-C0hxC4W6.js (new) 10.8 kB 🔴 +10.8 kB 🔴 +2.68 kB 🔴 +2.43 kB
assets/AboutPanel-C0Vi4I7g.js (removed) 10.8 kB 🟢 -10.8 kB 🟢 -2.68 kB 🟢 -2.43 kB
assets/ExtensionPanel-CS2fPdrf.js (removed) 10.2 kB 🟢 -10.2 kB 🟢 -2.71 kB 🟢 -2.4 kB
assets/ExtensionPanel-CxaoOfdg.js (new) 10.2 kB 🔴 +10.2 kB 🔴 +2.71 kB 🔴 +2.41 kB
assets/ServerConfigPanel-Bdddb36A.js (removed) 7.23 kB 🟢 -7.23 kB 🟢 -2.17 kB 🟢 -1.94 kB
assets/ServerConfigPanel-rvXH__Ll.js (new) 7.23 kB 🔴 +7.23 kB 🔴 +2.16 kB 🔴 +1.93 kB
assets/UserPanel-CmHNJcPL.js (removed) 6.58 kB 🟢 -6.58 kB 🟢 -1.9 kB 🟢 -1.68 kB
assets/UserPanel-DERjNO9v.js (new) 6.58 kB 🔴 +6.58 kB 🔴 +1.9 kB 🔴 +1.68 kB
assets/refreshRemoteConfig-Bhfjwf41.js (removed) 1.31 kB 🟢 -1.31 kB 🟢 -572 B 🟢 -497 B
assets/refreshRemoteConfig-hx9RczO9.js (new) 1.31 kB 🔴 +1.31 kB 🔴 +572 B 🔴 +499 B
assets/config-_JrIptgQ.js (removed) 1.16 kB 🟢 -1.16 kB 🟢 -610 B 🟢 -534 B
assets/config-Dlj-QH-C.js (new) 1.15 kB 🔴 +1.15 kB 🔴 +605 B 🔴 +527 B
assets/cloudRemoteConfig-B-meJKGS.js (new) 1.11 kB 🔴 +1.11 kB 🔴 +511 B 🔴 +437 B
assets/cloudRemoteConfig-XglZoZ-Z.js (removed) 1.11 kB 🟢 -1.11 kB 🟢 -512 B 🟢 -443 B
assets/refreshRemoteConfig-BWRFeDMc.js (removed) 169 B 🟢 -169 B 🟢 -108 B 🟢 -104 B
assets/refreshRemoteConfig-RzoVLb1-.js (new) 169 B 🔴 +169 B 🔴 +108 B 🔴 +102 B
assets/remoteConfig-B0mlVvm7.js 788 B 788 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-2UNjEj6k.js 32.9 kB 32.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-B2OMGvh7.js 31.2 kB 31.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BcujOfpn.js 29.6 kB 29.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BI09_t23.js 29.4 kB 29.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BKamuseh.js 25.8 kB 25.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BlTun9tZ.js 26.4 kB 26.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CZ62uO3e.js 30.2 kB 30.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DaK-NByz.js 35.2 kB 35.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DaS3cSXp.js 39.4 kB 39.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DWbMuaAa.js 32 kB 32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-S7pA60Hj.js 30.4 kB 30.4 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-BGRADIoz.js (new) 3.54 kB 🔴 +3.54 kB 🔴 +1.24 kB 🔴 +1.05 kB
assets/auth-lUHDnpck.js (removed) 3.54 kB 🟢 -3.54 kB 🟢 -1.24 kB 🟢 -1.05 kB
assets/firebaseAuthStore-BxvVfsQy.js (new) 217 B 🔴 +217 B 🔴 +136 B 🔴 +119 B
assets/firebaseAuthStore-QAG2UJgi.js (removed) 217 B 🟢 -217 B 🟢 -136 B 🟢 -118 B
assets/auth-aRzt6OUR.js (removed) 178 B 🟢 -178 B 🟢 -141 B 🟢 -132 B
assets/auth-KLDoK3Yx.js (new) 178 B 🔴 +178 B 🔴 +142 B 🔴 +132 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-BBd34Ipd.js (new) 2.71 kB 🔴 +2.71 kB 🔴 +1.28 kB 🔴 +1.14 kB
assets/useSubscriptionDialog-CwONmcBu.js (removed) 2.71 kB 🟢 -2.71 kB 🟢 -1.28 kB 🟢 -1.14 kB
assets/useSubscriptionDialog-B2AxCywz.js (new) 179 B 🔴 +179 B 🔴 +110 B 🔴 +100 B
assets/useSubscriptionDialog-Bb9MxIQo.js (removed) 179 B 🟢 -179 B 🟢 -110 B 🟢 -102 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-B616AvXL.js (new) 9.52 kB 🔴 +9.52 kB 🔴 +2.69 kB 🔴 +2.41 kB
assets/ComfyQueueButton-CGjauii1.js (removed) 9.52 kB 🟢 -9.52 kB 🟢 -2.68 kB 🟢 -2.4 kB
assets/SubscribeButton-BO0xodDt.js (new) 4.63 kB 🔴 +4.63 kB 🔴 +1.57 kB 🔴 +1.39 kB
assets/SubscribeButton-BuMT-1xm.js (removed) 4.63 kB 🟢 -4.63 kB 🟢 -1.57 kB 🟢 -1.39 kB
assets/CloudBadge-XMwjdY2I.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +719 B 🔴 +644 B
assets/CloudBadge-zB1el_Hr.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -719 B 🟢 -641 B
assets/cloudFeedbackTopbarButton-C37WBXEG.js (new) 1.24 kB 🔴 +1.24 kB 🔴 +677 B 🔴 +574 B
assets/cloudFeedbackTopbarButton-D882IFXK.js (removed) 1.24 kB 🟢 -1.24 kB 🟢 -676 B 🟢 -573 B
assets/ComfyQueueButton-DhLTcmzH.js (new) 181 B 🔴 +181 B 🔴 +118 B 🔴 +123 B
assets/ComfyQueueButton-ZZW1vBuH.js (removed) 181 B 🟢 -181 B 🟢 -118 B 🟢 -109 B
assets/Button-Bb_i0j7c.js 3.82 kB 3.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/TopbarBadge-qACg_vGT.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-DSv9NFvF.js 2.41 kB 2.41 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Data & Services — 2.7 MB (baseline 2.7 MB) • 🔴 +894 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-At8UvBqy.js (new) 2 MB 🔴 +2 MB 🔴 +424 kB 🔴 +323 kB
assets/dialogService-BqEpLZI3.js (removed) 2 MB 🟢 -2 MB 🟢 -423 kB 🟢 -323 kB
assets/api-BaNClX2v.js (new) 673 kB 🔴 +673 kB 🔴 +149 kB 🔴 +118 kB
assets/api-MbxNqUzV.js (removed) 673 kB 🟢 -673 kB 🟢 -148 kB 🟢 -118 kB
assets/releaseStore-DQBCBIvi.js (removed) 8.91 kB 🟢 -8.91 kB 🟢 -2.41 kB 🟢 -2.12 kB
assets/releaseStore-Ds8iDzT_.js (new) 8.91 kB 🔴 +8.91 kB 🔴 +2.4 kB 🔴 +2.12 kB
assets/keybindingService-0ZKSJNqF.js (removed) 6.78 kB 🟢 -6.78 kB 🟢 -1.74 kB 🟢 -1.51 kB
assets/keybindingService-BKA5L203.js (new) 6.78 kB 🔴 +6.78 kB 🔴 +1.74 kB 🔴 +1.52 kB
assets/bootstrapStore-AZbjjxjT.js (new) 2.69 kB 🔴 +2.69 kB 🔴 +1.03 kB 🔴 +967 B
assets/bootstrapStore-BRBidfdl.js (removed) 2.69 kB 🟢 -2.69 kB 🟢 -1.03 kB 🟢 -939 B
assets/userStore-BtPeX4vK.js (new) 2.16 kB 🔴 +2.16 kB 🔴 +810 B 🔴 +723 B
assets/userStore-DWdSspf4.js (removed) 2.16 kB 🟢 -2.16 kB 🟢 -811 B 🟢 -724 B
assets/audioService-BwwDz_pM.js (removed) 2.03 kB 🟢 -2.03 kB 🟢 -931 B 🟢 -816 B
assets/audioService-jWXRrkDB.js (new) 2.03 kB 🔴 +2.03 kB 🔴 +930 B 🔴 +809 B
assets/releaseStore-D2JOE_Au.js (removed) 140 B 🟢 -140 B 🟢 -106 B 🟢 -112 B
assets/releaseStore-oQPsSnIA.js (new) 140 B 🔴 +140 B 🔴 +106 B 🔴 +108 B
assets/serverConfigStore-DOoqLe5c.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-CnuCW2RD.js (new) 5.21 kB 🔴 +5.21 kB 🔴 +1.53 kB 🔴 +1.34 kB
assets/useErrorHandling-gfw7TixX.js (removed) 5.21 kB 🟢 -5.21 kB 🟢 -1.54 kB 🟢 -1.34 kB
assets/useWorkspaceUI-C3BnCP-b.js (removed) 3.42 kB 🟢 -3.42 kB 🟢 -977 B 🟢 -835 B
assets/useWorkspaceUI-Cr9BnWC8.js (new) 3.42 kB 🔴 +3.42 kB 🔴 +975 B 🔴 +840 B
assets/useSubscriptionActions-CrztT2ta.js (removed) 2.22 kB 🟢 -2.22 kB 🟢 -871 B 🟢 -761 B
assets/useSubscriptionActions-DLV8wkSk.js (new) 2.22 kB 🔴 +2.22 kB 🔴 +868 B 🔴 +762 B
assets/subscriptionCheckoutUtil-eO6D0jKo.js (removed) 2.03 kB 🟢 -2.03 kB 🟢 -876 B 🟢 -766 B
assets/subscriptionCheckoutUtil-g1HpiDtW.js (new) 2.03 kB 🔴 +2.03 kB 🔴 +871 B 🔴 +766 B
assets/useSubscriptionCredits-B65uvBjB.js (removed) 1.39 kB 🟢 -1.39 kB 🟢 -602 B 🟢 -533 B
assets/useSubscriptionCredits-Cg-Cboih.js (new) 1.39 kB 🔴 +1.39 kB 🔴 +598 B 🔴 +529 B
assets/audioUtils-DcPs_n5N.js (removed) 970 B 🟢 -970 B 🟢 -546 B 🟢 -458 B
assets/audioUtils-e6fq3TtO.js (new) 970 B 🔴 +970 B 🔴 +548 B 🔴 +459 B
assets/useCurrentUser-COA4OPtF.js (new) 145 B 🔴 +145 B 🔴 +114 B 🔴 +102 B
assets/useCurrentUser-CTJdjq1s.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-GMAsfHxw.js 7.2 kB 7.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-ivqHoiOs.js 1.78 kB 1.78 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/tailwindUtil-CJjrIEVR.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-jpGqhHNG.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.05 MB (baseline 7.05 MB) • 🟢 -178 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/i18n-CU81Mahr.js (new) 496 kB 🔴 +496 kB 🔴 +96 kB 🔴 +71.5 kB
assets/i18n-CK7Ku3qD.js (removed) 496 kB 🟢 -496 kB 🟢 -96 kB 🟢 -71.5 kB
assets/core-CBgIxqqF.js (removed) 180 kB 🟢 -180 kB 🟢 -43.4 kB 🟢 -36.2 kB
assets/core-NyA2c_ks.js (new) 180 kB 🔴 +180 kB 🔴 +43.3 kB 🔴 +36.2 kB
assets/WidgetSelect-B_Zi8fqL.js (removed) 51 kB 🟢 -51 kB 🟢 -11.3 kB 🟢 -9.8 kB
assets/WidgetSelect-Dg5VpF5b.js (new) 51 kB 🔴 +51 kB 🔴 +11.3 kB 🔴 +9.81 kB
assets/Load3DControls-DK-Rf6bW.js (removed) 35.9 kB 🟢 -35.9 kB 🟢 -5.87 kB 🟢 -5.08 kB
assets/Load3DControls-yxhNu-wK.js (new) 35.9 kB 🔴 +35.9 kB 🔴 +5.87 kB 🔴 +5.07 kB
assets/SubscriptionRequiredDialogContent-B7iieIBF.js (removed) 28.7 kB 🟢 -28.7 kB 🟢 -6.79 kB 🟢 -5.93 kB
assets/SubscriptionRequiredDialogContent-CB0a4SjY.js (new) 28.7 kB 🔴 +28.7 kB 🔴 +6.79 kB 🔴 +5.92 kB
assets/CurrentUserPopoverWorkspace-CjZPqUER.js (new) 22.2 kB 🔴 +22.2 kB 🔴 +4.99 kB 🔴 +4.42 kB
assets/CurrentUserPopoverWorkspace-Etva98CV.js (removed) 22.2 kB 🟢 -22.2 kB 🟢 -4.99 kB 🟢 -4.42 kB
assets/Load3D-BXKTX5Vv.js (removed) 19.2 kB 🟢 -19.2 kB 🟢 -4.37 kB 🟢 -3.85 kB
assets/Load3D-DhknoMN9.js (new) 19.2 kB 🔴 +19.2 kB 🔴 +4.37 kB 🔴 +3.84 kB
assets/WidgetRecordAudio-Bz-Lg2vN.js (removed) 18.3 kB 🟢 -18.3 kB 🟢 -4.97 kB 🟢 -4.43 kB
assets/WidgetRecordAudio-C0BiaUFt.js (new) 18.3 kB 🔴 +18.3 kB 🔴 +4.97 kB 🔴 +4.43 kB
assets/WidgetInputNumber-CyUZZKfe.js (removed) 18.3 kB 🟢 -18.3 kB 🟢 -4.51 kB 🟢 -4.02 kB
assets/WidgetInputNumber-WKYd5GCA.js (new) 18.3 kB 🔴 +18.3 kB 🔴 +4.51 kB 🔴 +4.02 kB
assets/SubscriptionPanelContentWorkspace-D8tXfvdB.js (removed) 18.2 kB 🟢 -18.2 kB 🟢 -4.47 kB 🟢 -3.89 kB
assets/SubscriptionPanelContentWorkspace-DanexZMs.js (new) 18.2 kB 🔴 +18.2 kB 🔴 +4.47 kB 🔴 +3.9 kB
assets/WidgetImageCrop-BKUFGR1G.js (new) 17.1 kB 🔴 +17.1 kB 🔴 +4.14 kB 🔴 +3.63 kB
assets/WidgetImageCrop-BpenO_-T.js (removed) 17.1 kB 🟢 -17.1 kB 🟢 -4.14 kB 🟢 -3.62 kB
assets/PanelTemplate-CopBL-j_.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +5.45 kB 🔴 +4.8 kB
assets/PanelTemplate-DXIBVE1R.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -5.46 kB 🟢 -4.8 kB
assets/AudioPreviewPlayer-CqjbqTSV.js (removed) 10.8 kB 🟢 -10.8 kB 🟢 -2.98 kB 🟢 -2.66 kB
assets/AudioPreviewPlayer-D_PSC7H5.js (new) 10.8 kB 🔴 +10.8 kB 🔴 +2.98 kB 🔴 +2.65 kB
assets/InviteMemberDialogContent-CbsIyWfs.js (new) 8.36 kB 🔴 +8.36 kB 🔴 +2.5 kB 🔴 +2.17 kB
assets/InviteMemberDialogContent-wz-HsNT4.js (removed) 8.36 kB 🟢 -8.36 kB 🟢 -2.51 kB 🟢 -2.17 kB
assets/WidgetWithControl-D9sBloZl.js (new) 8.07 kB 🔴 +8.07 kB 🔴 +2.68 kB 🔴 +2.41 kB
assets/WidgetWithControl-ddqqSyGz.js (removed) 8.07 kB 🟢 -8.07 kB 🟢 -2.68 kB 🟢 -2.41 kB
assets/CreateWorkspaceDialogContent-D8rxldXV.js (new) 5.93 kB 🔴 +5.93 kB 🔴 +1.93 kB 🔴 +1.69 kB
assets/CreateWorkspaceDialogContent-Fbk_Uf-z.js (removed) 5.93 kB 🟢 -5.93 kB 🟢 -1.93 kB 🟢 -1.68 kB
assets/EditWorkspaceDialogContent-Bvo93ihG.js (new) 5.7 kB 🔴 +5.7 kB 🔴 +1.88 kB 🔴 +1.64 kB
assets/EditWorkspaceDialogContent-CCjqRdAR.js (removed) 5.7 kB 🟢 -5.7 kB 🟢 -1.88 kB 🟢 -1.65 kB
assets/ValueControlPopover-Bj4T0G6b.js (removed) 5.17 kB 🟢 -5.17 kB 🟢 -1.69 kB 🟢 -1.5 kB
assets/ValueControlPopover-gwWUxFN2.js (new) 5.17 kB 🔴 +5.17 kB 🔴 +1.69 kB 🔴 +1.5 kB
assets/DeleteWorkspaceDialogContent-BhKAVD5n.js (removed) 4.59 kB 🟢 -4.59 kB 🟢 -1.56 kB 🟢 -1.35 kB
assets/DeleteWorkspaceDialogContent-GvJhJVK8.js (new) 4.59 kB 🔴 +4.59 kB 🔴 +1.56 kB 🔴 +1.35 kB
assets/LeaveWorkspaceDialogContent-BH_Kx8VS.js (removed) 4.41 kB 🟢 -4.41 kB 🟢 -1.51 kB 🟢 -1.3 kB
assets/LeaveWorkspaceDialogContent-DkqMZzIo.js (new) 4.41 kB 🔴 +4.41 kB 🔴 +1.5 kB 🔴 +1.3 kB
assets/RemoveMemberDialogContent-BiL_okV_.js (removed) 4.38 kB 🟢 -4.38 kB 🟢 -1.45 kB 🟢 -1.26 kB
assets/RemoveMemberDialogContent-DYQfqvB1.js (new) 4.38 kB 🔴 +4.38 kB 🔴 +1.46 kB 🔴 +1.26 kB
assets/RevokeInviteDialogContent-DWQh6GTG.js (new) 4.29 kB 🔴 +4.29 kB 🔴 +1.47 kB 🔴 +1.29 kB
assets/RevokeInviteDialogContent-WrXLI53o.js (removed) 4.29 kB 🟢 -4.29 kB 🟢 -1.47 kB 🟢 -1.29 kB
assets/GlobalToast-Cb3LhxVK.js (removed) 3.05 kB 🟢 -3.05 kB 🟢 -1.1 kB 🟢 -940 B
assets/GlobalToast-r6IJajBN.js (new) 3.05 kB 🔴 +3.05 kB 🔴 +1.1 kB 🔴 +940 B
assets/SubscribeToRun-DcnWCA1V.js (new) 2.96 kB 🔴 +2.96 kB 🔴 +1.15 kB 🔴 +1.01 kB
assets/SubscribeToRun-DLVKOLfk.js (removed) 2.96 kB 🟢 -2.96 kB 🟢 -1.16 kB 🟢 -1.01 kB
assets/cloudSessionCookie-BJHM5uq-.js (new) 2.94 kB 🔴 +2.94 kB 🔴 +929 B 🔴 +802 B
assets/cloudSessionCookie-ihDKEJ2T.js (removed) 2.94 kB 🟢 -2.94 kB 🟢 -931 B 🟢 -801 B
assets/BaseViewTemplate-B-dHZ8wW.js (removed) 2.42 kB 🟢 -2.42 kB 🟢 -1.04 kB 🟢 -943 B
assets/BaseViewTemplate-CA8zXXMS.js (new) 2.42 kB 🔴 +2.42 kB 🔴 +1.04 kB 🔴 +943 B
assets/CloudRunButtonWrapper-BVMR-Wrw.js (removed) 1.79 kB 🟢 -1.79 kB 🟢 -646 B 🟢 -562 B
assets/CloudRunButtonWrapper-D3P5DoVy.js (new) 1.79 kB 🔴 +1.79 kB 🔴 +644 B 🔴 +599 B
assets/cloudBadges-4MhO-_KK.js (new) 1.08 kB 🔴 +1.08 kB 🔴 +536 B 🔴 +478 B
assets/cloudBadges-CcEt79h4.js (removed) 1.08 kB 🟢 -1.08 kB 🟢 -539 B 🟢 -478 B
assets/graphHasMissingNodes-BqOaH1qp.js (new) 1.06 kB 🔴 +1.06 kB 🔴 +462 B 🔴 +418 B
assets/graphHasMissingNodes-UWkt7MRU.js (removed) 1.06 kB 🟢 -1.06 kB 🟢 -462 B 🟢 -417 B
assets/cloudSubscription-CQ5adMDE.js (removed) 976 B 🟢 -976 B 🟢 -468 B 🟢 -399 B
assets/cloudSubscription-Dk980iG-.js (new) 976 B 🔴 +976 B 🔴 +465 B 🔴 +399 B
assets/nightlyBadges-BAB8x--M.js (removed) 595 B 🟢 -595 B 🟢 -358 B 🟢 -309 B
assets/nightlyBadges-hTjWhuA-.js (new) 595 B 🔴 +595 B 🔴 +354 B 🔴 +312 B
assets/SubscriptionPanelContentWorkspace-BTxvt2ZS.js (removed) 266 B 🟢 -266 B 🟢 -136 B 🟢 -113 B
assets/SubscriptionPanelContentWorkspace-BzMRGDFY.js (new) 266 B 🔴 +266 B 🔴 +136 B 🔴 +121 B
assets/i18n-BfSNaAqr.js (new) 188 B 🔴 +188 B 🔴 +149 B 🔴 +126 B
assets/i18n-Cqw3TAmd.js (removed) 188 B 🟢 -188 B 🟢 -151 B 🟢 -125 B
assets/WidgetInputNumber-D-_Zca8Z.js (new) 186 B 🔴 +186 B 🔴 +119 B 🔴 +111 B
assets/WidgetInputNumber-D6cZfIZW.js (removed) 186 B 🟢 -186 B 🟢 -119 B 🟢 -118 B
assets/WidgetLegacy-CO-BPsNc.js (removed) 164 B 🟢 -164 B 🟢 -125 B 🟢 -113 B
assets/WidgetLegacy-fdWXuI88.js (new) 164 B 🔴 +164 B 🔴 +125 B 🔴 +107 B
assets/Load3D-CeObelW8.js (removed) 131 B 🟢 -131 B 🟢 -107 B 🟢 -107 B
assets/Load3D-CX71WlF2.js (new) 131 B 🔴 +131 B 🔴 +107 B 🔴 +112 B
assets/auto-DWs2ctGL.js 1.73 kB 1.73 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BEw5ErI4.js 18.5 kB 18.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BGeHkplA.js 17.9 kB 17.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BV0l36Iz.js 17.2 kB 17.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C_Y3D6Cn.js 17.8 kB 17.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C6piRza5.js 19.3 kB 19.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Cf8Zq1td.js 18.8 kB 18.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CiziP3Xs.js 18 kB 18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-D1595tOr.js 19.3 kB 19.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DXauvccL.js 20.6 kB 20.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-P5QCEfZc.js 18 kB 18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-WbYP_D61.js 17 kB 17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/LazyImage-DHwPdKGO.js 14.1 kB 14.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-12Ugs8uH.js 113 kB 113 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-bK51E1AF.js 133 kB 133 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BpNRRXRJ.js 151 kB 151 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-c-Kg1DWL.js 126 kB 126 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C16qe5Pa.js 144 kB 144 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C2P63O3F.js 126 kB 126 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C5b27iBR.js 112 kB 112 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CcswxyNG.js 173 kB 173 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D6eu0Wen.js 128 kB 128 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DbxHumst.js 130 kB 130 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DKTrxQrQ.js 155 kB 155 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-DUmUhXD6.js 2.38 kB 2.38 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-CD66_Mw_.js 2 kB 2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-Bqe7yvm_.js 2.34 kB 2.34 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-De3MzVmp.js 2.82 kB 2.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/mixpanel.module-CC2-PIpB.js 143 B 143 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-B0UaQKt6.js 363 kB 363 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-B68z80AD.js 413 kB 413 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Bg1UEeRw.js 448 kB 448 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CicFSATk.js 339 kB 339 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CinCueZ7.js 373 kB 373 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DgzjkU5p.js 366 kB 366 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DKHHBXVW.js 369 kB 369 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Dn1Haq99.js 342 kB 342 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DxR-7ogK.js 383 kB 383 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-qCfy7PeV.js 412 kB 412 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-xDY-sSQw.js 369 kB 369 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-CmezY7As.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-D4lsf6Ob.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-CiXfBVBH.js 2.79 kB 2.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-BxNqMlFv.js 3.71 kB 3.71 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria-DDD96zwa.js 4.57 kB 4.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-A6pZMGtc.js 3.79 kB 3.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-DSMUKRnt.js 2.58 kB 2.58 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-MDImyvc3.js 2.7 kB 2.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-C95PPn5g.js 3.22 kB 3.22 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-ERx8czR8.js 1.31 kB 1.31 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetTextarea-CV3BoahN.js 3.87 kB 3.87 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-ZdaYkxkD.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

@coderabbitai coderabbitai bot requested a review from Yorha4D January 28, 2026 05:32
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: 2

🤖 Fix all issues with AI agents
In `@src/stores/nodeDefStore.ts`:
- Around line 176-180: The nodeLifeCycleBadgeText getter currently returns a
hardcoded '[DEV]' string; replace that raw string with a localized badge by
importing/using the vue-i18n key g.devOnly and composing the badge (e.g.,
`[\${t('g.devOnly')}]`) inside the nodeLifeCycleBadgeText getter so all
user-facing text uses the i18n entry instead of a literal '[DEV]'.
- Around line 429-435: Replace the hard-coded user-facing strings in the
registerNodeDefFilter call with vue-i18n keys: update the name and description
fields in the filter with i18n lookups (e.g., t('nodes.filters.dev_only.name')
and t('nodes.filters.dev_only.description')) in the same block that defines id:
'core.dev_only' and keep the predicate using showDevOnly.value ||
!nodeDef.dev_only unchanged; then add matching entries under the same keys in
src/locales/en/main.json (nodes.filters.dev_only.name and
nodes.filters.dev_only.description) with the English text previously used.

@DrJKL DrJKL assigned guill and unassigned DrJKL Jan 29, 2026
@guill guill added the preview-cpu Creates a preview ephemeral environment for this PR (CPU only) label Jan 29, 2026
@guill guill merged commit 9be853f into main Jan 29, 2026
33 checks passed
@guill guill deleted the js/dev-nodes branch January 29, 2026 03:41
christian-byrne pushed a commit that referenced this pull request Jan 30, 2026
## Summary

Support `dev_only` property to node definitions that hides nodes from
search and menus unless dev mode is enabled. Dev-only nodes display a
"DEV" badge when visible.

This functionality is primarily intended to support unit-testing nodes
on Comfy Cloud, but also has other uses.

## Changes

- **What**: Nodes flagged as dev_only in the node schema will only
appear in search and menus if Dev Mode is on.

## Screenshots (if applicable)

With Dev Mode off:
<img width="2189" height="1003" alt="image"
src="https://github.com/user-attachments/assets/a08e1fd7-dca9-4ce1-9964-5f4f3b7b95ac"
/>

With Dev Mode on:
<img width="2201" height="1066" alt="image"
src="https://github.com/user-attachments/assets/7fe6cd1f-f774-4f48-b604-a528e286b584"
/>

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8359-feat-support-dev-only-nodes-2f66d73d36508102839ee7cd66a26129)
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

preview-cpu Creates a preview ephemeral environment for this PR (CPU only) size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants