Summary
Every arrow keypress in an infisical init picker leaves a stale Use the arrow keys to navigate: ↓ ↑ → ← line behind, and item rows start overwriting each other. The prompt is unreadable after a few presses.
It only happens when the rendered prompt label is wider than the terminal. On a 78-column terminal the project picker overflows by exactly one trailing space — invisible — so the label still looks like it fits.
Not specific to init. Eight promptui.Select prompts across the CLI hit this.
Repro
- Size a terminal to 78 columns:
stty cols 78 (or printf '\e[8;40;78t')
infisical init
- Pick an org, then press ↓ four times on the "Which of your Infisical projects…" picker
Each press leaves a Use the arrow keys to navigate: line stacked above the prompt. Narrower terminals also bleed the label into the item rows.
Expected
Arrow navigation redraws the picker in place, regardless of terminal width or label length.
Actual
One stale help line accumulates per keypress, and at narrower widths the wrapped label overwrites the item rows.
Version
main @ 841c3e1
promptui pinned to v0.9.0 in go.mod:243 since the repo migration, so every release is affected
The defect is likely in promptui's screenbuf which miscounts rows, and the label lengths here only decide which terminal widths expose it. The redraw itself is correct; a select has to repaint to move the cursor.
Summary
Every arrow keypress in an
infisical initpicker leaves a staleUse the arrow keys to navigate: ↓ ↑ → ←line behind, and item rows start overwriting each other. The prompt is unreadable after a few presses.It only happens when the rendered prompt label is wider than the terminal. On a 78-column terminal the project picker overflows by exactly one trailing space — invisible — so the label still looks like it fits.
Not specific to
init. Eightpromptui.Selectprompts across the CLI hit this.Repro
stty cols 78(orprintf '\e[8;40;78t')infisical initEach press leaves a
Use the arrow keys to navigate:line stacked above the prompt. Narrower terminals also bleed the label into the item rows.Expected
Arrow navigation redraws the picker in place, regardless of terminal width or label length.
Actual
One stale help line accumulates per keypress, and at narrower widths the wrapped label overwrites the item rows.
Version
main@841c3e1promptuipinned tov0.9.0ingo.mod:243since the repo migration, so every release is affectedThe defect is likely in
promptui'sscreenbufwhich miscounts rows, and the label lengths here only decide which terminal widths expose it. The redraw itself is correct; a select has to repaint to move the cursor.