# ArchForge External Status 1.0.1 — Admin-wizard hotfix

This fixes a problematic interaction between Node.js `readline` and the old `stty -echo` password prompt. It replaces the password prompt with a silent-output TTY reader, so the password is not echoed while typed.

## Restore admin setup after the v1.0.0 installer stopped midway

From your **updated Git checkout** on your **Debian 13 status VPS**, while logged in as root:

```bash
cd ~/archforge-external-status
bash ./recover-admin.sh
```

If you are using a normal sudo user, use `sudo bash ./recover-admin.sh` instead. This command only replaces the installed CLI (admin wizard), then resumes admin creation. It **does not modify** `/etc/archforge-status/status.env`, existing admin accounts, or `/var/lib/archforge-status/status.db`; it does **not restart** your service.

**IMPORTANT:** First upload the v1.0.1 project changes to your ArchForge Git repository, then run `git pull --ff-only` in your existing checkout, or upload/copy the files `src/cli.js` and `recover-admin.sh` into the checkout. You do **not** need to run `install.sh` again, and do **not** run `update.sh` as root. This dedicated recovery command works as root.

If a previous admin exists, the CLI prints `An admin already exists` and leaves it untouched. When you see `New admin password`, type at least 12 characters and press Enter. **No characters, bullets, or asterisks will appear while typing**. Repeat when asked, then register the displayed TOTP secret with your authenticator and enter its six-digit code. Do not publish the secret or terminal screenshot showing it.

## Installations starting from 1.0.1

If you run `sudo ./install.sh` on a server where External Status is already running, the script now invokes recovery only (no package reinstallation). Fresh installs use the fixed TTY prompt automatically.

To check the service:

```bash
systemctl is-active archforge-status
curl -fsS http://127.0.0.1:3000/healthz
```

You can access the admin login at `https://status.archforge.nl/admin/login` after DNS, HTTPS and the service are working.

## Security note

The v1.0.0 prompt could **display passwords in terminal logs** while typing. If you typed a real password at that prompt, use a **new, unique admin password** and do not reuse the old one elsewhere. If it was reused, change it in the other accounts as well.
