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

Abierto Apto para principiantes
#62,981 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript
Área
desktop

Línea de trabajo

Lee packages/app/src/providers/models/select-dialog-machine.ts y packages/app/src/providers/models/select-dialog.css para rastrear el ancho y la ubicación del flyout; después, revisa packages/ui/src/navigation/menu/menu.css para comprobar la altura de las filas y el interlineado. Ajusta el ancho del flyout al de su etiqueta y asegúrate de que las líneas partidas tengan suficiente espacio; estará listo cuando quepan las etiquetas largas, las cortas sigan siendo estrechas y la ubicación use el ancho medido.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
TypeScript
Estrellas
225k
Forks
30.4k
Merge medio
4 h 7 min
PR fusionados (30 d)
554

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de anomalyco/opencode

Todos los issues de anomalyco/opencode

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.