Skip to content

Checkpoints v2 migration: Keep user in the loop after the progress bar completes#1110

Open
computermode wants to merge 1 commit intomainfrom
migration-completion-output
Open

Checkpoints v2 migration: Keep user in the loop after the progress bar completes#1110
computermode wants to merge 1 commit intomainfrom
migration-completion-output

Conversation

@computermode
Copy link
Copy Markdown
Contributor

@computermode computermode commented May 4, 2026

https://entire.io/gh/entireio/cli/trails/291

Previously the checkpoints v2 migration progress bar would just disappear after a migration was complete. For repos with <1k checkpoints, that was fine because the processing was fast enough, but now the migration seems to "hang" after it reaches 100% and the progress bar disappears. This adds more text and info so it doesn't seem like the tool is broken.


Note

Cursor Bugbot is generating a summary for commit 3f0824f. Configure here.

Copilot AI review requested due to automatic review settings May 4, 2026 19:13
@computermode computermode requested a review from a team as a code owner May 4, 2026 19:13
@computermode computermode changed the title Keep user in the loop after the progress bar completes Checkpoints v2 migration: Keep user in the loop after the progress bar completes May 4, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to improve the migration UX by keeping users informed after checkpoint migration reaches 100%, so long-running post-processing steps do not look like a hang. It fits into the CLI’s migration flow and terminal progress reporting utilities.

Changes:

  • Adjusts progressBar.Finish() so a completed bar is left on screen instead of always being cleared.
  • Adds spinner-based status messages for post-migration work: repairing archived generation metadata and packing migrated raw transcripts.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
cmd/entire/cli/progress.go Changes completion behavior for terminal progress bars so finished bars remain visible.
cmd/entire/cli/migrate.go Adds post-migration spinner messaging around generation metadata repair and transcript packing.

Comment thread cmd/entire/cli/migrate.go
Comment on lines +255 to +260
stopFinalize := startSpinner(progressOut, "Packing migrated raw transcripts")
if err := packer.finalize(ctx, !fullCurrentExistsBefore); err != nil {
stopFinalize("")
return result, fmt.Errorf("failed to pack migrated raw transcripts: %w", err)
}
stopFinalize("")
Comment thread cmd/entire/cli/migrate.go
Comment on lines +255 to +260
stopFinalize := startSpinner(progressOut, "Packing migrated raw transcripts")
if err := packer.finalize(ctx, !fullCurrentExistsBefore); err != nil {
stopFinalize("")
return result, fmt.Errorf("failed to pack migrated raw transcripts: %w", err)
}
stopFinalize("")
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 3f0824f. Configure here.

Comment thread cmd/entire/cli/migrate.go
stopFinalize("")
return result, fmt.Errorf("failed to pack migrated raw transcripts: %w", err)
}
stopFinalize("")
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spinner stop function erases preserved 100% progress bar

Medium Severity

The new Finish() logic preserves the 100% progress bar by writing a newline instead of clearing the line. However, startSpinner is called on the same writer before the deferred Finish() runs. The spinner's stop function (stopFinalize("")) unconditionally executes \r\033[K, which erases the progress bar from the terminal line. When defer progress.Finish() then fires, it prints a newline to an already-blank line. The 100% bar is always lost — defeating the PR's stated purpose. The spinner needs to be started after Finish() preserves the bar, or Finish() needs to be called explicitly before the spinner begins.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 3f0824f. Configure here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might be a real issue, I will test it out again locally to verify.

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.

2 participants