Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

已关闭 适合新手
#57,664 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
66/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
typescript
领域
frontend

调研方向

找到 Web UI 中的权限请求卡片,并检查它在 375×667 视口下如何布局较长的命令文本以及 Allow once、Allow always 和 Reject 按钮。使用多行命令重现该情况,然后确认命令区域可以滚动,同时所有批准按钮仍可触及。

由索引模型根据 Issue 内容生成。

描述

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.
主要语言
TypeScript
星标
215k
派生
28.9k
平均合并
4 小时 21 分钟
30 天内合并 PR
476

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

anomalyco/opencode 的其他 Issue

查看 anomalyco/opencode 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。