gitui-org / gitui-org/gitui

Pinentry for signing a commit does not recognize every key press when executed via gitui.

Aperta
#2,395 2 commenti 7 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
Rust
Stelle
22.5k
Fork
773
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

**Describe the bug**

I'm using a Nitrokey with a PGP key which I also use for signing commits in multiple repositories.

When trying to commit with gitui the ncurses pinentry comes up and I try to input my password. While trying I notice that not every key press is registered and I sometimes need to press a key multiple times to get the press through to ncurses pinentry.

Also I noticed that gitui is not recovering safe from a wrong pinentry and the terminal needs a reset.

**To Reproduce**
Steps to reproduce the behavior:
1. Use ncurses pinentry. (Add pinentry-program /usr/bin/pinentry-curses to your gpg-agent.conf)
2. Open `gitui` and try to commit something where the pinentry comes up.
3. pinentry is not recognizing every key press as stated in the description.

**Expected behavior**
Every key press gets through to the pinentry software. Like it is when using pinentry without gitui.

**Context (please complete the following information):**
- OS/Distro + Version: Void Linux - Kernel 6.11.3 - UpToDate
- GitUI Version: 0.26.3
- Rust version: 1.82.0

**Additional context**
I've installed gitui via cargo install.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia riproducendo il flusso segnalato: configura pinentry-curses, apri gitui ed esegui un commit con la firma abilitata. Analizza l’interazione con il terminale durante la firma dei commit e confrontala con pinentry autonomo; il lavoro è completato quando ogni pressione di tasto viene accettata e il terminale torna a funzionare normalmente dopo un PIN errato.

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

Valutazione

Stack tecnologico
git, rust
Ambito
cli, cryptography, security
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.