nodebb.py draws its password box on the terminal, not in the hook's pipe #17
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/keel-nodebb!17
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/nodebb-draws-on-the-terminal"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
firstboot.d/40nodebbreadsbin/nodebb.py's standard output forAPP_PASS=, and dialog draws on standard output, so an interactive first boot would freeze with the box drawn into the hook's pipe: the bug keel-wordpress 19.0-3 hit on Proxmox on 2026-09-30, fixed for dbpass.py in Keel-Linux/keel-mariadb#20.Fix: the same pattern. nodebb.py keeps a duplicate of the pipe for the KEY=value answers and points standard output, which dialog inherits, at the terminal the hook checked on standard input (else /dev/tty). Without any terminal it exits with a message naming secrets.app_password instead of a traceback. The hook is unchanged.
Tests:
tests/dialog.batsruns the script as the hook does, output redirected, inside a real pseudo terminal (script(1)), with a libinithooks stand-in whose get_password refuses unless fd 1 is a terminal; it fails on the old code and passes on the new.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.