Repository navigation
v0.8.11
v0.8.11
The TS page can now limit itself to the host's bridges, the way a Go page can. It also stays under
the relay's message rate, and both it and the dialled Go transport send again whatever the relay
drops for going over it. Before, a dropped reply left the agent waiting out its timeout.
Added (room bridge)
trustBridgeson the TS page.joinToolRoom({ trustBridges: ["bridge"] })answers only
peers whose relay subject is one of the host's bridges, asrooms.TrustBridgesdoes for a Go
page. Without it, any holder of a relay token for the room can call the page's tools directly,
past the bridge's agreement, andctx.callersays whatever that peer claims. It reads the
subject the relay validated throughCollabClient.getPeer, which massrelay v0.3.1 made possible.
Off by default. (PR 1632)- The TS page paces its sends. At most
sendRatemessages a second, 25 by default (exported
asDEFAULT_SEND_RATE), in order, under the relay's per-connection limit of 30.sendRate: 0
turns it off. A burst of replies takes a bit longer and arrives whole. (PR 1632)
Fixed (room bridge)
- A message the relay drops for the rate is sent again. The relay answers one with
RATE_LIMITED, naming the action's id, but neither client set an id, so the error named""and
nothing read it after the join. The TS page and the dialled Go transport (massrelay.Dial) now
stamp an id on each message and send a dropped one again after one, two and four seconds, then
log and give up. The embedded transport never seesRATE_LIMITED, which the relay sends only on
its WebSocket stream. (PR 1632)
Upgrading downstream
- agni:
- Go:
experimental/ext/rooms,…/rooms/massrelayand…/integrations/roomseventsat
v0.8.11. - Browser:
@panyam/mcpkit-rooms@0.8.11. PasstrustBridgeswith the relay subjects agni's
bridges join as, before relying onctx.caller. - Nothing breaks. The pacing is on by default and changes only how fast a burst goes out.
- Go: