Skip to content

fix(passwd): also reset The Lounge web-login password#61

Merged
ralyodio merged 1 commit into
mainfrom
fix/passwd-lounge-web-login
Jun 27, 2026
Merged

fix(passwd): also reset The Lounge web-login password#61
ralyodio merged 1 commit into
mainfrom
fix/passwd-lounge-web-login

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

The bug

A member who reset via ssh passwd@ then got "auth failed" at chat.profullstack.com/sign-in.

"Chat" actually has three credentials, and passwd@ was only setting two:

  1. Ergo SASL (/var/lib/ergo/irc-passwd) — native IRC clients ✅ was set
  2. The Lounge saslPassword — how the web client auths to Ergo ✅ was set
  3. The Lounge web-login password — the bcrypt field to sign into chat.<domain> itselfwas never set

So the member could reach IRC but not log into the web client.

The fix

set-irc-password.sh now sets all three to the new password. The web-login password is set via thelounge reset <member>, with the password piped on stdin (never on the command line), behind AGENTBBS_LOUNGE_RESET_CMD (default targets the dockerized The Lounge). Best-effort: a web-reset failure warns but doesn't fail the run (Ergo SASL stays the primary IRC secret).

Also bumped ircpass SetPassword's context timeout 20s→60s, since the helper now also runs a docker exec thelounge … step.

Verified live

On bbs.profullstack.com:

  • Ran the modified helper for an existing member → web-login bcrypt matches the new password, saslPassword matches, Ergo store updated.
  • The affected member's (chovy) web login was reconciled to their current password.
  • Confirmed mail was already correct end-to-end (IMAP login with the new password succeeds; Mailu is single-password so webmail/IMAP/SMTP/files-web all share it).

The live deployed /usr/local/sbin/agentbbs-set-irc-password was updated in place so the next passwd@ works immediately; merging re-installs the same content via setup.sh on the next self-update.

🤖 Generated with Claude Code

passwd@ reset the IRC SASL credential (Ergo store + The Lounge saslPassword) but
NOT The Lounge's own web-login password (the bcrypt field used to sign in to
chat.<domain> itself). So a member who reset their password could connect to IRC
but got "auth failed" at chat.profullstack.com/sign-in.

set-irc-password.sh now sets all THREE chat credentials to the new password:
Ergo SASL, the Lounge saslPassword, and the Lounge web-login password via
`thelounge reset <member>` (AGENTBBS_LOUNGE_RESET_CMD, default targets the
dockerized The Lounge). The password is piped on stdin to `thelounge reset`, so
it never lands on a command line. Best-effort: a Lounge web-reset failure warns
but doesn't fail the run (Ergo SASL stays the primary IRC secret).

Bumped ircpass SetPassword's context timeout 20s→60s since the helper now also
runs a `docker exec thelounge ...` step.

Verified live on bbs.profullstack.com: the modified helper sets all three for an
existing member (web bcrypt match + saslPassword + Ergo store), and the affected
member's web login was reconciled.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

vu1nz Security Review

0 finding(s) in PR #?

No security issues found.

@ralyodio ralyodio merged commit 105ff0e into main Jun 27, 2026
5 checks passed
@ralyodio ralyodio deleted the fix/passwd-lounge-web-login branch June 27, 2026 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant