Files
ComfyUI_frontend/docs/release-process.md
jaeone94 370003da94 fix: add isGraphReady guard to prevent premature graph access error logs (#9672)
## Summary
Adds `isGraphReady` getter to `ComfyApp` and uses it in
`executionErrorStore` guards to prevent false 'ComfyApp graph accessed
before initialization' error logs during early store evaluation.

## Changes
- **What**: Added `isGraphReady` boolean getter to `ComfyApp` that
safely checks graph initialization without triggering the `rootGraph`
getter's error log. Updated 5 guard sites in `executionErrorStore` to
use `app.isGraphReady` instead of `app.rootGraph`.
- **Why**: The `rootGraph` getter logs an error when accessed before
initialization. Computed properties and watch callbacks in
`executionErrorStore` are evaluated early (before graph init), causing
false error noise in the console.

## Review Focus
- `isGraphReady` is intentionally minimal — just
`!!this.rootGraphInternal` — to avoid duplicating the error-logging
behavior of `rootGraph`
- The `watch(lastNodeErrors, ...)` callback now checks `isGraphReady` at
the top and early-returns, consistent with the computed property pattern

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9672-fix-add-isGraphReady-guard-to-prevent-premature-graph-access-error-logs-31e6d73d365081be8e1fc77114ce9382)
by [Unito](https://www.unito.io)

Co-authored-by: Alexander Brown <drjkl@comfy.org>
2026-03-09 13:15:04 -07:00

2.8 KiB

Release Process

Bump Types

All releases use release-version-bump.yaml. Effects differ by bump type:

Bump Target Creates branches? GitHub release
Minor main core/ + cloud/ for previous minor Published, "latest"
Patch main No Published, "latest"
Patch core/X.Y No Draft (uncheck "latest")
Prerelease any No Draft + prerelease

Minor bump (e.g. 1.41→1.42): freezes the previous minor into core/1.41 and cloud/1.41, branched from the commit before the bump. Nightly patch bumps on main are convenience snapshots — no branches created.

Patch on core/X.Y: publishes a hotfix draft release. Must not be marked "latest" so main stays current.

Dual-homed commits

When a minor bump happens, unreleased commits appear in both places:

v1.40.1 ── A ── B ── C ── [bump to 1.41.0]
                │
                └── core/1.40

A, B, C become v1.41.0 on main AND sit on core/1.40 (where they could later ship as v1.40.2). Same commits, no divergence — the branch just prevents 1.41+ features from mixing in so ComfyUI can stay on 1.40.x.

Backporting

  1. Add needs-backport + version label to the merged PR
  2. pr-backport.yaml cherry-picks and creates a backport PR
  3. Conflicts produce a comment with details and an agent prompt

Publishing

Merged PRs with the Release label trigger release-draft-create.yaml, publishing to GitHub Releases (dist.zip), PyPI (comfyui-frontend-package), and npm (@comfyorg/comfyui-frontend-types).

Bi-weekly ComfyUI Integration

release-biweekly-comfyui.yaml runs every other Monday — if the next core/ branch has unreleased commits, it triggers a patch bump and drafts a PR to Comfy-Org/ComfyUI updating requirements.txt.

Workflows

Workflow Purpose
release-version-bump.yaml Bump version, create Release PR
release-draft-create.yaml Build + publish to GitHub/PyPI/npm
release-branch-create.yaml Create core/ + cloud/ branches (minor/major)
release-biweekly-comfyui.yaml Auto-patch + ComfyUI requirements PR
pr-backport.yaml Cherry-pick fixes to stable branches
cloud-backport-tag.yaml Tag cloud branch merges