aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/config.py
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-08-13 15:40:06 +0200
committerChristophe Besson <cbesson@gmail.com>2026-08-13 15:40:06 +0200
commit78639260932dbd679d0de1f3132c645440962f46 (patch)
treee6acbfc0219167057eff9c99ddf54ebc5f610ad0 /packages/meshbay-node/src/meshbay_node/config.py
parent600b698ab0cb9733dabf66f9528a6a868122c4f7 (diff)
downloadmeshbay-78639260932dbd679d0de1f3132c645440962f46.tar.gz
feat(node): keep the daemon alive when the hub rejects credentials
A node whose owner has not registered yet got a plain 401 from /v1/nodes/auth, which _login_with_retry re-raised — so the daemon exited and took its local admin UI down with it. That UI is where the operator reads the node's public key in order to link it, so exiting strands them: no daemon, no key, no way forward without digging the keystore open by hand. The daemon already parks on "No node key" for exactly this reason; it now parks on any 401, reporting waiting_for_account with a message naming the account and hub, and keeps retrying every 30s. The intended order remains: register on the hub, install the node, copy its key from the local UI, paste it into Settings > Link Node. The daemon now survives being started out of order instead of failing with a traceback. Adds QE/deploy/ — generic deployment (deploy-hub.sh, deploy-node.sh) kept separate from the demo scenario (demo.py, demo.env, README.md). Credentials live in QE/, which is gitignored; verified with git check-ignore. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/config.py')
0 files changed, 0 insertions, 0 deletions