Pulse/internal/relay
rcourtman d746731c75 Dispatch relay proxy requests to the local API in-process
The relay client's HTTP proxy dialed http://127.0.0.1:<FrontendPort> for
every proxied mobile request. With HTTPS_ENABLED the main listener serves
TLS on that port, so Go answered each plaintext dial with a bare
"Client sent an HTTP request to an HTTPS server" 400 - breaking Remote
Access backlog sync (alerts/approvals) on every HTTPS-enabled instance.
A non-loopback BIND_ADDRESS broke the same dial outright.

Route proxied requests through the router's own handler chain in-process
instead, via a streaming-capable RoundTripper (pipe-backed, SSE flush,
panic recovery, loopback RemoteAddr for address-keyed middleware). The
listener's scheme and bind address no longer matter, and the request
traverses exactly the middleware the real listener serves.

Reported by Johannes Strasser (Remote Access thread, 2026-07-14).
2026-07-14 09:26:41 +01:00
..
client.go Dispatch relay proxy requests to the local API in-process 2026-07-14 09:26:41 +01:00
client_abrupt_disconnect_test.go
client_additional_test.go
client_backoff_test.go
client_close_race_test.go
client_drain_inflight_test.go
client_e2e_test.go
client_handshake_error_test.go Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00
client_license_lifecycle_test.go Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00
client_managed_runtime_test.go Stabilize backend race tests for v6 RC publish 2026-04-11 22:46:34 +01:00
client_session_resume_test.go
client_shutdown_test.go
client_test.go Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00
config.go
config_env.go Aggregate simplify-review cleanups (no behavior change) 2026-05-12 17:32:11 +01:00
config_env_test.go Aggregate simplify-review cleanups (no behavior change) 2026-05-12 17:32:11 +01:00
config_validation.go
config_validation_test.go
encryption.go Domain-separate relay channel HKDF derivation 2026-04-22 15:04:09 +01:00
encryption_test.go Fix hosted mobile approval proof runtime setup 2026-04-24 17:14:47 +01:00
identity.go
identity_test.go
local_transport.go Dispatch relay proxy requests to the local API in-process 2026-07-14 09:26:41 +01:00
local_transport_test.go Dispatch relay proxy requests to the local API in-process 2026-07-14 09:26:41 +01:00
protocol.go Complete Patrol action lifecycle continuity 2026-07-10 21:22:06 +01:00
protocol_external_contract_test.go
protocol_test.go
proxy.go Dispatch relay proxy requests to the local API in-process 2026-07-14 09:26:41 +01:00
proxy_additional_test.go Harden scanned request and storage boundaries 2026-07-09 17:22:29 +01:00
proxy_test.go
push.go Add canonical action result truth 2026-07-11 21:27:00 +01:00
push_test.go Add canonical action result truth 2026-07-11 21:27:00 +01:00