[Bug]: PDF open in Browser panel becomes “Not Found”; reopening its original chat link restores it

Abierto
#36,202 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@juliusmarminge ya está trabajando en esto.

Desde el 13/11/2026.

  • #36205 de @juliusmarminge — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
typescript
Área
desktop

Línea de trabajo

An open pull request (#36205) already targets this, so check its state before starting. Read apps/server/src/assets/AssetAccess.ts for the one-hour URL lifetime and apps/server/src/http.ts for the 404 on an expired signature, then compare the two client paths: apps/web/src/browser/openFileInPreview.ts, which requests a fresh URL on link click, and apps/desktop/src/preview/Manager.ts, which only reloads the existing one. The payload has no failed-request logs or reproduction, so first confirm an expired URL is actually what the panel is showing; done means an open preview either renews access or offers a reload that re-requests the asset.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Area

Desktop — integrated Browser panel / PDF preview

What happened

While using the macOS desktop app to ask questions about lecture notes, I kept a PDF open in the Browser panel on the right.

The PDF had opened successfully from a file link in an earlier assistant response. Later, the preview disappeared and showed “Not Found”.

I scrolled back through the conversation, clicked Load earlier turns to reach the original response, then clicked the PDF link again. The PDF opened successfully.

Expected behaviour

An open PDF remains readable while the conversation continues. If its temporary URL expires, the app renews access automatically or offers a way to reopen the file directly from the panel.

Observed sequence

Reported by the user; not independently reproduced:

  1. Open a local PDF using a file link in an assistant response.
  2. Keep it open in the right-hand Browser panel while continuing the conversation.
  3. The preview eventually shows “Not Found”.
  4. Load earlier conversation history and click the original file link again.
  5. The same PDF opens successfully.

The elapsed time and exact trigger for the failure were not captured.

Investigation

Read-only inspection of main at fa2f4ff2a2 found:

  • File asset URLs have a one-hour lifetime (apps/server/src/assets/AssetAccess.ts).
  • The asset endpoint returns HTTP 404 “Not Found” when a signed URL has expired (AssetAccess.ts, apps/server/src/http.ts).
  • Clicking a file link requests a fresh asset URL (apps/web/src/browser/openFileInPreview.ts).
  • Desktop Browser refresh reloads the existing URL (apps/desktop/src/preview/Manager.ts).

An expired asset URL is a plausible explanation, not a confirmed diagnosis of this incident. The installed desktop version and failed request have not been inspected. Loading earlier history may simply have made the original link accessible again.

Environment
  • T3 Code (Beta), macOS desktop app
  • Local environment, served at 127.0.0.1:3773
  • PDF displayed in the integrated Browser panel
  • Exact app version not captured
Impact and workaround

Interrupts reading a document alongside an ongoing conversation. Recovery required finding the original file link in older chat history and clicking it again.

Related issue

#27681 concerns file previews reloading and losing their position after agent commands. This report concerns an already-open PDF becoming “Not Found”; a shared cause has not been established.

Evidence

No failed-request logs were captured. No screenshots are attached.


Drafted with GPT-6.1-Sol through Codex in T3 Code.

Lenguaje dominante
TypeScript
Estrellas
24.8k
Forks
6.4k
Merge medio
59 min
PR fusionados (30 d)
418

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de pingdotgg/t3code

Todos los issues de pingdotgg/t3code

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.