After a subscriptions/listen reconnect, how does a client learn about transitions it missed?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- api, backend-api-design
Línea de trabajo
Start with the cited task subscription requirements in specification/2026-07-28/tasks.md, then read the reconnection behavior in basic/patterns/subscriptions.mdx and the SSE note in changelog.mdx. Compare the server-side and client-side proposals, resolve which requirement the specification should adopt, and update the relevant task subscription text so missed transitions are handled after reconnecting.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Context
notifications/taskscarries a completeDetailedTask, "identical to whattasks/getwould have returned at that moment" (specification/2026-07-28/tasks.md:477). Clients "MAY continue pollingtasks/getin addition to subscribing … but need not do so" (:505).- In core MCP 2026-07-28, an abrupt transport drop ends a subscription (
basic/patterns/subscriptions.mdx:125). The client "MAY treat [it] as a trigger to reconnect" (:157-158). On stdio it "MUST re-sendsubscriptions/listen", and the server "holds no subscription state across reconnections" (:160-162). - SSE resumability was removed on purpose in this revision (SEP-2575,
changelog.mdx:28). This issue doesn't ask to bring it back. Snapshot notifications make it unnecessary for tasks, with one exception, below.
The gap
A client that follows :505 and relies on notifications alone can do this:
subscriptions/listenwithtaskIds: [T], and the ack confirmsT.- The transport drops.
Tmovesworking → completed(or→ input_required) while no stream exists. The notification has nowhere to go.- The client reconnects and re-sends
subscriptions/listenforT, and the server acks. Tis terminal, so nothing further ever changes. The client never receives a notification and waits untilttlMsexpires.
For input_required, the task also stalls server-side, because the client never sees inputRequests.
Proposal (either line settles it)
- Server side: "After acknowledging a
subscriptions/listenthat includestaskIds, the server SHOULD send onenotifications/taskscarrying the currentDetailedTaskfor each acknowledged task ID." This is snapshot-on-subscribe, the same shape A2A'sSubscribeToTaskuses. - Client side: "A client that (re-)establishes a subscription MUST call
tasks/getonce for each task ID in the acknowledgement before relying on notifications alone." This needs no server change and fits the "need not poll" text as long as that text gets this qualifier.
lastUpdatedAt (tasks.md:133) already lets a client discard a stale snapshot if both a poll and a notification arrive, so either option is safe to combine with polling.
- Lenguaje dominante
- TypeScript
- Estrellas
- 51
- Forks
- 10
- Merge medio
- 5 d 4 h
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 modelcontextprotocol/ext-tasks
-
tasks/get examples under "Task Execution Errors" use "resultType": "task"; prose and schema require "complete"Posiblemente ocupada @davidscotttufts la tomó hace 11 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
modelcontextprotocol/ext-tasks#23 · 1 comentario ·
-
Client support matrix inclusionAbiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
modelcontextprotocol/ext-tasks#22 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
modelcontextprotocol/ext-tasks#20 · 2 comentarios ·
-
Stalled tasksAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
modelcontextprotocol/ext-tasks#11 · 2 comentarios ·
Todos los issues de modelcontextprotocol/ext-tasks
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
kind/chore priority/must
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
sidereal-io/sidereal#380 ·
Los mantenedores suelen responder en 1 día
-
Mend: dependency security vulnerability
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
opfab/operatorfabric-core#10653 ·
Los mantenedores suelen responder en 1 día
-
backend bug size:sm
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
chrisbenincasa/tunarr#2237 ·
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 Medio día Aptitud para principiantes 69/100
Lam30ne/regulate-app#39 ·