Repository navigation
fix(accounts): normalize accepted account-link callback sockets - #1405
Conversation
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
|
Exact-head validation is complete at This establishes Windows after-fix behavior. It does not isolate this socket-mode hazard as the sole cause of the earlier #1287 CI abort, and no live GOG account was tested. The PR remains open and unmerged. |
Account-link callbacks use a nonblocking listener so pending attempts can be cancelled. Accepted sockets can inherit that mode on Windows, causing reads to fail before the browser sends its headers even though a read timeout is configured.
Normalize each accepted stream to blocking mode and require its existing two-second read timeout and a matching write timeout to be installed successfully. Provider validation, callback parsing, cancellation, ownership and redirect behavior are unchanged.
Add a regression that establishes TCP, delays complete HTTP headers by 100 ms, then checks the real callback values and success redirect. The test passes before and after on Linux, where accepted streams are already blocking. An existing Windows GOG callback test failed with
ConnectionAbortedduring #1287 CI; exact Windows recovery remains to be verified, rather than inferred from Linux.Verified on a fresh, source-isolated core target: 57 account-filtered tests, the full core suite with 911 passed and 4 ignored, formatting and strict all-target Clippy. Parent independently inspected the one-file diff and reran all 13
account_connections::testssuccessfully.This is separate from the RTT changes in #1287.