Skip to content

fix(ui): stop clearing screen for prompts#9619

Merged
jdx merged 2 commits intomainfrom
codex/stop-clearing-prompts
May 5, 2026
Merged

fix(ui): stop clearing screen for prompts#9619
jdx merged 2 commits intomainfrom
codex/stop-clearing-prompts

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented May 5, 2026

Summary

  • Remove the explicit clear_screen(true) opt-in from shared confirmation prompts.
  • Restore demand's default behavior so mise prune and other confirmation prompts do not wipe the terminal before rendering.

Context

This reverts the prompt behavior introduced in #4990. That change was intended to avoid concurrent task output corrupting interactive prompts, but clearing the whole terminal is too broad and affects commands like mise prune.

Validation

  • cargo fmt --check
  • pre-commit hook: hk lint set, including cargo check --all-features

This PR was generated by an AI coding assistant.


Note

Low Risk
Low risk UI behavior change limited to interactive prompting; main impact is that prompts will no longer wipe prior terminal output.

Overview
Interactive confirmation prompts no longer clear the screen.

Removes the explicit clear_screen(true) setting from the shared Confirm/Dialog prompt helpers in src/ui/prompt.rs, restoring default prompt rendering for callers like mise prune and trust/plugin install confirmations.

Reviewed by Cursor Bugbot for commit 35f0832. Bugbot is set up for automated code reviews on this repo. Configure here.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 5, 2026

Greptile Summary

  • Removes .clear_screen(true) from both confirm_with_default and confirm_with_all in src/ui/prompt.rs, restoring demand's default prompt rendering behavior.
  • This prevents mise prune and similar commands from wiping the terminal before showing confirmation dialogs; the concurrent-prompt guard (MUTEX) remains in place.

Confidence Score: 5/5

Safe to merge — single-line removals with no logic changes and a clear, well-understood motivation.

The change is a two-line deletion that reverts an explicit opt-in to screen clearing. No new logic is introduced, the existing mutex guard is preserved, and the PR description clearly explains the trade-off. No P1 or P0 issues found.

No files require special attention.

Reviews (2): Last reviewed commit: "Merge branch 'main' into codex/stop-clea..." | Re-trigger Greptile

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request removes the .clear_screen(true) configuration from the confirm_with_default and confirm_with_all functions in src/ui/prompt.rs. This change prevents the terminal screen from being cleared when these confirmation prompts are displayed. I have no feedback to provide.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.5.0 x -- echo 23.9 ± 7.9 18.3 88.2 1.00
mise x -- echo 40.4 ± 14.1 19.9 85.0 1.69 ± 0.81
⚠️ Warning: Performance variance for x -- echo is 69%

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.5.0 env 24.1 ± 6.9 18.0 73.7 1.20 ± 0.36
mise env 20.1 ± 1.7 17.7 32.2 1.00
✅ Performance improvement for env is 20%

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.5.0 hook-env 21.8 ± 6.7 18.2 81.6 1.00
mise hook-env 37.7 ± 12.8 21.3 89.8 1.73 ± 0.79
⚠️ Warning: Performance variance for hook-env is 73%

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.5.0 ls 18.4 ± 1.1 16.5 25.1 1.10 ± 0.09
mise ls 16.8 ± 1.0 14.8 22.3 1.00

xtasks/test/perf

Command mise-2026.5.0 mise Variance
install (cached) 132ms 133ms +0%
ls (cached) 61ms 61ms +0%
bin-paths (cached) 70ms 68ms +2%
task-ls (cached) 1184ms ✅ 760ms +55%

✅ Performance improvement: task-ls cached is 55%

@jdx jdx merged commit 4f087a9 into main May 5, 2026
35 of 36 checks passed
@jdx jdx deleted the codex/stop-clearing-prompts branch May 5, 2026 15:09
mise-en-dev added a commit that referenced this pull request May 7, 2026
### 🚀 Features

- **(aqua)** support registry libc variants by @jdx in
[#9652](#9652)
- **(bin-paths)** add executable names output by @risu729 in
[#9617](#9617)

### 🐛 Bug Fixes

- **(aqua)** preserve configured file extensions by @risu729 in
[#9611](#9611)
- **(aqua)** support registry file links by @risu729 in
[#9610](#9610)
- **(backend)** reject bare package backend names by @risu729 in
[#9608](#9608)
- **(backend)** apply inline tool option overrides by @risu729 in
[#9306](#9306)
- **(backend)** skip versions host for local tool opts by @risu729 in
[#9568](#9568)
- **(github)** chmod explicit archive bin by @risu729 in
[#9609](#9609)
- **(install)** skip remote-versions refresh in prefer-offline mode by
@jdx in [#9627](#9627)
- **(lock)** scope targets to active project root by @risu729 in
[#9319](#9319)
- **(lockfile)** respect existing platforms during auto-lock by @jdx in
[#9621](#9621)
- **(pipx)** filter yanked pypi releases by @risu729 in
[#9607](#9607)
- **(pipx)** declare python as a backend dependency by @jdx in
[#9678](#9678)
- **(schema)** update refs to $defs in mise-registry-tool.json by
@risu729 in [#9671](#9671)
- **(task)** terminate parallel siblings on failure via process groups
by @jdx in [#9655](#9655)
- **(task)** stable MISE_PROJECT_ROOT for monorepo tasks, add
MISE_MONOREPO_ROOT by @jdx in
[#9657](#9657)
- **(trust)** run enter hooks after trusting config by @risu729 in
[#9634](#9634)
- **(ui)** stop clearing screen for prompts by @jdx in
[#9619](#9619)
- use /bin/cp on macos by @pdehlke in
[#9656](#9656)

### 🚜 Refactor

- **(aqua)** store aqua var defaults as strings by @risu729 in
[#9645](#9645)
- **(config)** support structured TOML values in registry backend
options by @risu729 in [#9584](#9584)
- **(deps)** remove serde_derive dependency by @risu729 in
[#9670](#9670)
- **(deps)** remove anyhow dependency by @risu729 in
[#9661](#9661)
- **(deps)** use std::sync::LazyLock instead of once_cell::Lazy by
@risu729 in [#9668](#9668)
- **(schema)** generate task schema from mise schema by @risu729 in
[#9581](#9581)
- **(schema)** reuse task props with unevaluatedProperties by @risu729
in [#9582](#9582)
- **(schema)** reuse registry common types by @risu729 in
[#9648](#9648)
- **(schema)** reuse plugin script config by @risu729 in
[#9647](#9647)
- **(schema)** use $defs in schema files by @risu729 in
[#9646](#9646)

### 📚 Documentation

- **(node)** add tips for enabling node idiomatic by @fu050409 in
[#9675](#9675)

### 🧪 Testing

- **(cli)** remove nondeterministic tool depends assertion by @risu729
in [#9633](#9633)
- **(e2e)** pin uv to 0.11.8 around astral-sh/uv#19278 by @jdx in
[#9618](#9618)
- **(e2e)** wait for docker env cleanup by @risu729 in
[#9631](#9631)
- **(zig)** use official zig instead of mach mirror by @jdx in
[#9659](#9659)

### 📦️ Dependency Updates

- fall through to hash check when providers have no outputs by @jdx in
[#9622](#9622)
- bump Cargo.lock by @jdx in
[#9625](#9625)

### 📦 Registry

- remove registry depends by @risu729 in
[#9571](#9571)
- add code-review-graph (pipx:code-review-graph) by @chautruonglong in
[#9673](#9673)

### Chore

- **(ci)** split large registry test-tool changes by @risu729 in
[#9628](#9628)
- **(ci)** make perf script robust to runner noise by @jdx in
[#9635](#9635)
- **(ci)** skip hyperfine comments without permission by @risu729 in
[#9629](#9629)

### New Contributors

- @chautruonglong made their first contribution in
[#9673](#9673)
- @pdehlke made their first contribution in
[#9656](#9656)

## 📦 Aqua Registry Updates

### New Packages (5)

-
[`anthropics/anthropic-cli`](https://github.com/anthropics/anthropic-cli)
- [`crates.io/wasmi_cli`](https://github.com/wasmi-labs/wasmi)
- [`openclaw/gogcli`](https://github.com/openclaw/gogcli)
- `racket-lang.org/racket-minimal`
- [`runs-on/cli`](https://github.com/runs-on/cli)

### Updated Packages (13)

- [`UpCloudLtd/upcloud-cli`](https://github.com/UpCloudLtd/upcloud-cli)
- [`aristocratos/btop`](https://github.com/aristocratos/btop)
- [`dprint/dprint`](https://github.com/dprint/dprint)
- [`j178/prek`](https://github.com/j178/prek)
- [`jdx/hk`](https://github.com/jdx/hk)
- [`jdx/mise`](https://github.com/jdx/mise)
- [`jdx/usage`](https://github.com/jdx/usage)
- [`jreleaser/jreleaser`](https://github.com/jreleaser/jreleaser)
-
[`jreleaser/jreleaser/standalone`](https://github.com/jreleaser/jreleaser)
- [`pnpm/pnpm`](https://github.com/pnpm/pnpm)
- [`suzuki-shunsuke/cmdx`](https://github.com/suzuki-shunsuke/cmdx)
- [`suzuki-shunsuke/ghir`](https://github.com/suzuki-shunsuke/ghir)
- [`twpayne/chezmoi`](https://github.com/twpayne/chezmoi)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant