Protocol tab leaves a request PENDING when the server denies it with a bare HTTP 403
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 50/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
Start by reproducing with a reverse proxy that returns a bare 403 for tools/call, then compare the Protocol tab's request entry with the Tools panel error path that already shows 'Error POSTing to endpoint: Forbidden'. Find where a 403 response is handled for the Protocol entry and make it resolve as an error carrying the HTTP status. Done when the echo call and subscriptions/listen both show an error in Protocol, the Subscriptions section shows the refused listen, and the listen is no longer re-sent after a definitive 403.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
When a server denies a JSON-RPC request with a bare HTTP 403 Forbidden (no WWW-Authenticate header), the web client's Protocol tab never resolves that request's entry. It stays PENDING for good, instead of showing the failure.
The failure is reported elsewhere:
- The Tools panel shows
Tool Error: "Error POSTing to endpoint: Forbidden". - The connection stays
connected. That is correct since #2515 / PR #2690, which stopped a bare 403 from starting OAuth discovery.
So the Protocol tab, the surface meant to record what happened on the wire, disagrees with the rest of the UI about whether the request finished.
It is pre-existing: 2.10.1 does the same. It was found during the v2.11.0 milestone smoke (#2718), while driving #2515.
Reproduce
- Put a reverse proxy in front of an HTTP test server that answers one JSON-RPC method with a bare
403 Forbidden: no body that matters, noWWW-Authenticate. Let everything else through. - Connect the web client (prod
--web) to the proxy. - Legacy: run the
echotool while the proxy 403stools/call. - Modern: subscribe to a resource on a
subscriptionsserver while the proxy 403ssubscriptions/listen. - Open the monitoring sidebar → Protocol.
Observed
tools/call echostaysPENDING.subscriptions/listenstaysPENDING. On modern, the UI also re-sendssubscriptions/listenabout 7 times in ~5s after the 403, and the Subscriptions section never surfaces the denial.- The proxy log confirms each request got its 403 response immediately.
Expected
The entry resolves as an error carrying the HTTP status, and the Subscriptions section shows that the listen was refused. The repeated re-send after a definitive 403 is worth a look in the same pass.
- Lenguaje dominante
- TypeScript
- Estrellas
- 11.1k
- Forks
- 1.6k
- Merge medio
- 4 h 56 min
- PR fusionados (30 d)
- 155
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una 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/inspector
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
modelcontextprotocol/inspector#2810 ·
Los mantenedores suelen responder en 1 día
-
local:gate cannot pass on Windows — pre-existing failures in test:scripts, coverage:web and coverage:mcpdoPosiblemente ocupada @olaservo la tomó hace 1 día. Abiertobug v2
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
modelcontextprotocol/inspector#2748 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
blocked chore v2
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
modelcontextprotocol/inspector#2548 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
blocked chore v2
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
modelcontextprotocol/inspector#2547 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Create the GitHub App for board writes and security-alert reads, and store its credentials as org secretsPosiblemente ocupada @cliffhall la tomó hace 6 días. Abiertochore v2
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
modelcontextprotocol/inspector#2544 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de modelcontextprotocol/inspector
Issues similares
-
a10y a10y-audit ai-driven-qa claude
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
linagora/twake-directory-manager#219 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
Los mantenedores suelen responder en 1 día
-
0️⃣ phase/new
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Pulse v7: buildPreferencesFromTelos() bypasses telosSectionOrFile(), renders empty on unified-TELOS installsPosiblemente ocupada @zephyr91 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
danielmiessler/LifeOS#2393 ·
Los mantenedores suelen responder en 4 días