The mosaic tui login prompt used a plain readline.question() for the password field, which echoed characters visibly to the terminal. Replaced with the existing promptSecret() helper that uses TTY raw mode — the same function already used by mosaic gateway login.
Test plan
pnpm --filter @mosaicstack/mosaic test — 260 tests pass
Typecheck clean
lint-staged passed
## Summary
The `mosaic tui` login prompt used a plain `readline.question()` for the password field, which echoed characters visibly to the terminal. Replaced with the existing `promptSecret()` helper that uses TTY raw mode — the same function already used by `mosaic gateway login`.
## Test plan
- [x] `pnpm --filter @mosaicstack/mosaic test` — 260 tests pass
- [x] Typecheck clean
- [x] lint-staged passed
The TUI login flow used a plain readline.question() for the password
prompt, which echoed characters to the terminal. Replaced with the
existing promptSecret() helper that uses TTY raw mode to suppress
echo — the same function already used by `mosaic gateway login`.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
The
mosaic tuilogin prompt used a plainreadline.question()for the password field, which echoed characters visibly to the terminal. Replaced with the existingpromptSecret()helper that uses TTY raw mode — the same function already used bymosaic gateway login.Test plan
pnpm --filter @mosaicstack/mosaic test— 260 tests pass