[Bug]: Sidebar "update everything" never updates CLI/npm servers (npm check blocked by CORS preflight)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
Lee apps/web/src/state/npmRelease.ts, especialmente la solicitud de npmReleasePublishedAtom y su canalización de Effect; compárala con la configuración propuesta de propagación del tracer. Comprueba la consulta de la versión de npm desde la aplicación web o el renderer de Electron y confirma que se realiza correctamente sin una solicitud previa de CORS. La tarea se considera terminada cuando «actualizar todo» incluye los servidores CLI de boot-service que cumplan los requisitos, una vez publicada la versión de npm de destino.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
On desktop nightly 0.0.46-nightly.20261012.3021, the sidebar's "update everything" button (#18053) updates desktop-app servers but never includes a CLI server. The connected server is a launcher-managed t3 __service-launcher systemd service on 0.0.46-nightly.20261012.3010, which advertises serverSelfUpdate: "boot-service". That server's row in Settings → Connections still shows its update icon, and updating from there works.
npm already has the target version (nightly dist-tag = 0.0.46-nightly.20261012.3021), and both versions are on the nightly channel, so the server should be included.
Cause
useUpdateEverything keeps non-desktop-managed servers only after npm confirms the target version:
apps/web/src/components/sidebar/useUpdateEverything.ts:56-58filters withuseNpmReleasePublished(targetVersion)apps/web/src/state/npmRelease.ts:14checks with Effect'sHttpClient.get+FetchHttpClient.layer
Effect's HttpClient adds traceparent and b3 headers to every request by default (HttpClient.TracerPropagationEnabled defaults to true). Those headers make the browser send a CORS preflight, and registry.npmjs.org answers OPTIONS with 404 and no Access-Control-Allow-Origin. The fetch is blocked, the atom fails, AsyncResult.getOrElse(result, () => false) (npmRelease.ts:40) reports "not published", and every npm/CLI server is dropped from the run. This affects the desktop renderer and app.t3.codes alike. The Connections "Update all" and per-row update don't check npm, which is why they still work.
Repro / evidence
Preflight is rejected:
$ curl -sI -X OPTIONS -H 'Origin: https://app.t3.codes' -H 'Access-Control-Request-Method: GET' \
https://registry.npmjs.org/t3/0.0.46-nightly.20261012.3021
HTTP/2 404 # no access-control-allow-origin
What the effect 4.0.1 the web app ships sends for HttpClient.get(...) with FetchHttpClient.layer:
{"b3":"d25f…-a0cb…-1","traceparent":"00-d25f…-a0cb…-01"}
The same fetch inside the repo's Electron 44 (Chromium), run from an https:// page:
plain GET: ok 200
with trace headers: FAILED Failed to fetch
Expected
"Update everything" includes boot-service CLI servers once npm has the target version.
Suggested fix
Turn off trace propagation for this cross-origin request in npmReleasePublishedAtom (apps/web/src/state/npmRelease.ts):
}).pipe(
Effect.provideService(HttpClient.TracerPropagationEnabled, false),
Effect.provide(FetchHttpClient.layer),
)
With that change no extra headers are sent and the request stays a simple CORS GET (checked with the same probe). A test on the fetch-failure path would also help: right now a failed check looks the same as "not published", which hid this.
- Lenguaje dominante
- TypeScript
- Estrellas
- 24.8k
- Forks
- 6.4k
- Merge medio
- 11 h 33 min
- PR fusionados (30 d)
- 312
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni 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 pingdotgg/t3code
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
[Bug] Windows repository cloning fails while creating an existing drive rootPosiblemente ocupada @pujitha24 la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
[Bug]: iOS still shows "Failed to connect. Retrying" on every resume (follow-up to #5695)Posiblemente ocupada @otavio la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
[Bug]: Server git tests sign fixture commits with the developer's key when run from the repo rootPosiblemente ocupada @Mnigos la tomó hace 2 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
Todos los issues de pingdotgg/t3code
Issues similares
-
affected/v17 affected/v18 area/frontend type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
umbraco/Umbraco-CMS#24186 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
better-auth/better-auth#11723 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
area: docs difficulty: easy documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Worker-Erstellung bricht langsame Git-Worktree-Checkouts nach 20 Sekunden abPosiblemente ocupada @KajoVanBuyten la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
AgentSystemLabs/agent-office#367 ·
Los mantenedores suelen responder en 1 día