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

オープン
#36,202 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@juliusmarminge がすでに取り組んでいます。

2026年11月13日 から。

  • #36205 @juliusmarminge による — オープン

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
30/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
typescript
領域
desktop

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
TypeScript
スター
24.8k
フォーク
6.4k
平均マージ
59分
マージ済み PR(30日)
418

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

pingdotgg/t3code のほかの issue

pingdotgg/t3code の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。