Comfy-Org / Comfy-Org/ComfyUI_frontend

Eight review deferrals from the last 3 weeks would benefit from tickets (22 of 30 were tracked)

Open
#15,556 0 comments 0 reactions 0 assignees View on GitHub
area:CI/CD area:i18n
Dominant language
TypeScript
Stars
2k
Forks
704
Avg merge
1d 8h
Merged PRs (30d)
512

Description

Audit of every PR merged to `main` between 2026-07-31 and 2026-08-21 (617 PRs), checking whether
deferrals made in review — "follow-up PR", "separate issue", "out of scope here" — ended up with an
artifact somewhere.

**Most of them did.** 22 of the 30 real deferrals in that window are tracked: a GitHub issue, a
Linear ticket, a merged follow-up PR, or code on `main` that now does the thing. Deferring is
usually the right call and this is not a complaint about any of them. The eight below are the ones
that would benefit from a ticket, because today they exist only in a PR thread that is resolved or
scrolled past.

Two mechanical routes worked every time and are worth preferring over prose:
`@coderabbitai Make an Issue to do this in a followup PR on a future date` (6/6) and
`@Glary-Bot file … as follow-up issues in linear` (2/2, produced FE-1551 and FE-1552).

### The eight

**Item 1 has been moved out of this issue.** It is a CI-configuration hardening item in two workflows, and the specifics are being handled privately with the maintainers rather than described here. Nothing about it is urgent for a normal contributor; it is not reachable without a repo-member action. It remains on the unkept list and is being tracked separately.

**2. #14687 — `@coderabbitai tag this as a followup` produces no artifact.**
[Thread](https://github.com/Comfy-Org/ComfyUI_frontend/pull/14687#discussion_r3742160848). CodeRabbit
replied "Would you like me to create a GitHub issue for the follow-up?", nobody answered, and the
thread was resolved. The lint rule to prohibit the real-network string in `vitest.setup.ts` does not
exist and nothing references #14687. Worth knowing as a repo-wide fact: `tag this as a followup` is
not the same command as `Make an Issue`. *Owner: @christian-byrne, finding by @DrJKL.*

**3. #15221 — "Will followup on the nonblocking items."**
[Review](https://github.com/Comfy-Org/ComfyUI_frontend/pull/15221#pullrequestreview-4932392345),
items enumerated
[here](https://github.com/Comfy-Org/ComfyUI_frontend/pull/15221#issuecomment-5287460531). Both are
still live: `scripts/nodeDefLocaleSerializer.ts:105` annotates an `Object.fromEntries` call that
resolves to the `any` overload, so the annotation checks nothing — which undercuts that PR's own
stated goal; and `scripts/vite-define-shim.ts:32` uses `Object.assign` where the removed
`@ts-expect-error` at least would have reported itself unnecessary. *Owner: @benceruleanlu.*

**4. #15019 — two `SHOULD FIX (follow-up)` findings, threads still unresolved.**
[Batch abort](https://github.com/Comfy-Org/ComfyUI_frontend/pull/15019#discussion_r3797214559) and
[post-`onRemoved` throw](https://github.com/Comfy-Org/ComfyUI_frontend/pull/15019#discussion_r3797214567).
`src/platform/nodeReplacement/useNodeReplacement.ts:292` is still a bare `replaceWithMapping(...)`
inside the `for (const node of placeholders)` loop. The PR correctly made the guards throw for
visibility, but without a per-node catch one refused node unwinds the batch and permanently blocks
every later node. *Owner: @DrJKL, finding by @benjcooley.*

**5. #13880 — `translation-reviewers` team, "I'll follow up separately."**
[Review](https://github.com/Comfy-Org/ComfyUI_frontend/pull/13880#pullrequestreview-4769182672).
`CODEOWNERS:82-90` now carries a commented-out "Pending (needs a write grant before adding,
otherwise the line is inert)" block naming seven languages and their volunteer reviewers — `it`,
`uk`, `he`, `fa`, `tr`, `ar`, `pt-BR`. That record lives only in a source comment, so no query
anyone runs will surface it, and seven people who offered to review their own language are not
routed. *Owner: @christian-byrne.*

**6. #15062 — two changes described as written and validated locally, never pushed.**
[Bisect on `finish_reason: "length"`](https://github.com/Comfy-Org/ComfyUI_frontend/pull/15062#discussion_r3772306012)
and [SDK-derived `ReasoningEffort`](https://github.com/Comfy-Org/ComfyUI_frontend/pull/15062#discussion_r3772306226).
Most of that PR's follow-up did land (#15137, #15170 — openai SDK adopted, `fetch-depth: 0` +
`filter: blob:none` on both `ci-lint-format*` workflows). These two did not:
`scripts/i18n/translate.ts:146-148` still throws on truncation instead of bisecting the batch, and
`ReasoningEffort` is still a local union in `./config`. This shape is worth naming — "already fixed
locally" reads as done to everyone else in the thread. *Owner: @benceruleanlu.*

**7. #15063 — half of "doing the suggestions in a follow up" landed.**
[Comment](https://github.com/Comfy-Org/ComfyUI_frontend/pull/15063#issuecomment-5274964930). The
single-reporter helper became #15346. The other suggestion —
[emit a Datadog warning for unmatched routes so we can monitor spikes](https://github.com/Comfy-Org/ComfyUI_frontend/pull/15063#discussion_r3770774243)
— did not. `src/router.ts:90` is still a silent `{ path: '/:pathMatch(.*)*', redirect: '/' }`, so the
IR-105 failure class that PR was written for still produces no signal. *Owner: @christian-byrne,
suggestion by @huang47.*

**8. #15224 — members panel loading state.**
[Review](https://github.com/Comfy-Org/ComfyUI_frontend/pull/15224#pullrequestreview-4932463301):
*"Atomic update is the right call; a skeleton/loading state is separate follow-up work."* The atomic
multi-page fetch means a large workspace now shows an empty list for the duration of all pages
instead of the first 20 immediately. `MembersPanelContent.vue` has no loading state on `main`. #15235
is open but covers fixed height and scroll, not this. *Owner: @huntcsg, finding by @benjcooley.*

### Suggested handling

Items 1 and 4 are the two with user- or repo-visible consequences today; the rest are debt. Item 1
should probably move to a private advisory rather than stay here. Items 2, 5 and 6 are process
observations as much as work items — they describe three different ways a deferral evaporates
(a bot command that only looks like it files, a record kept in a source comment, and work described
as already done locally).

Full audit including the 22 kept deferrals and the verification for each:
`research/crossrepo/s04-followup-audit.md` in the ecs-migration workspace.

---

## Appendix: the 22 kept deferrals and their verification (appended 2026-08-23)

The full audit file referenced above lives in a review workspace repo readers cannot access, so the
kept-deferral verification is reproduced here. (The unkept-item detail is already enumerated above;
item 1 remains tracked privately, as stated.)

**Method:** all 617 PRs merged 2026-07-31 to 2026-08-21 pulled via GraphQL (issue comments + review
bodies + review threads), grepped for deferral language, then each deferral chased to an artifact
(issue, PR, Linear ticket) or to code on `origin/main` at `28bd73af29`. Run date 2026-08-21.

| | Count |
| --- | ---: |
| Merged PRs scanned | 617 |
| PRs with deferral language | 121 |
| Comments matching deferral language | 326 |
| Deferrals with a stated intent to follow up (after triage) | 30 |
| Kept - artifact found (issue / PR / Linear) or code now does the thing | 22 |
| Unkept - no artifact, code unchanged | 8 |

### Kept deferrals, each verified

| PR | Artifact |
| --- | --- |
| #15029 | #15215, #15216, #15217, #15227 (CodeRabbit) + FE-1557 |
| #14556 | #14737 |
| #14555 | #14736 |
| #14460 | #14641, #14465 |
| #15033 | FE-1551, FE-1552 (Glary-Bot, as instructed in-thread) |
| #14615 | #14645 |
| #14613 | #14738 + per-item issues, each with an owner |
| #14541 | #14629, #14630, #14631 |
| #14765 | #15220 (five items) |
| #14945 | Comfy-Org/cloud#6801 + siblings |
| #15311 | FE-1681 |
| #13783 | BE-3447 |
| #15125 | BE-7189 |
| #14836 | #15011 merged (Vitest cleanup oxlint rules) + #15308, #15309, #15370 |
| #14347 | #14951 merged (lint: ban new hand-written Zod schemas for remote API types) |
| #14574 | #14789 merged (search highlights rendered as text) |
| #14612 | code now does it - `throwOnTimeout: true` at `WorkspaceAuthGate.vue:128,260` |
| #14041 | #14386 |
| #14133 | #14480 superseded and split into #15001/#15009/#15017/#15018, all merged; the `test.fails` markers it deferred are gone from `main` |
| #15063 | #15346 (helper half; the Datadog-warning half is item 7 above) |
| #15062 | #15137, #15170 (majority of the follow-up; the two remaining gaps are item 6 above) |
| #14352 | accessibility + fixture-desync follow-ups taken; the remaining one is item 1 above, tracked privately |

### Notes for whoever runs this next

- Two mechanical routes are reliable and should be preferred over prose: `@coderabbitai Make an Issue to do this in a followup PR on a future date` (6/6) and `@Glary-Bot file ... as follow-up issues in linear` (2/2).
- `@coderabbitai tag this as a followup` is **not** one of them. It produces a thread reply and a question ("Would you like me to create a GitHub issue?") that nobody answers, and then the thread gets resolved. #14687 is the clean instance.
- "I have it fixed locally, not pushed yet" (#15062) is a distinct and higher-risk shape than "let's do this later": it reads as done to everyone else in the thread.
- A deferral recorded only in a source comment (#13880's `CODEOWNERS` block) is invisible to every query anyone will run.

Contributor guide

Open the contributing guide

Research direction

Start with the eight unkept items in this issue and the referenced review threads, then inspect the named files such as scripts/nodeDefLocaleSerializer.ts, useNodeReplacement.ts, CODEOWNERS, scripts/i18n/translate.ts, src/router.ts, and MembersPanelContent.vue. Done means each reachable deferral has a separate tracked artifact or a verified resolution; item 1 is explicitly private and not reachable to normal contributors.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, typescript
Domain
developer-experience, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.