Skip to content

feat(stack): stream push progress with live in-place rows#1632

Closed
JulianMaurin wants to merge 1 commit into
devs/JulianMaurin/fix/stack-push-output/reapply-cherry-picks-dropping-merged-commits-sync--7ad07790from
devs/JulianMaurin/fix/stack-push-output/stream-push-progress-live-place-rows--68fbd064
Closed

feat(stack): stream push progress with live in-place rows#1632
JulianMaurin wants to merge 1 commit into
devs/JulianMaurin/fix/stack-push-output/reapply-cherry-picks-dropping-merged-commits-sync--7ad07790from
devs/JulianMaurin/fix/stack-push-output/stream-push-progress-live-place-rows--68fbd064

Conversation

@JulianMaurin

Copy link
Copy Markdown
Contributor

stack push ran its pre-flight (trunk fetch, PR search, rebase decision), branch push, and per-PR upserts silently, then printed a buffered plan-then-result transcript at the end — so it looked frozen on a slow link and listed every PR twice.

Add a progress reporter that drives a spinner through the pre-flight, then renders one row per stacked PR and rewrites each in place (queued → spinner → ✓) as its GitHub call returns. The spinner animates during each request. Off a TTY it degrades to plain one-line-per-step streaming (no ANSI, NO_COLOR honored); rows truncate to terminal width so the cursor-up redraw never wraps on a long title.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Depends-On: #1630

`stack push` ran its pre-flight (trunk fetch, PR search, rebase decision), branch push, and per-PR upserts silently, then printed a buffered plan-then-result transcript at the end — so it looked frozen on a slow link and listed every PR twice.

Add a `progress` reporter that drives a spinner through the pre-flight, then renders one row per stacked PR and rewrites each in place (queued → spinner → ✓) as its GitHub call returns. The spinner animates during each request. Off a TTY it degrades to plain one-line-per-step streaming (no ANSI, `NO_COLOR` honored); rows truncate to terminal width so the cursor-up redraw never wraps on a long title.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Change-Id: I68fbd064d55a12f80a739bda44e1dbe767c107a8
@JulianMaurin

Copy link
Copy Markdown
Contributor Author

This pull request is part of a Mergify stack:

# Pull Request Link
1 fix(stack): restore prefix-match error detail and not-found exit codes #1618
2 fix(core): surface API error detail and the failing endpoint URL #1619
3 fix(ci,queue,stack): restore minor output details lost in the port #1620
4 fix(stack): reapply cherry-picks when dropping merged commits during sync #1630
5 feat(stack): stream push progress with live in-place rows #1632 👈

@mergify

mergify Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🔴 3 of 6 protections blocking · waiting on 👀 reviews and 🙋 you

Protection Waiting on
🔴 ⛓️ Depends-On Requirements 🙋 you
🔴 👀 Review Requirements 👀 reviews
🔴 🔎 Reviews 👀 reviews
🟢 🤖 Continuous Integration
🟢 Enforce conventional commit
🟢 📕 PR description

🔴 ⛓️ Depends-On Requirements

Waiting for

This rule is failing.

Requirement based on the presence of Depends-On in the body of the pull request

🔴 👀 Review Requirements

Waiting for

  • #approved-reviews-by>=2
This rule is failing.
  • any of:
    • #approved-reviews-by>=2
    • author = dependabot[bot]
    • author = mergify-ci-bot
    • author = renovate[bot]

🔴 🔎 Reviews

Waiting for

  • #review-requested = 0
This rule is failing.
  • #review-requested = 0
  • #changes-requested-reviews-by = 0
  • #review-threads-unresolved = 0

@mergify mergify Bot requested a review from a team June 17, 2026 19:23
@JulianMaurin JulianMaurin deleted the devs/JulianMaurin/fix/stack-push-output/stream-push-progress-live-place-rows--68fbd064 branch June 17, 2026 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant