chore(install): replace gum with whiptail - #2880
Merged
Merged
Conversation
Drops the Charm.sh apt repo and the gum binary; whiptail ships with Debian/Raspbian and covers the interactive prompts the installer needs (yesno, menu, inputbox, msgbox). Brand colors are retained via NEWT_COLORS (purple/yellow) and matching ANSI escapes on the plain banner/section headers that print between long-running apt/ansible steps. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Replace the typed-tag flow with a whiptail menu populated from the live GitHub release list (filtered to non-draft, non-prerelease entries with a docker-tag asset, capped at the 10 most recent). The "latest" rolling-release entry stays pinned at the top and an "other" escape hatch preserves the inputbox path for tags outside the recent window. Also harden the curl|bash entry path: - reject `sh install.sh` early with a clear message before `set -o pipefail` aborts cryptically - reject running as root (the script writes user-owned venvs and a sudoers entry, which must not land under /root) - probe github.com before burning an apt-get update so offline runs fail fast with an actionable error - run `set_device_type` as a preflight so unsupported hardware fails before the long install pipeline starts - install curl + ca-certificates in install_prerequisites since the release-menu fetch and connectivity probe run before install_packages - standardize the curl flags used by the new fetches on `-fsSL --max-time …` so transient network errors surface instead of returning empty strings silently Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
|
vpetersson
added a commit
that referenced
this pull request
May 12, 2026
* Master's #2881 (e2e-test findings) added an `installer_venv` persistent venv provisioned by `bin/install.sh::provision_host_agent_venv` and kept the systemd unit ExecStart pointed at that stable path. Drops the duplicate ansible-side `.anthias-venv` task and reverts the unit-template path I'd introduced — master's approach is upstream and avoids rewriting the unit path on devices installed pre-refactor. * Master's #2880 replaced the gum UI with whiptail. The auto-merge took whiptail's wiring; my arm64-aware INTRO_MESSAGE / set_device_type / Pi-tag-skip branches survived alongside it. * Master's #2878 viewer locale changes auto-merged with my arm64 start_viewer.sh conditional. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Issues Fixed
No linked issue — drops an unnecessary third-party dependency from the installer bootstrap.
Description
bin/install.shpreviously installedgumfrom the Charm.sh apt repo (custom GPG key + sources.list entry) just to render styled prompts. Replaced withwhiptail, which ships with Debian/Raspbian by default, so the installer no longer needs to add a third-party apt repo before doing anything else.gum confirm→whiptail --yesno,gum choose→whiptail --menu,gum input→whiptail --inputbox, error notices →whiptail --msgbox.echo(modal dialogs per section would force the user to press Enter repeatedly).NEWT_COLORSfor the dialogs (purple chrome on white, yellow accents) and ANSI escapes (bold magenta / yellow) for the banner and section headers. CSS palette fromsass/_variables.scssis approximated against whiptail's 16 named colors.INTRO_MESSAGEand the user-input summary since whiptail renders content verbatim.VERSION_PROMPT_CHOICESarray.Checklist