Assistant: PageUp and Home in a text field scroll the transcript

オープン 初心者向け
#563 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
72/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
html, javascript
領域
frontend

調査の方向性

capsules/assistant/browser/agent-stream.js の主要なガードと、scripts/fixtures/assistant-follow-input.html の実入力マトリックスから始めます。テキストフィールドにフォーカスがある状態で PageUp と Home を再現し、その後、Chromium と WebKit でメッセージボタンのケースを確認します。テキストフィールドでのキー操作でメッセージ履歴がスクロールせず、マトリックスの2つの期待値が報告された動作と一致すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

In Assistant, PageUp or Home pressed while typing in a text field (input, textarea, select or [contenteditable]) scrolls the whole transcript, even when the field itself has nothing to scroll. Same on develop (30b166b05) and on the Jump to latest fix branch, in Chromium and in system WebKit (Safari 26.6.2).

Measured with real key events (Grok review of fix/assistant-jump-flash at 0f7ac56f4, report /private/tmp/cursor-runs/review-jump-flash-r10.report.md, section "Shared cases to file"): Chromium PageUp leaves the transcript at top 1820 (380 px from the end), WebKit at top 1840, Home goes to top 0. The key guard in capsules/assistant/browser/agent-stream.js returns for these targets but does not stop the key, so the browser scrolls the nearest scrollable ancestor, the transcript.

Expected: keys typed inside a text field act on that field only. The transcript moves only for keys aimed at it (focus on the transcript, a message button, or the page body).

Follow behaviour after that scroll is correct and is not part of this issue: the reader really moved, so follow turns off and a growing reply does not pull them back.

When fixing, also correct two expectations in the real-input matrix (scripts/fixtures/assistant-follow-input.html) that the review found wrong: Shift+Space on a message button and WebKit ArrowUp on a message button do not scroll, so they should expect follow to stay on, not a scroll away.

主要言語
Rust
スター
6
フォーク
2
平均マージ
1日 3時間
マージ済み PR(30日)
42

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

elastos/elastos-runtime のほかの issue

elastos/elastos-runtime の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。