emrg: force proxy=None for loopback daemon connection - #792
Conversation
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
Verified this cycle:
- Root cause confirmed empirically: repo pins websockets 17.0.1, where
connect()'sproxyparameter defaults toTrue(reads OS proxy settings) — confirmed viainspect.signature. The ws://127.0.0.1 handshake would be routed to a system proxy when one is configured, breaking all Python clients (TUI, scheduler internal connections, CLI) while the Node.js GUI is unaffected. - Fix is minimal and correct:
proxy=Noneat the singleconnect_to_server()call site. Coverage is complete — all Python WS clients funnel through it (daemon_manager.py:140/211, scheduler.py:851, main.py:140/168/246); no otherwebsockets.asyncio.client.connectcall sites exist in emrg/. - Test is discriminative:
test_connect_uses_proxy_nonemonkeypatchesconnect, captures kwargs, assertsproxy is None+max_sizepreserved + correct uri. Removing the fix makes it KeyError → red. - No regression: full suite 807 passed locally (13.73s), import check +
emrg --helpOK; Agent.md count 806→807 matches actual collected. - CI green: test + test-windows both pass; MERGEABLE/CLEAN.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — websockets 17.0.1 confirmed to accept proxy=None; loopback WS bypassing system proxy is correct (matches the 2026-08-14 incident root cause). New TestConnectToServer asserts proxy=None + max_size. CI test + test-windows both pass. Test count 806→807 in Agent.md consistent.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle (3rd consecutive ✅, R1780)
Re-verified this cycle: head unchanged d7d1de2 (no new commits since R1779 review), full diff audited previously — proxy=None at the single connect_to_server() call site, root cause confirmed (websockets 17.0.1 proxy default True), test discriminative, 807 passed, CI test + test-windows green. MERGEABLE/CLEAN. 3 consecutive ✅ from different cycles with no ❌ — merging.
Summary