molecule-core/workspace-server
Molecule AI Core-BE 3b39e94905 fix(handlers): ensure mock TCP server transmits data before closing
Bug: raw-TCP mock servers in integration tests used
`defer conn.Close()` which fires immediately after `conn.Write`
(buffered in kernel send buffer). The connection closed before the
kernel TCP stack finished transmitting the response, so the Go HTTP
client hung waiting for response headers that never arrived.

Test 1 (200 + partial body) timed out at the 5-minute idle timeout:
  - mock server: Accept → Read → Write(135B) → defer Close → goroutine exits
  - client: sent request, waited forever for response headers
  - isDeliveryConfirmedSuccess path never reached

Tests 2-3 (500 / empty body) passed in 500ms because the 500ms
test-body-timeout caught the hanging goroutine. Fix is the same for
all three: write the response, sleep 200ms (kernel TCP transmits),
*then* close.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 18:04:07 +00:00
..
cmd docs(runbook): add admin-auth.md covering test-token route lockdown 2026-05-10 02:20:30 +00:00
internal fix(handlers): ensure mock TCP server transmits data before closing 2026-05-12 18:04:07 +00:00
migrations feat(plugins): plugin drift detector + queue + admin apply endpoint (#123) 2026-05-10 00:39:50 +00:00
pkg/provisionhook feat(#1957): wire gh-identity plugin into workspace-server 2026-04-24 15:01:41 +00:00
.air.toml feat(local-dev): air-based hot-reload for workspace-server 2026-05-08 08:10:50 -07:00
.ci-force chore: force Platform(Go) CI run on main — validate go vet clean 2026-04-21 15:43:19 +00:00
.gitignore feat(local-dev): containerize platform + canvas stack via docker-compose (closes #126) 2026-05-08 10:53:39 -07:00
.golangci.yaml chore(workspace-server): add golangci.yaml disabling errcheck 2026-04-24 07:16:54 +00:00
Dockerfile ci(docker): pin base image digests in all Dockerfiles 2026-05-09 23:56:39 +00:00
Dockerfile.dev ci(docker): pin base image digests in all Dockerfiles 2026-05-09 23:56:39 +00:00
Dockerfile.tenant fix(dockerfile-tenant): chown /org-templates to canvas user so !external resolver can mkdir cache 2026-05-09 19:40:52 -07:00
entrypoint-tenant.sh fix(memory-plugin): gate sidecar spawn on cutover-active 2026-05-05 12:39:03 -07:00
go.mod fix(internal#214): refresh go.sum for the go.moleculesai.app/plugin/gh-identity vanity path 2026-05-09 23:55:20 -07:00
go.sum [core-lead-agent] fix(core#228): cascade fixes for PluginResolver — make main compile 2026-05-10 09:46:35 +00:00