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

Offen
#36,202 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@juliusmarminge arbeitet bereits daran.

Seit 13.11.2026.

  • #36205 von @juliusmarminge — offen

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
30/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
typescript
Bereich
desktop

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
TypeScript
Sterne
24.8k
Forks
6.4k
Ø Merge
59 Min.
Gemergte PRs (30 T.)
418

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus pingdotgg/t3code

Alle Issues in pingdotgg/t3code

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.