<feed xmlns='http://www.w3.org/2005/Atom'>
<title>claudomator.git/internal/api/websocket_test.go, branch story/task-project-fk</title>
<subtitle>claudomator — task automation server
</subtitle>
<id>https://git.terst.org/claudomator.git/atom?h=story%2Ftask-project-fk</id>
<link rel='self' href='https://git.terst.org/claudomator.git/atom?h=story%2Ftask-project-fk'/>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/'/>
<updated>2026-03-10T23:58:00+00:00</updated>
<entry>
<title>test: sandbox coverage + fix WebSocket races</title>
<updated>2026-03-10T23:58:00+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-10T23:58:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=1aea271363884f7d616d95971fd25b6c4d87de85'/>
<id>urn:sha1:1aea271363884f7d616d95971fd25b6c4d87de85</id>
<content type='text'>
executor: add 7 tests for sandboxCloneSource, setupSandbox, and
teardownSandbox (uncommitted-changes error, clean-no-commits removal).

api: fix two data races in WebSocket tests — wsPingInterval/Deadline
are now captured as locals before goroutine start; maxWsClients is
moved from a package-level var into Hub.maxClients (with SetMaxClients
method) so concurrent tests don't stomp each other.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>api: WebSocket auth, client cap, and ping keepalive</title>
<updated>2026-03-08T20:40:15+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-08T20:40:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/claudomator.git/commit/?id=363fc9ead6276cba51b4a72b4349d49ce7ca0f3d'/>
<id>urn:sha1:363fc9ead6276cba51b4a72b4349d49ce7ca0f3d</id>
<content type='text'>
- Require bearer token on WebSocket connections when apiToken is set
- Cap concurrent WebSocket clients at maxWsClients (1000, overridable)
- Send periodic pings every 30s; close dead connections after 10s write deadline

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
