Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
comfydesigner avatar

Backport Management

  • 1 installs
  • Updated June 26, 2026
  • comfydesigner/comfyui_frontend

Guide for managing ComfyUI frontend backports to maintain compatibility with multiple release versions.

About

Documents backport strategy for ComfyUI frontend changes across versions. DevOps and maintainers reference it when cherry-picking or porting UI fixes.

  • Version compatibility management strategy
  • Backport approval and validation process

Backport Management by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,172 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
  • Data as of Jul 8, 2026 (Skillselion catalog sync)
npx skills add https://github.com/comfydesigner/comfyui_frontend --skill backport-management

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
Last updatedJune 26, 2026
Repositorycomfydesigner/comfyui_frontend

What it does

Guide for managing ComfyUI frontend backports to maintain compatibility with multiple release versions.

Files

SKILL.mdMarkdownGitHub ↗

Backport Management

Cherry-pick backport management for Comfy-Org/ComfyUI_frontend stable release branches.

Quick Start

1. Discover — Collect candidates from Slack bot + git log gap (reference/discovery.md) 2. Analyze — Categorize MUST/SHOULD/SKIP, check deps (reference/analysis.md) 3. Plan — Order by dependency (leaf fixes first), group into waves per branch 4. Execute — Label-driven automation → worktree fallback for conflicts (reference/execution.md) 5. Verify — After each wave, verify branch integrity before proceeding 6. Log & Report — Generate session report with mermaid diagram (reference/logging.md)

System Context

ItemValue
Repo~/ComfyUI_frontend (Comfy-Org/ComfyUI_frontend)
Merge strategySquash merge (gh pr merge --squash --admin)
Automationpr-backport.yaml GitHub Action (label-driven)
Tracking dir~/temp/backport-session/

Branch Scope Rules

Critical: Match PRs to the correct target branches.

Branch prefixScopeExample
cloud/*Cloud-hosted ComfyUI onlyApp mode, cloud auth, cloud-specific UI
core/*Local/self-hosted ComfyUI onlyCore editor, local workflows, node system

*⚠️ NEVER backport cloud-only PRs to `core/ branches.** Cloud-only changes (app mode, cloud auth, cloud billing UI, cloud-specific API calls) are irrelevant to local users and waste effort. Before backporting any PR to a core/*` branch, check:

  • Does the PR title/description mention "app mode", "cloud", or cloud-specific features?
  • Does the PR only touch files like appModeStore.ts, cloud auth, or cloud-specific components?
  • If yes → skip for core/* branches (may still apply to cloud/* branches)

⚠️ Gotchas (Learn from Past Sessions)

Use gh api for Labels — NOT gh pr edit

gh pr edit --add-label triggers Projects Classic deprecation errors. Always use:

gh api repos/Comfy-Org/ComfyUI_frontend/issues/$PR/labels \
  -f "labels[]=needs-backport" -f "labels[]=TARGET_BRANCH"

Automation Over-Reports Conflicts

The pr-backport.yaml action reports more conflicts than reality. git cherry-pick -m 1 with git auto-merge handles many cases the automation can't. Always attempt manual cherry-pick before skipping.

Never Skip Based on Conflict File Count

12 or 27 conflicting files can be trivial (snapshots, new files). Categorize conflicts first, then decide. See Conflict Triage below.

Conflict Triage

Always categorize before deciding to skip. High conflict count ≠ hard conflicts.

TypeSymptomResolution
Binary snapshots (PNGs).png files in conflict listgit checkout --theirs $FILE && git add $FILE — always trivial
Modify/delete (new file)PR introduces files not on targetgit add $FILE — keep the new file
Modify/delete (removed)Target removed files the PR modifiesgit rm $FILE — file no longer relevant
Content conflictsMarker-based (<<<<<<<)Accept theirs via python regex (see below)
Add/addBoth sides added same fileAccept theirs, verify no logic conflict
Locale/JSON filesi18n key additionsAccept theirs, validate JSON after
# Accept theirs for content conflicts
import re
pattern = r'<<<<<<< HEAD\n(.*?)=======\n(.*?)>>>>>>> [^\n]+\n?'
content = re.sub(pattern, r'\2', content, flags=re.DOTALL)

Escalation Triggers (Flag for Human)

  • Package.json/lockfile changes → skip on stable (transitive dep regression risk)
  • Core type definition changes → requires human judgment
  • Business logic conflicts (not just imports/exports) → requires domain knowledge
  • Admin-merged conflict resolutions → get human review of the resolution before continuing the wave

Auto-Skip Categories

Skip these without discussion:

  • Dep refresh PRs — Risk of transitive dep regressions on stable. Cherry-pick individual CVE fixes instead.
  • CI/tooling changes — Not user-facing
  • Test-only / lint rule changes — Not user-facing
  • Revert pairs — If PR A reverted by PR B, skip both. If fixed version (PR C) exists, backport only C.
  • Features not on target branch — e.g., Painter, GLSLShader, appModeStore on core/1.40
  • *Cloud-only PRs on core/\ branches** — App mode, cloud auth, cloud billing. These only affect cloud-hosted ComfyUI.

Wave Verification

After merging each wave of PRs to a target branch, verify branch integrity before proceeding:

# Fetch latest state of target branch
git fetch origin TARGET_BRANCH

# Quick smoke check: does the branch build?
git worktree add /tmp/verify-TARGET origin/TARGET_BRANCH
cd /tmp/verify-TARGET
source ~/.nvm/nvm.sh && nvm use 24 && pnpm install && pnpm typecheck
git worktree remove /tmp/verify-TARGET --force

If typecheck fails, stop and investigate before continuing. A broken branch after wave N means all subsequent waves will compound the problem.

Continuous Backporting Recommendation

Large backport sessions (50+ PRs) are expensive and error-prone. Prefer continuous backporting:

  • Backport bug fixes as they merge to main (same day or next day)
  • Use the automation labels immediately after merge
  • Reserve session-style bulk backporting for catching up after gaps
  • When a release branch is created, immediately start the continuous process

Quick Reference

Label-Driven Automation (default path)

gh api repos/Comfy-Org/ComfyUI_frontend/issues/$PR/labels \
  -f "labels[]=needs-backport" -f "labels[]=TARGET_BRANCH"
# Wait 3 min, check: gh pr list --base TARGET_BRANCH --state open

Manual Worktree Cherry-Pick (conflict fallback)

git worktree add /tmp/backport-$BRANCH origin/$BRANCH
cd /tmp/backport-$BRANCH
git checkout -b backport-$PR-to-$BRANCH origin/$BRANCH
git cherry-pick -m 1 $MERGE_SHA
# Resolve conflicts, push, create PR, merge

PR Title Convention

[backport TARGET_BRANCH] Original Title (#ORIGINAL_PR)

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.