mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-21 01:51:39 -06:00
923e972564
* fix(apple): gate gateway RPC polling on the hello method catalog Released 2026.7.x gateways authorize before method dispatch and reject unknown methods with INVALID_REQUEST / "missing scope: operator.admin", which never names the method, so the shared Swift kit's error-text matchers could not detect an unsupported gateway: queued sends wedged in a delay-free sessions.branches.list reconcile loop, question.list burned its retry budget per health event, and progressCard.get fired a rejected fetch per event. Port the Android fix pattern (#126540): generalize the progressCard-only transport seam into tri-state gatewayAdvertisesMethod(_:), make hello catalog parsing distinguish absent (nil) from empty, route branch listing through a catalog-checking dispatch point with a typed BranchListingUnadvertisedError, tighten error-text matching to the modern "unknown method:" shape, and skip question.list/progressCard.get when unadvertised. Regression tests encode the exact 2026.7.1-2 wire shape and fail pre-fix (A/B verified). * fix(apple): keep explicit unsupported branch-listing replies releasing sends ClawSweeper P1: the tightened matcher dropped the shipped acceptance of explicit unsupported/unimplemented GatewayResponseError replies that name sessions.branches.list, which would wedge queued sends on a pre-catalog gateway emitting that shape. Collapse the matcher onto the bridged localizedDescription (errorDescription always prefixes the method name), preserving both legacy qualifier shapes while still rejecting bare missing-scope denials and the old false-positive-prone INVALID_REQUEST arm; add the releasing-send regression test.