Skip to content

fix(search): show ultracompact prompt for empty results - #3588

Open
jbellis wants to merge 2 commits into
atuinsh:mainfrom
jbellis:fix/ultracompact-empty-filter-indicator
Open

fix(search): show ultracompact prompt for empty results#3588
jbellis wants to merge 2 commits into
atuinsh:mainfrom
jbellis:fix/ultracompact-empty-filter-indicator

Conversation

@jbellis

@jbellis jbellis commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Ultracompact search renders the input prompt as part of the selected history row. When a filter has no matches, HistoryList returned before drawing anything, leaving the UI completely blank. This is confusing when cycling between ctrl-r modes (I thought it hung).

Render an empty prompt row in that case so users can still see the active filter and query.

(I am confident that the diagnosis is correct--we should not just return on empty here--less confident that there is no existing helper for "we are in ultracompact mode" that I missed.)

Checks

  • I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle
  • I have checked that there are no existing pull requests for the same thing

Screenshot of "after" [screenshot of "before" would just be blank space]
image

Ultracompact search renders the input prompt as part of the selected history row. When a filter has no matches, HistoryList returned before drawing anything, leaving the UI completely blank.

Render an empty prompt row in that case so users can still see the active filter and query.
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Fossier: Manual Review Requested

@jbellis is a new contributor. A maintainer should review this PR before merging.

Score Breakdown

Total Score: 65.0/100 | Confidence: 100% | Outcome: REVIEW

Signal Value Score Weight
account_age 6407 1.00 0.09
public_repos 82 1.00 0.05
contribution_history 98 0.49 0.05
follower_ratio 104.67 1.00 0.05
bot_signals False 0.50 0.04
open_prs_elsewhere 15 0.00 0.09
closed_prs_elsewhere 59 0.00 0.10
merged_prs_elsewhere 283 1.00 0.08
prior_interaction 9 1.00 0.08
activity_velocity 2 0.67 0.08
pr_content ... 1.00 0.08
commit_email jbellis@gmail.com 0.80 0.04
pr_description ... 0.80 0.05
repo_stars 30481 0.30 0.04
org_membership 0 0.20 0.03
commit_verification ... 0.30 0.04
contributor_stars 954 1.00 0.04

@greptile-apps

greptile-apps Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Fixes a blank-UI regression in ultracompact search mode: when a filter yields no results, the widget now renders an empty prompt row instead of returning immediately, so users can see the active query rather than a blank screen.

  • HistoryList gains an ultracompact builder field; when set and history is empty, a DrawState is constructed just to call render_empty_row, which draws the indicator and the current search input.
  • interactive.rs wires the new .ultracompact() call using the existing Compactness::Ultracompact variant.

Confidence Score: 5/5

Change is safe to merge; it only affects rendering in one narrowly-scoped UI mode.

The change is small and self-contained. state.selected is already reset to 0 by query_results before rendering, so render_empty_row will correctly show the " > " indicator. No data paths, persistence, or non-UI logic are touched.

No files require special attention.

Important Files Changed

Filename Overview
crates/atuin/src/command/client/search/history_list.rs Splits the early-return guard so empty history in ultracompact mode renders a prompt row instead of leaving the screen blank. New ultracompact builder field and render_empty_row helper are straightforward.
crates/atuin/src/command/client/search/interactive.rs Single-line change wires the new .ultracompact() builder method using the existing Compactness enum — clean and minimal.

Reviews (1): Last reviewed commit: "fix(search): show ultracompact prompt fo..." | Re-trigger Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant