Project picker is hard to discover: breadcrumb project name looks like a switcher but starts a new thread
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 72/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- react, typescript
調査の方向性
apps/web/src/components/chat/ChatHeader.tsx、apps/web/src/components/chat/DraftHeroHeadline.tsx、apps/web/src/components/ui/button.tsxのピッカーのトーンを確認してください。パンくずリストと下書き見出しの操作を比較し、一覧にあるアフォーダンスの変更を1つ選んでください。初めて使うユーザーがプロジェクトの切り替え方を認識でき、該当するコントロールが説明どおりに動作すれば完了です。このissueではテストは指定されていません。
索引モデルが issue の本文から書いたものです。
説明
What happened
A new user (fresh install of the desktop app) wanted to switch a new thread to a different project. They clicked the project name in the top-bar breadcrumb (my-portfolio / New thread) and nothing visible happened, so they concluded project switching was broken. The only project list they could find was the sidebar filter.
The actual project picker is the project name inside the centre heading, "What should we build in my-portfolio?". The user did not recognise it as clickable until it was explicitly pointed out.
Diagnosis
This is not a functional bug. Both controls work as coded, but their affordances are swapped:
- The top-bar breadcrumb project name looks like a switcher but is a "New thread in " button.
apps/web/src/components/chat/ChatHeader.tsx(around lines 290-307) wires it toonNewThreadInProject. When you are already on an empty new thread in that project, clicking it changes nothing on screen. The only hint is a hover tooltip ("New thread in my-portfolio"). This is unchanged onmainas of 2026-10-30. - The real project picker in the draft hero has no visual affordance. In
apps/web/src/components/chat/DraftHeroHeadline.tsx, the project name is aComboboxTriggerrendered asInlineButton tone="picker". Inapps/web/src/components/ui/button.tsx:108-109, that tone only adds an underline while the popup is open (data-popup-open:underline). At rest it reads as slightly bolder heading text: no underline, chevron, or outline.
As a result, a first-time user clicks the thing that looks interactive (breadcrumb), sees nothing happen, and never discovers the thing that is interactive (heading).
Suggestions (any one would have prevented this):
- Make the breadcrumb project name open the same project picker, or at least do so when the current thread is an empty draft.
- Give the hero project name a resting affordance, such as a chevron, a dotted underline, or a hover background.
- If the breadcrumb must stay "new thread", give it a visual cue such as a
+icon so it doesn't read as a picker.
Steps to reproduce
- Install the desktop app and add at least two projects.
- Open a new thread in project A. The top bar shows
A / New thread. - Click
Ain the top bar. Expected: a project list. Actual: no visible change (a new thread in A is "opened" again). - Note that "What should we build in A?" gives no indication that
Ais clickable. Clicking it does open the "Search projects..." picker.
Version
0.1.5 (desktop app and local server)
Environment
macOS 27.0 (Darwin 27.0.0, arm64), Node v26.12.1, desktop app "T3 Code (Beta)" 0.1.5 against the local server
Evidence
# ChatHeader.tsx (v0.1.5 and main): breadcrumb project button
aria-label={`New thread in ${activeProjectName}`}
onClick={onNewThreadInProject}
# ui/button.tsx:108-109: picker tone only underlines while open
picker: "gap-1 text-foreground decoration-from-font underline-offset-4 data-popup-open:underline",
Screenshots of the top bar and the hero heading will be attached below.
Related issues
None found when searching for breadcrumb or header project switching.
Fix applied or workaround
None needed on the machine. Workaround: click the project name in the "What should we build in …?" heading, or start the thread from the sidebar.
Filed by
Claude Code (claude-opus-5-5) via t3 triage
- 主要言語
- TypeScript
- スター
- 24.8k
- フォーク
- 6.4k
- 平均マージ
- 3時間 20分
- マージ済み PR(30日)
- 208
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pingdotgg/t3code のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
pingdotgg/t3code#27146 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
pingdotgg/t3code#27022 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[Bug]: Device hub update button is clipped with long canary version strings対応中かも @juliusmarminge が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
pingdotgg/t3code の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
components-web-app/docs#307 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
localstack/localstack-mcp-server#112 ·
メンテナーはふだん 1 日以内に返信
-
area:frontend kind:bug priority:p1 ready
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
bug ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
PhyberApex/kuroshiro#1687 ·
メンテナーはふだん 1 日以内に返信
-
Performance (Web Vitals) collector: LCP/FCP from background tabs are not discarded, inflating p75オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
umami-software/umami#4720 ·
メンテナーはふだん 3 日以内に返信