Task page and dispatch quality fixes
Quality goals for the task page and why a task isn't moving (was #8550, #8548, #8394, #8383). Skip anything already fixed.
Task page:
1. Versions: finalizing an unsaved draft does not snapshot its half-typed auto-save as a prior version.
2. "Re-generate title" on the header; an operator can rename another org's task in place.
3. No "No feature" breadcrumb crumb.
4. Answer tab at 400 px: the round's secondary acts (Comment only, Ignore, Attach) stay on one line; Attach matches its neighbours.
Why it isn't moving:
5. Timeline names a merge-lane re-dispatch's cause (e.g. "PR #424 conflicts — rebasing").
6. "Blocked by N prerequisites" names and links the blocking tasks.
7. Node-wait banner's Nodes action opens Add node directly when the org has no node.
8. Runner limit: the node page shows the holders; when every holder is asking, say "held by N tasks waiting for your answer".
9. A revoked forge credential (410) holds the project's dispatch with one wait reason ("GitHub credential revoked — reconnect") instead of parking every task on the same question.
10. Epic siblings stop ping-ponging in the merge lane on shared hotspots (lane rebases trivial conflicts or batches siblings).
Out of scope: the title model and prompt, wait-reason derivation, runner-cap counting, Comment only/Submit variants.
Done means:
- Each item shipped with a test or rejected with a one-line reason in the PR.
- A newly created-and-run task shows no previous version.
- Screenshots of changed surfaces at 390 px and desktop.
Outcome
Shipped items 1–9 (versions, re-generate title + operator rename, no "No feature" crumb, Answer row at 400px, lane re-dispatch cause, linked blockers, Add node, asking holders, revoked-credential hold) in PR #6493, merged as 1a29d2e1. Item 10 is deferred to draft #8592; UI polish filed as #8593. Quick gate and changed-area tests green; review lanes pass. Deploy for 1a29d2e1 was superseded by #6494's. Memory: none applied.
Artifacts
Activity
- Created
- Run
- Runner started
- Runner ended (done)