Project picker is hard to discover: breadcrumb project name looks like a switcher but starts a new thread
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- react, typescript
- Ambito
- accessibility, frontend
Direzione di ricerca
Leggi apps/web/src/components/chat/ChatHeader.tsx, apps/web/src/components/chat/DraftHeroHeadline.tsx e il tono del selettore in apps/web/src/components/ui/button.tsx. Confronta le interazioni del breadcrumb e dell’intestazione della bozza, poi scegli una delle modifiche all’affordance elencate. Il lavoro è completato quando un utente alla prima esperienza può capire come cambiare progetto e il controllo pertinente si comporta come descritto; l’issue non indica un test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- TypeScript
- Stelle
- 24.8k
- Fork
- 6.4k
- Merge medio
- 3h 20m
- PR unite (30g)
- 208
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pingdotgg/t3code
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
pingdotgg/t3code#27146 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
pingdotgg/t3code#27022 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Device hub update button is clipped with long canary version stringsForse già presa @juliusmarminge l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di pingdotgg/t3code
Issue simili
-
Replace discontinued crypto-js in the themeForse già presa @aelmanaa l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
PaloAltoNetworks/docusaurus-openapi-docs#1689 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
solana-foundation/solana-web3.js#4015 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
formatSearchQuery drops the :present modifier, so `email:present=true` is sent as `email=true`Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 1/5 1-3 ore Idoneità per principianti 90/100
ivopogace/opencode-courier#422 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
chapel-lang/chapel-vscode#158 ·
I maintainer di solito rispondono entro 1 giorno