deleteSubAgent doesn't stick while a client is still connected
I maintainer di solito rispondono entro 1 giorno
@cjol ci sta già lavorando.
Dal 5/8/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Steps:
- A client opens a WebSocket to a sub-agent (a
/sub/...path through the parent). - The parent calls
deleteSubAgentfor that sub-agent.hasSubAgentnow returns false. - The client sends one more message, or just disconnects.
hasSubAgentreturns true again. The sub-agent is back, with fresh state.
Expected: the sub-agent stays deleted.
Cause: the parent routes every incoming WebSocket frame with _cf_resolveSubAgent, which creates the sub-agent when it doesn't exist. deleteSubAgent doesn't close open connections. So the old connection survives the delete, and its next message (or its close event) recreates the sub-agent it was pointing at.
Repro on main (a68736f), using the existing test agents:
const parent = await getAgentByName(env.TestSubAgentParent, parentName);
await parent.subAgentPing(childName);
const ws = await connectWS(
`/agents/test-sub-agent-parent/${parentName}/sub/counter-sub-agent/${childName}`
);
await parent.subAgentDelete(childName);
expect(await parent.has("CounterSubAgent", childName)).toBe(false);
ws.send("straggler"); // or just ws.close()
await expect.poll(() => parent.has("CounterSubAgent", childName)).toBe(true);
Workaround: in _cf_forwardSubAgentWebSocketMessage and _cf_forwardSubAgentWebSocketClose, check hasSubAgent first and drop the frame when the sub-agent is gone.
- Lingua principale
- TypeScript
- Stelle
- 5.6k
- Fork
- 726
- Merge medio
- 1g 8h
- PR unite (30g)
- 103
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di cloudflare/agents
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
cloudflare/agents#2376 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
think: telegramMessenger can't enable native draft streaming (@chat-adapter/telegram >= 4.38 made it opt-in)Forse già presa @threepointone l’ha presa 1 giorno fa. Apertabug
cloudflare/agents#2397 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
WorkersAIFluxSTT hides the Workers AI error when Flux refuses a connectionForse già presa @cjol l’ha presa 3 giorni fa. Apertabug
cloudflare/agents#2377 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
cloudflare/agents#2367 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
cloudflare/agents#2359 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di cloudflare/agents
Issue simili
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
inu-appcenter/memorIN-frontend#106 ·
I maintainer di solito rispondono entro 1 giorno
-
kind/bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 7 giorni
-
[Bug] @deck.gl/arcgis dist import resolves to unpublished @deck.gl/core source path (9.3.11, 9.4.0)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
fix: CopyFilters ignores tabApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
CSCfi/sd-search-ui#145 ·
I maintainer di solito rispondono entro 1 giorno
-
Add: Cbeebies pl SDApertacheck:passed streams:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno