Skip to content

feat(install): rr on PATH for all shells + post-install version checks + headless --version#68

Merged
filipeforattini merged 1 commit into
mainfrom
agent/install-verify-version
Jun 24, 2026
Merged

feat(install): rr on PATH for all shells + post-install version checks + headless --version#68
filipeforattini merged 1 commit into
mainfrom
agent/install-verify-version

Conversation

@filipeforattini

@filipeforattini filipeforattini commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Three install/CLI ergonomics fixes that fell out of the Ubuntu-22 glibc black-screen debugging.

1. Headless red-request --version / -V (Rust)

red-request is a Tauri GUI app and resolve_db_target() ignores any arg starting with -, so red-request --version previously launched the app instead of printing a version. Added an early check in run() that prints red-request <version> and exits before the GUI is built — so installers (and users) can verify the binary headlessly.

2. Post-install verification (install.sh)

New verify_install() runs at the end of every install path and prints:

  • red-request --version
  • red --version

This surfaces a broken sidecar (e.g. a glibc-incompatible red — the exact failure behind the black screen) at install time, instead of as a blank window on first launch. If red fails to run it prints the error + how to recover (--force). Guarded with timeout so an older binary that predates the --version handler can't hang the installer.

3. rr reliably on PATH — including fish

  • .deb: the rr shortcut is now a symlink in /usr/local/bin (on PATH for bash/zsh/fish out of the box, no rc-file edits) instead of ~/.local/bin, which needed PATH wiring.
  • AppImage + fish: rc_file() / ensure_path() now handle fish (~/.config/fish/config.fish + fish_add_path). They previously wrote a bash export PATH=… into ~/.profile, which fish never reads — so rr never landed on PATH for fish users (the reporter runs bash/zsh/fish on the affected machine).
  • uninstall.sh: removes the /usr/local/bin/rr symlink (sudo) and strips the PATH block from config.fish too.

Verification (local)

  • bash -n install.sh uninstall.sh clean.
  • cargo fmt --all --check clean; cargo check compiles (the --version handler type-checks). CI only runs cargo fmt, so the compile was verified locally.

Notes


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.

…, headless --version

Install/CLI ergonomics, prompted by the Ubuntu-22 glibc black-screen debugging:

- red-request: handle `--version` / `-V` headlessly — print and exit before building
  the GUI. resolve_db_target() ignores `-`-prefixed args, so the flag previously just
  launched the app. Lets the installer (and users) verify the binary without a window.
- install.sh: add verify_install() — runs `red --version` + `red-request --version` at
  the end of every install, so a broken sidecar (e.g. a glibc-incompatible `red`) surfaces
  at install time instead of as a blank window on first launch.
- install.sh: put the `rr` shortcut where it is reliably on PATH:
  - .deb: symlink rr into /usr/local/bin (on PATH for bash/zsh/fish with no rc edits),
    instead of ~/.local/bin which needed PATH wiring.
  - AppImage + fish: ensure_path()/rc_file() now handle fish (config.fish + fish_add_path).
    They previously wrote a bash export into ~/.profile, which fish never reads — so rr
    never landed on PATH for fish users.
- uninstall.sh: remove the /usr/local/bin/rr symlink and strip the fish config.fish block.
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@filipeforattini, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 46 minutes and 33 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 92021208-de90-486b-922b-0fa4cce58765

📥 Commits

Reviewing files that changed from the base of the PR and between 5e478aa and 02f2b05.

📒 Files selected for processing (3)
  • apps/desktop/src-tauri/src/lib.rs
  • install.sh
  • uninstall.sh
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/install-verify-version

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@filipeforattini filipeforattini merged commit a7955a3 into main Jun 24, 2026
3 checks passed
@filipeforattini filipeforattini deleted the agent/install-verify-version branch June 24, 2026 16:56
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