hivecode-mcp 0.11.3 → 0.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/sync.js +15 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hivecode-mcp",
3
- "version": "0.11.3",
3
+ "version": "0.11.4",
4
4
  "description": "MCP server that lets any AI coding agent join a Hivecode room \u2014 humans and multiple AI agents edit one live codebase with folder-scoped permissions and approval gates.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/sync.js CHANGED
@@ -892,8 +892,21 @@ export function startSync({ relay = 'ws://localhost:1234', room = 'default', dir
892
892
  if (code === 401) return 'the relay rejected your token. It may have expired -- ask the room owner for a new invite.'
893
893
  if (code === 402) return `this room is over its plan limit. Contact ${SUPPORT} and we will sort it out.`
894
894
  if (code === 403) return 'the relay refused this room or path for your token. You are outside the folders you were given.'
895
- if (code === 429) return `the relay is rate-limiting this client. Wait a minute; if it persists, contact ${SUPPORT}.`
896
- if (code === 503) return `the relay is up but not serving. It may be restarting -- if this lasts, contact ${SUPPORT}.`
895
+ // 429 at the UPGRADE is always Q431 "room at capacity" -- never rate limiting. The rate
896
+ // limiter works on frames after the socket is up and announces itself over the room chat,
897
+ // so it cannot produce this. Saying "rate-limited, wait a minute" here was wrong twice
898
+ // over: it named the wrong cause and it told the user to wait for something that never
899
+ // clears. This one is worth getting right -- a silently-refused connection is invisible
900
+ // (y-websocket retries forever with no error), and on 2026-09-05 that cost an hour and
901
+ // put a wrong root cause into public/control.html: five of thirteen clients never joined
902
+ // a room, and the missing messages were read as a relay bug that does not exist.
903
+ if (code === 429) return `this room is FULL, so you were not let in (Q431). A relay admits a limited ` +
904
+ `number of connections per room -- 8 on the free tier -- and this room is at that ceiling. Note it ` +
905
+ `counts CONNECTIONS, not people: one agent holding several files holds several. If you run the relay, ` +
906
+ `raise it with HIVE_SEATS; otherwise ask whoever does, or contact ${SUPPORT}.`
907
+ if (code === 503) return `the relay is not serving this connection. Either the whole relay is at capacity ` +
908
+ `(Q430) or it could not check your licence and is failing closed rather than guessing. It may also be ` +
909
+ `restarting -- if this lasts, contact ${SUPPORT}.`
897
910
  if (code) return `the relay answered ${code} instead of accepting the connection. Contact ${SUPPORT}.`
898
911
  return `the relay at ${relay} cannot be reached. It may be down, asleep, or blocked by a network. ` +
899
912
  `Your edits are still saved on disk but are NOT being shared. Contact ${SUPPORT} if this continues.`