adb: mark every host refusal as `hostRefusal` and derive `dispatched: "no"` from it
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 68/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- android, typescript
調査の方向性
Start with packages/platform-android/src/adb-failure.ts and input-actions.ts, then inspect contracts/fixtures/dispatch-disclosure.json and the Android driver tests. Run the relevant adb-failure and dispatch-disclosure tests to trace attachAdbFailureHint through the real executor. Done means all six host refusals are classified, disclosure reports dispatched: "no" when appropriate, and pnpm check:affected --run passes.
索引モデルが issue の本文から書いたものです。
説明
Part of #3069.
Purpose
#3055 adds hostRefusal: true to the device_offline classification in packages/platform-android/src/adb-failure.ts, meaning the host adb refused the command before it reached the device. Five other reasons in the same matcher table are host refusals too and carry no flag: device_unauthorized, multiple_devices, no_devices, device_not_found, server_version_mismatch. On the dispatched branch, discloseAdbInputDispatch in input-actions.ts says no only for TOOL_MISSING, so an input tap refused for an unauthorized device reads unknown today.
Required behavior
- Each host-refusal reason in
ANDROID_ADB_FAILURE_MATCHERScarrieshostRefusal: true. A reason that can also come from a command that ran on the device (install_*,connection_dropped,timeout) does not. attachAdbFailureHintkeeps stampingdetails.adbHostRefusal.discloseAdbInputDispatchand the helper-session producers saydispatched: "no"whenadbHostRefusal === trueand no earlier step was dispatched (dispatchedSteps === 0). The classifier is the single source; no second string match.- One row per host refusal in
contracts/fixtures/dispatch-disclosure.json, each driven throughattachAdbFailureHintand the real executor.
Completion conditions
adb-failure.test.tsassertshostRefusalfor the six reasons and its absence for the rest.- The dispatch-disclosure gate passes with the new rows owned by the Android driver test.
pnpm check:affected --runpasses.
Dependencies
Blocked by: #3055 (introduces hostRefusal) and #3071 (introduces the table).
- 主要言語
- TypeScript
- スター
- 4.8k
- フォーク
- 315
- 平均マージ
- 11時間 27分
- マージ済み PR(30日)
- 556
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
callstack/agent-device のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
callstack/agent-device#3062 ·
メンテナーはふだん 1 日以内に返信
-
ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
callstack/agent-device#2995 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
callstack/agent-device#1869 ·
メンテナーはふだん 1 日以内に返信
-
needs-triage
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
callstack/agent-device#3077 ·
メンテナーはふだん 1 日以内に返信
-
needs-triage
難易度 4/5 3〜5日 初心者へのやさしさ 68/100
callstack/agent-device#3076 ·
メンテナーはふだん 1 日以内に返信
callstack/agent-device の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
lichess-org/api#678 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
PostHog/posthog.com#20628 ·
メンテナーはふだん 1 日以内に返信
-
bug status:Needs Triage
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
jupyterlab/jupyterlab#19964 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
agentscope-ai/QwenPaw#8064 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area: notebooks-jupyter bug theme: new notebook frontend
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
posit-dev/positron#16347 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信