Checkpoints v2 migration: Keep user in the loop after the progress bar completes#1110
Checkpoints v2 migration: Keep user in the loop after the progress bar completes#1110computermode wants to merge 1 commit intomainfrom
Conversation
Entire-Checkpoint: 7a71b0107dc2
There was a problem hiding this comment.
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. |
| 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("") |
| 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("") |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ 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.
| stopFinalize("") | ||
| return result, fmt.Errorf("failed to pack migrated raw transcripts: %w", err) | ||
| } | ||
| stopFinalize("") |
There was a problem hiding this comment.
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)
Reviewed by Cursor Bugbot for commit 3f0824f. Configure here.
There was a problem hiding this comment.
This might be a real issue, I will test it out again locally to verify.


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.