pi extension: herdr never shows the agent as blocked while a revdiff review is open
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 25/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- typescript
- Ambito
- developer-experience, tooling
Direzione di ricerca
Inizia da plugins/pi/extensions/revdiff.ts, in runDirectReview, e ispeziona l’event bus dell’estensione pi utilizzato dall’integrazione herdr. Verifica che il ciclo di vita della review segnali uno stato bloccato mentre la UI di revdiff è aperta e lo rimuova quando la review termina, inclusi i percorsi di errore o annullamento; PR #319 contiene già la modifica proposta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Current behavior
With the pi plugin, revdiff_review runs revdiff in-place: runDirectReview in plugins/pi/extensions/revdiff.ts does spawnSync(revdiffBin, ..., { stdio: "inherit" }), so pi is suspended inside the tool call while the user reviews. To anything supervising the agent from outside, the session looks busy rather than waiting on the user.
Concrete case: herdr gets omp/pi lifecycle state from its installed hook integration (which disables herdr's screen-scraping fallback for the pane). The integration reports working for the entire review, because a parked tool call is indistinguishable from active work. Result: no blocked state in the sidebar, no notification, and herdr agent wait <pane> --until blocked never fires — easy to miss that the agent is waiting.
The standalone launcher scripts already integrate with herdr for tab placement (the HERDR_ENV branch in launch-revdiff.sh), so herdr awareness exists in the project; only the pi in-place path lacks any state signal.
Expected behavior
While the revdiff UI owns the terminal, the supervising integration should see the session as blocked/waiting-for-user.
Reproduction
herdr integration install omp, start omp (TUI) inside a herdr pane./revdiff(or let the agent callrevdiff_review).- While the review UI is open:
herdr agent list→agent_status: workinguntil revdiff exits.
Proposed fix
herdr's omp/pi integration listens on pi's shared extension event bus for a herdr:blocked channel. Emitting around the review run is enough:
pi.events.emit("herdr:blocked", { active: true, label: `revdiff review: ${launch.label}` });
try {
result = await runDirectReview(ctx, launch, cwd);
} finally {
pi.events.emit("herdr:blocked", { active: false });
}
EventBus.emit with no listener is a no-op, so this is free for non-herdr users and needs no HERDR_ENV gate. PR with this change: #319.
Environment
- revdiff-pi 0.4.1, omp 17.3.5, herdr 0.8.0 (omp integration v6), macOS arm64
(Disclosure: drafted by an AI coding agent on behalf of the human reporter, who reviewed and approved this text before it was posted.)
- Lingua principale
- Go
- Stelle
- 928
- Fork
- 96
- Merge medio
- 2g 3h
- PR unite (30g)
- 28
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di umputun/revdiff
-
Support horizontal scrollAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
umputun/revdiff#334 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 64/100
umputun/revdiff#324 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di umputun/revdiff
Issue simili
-
feature suggestion
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
openvibely/openvibely#1526 ·
I maintainer di solito rispondono entro 1 giorno
-
docs good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
Usenova-Labs/usenova-backend#36 ·
I maintainer di solito rispondono entro 1 giorno
-
bug raised-by:verifier
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
medici-finance/assay#4177 ·
I maintainer di solito rispondono entro 1 giorno
-
bug: admin user creation silently ignores roleForse già presa @bfs2021 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
eugenioenko/autentico#553 ·
I maintainer di solito rispondono entro 1 giorno
-
sidecar: --moriio-parallel-dispatch omits remote_request_id, so a vLLM NixlPushConnector decode dies with KeyErrorForse già presa @xintin l’ha presa oggi. Apertakind/bug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
llm-d/llm-d-router#3607 ·
I maintainer di solito rispondono entro 1 giorno