fix(ios): own idle snapshot bridge socket errors
Merged
TH
18h ago+155+155+012345678901234567890123456789-13-13-01234567890123456789
Summary
Own snapshot bridge socket errors through idle handoff and disposal. Retire only the matching connection, use the acquired socket, and preserve close refusal priority. Three files changed. Fixes #4424; umbrella #4368.
Validation
Head 721aa6815ffcae358509ca3a476979dd921076da; base/merge-base 9cbbae2c857d5ce2915b0fe3f8953999c967d2c8.
- Pinned11.17 install/build passed; focused68 passed. Single affected run passed all eight runnable checks:
exactCommit=true,checkoutChanged=false,failOpen=false, clean before/after. Related341 passed; full-unit fallback19,341 passed/zero failed/three skipped (names unavailable). - Provider integration deduplicated against related tests. Coverage/macOS replay were GitHub-owned; iOS replay/device replay parked/manual. Current-head CI, including Coverage, Integration and Android/iOS/macOS/Linux smoke, passed. Apex approves; Cubic reports no issues. GitHub reports MERGEABLE/CLEAN. Conditional skips are not passes.
- Rebase preserved both bridge patches; main supplies the superseded sentinel fix. Fresh source review found no findings. Originalfb2 regression:49 head/restored passes, base detected one failure/unhandled socket error. Historical #4462 receipts remain failed; this new-head pass does not explain their cause.
- Current-head live Settings AX snapshots recovered after a verified idle socket close and helper termination under the same daemon identity. Post-write socket fault produced typed
transport-failure/bridge-connection-closedand normal runner fallback; relaunch restored AX for the new generation. Debugger instrumentation is not kernelRST/native-delivery proof. Cleanup completed; late inspection observed the configured60s idle closure and retains its overly strict assertion failure. See the detailed PR evidence comment.