Skip to content

fix: stop retrying refused OpenChamber sign-ins; patch dependency advisories - #36

Merged
AlaeddineMessadi merged 2 commits into
mainfrom
fix/openchamber-login-cooldown
Oct 29, 2026
Merged

AlaeddineMessadi merged 2 commits into
mainfrom
fix/openchamber-login-cooldown

Conversation

@AlaeddineMessadi

Copy link
Copy Markdown
Owner

Follow-ups to #34 before 3.1.0.

Changes

  • Stop retrying refused OpenChamber sign-ins (src/auth.ts). With a wrong OPENCODE_OPENCHAMBER_PASSWORD, every tool call and client retry posted the password again. OpenChamber locks the client IP out for 15 minutes, UI included, after 10 failures less than 5 minutes apart (checked in @openchamber/web 1.24.0, ui-auth.js). Even a 60s cooldown would only delay the lockout. Now:
    • a 401, or a 200 with no client token, is reported until restart, because the password comes from the environment;
    • a 429 waits for Retry-After, in seconds or as an HTTP date;
    • other 4xx responses wait 60s;
    • network errors and 5xx responses are retried as before, because they never reached the limiter.
  • Dependency floors (package.json). @modelcontextprotocol/core and /server go to ^2.4.0, and zod to ^4.6.6, for GHSA-jm63-cq47-j5jp, GHSA-46jr-4wx8-v453, GHSA-f897-62hf-6gxq, GHSA-mrhx-c7xc-m3w5 and GHSA-rvq5-wwqv-78pq. The ranges are raised, not only the lockfile, because the published package doesn't ship one. Dev dependencies are refreshed too.
  • Docs. 3.x needs OpenChamber 1.12 to 1.24. 1.12 added client tokens, and 2.x fronts OpenCode 2.x. The docs also now say when to set a stable OPENCODE_OPENCHAMBER_CLIENT_ID so restarts don't pile up trusted-device entries.

Validation

  • npm test: 525 passed, 3 skipped. There are new tests for a wrong password held until restart, Retry-After, 5xx and network-error retries, and Retry-After parsing. I confirmed the retry tests fail if every error is cached.
  • tsc --noEmit, npm run docs:check, npm pack --dry-run and git diff --check pass, and npm audit reports 0 vulnerabilities.
  • Not tested against a live OpenChamber deployment.

Raise @modelcontextprotocol/core and /server to ^2.4.0 and zod to ^4.6.6
so fresh installs of the package (which ignore the lockfile) get the
patched versions. Refresh dev dependencies; npm audit is clean.
A wrong password was posted again on every tool call and client retry,
which reaches OpenChamber's failure limit (10 failures less than 5
minutes apart) and locks out the client IP, UI included, for 15 minutes.

Hold a rejected password until restart, honour Retry-After on 429,
hold other refusals for 60s, and keep retrying network errors and 5xx.
Document the OpenChamber 1.12-1.24 requirement for 3.x and when to set
a stable OPENCODE_OPENCHAMBER_CLIENT_ID.
@AlaeddineMessadi
AlaeddineMessadi merged commit a8ef8b1 into main Oct 29, 2026
4 checks passed
@AlaeddineMessadi
AlaeddineMessadi deleted the fix/openchamber-login-cooldown branch October 29, 2026 01:09
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