Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

web: mobile permission card overflows and the approval buttons become unreachable

Abierto Apto para principiantes
#57,664 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
66/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript
Área
frontend

Línea de trabajo

Busca la tarjeta de solicitud de permisos de la interfaz web y examina cómo distribuye el texto de comandos largos y los botones Allow once, Allow always y Reject en una ventana gráfica de 375×667. Reprodúcelo con un comando de varias líneas y luego verifica que el área del comando pueda desplazarse y que todos los botones de aprobación sigan siendo accesibles.

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

Descripción

pending close triaging

Summary

On a phone-sized viewport the web UI's permission request card grows with the command it shows. A long or multi-line command pushes the Allow once / Allow always / Reject buttons past the bottom of the screen, and the card does not scroll, so the request cannot be answered from the client.

Environment

  • opencode version: 2.1.1
  • OS: Windows_NT 10.0.26300 (win32 x64)
  • Terminal: Unavailable: terminal environment variables are not set
  • Shell: C:\WINDOWS\system32\cmd.exe
  • Install/channel: latest (npm global @opencode/[email protected])
  • Active plugins: free_models_drift_check.js (local plugin in ~/.config/opencode/plugins)

Reproduction

  1. Run the v2 server and open the web UI in a phone-sized viewport (iPhone SE, 375x667 CSS pixels), or in a desktop browser in device mode.

  2. Add a permission rule that asks, in opencode.jsonc:

    { "permissions": [{ "action": "shell", "resource": "*", "effect": "ask" }] }
    
  3. Make the agent run a command that spans several lines, for example a PowerShell pipeline or a multi-line python -c.

  4. The permission card shows the whole command, the card ends up taller than the viewport, and the buttons are below the fold with no way to scroll to them.

Expected Behavior

The command text should be clamped (for example a maximum height) and scrollable, so the approval buttons always stay reachable regardless of the command length.

Actual Behavior

The card overflows the viewport, the buttons are cut off and cannot be tapped, and the client is left with a pending permission request it cannot answer.

Additional Context

  • The server side works correctly: the request is created, the permission.asked event is delivered, and the reply is applied. Verified by creating a request through the API and replying through the API.
  • Reproducible every time on a phone-sized viewport with a long command, fine on a desktop viewport, so this looks like a small-screen layout problem.
  • The same card carries the "always" reply, which stores a durable project-scoped allow rule, so being unable to answer also blocks saving approvals.
  • Workaround used for now: keep approval-triggering commands on one short line (write a script file, then run it with a one-line command).
  • Related: the request list endpoint /api/permission/request is location-scoped, so a client has to pass the session location to see pending requests.
Lenguaje dominante
TypeScript
Estrellas
215k
Forks
28.9k
Merge medio
8 h 11 min
PR fusionados (30 d)
365

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.