mirror of
https://github.com/coder/coder.git
synced 2026-06-06 06:28:20 +00:00
8991a5966e
_Disclaimer: investigation done by Claude Opus 4.5_ Closes https://github.com/coder/internal/issues/1173 Closes https://github.com/coder/internal/issues/1174 The agent containers API is only marked "ready" under this condition in `agent/agentcontainers/api.go`: ```go // For now, all endpoints require the initial update to be done. // If we want to allow some endpoints to be available before // the initial update, we can enable this per-route. ``` However, what was actually being checked for was that the _init_ was done, not the _initial update_. In agent/agentcontainers/api.go, the `Start()` method: 1. Called `Init()` which closed `initDone` <--- API marked ready here 2. Then launched `go api.updaterLoop()` asynchronously 3. `updaterLoop()` performs the initial container update <--- should have marked it ready after this This PR fixes these semantics to avoid the race which was causing the above two flakes. Signed-off-by: Danny Kopping <danny@coder.com>