Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

fix(agent-isolation): touch-overlay dismissals do not identify their signature precisely

Aperta
#1,834 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@leninworld ci sta già lavorando.

Dal 28/10/2026.

  • #1894 di @leninworld — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
1-2 giorni
Idoneità per principianti
56/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
git, python
Ambito
devtools, security

Direzione di ricerca

Follow up from #1832 and locate the watcher logic for dismissal_holds, signer PID recording, and agent socket rows; the issue does not name files or tests. Read the two-watcher test mentioned in the issue and trace how authentication end is detected. Done means both dismissal cases behave as described, with tests covering the relevant watcher behavior.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

family:tools substrate:sandbox

Follow-up to #1832. In both cases below, a touch-overlay dismissal does not identify its signature precisely.

1. A terminal and an agent session watching the same signature re-show a dismissed window.
When an agent session is armed while git signs from a terminal, two watchers track the same signature. The wrapped watcher (gpg.program / gpg.ssh.program set to the wrap shim) records its wrapper shell's pid as the signer. The hook watcher records the real gpg / ssh-keygen pid. dismissal_holds rejects a marker while a signer it doesn't name is running, so each watcher rejects the other's dismissal, and the window can come back for a signature that was already dismissed. The effect is extra windows only, never a missing one.

A possible fix: the wrapped watcher records its real signer child's pid as well as the wrapper's, so both watchers name the same signature. A two-watcher test covers it.

2. An ssh-authentication dismissal covers another ssh authentication within its minute.
An ssh authentication has no signer process, so its dismissal is an empty marker bounded only by DISMISS_TTL_MIN. Another ssh operation started within that minute (a second git push, say) gets no window, and waits on the key with nothing on screen. Before #1832 the same dismissal lasted until every session went idle.

A possible fix: clear an empty marker when the watcher sees the authentication end (the agent socket rows drop back). The cost is an extra window for another session's authentication if it is still waiting.

🤖 Generated with Claude Code

Lingua principale
Python
Stelle
124
Fork
114
Merge medio
14h 39m
PR unite (30g)
370

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/magpie

Tutte le issue di apache/magpie

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.