From 127d3e54a6589a5f478b43e2c2414aa8f4877e26 Mon Sep 17 00:00:00 2001 From: "Aaron D. Lee" Date: Sun, 4 Jan 2026 16:06:04 -0500 Subject: [PATCH] Fix input buffer issues in first-boot wizard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add input buffer flush before all read prompts to prevent leftover keystrokes from auto-answering wizard questions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- rpi/first-boot-wizard.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rpi/first-boot-wizard.sh b/rpi/first-boot-wizard.sh index 542d25e..bc88d6d 100755 --- a/rpi/first-boot-wizard.sh +++ b/rpi/first-boot-wizard.sh @@ -82,6 +82,7 @@ echo "" echo " [Y] Enable HTTPS (recommended for home network security)" echo " [n] Use HTTP only (unencrypted, not recommended)" echo "" +read -t 0.1 -n 10000 discard 2>/dev/null || true read -p "Enable HTTPS? [Y/n] " -n 1 -r echo if [[ ! $REPLY =~ ^[Nn]$ ]]; then @@ -111,6 +112,7 @@ if [ "$ENABLE_HTTPS" = "true" ]; then echo " [Y] Use port 443 (cleaner URLs)" echo " [n] Use port 5000 (default, no extra config)" echo "" + read -t 0.1 -n 10000 discard 2>/dev/null || true read -p "Use standard port 443? [Y/n] " -n 1 -r echo if [[ ! $REPLY =~ ^[Nn]$ ]]; then @@ -140,6 +142,7 @@ echo "" echo " [y] Generate a private channel key" echo " [N] Use public mode (anyone can decode)" echo "" +read -t 0.1 -n 10000 discard 2>/dev/null || true read -p "Generate a private channel key? [y/N] " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then @@ -160,6 +163,9 @@ if [[ $REPLY =~ ^[Yy]$ ]]; then echo -e " ${RED}You'll need to share it with anyone who should decode${NC}" echo -e " ${RED}your images. This key won't be shown again.${NC}" echo "" + # Flush input buffer before waiting + read -t 0.1 -n 10000 discard 2>/dev/null || true + sleep 0.3 read -p "Press Enter when you've saved the key..." else echo -e " ${RED}✗${NC} Failed to generate key. Using public mode."