[Bug]: Terminal paste lands twice in Chromium browsers (inverse of the #8457 race)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 75/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, typescript
Direzione di ricerca
Il bug si trova in apps/web/src/terminal/ghostty/surface.ts, dove pasteShortcutToken gestisce la corsa tra navigator.clipboard.readText() e l'evento di incolla nativo. Inizia esaminando la logica di gestione dell'incolla e il commit di riferimento. Scrivi un test per verificare che il testo incollato non venga duplicato, quindi implementa la correzione per scartare l'incolla nativo corrispondente dopo una lettura riuscita. Assicurati che un keydown cancelli il record per evitare di inghiottire incollaggi successivi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
In the web client (Brave, over the network), pasting into the integrated terminal often sends the text twice. I hit it constantly.
The paste shortcut starts navigator.clipboard.readText() and keeps the native paste event as a fallback (apps/web/src/terminal/ghostty/surface.ts). pasteShortcutToken only handles the native event arriving first. If the read resolves first, the native paste that follows is also sent. This is the "remaining inverse ordering" noted when #8457 was closed.
I have a small fix with a regression test in my fork: the read records the text it delivered, and the matching native paste from the same gesture is dropped. Any keydown clears the record, so a later paste is never swallowed. Reference commit: https://github.com/r4iju/t3code/commit/de8ff28dcb4fc3c1b15374d6e9c5531cb3a9a61c
Happy to open a PR if you want it.
- Lingua principale
- TypeScript
- Stelle
- 23.4k
- Fork
- 6k
- Merge medio
- 9h
- PR unite (30g)
- 349
Guida per i contributori
Apri 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 pingdotgg/t3code
-
accepted bug via-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
accepted bug good first issue via-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
accepted bug via-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
accepted bug via-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
bug upstream via-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Tutte le issue di pingdotgg/t3code
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
bcgov/bc-wallet-mobile#4761 · 1 commento ·
-
external-issue to-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
area-deployment area-integrations triage:bot-seen
Difficoltà 2/5 Mezza giornata Idoneità per principianti 86/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100