enhance(installer): use huh package to handle input #231

Closed
opened 2026-04-05 17:03:03 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @LaurenceJJones on 2/18/2026

Community Contribution License Agreement

By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.

Description

Instead of relying on stdin and stdout by default, using the huh package from charmbracelet allows us to handle user input more gracefully such as y/n instead of typing 'yes' or 'no'. If a user makes a mistake whilst typing in any text fields they cannot use left or right to edit a single character when using huh it can. This adds a dependancy and may increase the size of installer but overall improves user experience.

How to test?

Building the installer now uses components from huh package to handle just user input (instead of building a full weight TUI which is too much for just an installer). You can simply run the installer once built and to test the fallback logic you can run TERM=dumb ./installer

render1771428439682

*Originally created by @LaurenceJJones on 2/18/2026* ## Community Contribution License Agreement By creating this pull request, I grant the project maintainers an unlimited, perpetual license to use, modify, and redistribute these contributions under any terms they choose, including both the AGPLv3 and the Fossorial Commercial license terms. I represent that I have the right to grant this license for all contributed content. ## Description Instead of relying on stdin and stdout by default, using the huh package from charmbracelet allows us to handle user input more gracefully such as y/n instead of typing 'yes' or 'no'. If a user makes a mistake whilst typing in any text fields they cannot use left or right to edit a single character when using huh it can. This adds a dependancy and may increase the size of installer but overall improves user experience. ## How to test? Building the installer now uses components from huh package to handle just user input (instead of building a full weight TUI which is too much for just an installer). You can simply run the installer once built and to test the fallback logic you can run `TERM=dumb ./installer` ![render1771428439682](https://github.com/user-attachments/assets/6013026b-a981-4e8c-8af7-f052465ac895)
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/pangolin#231