deleteSubAgent doesn't stick while a client is still connected
Los mantenedores suelen responder en 1 día
@cjol ya está trabajando en esto.
Desde el 5/8/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 5.6k
- Forks
- 726
- Merge medio
- 1 d 11 h
- PR fusionados (30 d)
- 86
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cloudflare/agents
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
cloudflare/agents#2376 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
cloudflare/agents#2349 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
cloudflare/agents#2299 ·
Los mantenedores suelen responder en 1 día
-
Transcript repair keeps `approval-responded` tool parts forever; if their continuation never runs, every later turn fails at OpenAI-compatible providersPosiblemente ocupada @threepointone la tomó hace 1 día. Abiertobug
cloudflare/agents#2382 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
cloudflare/agents#2381 ·
Los mantenedores suelen responder en 1 día
Todos los issues de cloudflare/agents
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
melgarafael/DeskcommCRM#1812 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
prisma/prisma-cli#309 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
gregwebs/pi-quota-dispatcher#26 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
openwatersio/slackwater.xyz#124 ·
Los mantenedores suelen responder en 1 día
-
agent-reported area/browser area/docs documentation good first issue hacktoberfest help wanted P2
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 2 días