Skip to content

fix: clear draft on workflow close to prevent stale state on reopen#8854

Merged
pythongosssss merged 1 commit intomainfrom
fix/persist-draft-fix
Feb 14, 2026
Merged

fix: clear draft on workflow close to prevent stale state on reopen#8854
pythongosssss merged 1 commit intomainfrom
fix/persist-draft-fix

Conversation

@christian-byrne
Copy link
Contributor

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

Summary

Clear the workflow draft from localStorage when any workflow tab is closed, preventing stale cached state from being served when the workflow is re-opened.

Changes

  • What: closeWorkflow() in workflowStore.ts now calls removeDraft() for all workflows, not just temporary ones. closeWorkflow() in workflowService.ts removes the draft before switching tabs, preventing beforeLoadNewGraph() from re-saving it.

Review Focus

  • Draft is removed before the tab switch in workflowService.closeWorkflow() to prevent beforeLoadNewGraph() from re-saving it during the switch
  • Crash recovery is preserved: drafts are only cleared on explicit close, not on unload/crash
  • Tab restore on restart is unaffected: drafts for intentionally-open tabs are saved on graph change events, not on close

Fixes #8778
Fixes Comfy-Org/ComfyUI#12323

┆Issue is synchronized with this Notion page by Unito

closeWorkflow() only called removeDraft() for temporary workflows.
Persisted workflows called unload() but left the draft in localStorage,
so re-opening the workflow would overlay the stale draft onto the clean
disk copy.

Additionally, the close flow switches to the next tab before removing
the closing workflow, which triggers beforeLoadNewGraph() and re-saves
the dirty draft. Remove the draft before the tab switch to prevent this.

Amp-Thread-ID: https://ampcode.com/threads/T-019c58b5-679f-75cf-a8b1-d6f57599264f
@christian-byrne christian-byrne requested a review from a team as a code owner February 13, 2026 21:48
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Feb 13, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 13, 2026

📝 Walkthrough

Walkthrough

The changes ensure consistent draft cleanup when closing workflows by making draft store removal unconditional for all workflow closures. Draft removal now occurs before the temporary workflow check, with tests added to verify behavior for both persisted and temporary workflows.

Changes

Cohort / File(s) Summary
Draft Cleanup on Closure
src/platform/workflow/core/services/workflowService.ts, src/platform/workflow/management/stores/workflowStore.ts
Restructured draft removal logic to execute unconditionally when closing any workflow. Previously, draft removal occurred only for temporary workflows; now it applies universally while preserving temporary-specific thumbnail cleanup behavior.
Draft Cleanup Tests
src/platform/workflow/management/stores/workflowStore.test.ts
Added new test suite validating draft removal on workflow closure, with separate tests confirming draft cleanup for persisted and temporary workflows.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A draft once lingered when workflows closed,
Now swept away with gentle care imposed,
Each closure clears the stale autosave trace,
Fresh starts await in workflow's embrace! ✨

🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Title check ✅ Passed Title clearly identifies the main change: clearing workflow draft on close to prevent stale state on reopen.
Linked Issues check ✅ Passed Changes address root causes: #8778 (autosave bug with unsaved changes persisting) and #12323 (auto-save persisting despite being disabled) by removing drafts on close.
Out of Scope Changes check ✅ Passed All changes are in-scope: modifications to workflowStore and workflowService closeWorkflow methods directly address the linked issues, plus corresponding test additions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main
Description check ✅ Passed The pull request description comprehensively covers all required template sections with clear explanations of changes, design decisions, and issue references.

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

✨ 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/persist-draft-fix

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

@github-actions
Copy link

github-actions bot commented Feb 13, 2026

Playwright: ✅ 516 passed, 0 failed · 5 flaky

📊 Browser Reports
  • chromium: View Report (✅ 504 / ❌ 0 / ⚠️ 5 / ⏭️ 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 13, 2026

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 02/13/2026, 09:50:20 PM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@github-actions
Copy link

Bundle Size Report

Summary

  • Raw size: 19.8 MB baseline 19.8 MB — 🔴 +48 B
  • Gzip: 4.24 MB baseline 4.24 MB — 🟢 -60 B
  • Brotli: 3.29 MB baseline 3.29 MB — 🟢 -30 B
  • Bundles: 230 current • 230 baseline • 108 added / 108 removed

Category Glance
Data & Services 🔴 +48 B (2.15 MB) · Vendor & Third-Party ⚪ 0 B (8.69 MB) · Other ⚪ 0 B (7.31 MB) · Graph Workspace ⚪ 0 B (879 kB) · Panels & Settings ⚪ 0 B (427 kB) · Utilities & Hooks ⚪ 0 B (237 kB) · + 5 more

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

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-CIUbFuMi.js (removed) 21.7 kB 🟢 -21.7 kB 🟢 -7.02 kB 🟢 -6.1 kB
assets/index-CQoooNbR.js (new) 21.7 kB 🔴 +21.7 kB 🔴 +7.01 kB 🔴 +6.12 kB

Status: 1 added / 1 removed

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

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-_CQl-cZs.js (new) 879 kB 🔴 +879 kB 🔴 +189 kB 🔴 +144 kB
assets/GraphView-C0TbIBLi.js (removed) 879 kB 🟢 -879 kB 🟢 -190 kB 🟢 -144 kB

Status: 1 added / 1 removed

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

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-BQLnxgnA.js (removed) 15.4 kB 🟢 -15.4 kB 🟢 -3.3 kB 🟢 -2.8 kB
assets/CloudSurveyView-CkYX4GL0.js (new) 15.4 kB 🔴 +15.4 kB 🔴 +3.31 kB 🔴 +2.8 kB
assets/CloudLoginView-BDgEQmti.js (new) 10.1 kB 🔴 +10.1 kB 🔴 +2.95 kB 🔴 +2.58 kB
assets/CloudLoginView-DjqdH8Fs.js (removed) 10.1 kB 🟢 -10.1 kB 🟢 -2.95 kB 🟢 -2.59 kB
assets/UserCheckView-DxLbb7hm.js (new) 8.38 kB 🔴 +8.38 kB 🔴 +2.21 kB 🔴 +1.92 kB
assets/UserCheckView-Dy-Lnw1V.js (removed) 8.38 kB 🟢 -8.38 kB 🟢 -2.21 kB 🟢 -1.92 kB
assets/CloudSignupView--QPUV43q.js (new) 7.46 kB 🔴 +7.46 kB 🔴 +2.34 kB 🔴 +2.06 kB
assets/CloudSignupView-B3RP7dhq.js (removed) 7.46 kB 🟢 -7.46 kB 🟢 -2.34 kB 🟢 -2.05 kB
assets/CloudLayoutView-CO9cZBFH.js (new) 6.48 kB 🔴 +6.48 kB 🔴 +2.12 kB 🔴 +1.86 kB
assets/CloudLayoutView-CXFRdB8s.js (removed) 6.48 kB 🟢 -6.48 kB 🟢 -2.12 kB 🟢 -1.86 kB
assets/CloudForgotPasswordView-Ba4VghIJ.js (new) 5.61 kB 🔴 +5.61 kB 🔴 +1.96 kB 🔴 +1.73 kB
assets/CloudForgotPasswordView-BjwTO_wF.js (removed) 5.61 kB 🟢 -5.61 kB 🟢 -1.96 kB 🟢 -1.73 kB
assets/CloudAuthTimeoutView-DsoI_DKw.js (removed) 4.96 kB 🟢 -4.96 kB 🟢 -1.79 kB 🟢 -1.57 kB
assets/CloudAuthTimeoutView-N-arjtLl.js (new) 4.96 kB 🔴 +4.96 kB 🔴 +1.79 kB 🔴 +1.57 kB
assets/CloudSubscriptionRedirectView-D4vy4eo0.js (removed) 4.76 kB 🟢 -4.76 kB 🟢 -1.8 kB 🟢 -1.59 kB
assets/CloudSubscriptionRedirectView-v1dsTcPJ.js (new) 4.76 kB 🔴 +4.76 kB 🔴 +1.8 kB 🔴 +1.59 kB
assets/UserSelectView-BdYaNhr-.js (removed) 4.46 kB 🟢 -4.46 kB 🟢 -1.62 kB 🟢 -1.46 kB
assets/UserSelectView-CnSbHqgx.js (new) 4.46 kB 🔴 +4.46 kB 🔴 +1.63 kB 🔴 +1.46 kB
assets/CloudSorryContactSupportView-CnbSE1aL.js 1.02 kB 1.02 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-BN-ntRG8.js 296 B 296 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

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

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/SecretsPanel-CkuFgF-z.js (new) 21.5 kB 🔴 +21.5 kB 🔴 +5.29 kB 🔴 +4.63 kB
assets/SecretsPanel-HOuC41q5.js (removed) 21.5 kB 🟢 -21.5 kB 🟢 -5.29 kB 🟢 -4.63 kB
assets/LegacyCreditsPanel-B3m_Ibet.js (removed) 20.7 kB 🟢 -20.7 kB 🟢 -5.59 kB 🟢 -4.92 kB
assets/LegacyCreditsPanel-DPHtPQRQ.js (new) 20.7 kB 🔴 +20.7 kB 🔴 +5.58 kB 🔴 +4.91 kB
assets/SubscriptionPanel-BGPrGwLL.js (new) 18.7 kB 🔴 +18.7 kB 🔴 +4.73 kB 🔴 +4.18 kB
assets/SubscriptionPanel-CGoxJ9fb.js (removed) 18.7 kB 🟢 -18.7 kB 🟢 -4.73 kB 🟢 -4.18 kB
assets/KeybindingPanel-1zXXBYvI.js (new) 12.4 kB 🔴 +12.4 kB 🔴 +3.6 kB 🔴 +3.19 kB
assets/KeybindingPanel-bzfNKBFR.js (removed) 12.4 kB 🟢 -12.4 kB 🟢 -3.6 kB 🟢 -3.18 kB
assets/ExtensionPanel-CsSJDzW6.js (new) 9.43 kB 🔴 +9.43 kB 🔴 +2.67 kB 🔴 +2.37 kB
assets/ExtensionPanel-DsJc4Vji.js (removed) 9.43 kB 🟢 -9.43 kB 🟢 -2.67 kB 🟢 -2.37 kB
assets/AboutPanel-5AepdhOm.js (new) 8.49 kB 🔴 +8.49 kB 🔴 +2.42 kB 🔴 +2.17 kB
assets/AboutPanel-CtFfOTQg.js (removed) 8.49 kB 🟢 -8.49 kB 🟢 -2.43 kB 🟢 -2.18 kB
assets/ServerConfigPanel-BwMvb0bg.js (removed) 6.5 kB 🟢 -6.5 kB 🟢 -2.13 kB 🟢 -1.91 kB
assets/ServerConfigPanel-DKDi35hu.js (new) 6.5 kB 🔴 +6.5 kB 🔴 +2.13 kB 🔴 +1.9 kB
assets/UserPanel-DAjkPOB1.js (removed) 6.21 kB 🟢 -6.21 kB 🟢 -2.02 kB 🟢 -1.76 kB
assets/UserPanel-DKY_5tM4.js (new) 6.21 kB 🔴 +6.21 kB 🔴 +2.02 kB 🔴 +1.76 kB
assets/cloudRemoteConfig-w1We4EC5.js (removed) 1.49 kB 🟢 -1.49 kB 🟢 -731 B 🟢 -634 B
assets/cloudRemoteConfig-yTJ0ONV8.js (new) 1.49 kB 🔴 +1.49 kB 🔴 +733 B 🔴 +633 B
assets/refreshRemoteConfig-DHeUrsuN.js (removed) 1.14 kB 🟢 -1.14 kB 🟢 -521 B 🟢 -473 B
assets/refreshRemoteConfig-xjivEOTY.js (new) 1.14 kB 🔴 +1.14 kB 🔴 +521 B 🔴 +470 B
assets/config-CepyQFhC.js 996 B 996 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-8z66fa9o.js 29.2 kB 29.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-B_EruZyQ.js 27.1 kB 27.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BPuOKZZg.js 23.9 kB 23.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-C5NycgSh.js 31.6 kB 31.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CF6cmuWq.js 37.6 kB 37.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CMSM0-YP.js 28.1 kB 28.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Djbh331J.js 29.8 kB 29.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-emoCO0AT.js 27.3 kB 27.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-H0rWARzj.js 23.3 kB 23.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-HiOqkizv.js 28 kB 28 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-ohqijv3i.js 33.3 kB 33.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 10 added / 10 removed

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

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-Bl-s3DjX.js (removed) 3.4 kB 🟢 -3.4 kB 🟢 -1.18 kB 🟢 -987 B
assets/auth-DUhr4fTB.js (new) 3.4 kB 🔴 +3.4 kB 🔴 +1.18 kB 🔴 +992 B
assets/SignUpForm-BGec5bq6.js (new) 3.01 kB 🔴 +3.01 kB 🔴 +1.23 kB 🔴 +1.1 kB
assets/SignUpForm-pUVAN8Mo.js (removed) 3.01 kB 🟢 -3.01 kB 🟢 -1.23 kB 🟢 -1.1 kB
assets/UpdatePasswordContent-DB1G_9b2.js (removed) 2.42 kB 🟢 -2.42 kB 🟢 -1.09 kB 🟢 -963 B
assets/UpdatePasswordContent-DqijKK6f.js (new) 2.42 kB 🔴 +2.42 kB 🔴 +1.09 kB 🔴 +962 B
assets/firebaseAuthStore-Bb4zOw5w.js (new) 837 B 🔴 +837 B 🔴 +413 B 🔴 +369 B
assets/firebaseAuthStore-fAcfsII_.js (removed) 837 B 🟢 -837 B 🟢 -413 B 🟢 -371 B
assets/auth-DfquhbnN.js (new) 317 B 🔴 +317 B 🔴 +206 B 🔴 +178 B
assets/auth-DvzRML7k.js (removed) 317 B 🟢 -317 B 🟢 -207 B 🟢 -177 B
assets/PasswordFields-CdUdjtQy.js 4.51 kB 4.51 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WorkspaceProfilePic-BQO-2kig.js 1.57 kB 1.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

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

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-BDavp13-.js (new) 785 B 🔴 +785 B 🔴 +400 B 🔴 +344 B
assets/useSubscriptionDialog-CGyT0imc.js (removed) 785 B 🟢 -785 B 🟢 -400 B 🟢 -349 B

Status: 1 added / 1 removed

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

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useTerminalTabs-BKEqTWbV.js (new) 9.89 kB 🔴 +9.89 kB 🔴 +3.42 kB 🔴 +3.02 kB
assets/useTerminalTabs-Pmssb4Vy.js (removed) 9.89 kB 🟢 -9.89 kB 🟢 -3.42 kB 🟢 -3.03 kB
assets/ComfyQueueButton-D2HJ9-jt.js (removed) 7.17 kB 🟢 -7.17 kB 🟢 -2.31 kB 🟢 -2.07 kB
assets/ComfyQueueButton-DkuVWpjw.js (new) 7.17 kB 🔴 +7.17 kB 🔴 +2.32 kB 🔴 +2.07 kB
assets/SubscribeButton-BGXgljI5.js (removed) 2.35 kB 🟢 -2.35 kB 🟢 -1.02 kB 🟢 -888 B
assets/SubscribeButton-BNDFGkZX.js (new) 2.35 kB 🔴 +2.35 kB 🔴 +1.02 kB 🔴 +888 B
assets/cloudFeedbackTopbarButton-BDkaTYuz.js (removed) 1.64 kB 🟢 -1.64 kB 🟢 -880 B 🟢 -783 B
assets/cloudFeedbackTopbarButton-T4irYFCY.js (new) 1.64 kB 🔴 +1.64 kB 🔴 +877 B 🔴 +780 B
assets/ComfyQueueButton-BmXHre_J.js (new) 842 B 🔴 +842 B 🔴 +413 B 🔴 +369 B
assets/ComfyQueueButton-D6jmfMiO.js (removed) 842 B 🟢 -842 B 🟢 -413 B 🟢 -372 B
assets/Button-BlbRDbqy.js 2.98 kB 2.98 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/CloudBadge-hxJOdoys.js 1.24 kB 1.24 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/TopbarBadge-Ds7IqP5Z.js 7.45 kB 7.45 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar-DrH_EiZZ.js 1.17 kB 1.17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetButton-DgRwIURU.js 1.84 kB 1.84 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Data & Services — 2.15 MB (baseline 2.15 MB) • 🔴 +48 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-D6Et0EzL.js (new) 1.38 MB 🔴 +1.38 MB 🔴 +310 kB 🔴 +239 kB
assets/dialogService-BpShz27f.js (removed) 1.38 MB 🟢 -1.38 MB 🟢 -310 kB 🟢 -239 kB
assets/api-D4ug2gvq.js (new) 646 kB 🔴 +646 kB 🔴 +146 kB 🔴 +117 kB
assets/api-D5F6k4YK.js (removed) 646 kB 🟢 -646 kB 🟢 -146 kB 🟢 -116 kB
assets/load3dService-C9eUrNTJ.js (removed) 91 kB 🟢 -91 kB 🟢 -19.1 kB 🟢 -16.4 kB
assets/load3dService-tpleQWi2.js (new) 91 kB 🔴 +91 kB 🔴 +19.1 kB 🔴 +16.4 kB
assets/systemStatsStore-CouV4Wmo.js (removed) 12.2 kB 🟢 -12.2 kB 🟢 -4.27 kB 🟢 -3.74 kB
assets/systemStatsStore-DkFmouvY.js (new) 12.2 kB 🔴 +12.2 kB 🔴 +4.27 kB 🔴 +3.74 kB
assets/releaseStore-DbEoTWNJ.js (new) 7.96 kB 🔴 +7.96 kB 🔴 +2.22 kB 🔴 +1.95 kB
assets/releaseStore-DMYy8IO4.js (removed) 7.96 kB 🟢 -7.96 kB 🟢 -2.22 kB 🟢 -1.95 kB
assets/keybindingService-BhZBvNmB.js (new) 6.57 kB 🔴 +6.57 kB 🔴 +1.72 kB 🔴 +1.49 kB
assets/keybindingService-DBGt76jx.js (removed) 6.57 kB 🟢 -6.57 kB 🟢 -1.73 kB 🟢 -1.49 kB
assets/bootstrapStore-BgqWPNBy.js (removed) 2.08 kB 🟢 -2.08 kB 🟢 -877 B 🟢 -797 B
assets/bootstrapStore-Cn7sCg0l.js (new) 2.08 kB 🔴 +2.08 kB 🔴 +874 B 🔴 +792 B
assets/userStore-CY_QeKQb.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -721 B 🟢 -676 B
assets/userStore-t0Bd70Fd.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +720 B 🔴 +672 B
assets/audioService-CfLBMsoY.js (new) 1.73 kB 🔴 +1.73 kB 🔴 +848 B 🔴 +722 B
assets/audioService-DGAbTFXk.js (removed) 1.73 kB 🟢 -1.73 kB 🟢 -851 B 🟢 -727 B
assets/releaseStore-BV-E8rL6.js (removed) 809 B 🟢 -809 B 🟢 -405 B 🟢 -360 B
assets/releaseStore-DyMiArxx.js (new) 809 B 🔴 +809 B 🔴 +404 B 🔴 +354 B
assets/workflowDraftStore-CSOGPaqL.js (new) 785 B 🔴 +785 B 🔴 +400 B 🔴 +349 B
assets/workflowDraftStore-DxmsAztS.js (removed) 785 B 🟢 -785 B 🟢 -400 B 🟢 -352 B
assets/dialogService-C9vl7QjL.js (removed) 774 B 🟢 -774 B 🟢 -392 B 🟢 -348 B
assets/dialogService-ZOyWCtGb.js (new) 774 B 🔴 +774 B 🔴 +392 B 🔴 +348 B
assets/dialogStore-D5Kfd1UD.js 4.1 kB 4.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/serverConfigStore-CRmy-NJp.js 2.32 kB 2.32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 12 added / 12 removed

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

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useConflictDetection-CxHht2zA.js (removed) 178 kB 🟢 -178 kB 🟢 -39.4 kB 🟢 -32.8 kB
assets/useConflictDetection-DedYjTGB.js (new) 178 kB 🔴 +178 kB 🔴 +39.4 kB 🔴 +32.8 kB
assets/useLoad3d-DEpzJg1c.js (new) 14.6 kB 🔴 +14.6 kB 🔴 +3.63 kB 🔴 +3.21 kB
assets/useLoad3d-DIkBMTS9.js (removed) 14.6 kB 🟢 -14.6 kB 🟢 -3.63 kB 🟢 -3.21 kB
assets/useLoad3dViewer-C84S4PI-.js (removed) 14.1 kB 🟢 -14.1 kB 🟢 -3.15 kB 🟢 -2.8 kB
assets/useLoad3dViewer-CFFfpir1.js (new) 14.1 kB 🔴 +14.1 kB 🔴 +3.15 kB 🔴 +2.8 kB
assets/useFeatureFlags-DXot02Qi.js (removed) 3.32 kB 🟢 -3.32 kB 🟢 -1.04 kB 🟢 -903 B
assets/useFeatureFlags-pvV_3_QF.js (new) 3.32 kB 🔴 +3.32 kB 🔴 +1.04 kB 🔴 +900 B
assets/useWorkspaceUI-Br68c6Ap.js (new) 3 kB 🔴 +3 kB 🔴 +823 B 🔴 +704 B
assets/useWorkspaceUI-DpI_U9Un.js (removed) 3 kB 🟢 -3 kB 🟢 -823 B 🟢 -700 B
assets/useSubscriptionCredits-DoV9aWEK.js (new) 2.75 kB 🔴 +2.75 kB 🔴 +1.04 kB 🔴 +899 B
assets/useSubscriptionCredits-DYpjANel.js (removed) 2.75 kB 🟢 -2.75 kB 🟢 -1.04 kB 🟢 -895 B
assets/subscriptionCheckoutUtil-3C6oTes6.js (removed) 2.53 kB 🟢 -2.53 kB 🟢 -1.06 kB 🟢 -957 B
assets/subscriptionCheckoutUtil-DJVI-UaE.js (new) 2.53 kB 🔴 +2.53 kB 🔴 +1.06 kB 🔴 +960 B
assets/useErrorHandling-BC4-C6Ym.js (removed) 1.34 kB 🟢 -1.34 kB 🟢 -557 B 🟢 -477 B
assets/useErrorHandling-CR4oLyNa.js (new) 1.34 kB 🔴 +1.34 kB 🔴 +555 B 🔴 +502 B
assets/useWorkspaceSwitch-BMMIU8td.js (removed) 1.25 kB 🟢 -1.25 kB 🟢 -543 B 🟢 -478 B
assets/useWorkspaceSwitch-vTtPBm10.js (new) 1.25 kB 🔴 +1.25 kB 🔴 +545 B 🔴 +486 B
assets/useLoad3d-B8fsK8C0.js (removed) 908 B 🟢 -908 B 🟢 -444 B 🟢 -402 B
assets/useLoad3d-sw1sSXEu.js (new) 908 B 🔴 +908 B 🔴 +443 B 🔴 +400 B
assets/useLoad3dViewer-CD0Xn20z.js (new) 887 B 🔴 +887 B 🔴 +428 B 🔴 +387 B
assets/useLoad3dViewer-DJtgAWBs.js (removed) 887 B 🟢 -887 B 🟢 -429 B 🟢 -387 B
assets/audioUtils-B3wyyfQ7.js (new) 858 B 🔴 +858 B 🔴 +501 B 🔴 +406 B
assets/audioUtils-B9qJOdJA.js (removed) 858 B 🟢 -858 B 🟢 -502 B 🟢 -404 B
assets/useCurrentUser-BzcmJ8oP.js (new) 771 B 🔴 +771 B 🔴 +395 B 🔴 +347 B
assets/useCurrentUser-C1f-tiMo.js (removed) 771 B 🟢 -771 B 🟢 -395 B 🟢 -351 B
assets/_plugin-vue_export-helper-CY4XIWDa.js 315 B 315 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/colorUtil-BiqWg6CN.js 7 kB 7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/envUtil-BHmbpOtd.js 466 B 466 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-DKmelI5u.js 1.56 kB 1.56 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SkeletonUtils-BputJAFn.js 133 B 133 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/useCopyToClipboard-BhDxwZZO.js 1.57 kB 1.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/useExternalLink-Co8VibVW.js 1.66 kB 1.66 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 13 added / 13 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-BxkFiWzp.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-BxsQv-KC.js 131 kB 131 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-markdown-uorjc_FY.js 102 kB 102 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-CON5ZIHM.js 1.52 MB 1.52 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-Bd8j9uVq.js 1.73 MB 1.73 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-B82zTENX.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-LBLOE6BD.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-Yc0APIKH.js 374 kB 374 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-yjs-CBmk8HiD.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.31 MB (baseline 7.31 MB) • ⚪ 0 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-C0v3QKgE.js (new) 72.4 kB 🔴 +72.4 kB 🔴 +18.6 kB 🔴 +16 kB
assets/core-Cq7pTcNe.js (removed) 72.4 kB 🟢 -72.4 kB 🟢 -18.6 kB 🟢 -16 kB
assets/groupNode-6l8ZJAFg.js (new) 72.1 kB 🔴 +72.1 kB 🔴 +17.7 kB 🔴 +15.6 kB
assets/groupNode-Bc8JA14r.js (removed) 72.1 kB 🟢 -72.1 kB 🟢 -17.7 kB 🟢 -15.6 kB
assets/WidgetSelect-DXgHPWT8.js (removed) 57.5 kB 🟢 -57.5 kB 🟢 -12.2 kB 🟢 -10.6 kB
assets/WidgetSelect-o0YGMonJ.js (new) 57.5 kB 🔴 +57.5 kB 🔴 +12.2 kB 🔴 +10.5 kB
assets/SubscriptionRequiredDialogContentWorkspace-Dd88ocZ2.js (new) 45.9 kB 🔴 +45.9 kB 🔴 +8.59 kB 🔴 +7.42 kB
assets/SubscriptionRequiredDialogContentWorkspace-XDijlUzP.js (removed) 45.9 kB 🟢 -45.9 kB 🟢 -8.59 kB 🟢 -7.44 kB
assets/Load3DControls-C-tMRw2F.js (new) 30.9 kB 🔴 +30.9 kB 🔴 +5.34 kB 🔴 +4.65 kB
assets/Load3DControls-DggSN2QA.js (removed) 30.9 kB 🟢 -30.9 kB 🟢 -5.34 kB 🟢 -4.64 kB
assets/WorkspacePanelContent-CgBPIG5G.js (removed) 29.3 kB 🟢 -29.3 kB 🟢 -6.13 kB 🟢 -5.39 kB
assets/WorkspacePanelContent-CuSlIL1Q.js (new) 29.3 kB 🔴 +29.3 kB 🔴 +6.13 kB 🔴 +5.39 kB
assets/SubscriptionRequiredDialogContent-C0rpiO4p.js (removed) 26.2 kB 🟢 -26.2 kB 🟢 -6.59 kB 🟢 -5.8 kB
assets/SubscriptionRequiredDialogContent-C5DPHFk7.js (new) 26.2 kB 🔴 +26.2 kB 🔴 +6.59 kB 🔴 +5.79 kB
assets/Load3dViewerContent-CQpIPhj7.js (new) 23.1 kB 🔴 +23.1 kB 🔴 +5.19 kB 🔴 +4.5 kB
assets/Load3dViewerContent-CTsYuX0R.js (removed) 23.1 kB 🟢 -23.1 kB 🟢 -5.19 kB 🟢 -4.5 kB
assets/WidgetImageCrop-BGA5X_z_.js (new) 22.4 kB 🔴 +22.4 kB 🔴 +5.54 kB 🔴 +4.88 kB
assets/WidgetImageCrop-BUp5on1w.js (removed) 22.4 kB 🟢 -22.4 kB 🟢 -5.53 kB 🟢 -4.87 kB
assets/SubscriptionPanelContentWorkspace-BWb1My7H.js (new) 21.6 kB 🔴 +21.6 kB 🔴 +5.02 kB 🔴 +4.43 kB
assets/SubscriptionPanelContentWorkspace-DTEMBMpK.js (removed) 21.6 kB 🟢 -21.6 kB 🟢 -5.02 kB 🟢 -4.43 kB
assets/CurrentUserPopoverWorkspace-DTF44cSp.js (new) 19.9 kB 🔴 +19.9 kB 🔴 +4.88 kB 🔴 +4.36 kB
assets/CurrentUserPopoverWorkspace-F6Hyz7a1.js (removed) 19.9 kB 🟢 -19.9 kB 🟢 -4.88 kB 🟢 -4.35 kB
assets/SignInContent-DDjKjWvd.js (new) 19 kB 🔴 +19 kB 🔴 +4.81 kB 🔴 +4.23 kB
assets/SignInContent-FQc4o8h9.js (removed) 19 kB 🟢 -19 kB 🟢 -4.81 kB 🟢 -4.22 kB
assets/WidgetRecordAudio-Bo-wWNgy.js (new) 17.4 kB 🔴 +17.4 kB 🔴 +4.96 kB 🔴 +4.43 kB
assets/WidgetRecordAudio-Bxc_BkIE.js (removed) 17.4 kB 🟢 -17.4 kB 🟢 -4.97 kB 🟢 -4.44 kB
assets/MissingModelsWarning-BAGseM8t.js (removed) 17.2 kB 🟢 -17.2 kB 🟢 -4.7 kB 🟢 -4.18 kB
assets/MissingModelsWarning-Bljvx0ZJ.js (new) 17.2 kB 🔴 +17.2 kB 🔴 +4.7 kB 🔴 +4.17 kB
assets/Load3D-CMo8Zghm.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +4.04 kB 🔴 +3.53 kB
assets/Load3D-kNkpTnao.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -4.04 kB 🟢 -3.53 kB
assets/WidgetInputNumber-CE_8bt6x.js (new) 15.8 kB 🔴 +15.8 kB 🔴 +4.26 kB 🔴 +3.8 kB
assets/WidgetInputNumber-DbrZZNyw.js (removed) 15.8 kB 🟢 -15.8 kB 🟢 -4.26 kB 🟢 -3.8 kB
assets/load3d-B9KuLCqf.js (removed) 14.8 kB 🟢 -14.8 kB 🟢 -4.21 kB 🟢 -3.65 kB
assets/load3d-d2ce7sR8.js (new) 14.8 kB 🔴 +14.8 kB 🔴 +4.21 kB 🔴 +3.64 kB
assets/AudioPreviewPlayer-C7UZst2y.js (new) 10.9 kB 🔴 +10.9 kB 🔴 +3.22 kB 🔴 +2.88 kB
assets/AudioPreviewPlayer-CISErolk.js (removed) 10.9 kB 🟢 -10.9 kB 🟢 -3.21 kB 🟢 -2.89 kB
assets/NodeConflictDialogContent-BwDaUAhc.js (removed) 10.5 kB 🟢 -10.5 kB 🟢 -2.37 kB 🟢 -2.07 kB
assets/NodeConflictDialogContent-D3vYWYXC.js (new) 10.5 kB 🔴 +10.5 kB 🔴 +2.37 kB 🔴 +2.08 kB
assets/changeTracker-BLWalX4d.js (new) 9.38 kB 🔴 +9.38 kB 🔴 +2.89 kB 🔴 +2.54 kB
assets/changeTracker-qNCHS2mF.js (removed) 9.38 kB 🟢 -9.38 kB 🟢 -2.9 kB 🟢 -2.55 kB
assets/nodeTemplates-B-i6PG_5.js (new) 9.35 kB 🔴 +9.35 kB 🔴 +3.28 kB 🔴 +2.88 kB
assets/nodeTemplates-Nj-t0JOx.js (removed) 9.35 kB 🟢 -9.35 kB 🟢 -3.28 kB 🟢 -2.88 kB
assets/InviteMemberDialogContent-Bn49pQ4J.js (new) 7.44 kB 🔴 +7.44 kB 🔴 +2.31 kB 🔴 +2.03 kB
assets/InviteMemberDialogContent-CYzHk7X5.js (removed) 7.44 kB 🟢 -7.44 kB 🟢 -2.31 kB 🟢 -2.01 kB
assets/WidgetWithControl-B2Ht-x_o.js (new) 7.08 kB 🔴 +7.08 kB 🔴 +2.64 kB 🔴 +2.37 kB
assets/WidgetWithControl-BFk6i61G.js (removed) 7.08 kB 🟢 -7.08 kB 🟢 -2.65 kB 🟢 -2.36 kB
assets/MissingNodesFooter-B1iSus_A.js (new) 6.75 kB 🔴 +6.75 kB 🔴 +2.3 kB 🔴 +2.05 kB
assets/MissingNodesFooter-DDrM51gf.js (removed) 6.75 kB 🟢 -6.75 kB 🟢 -2.3 kB 🟢 -2.05 kB
assets/Load3DConfiguration-D3Jr8pxa.js (removed) 6.27 kB 🟢 -6.27 kB 🟢 -1.92 kB 🟢 -1.68 kB
assets/Load3DConfiguration-D44iSmTu.js (new) 6.27 kB 🔴 +6.27 kB 🔴 +1.91 kB 🔴 +1.68 kB
assets/MissingNodesContent-DRJ6c1m3.js (removed) 6.18 kB 🟢 -6.18 kB 🟢 -2.1 kB 🟢 -1.86 kB
assets/MissingNodesContent-YY-kHs0n.js (new) 6.18 kB 🔴 +6.18 kB 🔴 +2.1 kB 🔴 +1.87 kB
assets/CreateWorkspaceDialogContent-Bcoi8onE.js (new) 5.58 kB 🔴 +5.58 kB 🔴 +2.01 kB 🔴 +1.75 kB
assets/CreateWorkspaceDialogContent-DJ2arNtc.js (removed) 5.58 kB 🟢 -5.58 kB 🟢 -2.01 kB 🟢 -1.75 kB
assets/EditWorkspaceDialogContent-Crwc60UH.js (removed) 5.38 kB 🟢 -5.38 kB 🟢 -1.96 kB 🟢 -1.72 kB
assets/EditWorkspaceDialogContent-ov5VZQeS.js (new) 5.38 kB 🔴 +5.38 kB 🔴 +1.97 kB 🔴 +1.71 kB
assets/ValueControlPopover-C4o0zofG.js (removed) 4.97 kB 🟢 -4.97 kB 🟢 -1.79 kB 🟢 -1.6 kB
assets/ValueControlPopover-CtnMz6gz.js (new) 4.97 kB 🔴 +4.97 kB 🔴 +1.79 kB 🔴 +1.6 kB
assets/Preview3d-HLdUFTI8.js (new) 4.86 kB 🔴 +4.86 kB 🔴 +1.59 kB 🔴 +1.39 kB
assets/Preview3d-ZODFnGOK.js (removed) 4.86 kB 🟢 -4.86 kB 🟢 -1.59 kB 🟢 -1.39 kB
assets/CancelSubscriptionDialogContent-_gf_9LQl.js (new) 4.85 kB 🔴 +4.85 kB 🔴 +1.8 kB 🔴 +1.58 kB
assets/CancelSubscriptionDialogContent-CuSRMLO6.js (removed) 4.85 kB 🟢 -4.85 kB 🟢 -1.8 kB 🟢 -1.58 kB
assets/DeleteWorkspaceDialogContent-DNmODH1l.js (new) 4.29 kB 🔴 +4.29 kB 🔴 +1.65 kB 🔴 +1.43 kB
assets/DeleteWorkspaceDialogContent-kSw1Odeq.js (removed) 4.29 kB 🟢 -4.29 kB 🟢 -1.65 kB 🟢 -1.44 kB
assets/LeaveWorkspaceDialogContent-2b2WaYMQ.js (new) 4.12 kB 🔴 +4.12 kB 🔴 +1.6 kB 🔴 +1.39 kB
assets/LeaveWorkspaceDialogContent-CsBSDcfm.js (removed) 4.12 kB 🟢 -4.12 kB 🟢 -1.6 kB 🟢 -1.39 kB
assets/RemoveMemberDialogContent-B8Ijb-Rf.js (removed) 4.1 kB 🟢 -4.1 kB 🟢 -1.54 kB 🟢 -1.35 kB
assets/RemoveMemberDialogContent-BT37zuOl.js (new) 4.1 kB 🔴 +4.1 kB 🔴 +1.55 kB 🔴 +1.35 kB
assets/RevokeInviteDialogContent-CBoW5tDH.js (removed) 4.01 kB 🟢 -4.01 kB 🟢 -1.56 kB 🟢 -1.37 kB
assets/RevokeInviteDialogContent-OgmOEaTJ.js (new) 4.01 kB 🔴 +4.01 kB 🔴 +1.56 kB 🔴 +1.37 kB
assets/InviteMemberUpsellDialogContent-DSqDQz_8.js (new) 3.88 kB 🔴 +3.88 kB 🔴 +1.42 kB 🔴 +1.26 kB
assets/InviteMemberUpsellDialogContent-rt3B7do3.js (removed) 3.88 kB 🟢 -3.88 kB 🟢 -1.42 kB 🟢 -1.25 kB
assets/saveMesh-2hPv_H5i.js (removed) 3.43 kB 🟢 -3.43 kB 🟢 -1.48 kB 🟢 -1.31 kB
assets/saveMesh-CC7qtTXM.js (new) 3.43 kB 🔴 +3.43 kB 🔴 +1.48 kB 🔴 +1.31 kB
assets/cloudSessionCookie-BCsaq6YM.js (removed) 3.15 kB 🟢 -3.15 kB 🟢 -1.11 kB 🟢 -997 B
assets/cloudSessionCookie-DHqbyUMg.js (new) 3.15 kB 🔴 +3.15 kB 🔴 +1.11 kB 🔴 +1 kB
assets/GlobalToast-CnbEGX-3.js (removed) 2.91 kB 🟢 -2.91 kB 🟢 -1.21 kB 🟢 -1.06 kB
assets/GlobalToast-h1k_RXME.js (new) 2.91 kB 🔴 +2.91 kB 🔴 +1.21 kB 🔴 +1.03 kB
assets/SubscribeToRun-D9ROfKAU.js (removed) 2.2 kB 🟢 -2.2 kB 🟢 -1.01 kB 🟢 -894 B
assets/SubscribeToRun-DeQuaNcm.js (new) 2.2 kB 🔴 +2.2 kB 🔴 +1.01 kB 🔴 +889 B
assets/CloudRunButtonWrapper-BL_n4upO.js (new) 1.72 kB 🔴 +1.72 kB 🔴 +804 B 🔴 +714 B
assets/CloudRunButtonWrapper-C0UGg3LN.js (removed) 1.72 kB 🟢 -1.72 kB 🟢 -808 B 🟢 -718 B
assets/cloudBadges-BGS4w0cu.js (new) 1.42 kB 🔴 +1.42 kB 🔴 +728 B 🔴 +633 B
assets/cloudBadges-D4-FpmGG.js (removed) 1.42 kB 🟢 -1.42 kB 🟢 -729 B 🟢 -634 B
assets/cloudSubscription-C33R3qJc.js (new) 1.38 kB 🔴 +1.38 kB 🔴 +682 B 🔴 +587 B
assets/cloudSubscription-YSmJr7Qw.js (removed) 1.38 kB 🟢 -1.38 kB 🟢 -682 B 🟢 -589 B
assets/Load3D-Cwstr1vs.js (removed) 1.12 kB 🟢 -1.12 kB 🟢 -520 B 🟢 -466 B
assets/Load3D-CxwxGOxG.js (new) 1.12 kB 🔴 +1.12 kB 🔴 +519 B 🔴 +463 B
assets/nightlyBadges-Blz-iZGN.js (removed) 1.05 kB 🟢 -1.05 kB 🟢 -556 B 🟢 -491 B
assets/nightlyBadges-umlaXUd8.js (new) 1.05 kB 🔴 +1.05 kB 🔴 +555 B 🔴 +495 B
assets/Load3dViewerContent-CcXkX4ti.js (new) 1.04 kB 🔴 +1.04 kB 🔴 +488 B 🔴 +433 B
assets/Load3dViewerContent-DrE269oN.js (removed) 1.04 kB 🟢 -1.04 kB 🟢 -487 B 🟢 -435 B
assets/SubscriptionPanelContentWorkspace-C4RQg6NH.js (removed) 979 B 🟢 -979 B 🟢 -456 B 🟢 -400 B
assets/SubscriptionPanelContentWorkspace-Cc_aSE71.js (new) 979 B 🔴 +979 B 🔴 +457 B 🔴 +401 B
assets/changeTracker-6x4b70g5.js (removed) 806 B 🟢 -806 B 🟢 -405 B 🟢 -357 B
assets/changeTracker-DfHdaDMS.js (new) 806 B 🔴 +806 B 🔴 +405 B 🔴 +355 B
assets/WidgetLegacy-D-mV41v0.js (removed) 794 B 🟢 -794 B 🟢 -405 B 🟢 -357 B
assets/WidgetLegacy-D2ZXWq6w.js (new) 794 B 🔴 +794 B 🔴 +406 B 🔴 +353 B
assets/graphHasMissingNodes-DrpbjK-U.js (removed) 761 B 🟢 -761 B 🟢 -373 B 🟢 -320 B
assets/graphHasMissingNodes-NSTRELjH.js (new) 761 B 🔴 +761 B 🔴 +373 B 🔴 +322 B
assets/WidgetInputNumber-CeksMZT6.js (removed) 392 B 🟢 -392 B 🟢 -232 B 🟢 -198 B
assets/WidgetInputNumber-DtUycowG.js (new) 392 B 🔴 +392 B 🔴 +231 B 🔴 +191 B
assets/AnimationControls-C2PN8K_8.js 4.61 kB 4.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ApiNodesSignInContent-m_jX8qgQ.js 2.69 kB 2.69 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/auto-BTnZwrs2.js 1.7 kB 1.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/BaseViewTemplate-D1Wkn_Pz.js 1.78 kB 1.78 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/comfy-logo-single-IINhk7dd.js 198 B 198 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ComfyOrgHeader-DAYiT6Xw.js 910 B 910 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BA_pLDIO.js 14.7 kB 14.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BhzDZEGT.js 15.7 kB 15.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BNvNJ49l.js 15.8 kB 15.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BrjHW_IV.js 18.4 kB 18.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BuCfvdT4.js 17.1 kB 17.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BumftKwc.js 15.8 kB 15.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Cq5uT6l1.js 16.6 kB 16.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CxH3xT8b.js 14.9 kB 14.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-D_Nd488H.js 16.3 kB 16.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-D1Ii1DEp.js 17.2 kB 17.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-uLreJTDW.js 15.5 kB 15.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/constants-fZH7ZM7u.js 579 B 579 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-CN_8QCbD.js 199 B 199 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-CPd0mX0Y.js 495 kB 495 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ImportFailedNodeContent-CNb288kC.js 2.48 kB 2.48 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ImportFailedNodeFooter-BLAKFGIp.js 1.88 kB 1.88 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ImportFailedNodeHeader-LMkGR62F.js 1.08 kB 1.08 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/LazyImage-DR-0-yTy.js 12.3 kB 12.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-B2rqO4ok.js 136 kB 136 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-B7zbjYoC.js 154 kB 154 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Be3mUkOG.js 118 kB 118 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BHvPYFxt.js 161 kB 161 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CL3WdXR2.js 118 kB 118 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CLfqZq3_.js 187 kB 187 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CUXerpeP.js 133 kB 133 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D8_6_IyP.js 134 kB 134 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DiuZUyLe.js 167 kB 167 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-NSLXfI7X.js 138 kB 138 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-UlVmKY0W.js 141 kB 141 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-CHdzdEY0.js 1.82 kB 1.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-aTfN9fO4.js 1.43 kB 1.43 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-DwcJSZ5v.js 1.75 kB 1.75 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-C7I_Nivi.js 2.23 kB 2.23 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MissingNodesHeader-BAZcszup.js 1.09 kB 1.09 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/NodeConflictFooter-f7oZpL4K.js 2.37 kB 2.37 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/NodeConflictHeader-Dw3rwJjr.js 1.09 kB 1.09 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-3cab5KeM.js 415 kB 415 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-aLMm0gZm.js 362 kB 362 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BkRL-oJ_.js 454 kB 454 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BNE1oPUr.js 337 kB 337 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BXPcnYpT.js 369 kB 369 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CD0BvEYx.js 370 kB 370 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CiYiQ6D5.js 416 kB 416 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DcpehiUU.js 340 kB 340 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DyWG6Iir.js 366 kB 366 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-hyXgxlxY.js 384 kB 384 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-TCrvxtjI.js 373 kB 373 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-DEaITebJ.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-CdzHv1VF.js 8.94 kB 8.94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/signInSchema-DIAEQO6X.js 1.53 kB 1.53 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Slider-B-nteaB9.js 3.52 kB 3.52 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/src--CSlktKB.js 251 B 251 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/telemetry-Db2yG1o2.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-BhHc6T04.js 445 B 445 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-05_iDuzU.js 131 B 131 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-JezhrbLj.js 3.91 kB 3.91 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-B1i-QEjC.js 2.21 kB 2.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-BUNId5TS.js 2.9 kB 2.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria-DhRGcwZO.js 3.61 kB 3.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-CV8eZwv_.js 3.1 kB 3.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-Ww-Tpbsi.js 1.86 kB 1.86 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-CLaC3IDH.js 1.95 kB 1.95 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-CnTGrGUn.js 2.88 kB 2.88 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-Cd0O5LPR.js 1.1 kB 1.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetTextarea-bavVor9x.js 3.18 kB 3.18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-CYFSDGXH.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: 51 added / 51 removed

@christian-byrne christian-byrne added needs-backport Fix/change that needs to be cherry-picked to the current feature freeze branch core/1.38 and removed Bug labels Feb 14, 2026
christian-byrne added a commit that referenced this pull request Feb 14, 2026
Port two bug fixes to V2 persistence system:

From #8854 (clear draft on workflow close):
- workflowStore.ts: removeDraft() now runs for ALL workflows, not just temporary
- workflowService.ts: remove draft BEFORE tab switch to prevent re-saving

From #8851 (skip drafts when Persist disabled):
- comfyWorkflow.ts: guard draft loading with Persist setting check
- useWorkflowPersistenceV2.ts: watch to clear drafts when Persist toggled off

Amp-Thread-ID: https://ampcode.com/threads/T-019c5898-2097-7710-aab9-52c38a97399a
@pythongosssss pythongosssss merged commit 5f7a6e7 into main Feb 14, 2026
52 of 54 checks passed
@pythongosssss pythongosssss deleted the fix/persist-draft-fix branch February 14, 2026 10:50
github-actions bot pushed a commit that referenced this pull request Feb 14, 2026
…8854)

## Summary

Clear the workflow draft from localStorage when any workflow tab is
closed, preventing stale cached state from being served when the
workflow is re-opened.

## Changes

- **What**: `closeWorkflow()` in `workflowStore.ts` now calls
`removeDraft()` for all workflows, not just temporary ones.
`closeWorkflow()` in `workflowService.ts` removes the draft before
switching tabs, preventing `beforeLoadNewGraph()` from re-saving it.

## Review Focus

- Draft is removed before the tab switch in
`workflowService.closeWorkflow()` to prevent `beforeLoadNewGraph()` from
re-saving it during the switch
- Crash recovery is preserved: drafts are only cleared on explicit
close, not on unload/crash
- Tab restore on restart is unaffected: drafts for intentionally-open
tabs are saved on graph change events, not on close

Fixes #8778
Fixes Comfy-Org/ComfyUI#12323

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8854-fix-clear-draft-on-workflow-close-to-prevent-stale-state-on-reopen-3066d73d365081a2a633c9b352d0b0d1)
by [Unito](https://www.unito.io)
github-actions bot pushed a commit that referenced this pull request Feb 14, 2026
…8854)

## Summary

Clear the workflow draft from localStorage when any workflow tab is
closed, preventing stale cached state from being served when the
workflow is re-opened.

## Changes

- **What**: `closeWorkflow()` in `workflowStore.ts` now calls
`removeDraft()` for all workflows, not just temporary ones.
`closeWorkflow()` in `workflowService.ts` removes the draft before
switching tabs, preventing `beforeLoadNewGraph()` from re-saving it.

## Review Focus

- Draft is removed before the tab switch in
`workflowService.closeWorkflow()` to prevent `beforeLoadNewGraph()` from
re-saving it during the switch
- Crash recovery is preserved: drafts are only cleared on explicit
close, not on unload/crash
- Tab restore on restart is unaffected: drafts for intentionally-open
tabs are saved on graph change events, not on close

Fixes #8778
Fixes Comfy-Org/ComfyUI#12323

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8854-fix-clear-draft-on-workflow-close-to-prevent-stale-state-on-reopen-3066d73d365081a2a633c9b352d0b0d1)
by [Unito](https://www.unito.io)
github-actions bot pushed a commit that referenced this pull request Feb 14, 2026
…8854)

## Summary

Clear the workflow draft from localStorage when any workflow tab is
closed, preventing stale cached state from being served when the
workflow is re-opened.

## Changes

- **What**: `closeWorkflow()` in `workflowStore.ts` now calls
`removeDraft()` for all workflows, not just temporary ones.
`closeWorkflow()` in `workflowService.ts` removes the draft before
switching tabs, preventing `beforeLoadNewGraph()` from re-saving it.

## Review Focus

- Draft is removed before the tab switch in
`workflowService.closeWorkflow()` to prevent `beforeLoadNewGraph()` from
re-saving it during the switch
- Crash recovery is preserved: drafts are only cleared on explicit
close, not on unload/crash
- Tab restore on restart is unaffected: drafts for intentionally-open
tabs are saved on graph change events, not on close

Fixes #8778
Fixes Comfy-Org/ComfyUI#12323

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8854-fix-clear-draft-on-workflow-close-to-prevent-stale-state-on-reopen-3066d73d365081a2a633c9b352d0b0d1)
by [Unito](https://www.unito.io)
github-actions bot pushed a commit that referenced this pull request Feb 14, 2026
…8854)

## Summary

Clear the workflow draft from localStorage when any workflow tab is
closed, preventing stale cached state from being served when the
workflow is re-opened.

## Changes

- **What**: `closeWorkflow()` in `workflowStore.ts` now calls
`removeDraft()` for all workflows, not just temporary ones.
`closeWorkflow()` in `workflowService.ts` removes the draft before
switching tabs, preventing `beforeLoadNewGraph()` from re-saving it.

## Review Focus

- Draft is removed before the tab switch in
`workflowService.closeWorkflow()` to prevent `beforeLoadNewGraph()` from
re-saving it during the switch
- Crash recovery is preserved: drafts are only cleared on explicit
close, not on unload/crash
- Tab restore on restart is unaffected: drafts for intentionally-open
tabs are saved on graph change events, not on close

Fixes #8778
Fixes Comfy-Org/ComfyUI#12323

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8854-fix-clear-draft-on-workflow-close-to-prevent-stale-state-on-reopen-3066d73d365081a2a633c9b352d0b0d1)
by [Unito](https://www.unito.io)
@comfy-pr-bot
Copy link
Member

@christian-byrne Successfully backported to #8868

@comfy-pr-bot
Copy link
Member

@christian-byrne Successfully backported to #8869

@comfy-pr-bot
Copy link
Member

@christian-byrne Successfully backported to #8870

@comfy-pr-bot
Copy link
Member

@christian-byrne Successfully backported to #8871

@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 14, 2026
pythongosssss pushed a commit that referenced this pull request Feb 14, 2026
…ale state on reopen (#8868)

Backport of #8854 to `core/1.38`

Automatically created by backport workflow.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8868-backport-core-1-38-fix-clear-draft-on-workflow-close-to-prevent-stale-state-on-reopen-3076d73d36508163a919fdfb66616844)
by [Unito](https://www.unito.io)

Co-authored-by: Christian Byrne <cbyrne@comfy.org>
pythongosssss pushed a commit that referenced this pull request Feb 14, 2026
…tale state on reopen (#8869)

Backport of #8854 to `cloud/1.38`

Automatically created by backport workflow.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8869-backport-cloud-1-38-fix-clear-draft-on-workflow-close-to-prevent-stale-state-on-reopen-3076d73d365081a7b0f5f602c2a609ea)
by [Unito](https://www.unito.io)

Co-authored-by: Christian Byrne <cbyrne@comfy.org>
pythongosssss pushed a commit that referenced this pull request Feb 14, 2026
…ale state on reopen (#8870)

Backport of #8854 to `core/1.39`

Automatically created by backport workflow.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8870-backport-core-1-39-fix-clear-draft-on-workflow-close-to-prevent-stale-state-on-reopen-3076d73d365081448562eccd00a790b0)
by [Unito](https://www.unito.io)

Co-authored-by: Christian Byrne <cbyrne@comfy.org>
pythongosssss pushed a commit that referenced this pull request Feb 14, 2026
…tale state on reopen (#8871)

Backport of #8854 to `cloud/1.39`

Automatically created by backport workflow.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8871-backport-cloud-1-39-fix-clear-draft-on-workflow-close-to-prevent-stale-state-on-reopen-3076d73d3650818484b5c4ca1c7a0bcf)
by [Unito](https://www.unito.io)

Co-authored-by: Christian Byrne <cbyrne@comfy.org>
christian-byrne added a commit that referenced this pull request Feb 18, 2026
Port two bug fixes to V2 persistence system:

From #8854 (clear draft on workflow close):
- workflowStore.ts: removeDraft() now runs for ALL workflows, not just temporary
- workflowService.ts: remove draft BEFORE tab switch to prevent re-saving

From #8851 (skip drafts when Persist disabled):
- comfyWorkflow.ts: guard draft loading with Persist setting check
- useWorkflowPersistenceV2.ts: watch to clear drafts when Persist toggled off

Amp-Thread-ID: https://ampcode.com/threads/T-019c5898-2097-7710-aab9-52c38a97399a
christian-byrne added a commit that referenced this pull request Feb 20, 2026
Port two bug fixes to V2 persistence system:

From #8854 (clear draft on workflow close):
- workflowStore.ts: removeDraft() now runs for ALL workflows, not just temporary
- workflowService.ts: remove draft BEFORE tab switch to prevent re-saving

From #8851 (skip drafts when Persist disabled):
- comfyWorkflow.ts: guard draft loading with Persist setting check
- useWorkflowPersistenceV2.ts: watch to clear drafts when Persist toggled off

Amp-Thread-ID: https://ampcode.com/threads/T-019c5898-2097-7710-aab9-52c38a97399a
christian-byrne added a commit that referenced this pull request Feb 20, 2026
Port two bug fixes to V2 persistence system:

From #8854 (clear draft on workflow close):
- workflowStore.ts: removeDraft() now runs for ALL workflows, not just temporary
- workflowService.ts: remove draft BEFORE tab switch to prevent re-saving

From #8851 (skip drafts when Persist disabled):
- comfyWorkflow.ts: guard draft loading with Persist setting check
- useWorkflowPersistenceV2.ts: watch to clear drafts when Persist toggled off

Amp-Thread-ID: https://ampcode.com/threads/T-019c5898-2097-7710-aab9-52c38a97399a
christian-byrne added a commit that referenced this pull request Feb 20, 2026
Port two bug fixes to V2 persistence system:

From #8854 (clear draft on workflow close):
- workflowStore.ts: removeDraft() now runs for ALL workflows, not just temporary
- workflowService.ts: remove draft BEFORE tab switch to prevent re-saving

From #8851 (skip drafts when Persist disabled):
- comfyWorkflow.ts: guard draft loading with Persist setting check
- useWorkflowPersistenceV2.ts: watch to clear drafts when Persist toggled off

Amp-Thread-ID: https://ampcode.com/threads/T-019c5898-2097-7710-aab9-52c38a97399a
christian-byrne added a commit that referenced this pull request Feb 20, 2026
Port two bug fixes to V2 persistence system:

From #8854 (clear draft on workflow close):
- workflowStore.ts: removeDraft() now runs for ALL workflows, not just temporary
- workflowService.ts: remove draft BEFORE tab switch to prevent re-saving

From #8851 (skip drafts when Persist disabled):
- comfyWorkflow.ts: guard draft loading with Persist setting check
- useWorkflowPersistenceV2.ts: watch to clear drafts when Persist toggled off

Amp-Thread-ID: https://ampcode.com/threads/T-019c5898-2097-7710-aab9-52c38a97399a
christian-byrne added a commit that referenced this pull request Feb 20, 2026
Port two bug fixes to V2 persistence system:

From #8854 (clear draft on workflow close):
- workflowStore.ts: removeDraft() now runs for ALL workflows, not just temporary
- workflowService.ts: remove draft BEFORE tab switch to prevent re-saving

From #8851 (skip drafts when Persist disabled):
- comfyWorkflow.ts: guard draft loading with Persist setting check
- useWorkflowPersistenceV2.ts: watch to clear drafts when Persist toggled off

Amp-Thread-ID: https://ampcode.com/threads/T-019c5898-2097-7710-aab9-52c38a97399a
christian-byrne added a commit that referenced this pull request Feb 20, 2026
Port two bug fixes to V2 persistence system:

From #8854 (clear draft on workflow close):
- workflowStore.ts: removeDraft() now runs for ALL workflows, not just temporary
- workflowService.ts: remove draft BEFORE tab switch to prevent re-saving

From #8851 (skip drafts when Persist disabled):
- comfyWorkflow.ts: guard draft loading with Persist setting check
- useWorkflowPersistenceV2.ts: watch to clear drafts when Persist toggled off

Amp-Thread-ID: https://ampcode.com/threads/T-019c5898-2097-7710-aab9-52c38a97399a
christian-byrne added a commit that referenced this pull request Feb 20, 2026
Port two bug fixes to V2 persistence system:

From #8854 (clear draft on workflow close):
- workflowStore.ts: removeDraft() now runs for ALL workflows, not just temporary
- workflowService.ts: remove draft BEFORE tab switch to prevent re-saving

From #8851 (skip drafts when Persist disabled):
- comfyWorkflow.ts: guard draft loading with Persist setting check
- useWorkflowPersistenceV2.ts: watch to clear drafts when Persist toggled off

Amp-Thread-ID: https://ampcode.com/threads/T-019c5898-2097-7710-aab9-52c38a97399a
christian-byrne added a commit that referenced this pull request Feb 20, 2026
Port two bug fixes to V2 persistence system:

From #8854 (clear draft on workflow close):
- workflowStore.ts: removeDraft() now runs for ALL workflows, not just temporary
- workflowService.ts: remove draft BEFORE tab switch to prevent re-saving

From #8851 (skip drafts when Persist disabled):
- comfyWorkflow.ts: guard draft loading with Persist setting check
- useWorkflowPersistenceV2.ts: watch to clear drafts when Persist toggled off

Amp-Thread-ID: https://ampcode.com/threads/T-019c5898-2097-7710-aab9-52c38a97399a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ComfyUI frontend version: 1.38.13 Autosave bug [v0.12.3] Workflow changes are saved automatically even with auto‑save turned off

4 participants