Skip to content

feat(data): show status description consistently and allow refresh in data:pg:migrate - #3942

Merged
heroku-johnny merged 14 commits into
mainfrom
ekozil/show-description-and-add-refresh
Sep 30, 2026
Merged

heroku-johnny merged 14 commits into
mainfrom
ekozil/show-description-and-add-refresh

Conversation

@ekozilforce

@ekozilforce ekozilforce commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

To better show progress and context to customers, we have made the migration entity's status_description non-nullable. This will always have a value giving a short description of current state of the migration, e.g., Migrating: 50% complete.

This pr updates the cli to always render this status_description in favor of interpreting the status and conditionally rendering status_description. We also add a default wrap to the table to handle status_descriptions that might not fit in narrow terminal windows.

Additionally, this pr adds a refresh command to reload and rerender the migration list so customers can better follow along.

Note - during development, we identified two areas for improvement in cli tooling:

  1. We can't wrap individual columns in a table. The hux.table wrapper only forwards key and name. In this scenario we may want to only wrap the status column.
Screenshot 2026-09-25 at 11 44 44 AM
  1. As shown in the screenshot above, wrapped lines are stripped of color.

Type of Change

Breaking Changes (major semver update)

  • Add a ! after your change type to denote a change that breaks current behavior

Feature Additions (minor semver update)

  • feat: Introduces a new feature to the codebase

Patch Updates (patch semver update)

  • fix: Bug fix
  • deps: Dependency upgrade
  • revert: Revert a previous commit
  • chore: Change that does not affect production code
  • refactor: Refactoring existing code without changing behavior
  • test: Add/update/remove tests

Testing

Notes:

Steps:

  1. Ran command locally (bin/dev.js data:pg:migrate --app ekozil-dev)
  2. Verified status descriptions are rendered and overflow when needed
  3. Verified refresh reloads the latest data and rerenders.

Screenshots (if applicable)

Screen.Recording.2026-09-25.at.11.31.12.AM.mov

Related Issues

GitHub issue: #[GitHub issue number]
GUS work item: W-24292098

Render the status column as `Status: description`, with the status
label colored and the status_description trailing in gray after a
colon. Skip the description when it's null/empty or the same text as
the status label (case-insensitive). Fall back to the label alone.
Add a Refresh choice to the main menu; the loop already re-fetches
databases and migration targets and re-renders on each iteration, so
selecting it simply refreshes the view.
Add unit tests for the migrate main-menu status column: renders
`Status: description` when a description is present, omits it when it
matches the label, and re-fetches/re-renders when Refresh is selected.
@ekozilforce
ekozilforce deployed to AcceptanceTests September 23, 2026 18:27 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 23, 2026 18:27 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 23, 2026 18:27 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 23, 2026 18:27 — with GitHub Actions Active
@github-actions github-actions Bot added the size/M Medium PR (code churn < 500) label Sep 23, 2026
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:10 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:10 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:10 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:10 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:12 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:12 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:12 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:12 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:25 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:25 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:25 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 17:25 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 18:18 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 18:18 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 18:18 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 24, 2026 18:18 — with GitHub Actions Active
@github-actions github-actions Bot added size/S Small PR (code churn < 100) and removed size/M Medium PR (code churn < 500) labels Sep 24, 2026
@ekozilforce
ekozilforce deployed to AcceptanceTests September 25, 2026 17:12 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 25, 2026 17:12 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 25, 2026 17:12 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 25, 2026 17:12 — with GitHub Actions Active
@ekozilforce
ekozilforce marked this pull request as ready for review September 25, 2026 17:17
@ekozilforce
ekozilforce requested a review from a team as a code owner September 25, 2026 17:17
@ekozilforce
ekozilforce deployed to AcceptanceTests September 25, 2026 19:15 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 25, 2026 19:15 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 25, 2026 19:15 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 25, 2026 19:15 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 28, 2026 16:42 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 28, 2026 16:42 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 28, 2026 16:42 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 28, 2026 16:42 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 29, 2026 17:27 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 29, 2026 17:27 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 29, 2026 17:27 — with GitHub Actions Active
@ekozilforce
ekozilforce deployed to AcceptanceTests September 29, 2026 17:27 — with GitHub Actions Active

@heroku-johnny heroku-johnny left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM!

@heroku-johnny
heroku-johnny deployed to AcceptanceTests September 29, 2026 21:13 — with GitHub Actions Active
@heroku-johnny
heroku-johnny deployed to AcceptanceTests September 29, 2026 21:13 — with GitHub Actions Active
@heroku-johnny
heroku-johnny deployed to AcceptanceTests September 29, 2026 21:13 — with GitHub Actions Active
@heroku-johnny
heroku-johnny deployed to AcceptanceTests September 29, 2026 21:13 — with GitHub Actions Active
@heroku-johnny
heroku-johnny merged commit be99e83 into main Sep 30, 2026
20 checks passed
@heroku-johnny
heroku-johnny deleted the ekozil/show-description-and-add-refresh branch September 30, 2026 16:49
@heroku-johnny heroku-johnny mentioned this pull request Oct 1, 2026
5 tasks done

This branch was successfully deployed

1 active deployment
AcceptanceTests — 311be7ea Deployed Sep 29, 2026 by heroku-johnny via acceptance (20.x, ubuntu-latest) #9362
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M Medium PR (code churn < 500)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants