Secure Keyboard Entry refusal should name the app/window that enabled it
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 67/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- macos, swift
- 領域
- accessibility, desktop
調査の方向性
Start from the typing route that refuses input when Secure Keyboard Entry is active, then check how desktop_apps reports session.secure_keyboard_entry and how focus information is exposed. Include the focused app identity in the refusal so the user can identify the blocking dialog; done when the refusal names the app holding focus or provides its bundle ID.
索引モデルが issue の本文から書いたものです。
説明
What happened
Typing into an ordinary web form field in Safari was refused:
desktop_insert → refused
"Secure keyboard entry is on, as for a password field or a terminal's
Secure Keyboard Entry, so typed text can't be delivered. Nothing was typed."
hint: "Use a field that isn't secure, or turn off Secure Keyboard Entry in the app."
There was no secure field anywhere near the target. The actual cause was a
com.apple.NetAuthAgent SMB password dialog open behind the Safari window,
holding focus on an AXSecureTextField. macOS enables secure input globally
while that field has focus, so every synthesized keystroke in every app is
blocked.
Why the current hint doesn't help
"turn off Secure Keyboard Entry in the app" is ambiguous — which app? The
agent is pointed at its own target window, which is not the cause. I only
found the real cause by noticing focus.bundle_id had changed to
com.apple.NetAuthAgent in an unrelated desktop_apps call, then inspecting
that window.
Also note the fix is something the agent cannot do: system password prompts
are (correctly) refused to agents, so the only resolution is asking the user
to dismiss a specific dialog — which requires naming it.
Suggestion
desktop_apps already reports session.secure_keyboard_entry. When a typing
route is refused for this reason, include the app that currently holds focus
in the refusal, e.g.:
"Secure keyboard entry is on. com.apple.NetAuthAgent ("Enter your name and
password for the server …") holds focus on a secure field. Ask the user to
dismiss or complete it; agents cannot answer system password prompts."
Even just focused_bundle_id in the error payload would be enough to let the
agent inspect and describe it.
Environment
Desktop Tools 0.16.1 (app + MCP), macOS 27, Safari 27
- 主要言語
- Swift
- スター
- 0
- フォーク
- 0
- 平均マージ
- 39分
- マージ済み PR(30日)
- 144
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
githubnext/desktop-tools のほかの issue
-
ace documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
githubnext/desktop-tools#104 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
githubnext/desktop-tools#179 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
githubnext/desktop-tools#178 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
githubnext/desktop-tools#177 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
githubnext/desktop-tools#159 ·
メンテナーはふだん 1 日以内に返信
githubnext/desktop-tools の issue をすべて見る
似ている issue
-
accessibility bug medium-priority mobile
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
lognorman20/monaco#6247 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
swiftlang/swift-format#1312 ·