mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 17:17:38 +00:00
* fix(relay): a resumed host control adopts the token its hello proved A rebind replaced the socket, lease and epoch but kept the predecessor's token claims, so a host that resumed after its token lapsed (auth down past expiry plus grace) was closed 4401 "relay authorization expired" at the next heartbeat, 15 s later, and every resume repeated it. The rebind now takes the hello's verified claims when they carry a later expiry, and a hello that speaks for another profile or organization starts a new generation instead of resuming. * fix(relay): a refresh never lowers the held expiry and closes only its own socket An auth refresh now keeps the later of the held and refreshed expiry, the rule a resume uses. A refused refresh, or one that meets an idle cutover, closes the socket it arrived on: after a rebind, session.socket is the successor, which proved itself and must not be closed for its predecessor's late frame. Adds an organization-mismatch resume test beside the profile one. * test(relay): a superseded socket's refresh during an idle cutover closes only that socket