desktop: size the variant flyout from the label, not a fixed 160px

Aperta Adatta ai principianti
#62,981 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

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
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
desktop

Direzione di ricerca

Leggi packages/app/src/providers/models/select-dialog-machine.ts e packages/app/src/providers/models/select-dialog.css per seguire la larghezza e il posizionamento del flyout, quindi controlla packages/ui/src/navigation/menu/menu.css per l’altezza delle righe e l’interlinea. Dimensiona il flyout in base alla sua etichetta e assicurati che le righe mandate a capo abbiano spazio sufficiente; il lavoro è completato quando le etichette lunghe entrano, quelle brevi restano strette e il posizionamento usa la larghezza misurata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

reproduced
Description

The model picker's variant flyout is always 160px wide. FLYOUT_WIDTH_PX in packages/app/src/providers/models/select-dialog-machine.ts is 160, and [data-slot="model-dialog-flyout"] in packages/app/src/providers/models/select-dialog.css sets width: 160px ("One width for every model, matching the 160px its placement assumes"). Labels such as "No Thinking Medium" do not fit that box.

Size the flyout from the label instead of a hardcoded 160px: a fixed number of pixels per character, so a short label stays narrow and a longer one grows. placeFlyout already positions the menu from FLYOUT_WIDTH_PX, so that measured width should drive placement too.

A menu row is height: 28px with line-height: var(--line-height-compact) (packages/ui/src/navigation/menu/menu.css). When a label wraps onto a second line, the characters of the two lines sit on top of each other. Wrapped lines need space between them.

Plugins

cursor-opencode-provider

OpenCode version

Desktop 2.2.6

Steps to reproduce
  1. Open the desktop model picker.
  2. Hover a model whose variants are phrases, for example "No Thinking Medium".
  3. Read the flyout beside the row.
Screenshot

Variant flyout with long labels

Operating System

macOS (Darwin 24.6.0, arm64)

Terminal

Desktop app

Lingua principale
TypeScript
Stelle
225k
Fork
30.4k
Merge medio
4h 7m
PR unite (30g)
554

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di anomalyco/opencode

Tutte le issue di anomalyco/opencode

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.