feat(install): rr on PATH for all shells + post-install version checks + headless --version#68
Conversation
…, 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.
|
Warning Review limit reached
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 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 configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Three install/CLI ergonomics fixes that fell out of the Ubuntu-22 glibc black-screen debugging.
1. Headless
red-request --version/-V(Rust)red-requestis a Tauri GUI app andresolve_db_target()ignores any arg starting with-, sored-request --versionpreviously launched the app instead of printing a version. Added an early check inrun()that printsred-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 --versionred --versionThis 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. Ifredfails to run it prints the error + how to recover (--force). Guarded withtimeoutso an older binary that predates the--versionhandler can't hang the installer.3.
rrreliably on PATH — including fish.deb: therrshortcut 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.rc_file()/ensure_path()now handle fish (~/.config/fish/config.fish+fish_add_path). They previously wrote a bashexport PATH=…into~/.profile, which fish never reads — sorrnever landed on PATH for fish users (the reporter runs bash/zsh/fish on the affected machine).uninstall.sh: removes the/usr/local/bin/rrsymlink (sudo) and strips the PATH block fromconfig.fishtoo.Verification (local)
bash -n install.sh uninstall.shclean.cargo fmt --all --checkclean;cargo checkcompiles (the--versionhandler type-checks). CI only runscargo fmt, so the compile was verified locally.Notes
redis bundled in the package, so a red-request upgrade already replaces/usr/bin/red; this PR adds the verification that it actually runs, plus the--forcehint for the same-version-but-broken edge case.Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.