File view comments disappear from the file after switching threads and coming back

オープン 初心者向け
#33,369 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
82/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
react, typescript
領域
frontend

調査の方向性

apps/web/src/components/files/FilePreviewPanel.tsxの683行目付近を読み、次にapps/web/src/components/diffs/AnnotatableCodeView.tsxがcomposerのドラフトストアからアノテーションを復元する方法と比較してください。ビューのマウント時に、セクションと行範囲を使って現在のファイルのコメントを復元してください。スレッドを切り替えてファイルに戻った後も、送信済みのインラインコメントが表示されていれば完了です。

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

説明

via-triage
What happened

After adding a line comment in the file view, it shows inline under the commented lines. After switching to another thread and back, the inline comments are gone from the file. They still exist as chips in the chat composer, but the file no longer shows which lines were commented, so you can't see what you've already said about the file.

Diagnosis

EditableFileSurface keeps inline comments in local React state that starts empty: useState<FileCommentLineAnnotation[]>([]) (apps/web/src/components/files/FilePreviewPanel.tsx:683 at v0.1.7). Submitting a comment writes it to the composer draft store (addReviewComment) and to that local state, but nothing rebuilds the local state from the store when the view mounts. Switching threads unmounts the view, so the inline comments are lost even though reviewComments in the draft store still has them.

The diff view already handles this: AnnotatableCodeView reads getComposerDraft(target)?.reviewComments and rebuilds the stored annotations (apps/web/src/components/diffs/AnnotatableCodeView.tsx:125-157). The file view could do the same for comments whose sectionId is file:<path>, using startIndex/endIndex for the line range. Current main has the same useState([]) initializer.

Steps to reproduce
  1. Open a thread in a project and open any file in the right panel's file view.
  2. Select some lines, type a comment, and submit it. The comment appears inline under those lines, and a chip appears in the composer.
  3. Switch to another thread.
  4. Switch back and look at the same file.
  5. Expected: the inline comment is still shown. Actual: it's gone, and only the composer chip remains.
Version

0.1.7 (T3 Code Desktop)

Environment

macOS 15 (Darwin 24.6.0), arm64. Desktop app against its local server.

Evidence
Source reading at v0.1.7 and `main`, as described above. No logs are involved, since this is client-side UI state.
Related issues

None found.

Fix applied or workaround

The composer chips (<file> L<a> to L<b>) still list every submitted comment, and the comments are still sent with the next message.

Filed by

Diagnosed and written by Claude Opus 5.5 (claude-opus-5-5) in Claude Code, via T3 Code triage

主要言語
TypeScript
スター
24.8k
フォーク
6.4k
平均マージ
8時間 26分
マージ済み PR(30日)
133

環境構築

Codespaces で開く

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

はじめの一歩

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

pingdotgg/t3code のほかの issue

pingdotgg/t3code の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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