Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Bug]: Terminal paste lands twice in Chromium browsers (inverse of the #8457 race)

Abierto Apto para principiantes
#13,346 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@t3dotgg ya está trabajando en esto.

Desde el 14/10/2026.

  • #70 de @macodev00 — cerrado sin fusionar
  • #13357 de @r4iju — cerrado sin fusionar
  • #14550 de @macodev00 — cerrado sin fusionar
  • #19366 de @t3dotgg — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
75/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
javascript, typescript
Área
cli, web-dev

Línea de trabajo

El error está en apps/web/src/terminal/ghostty/surface.ts, donde pasteShortcutToken maneja la carrera entre navigator.clipboard.readText() y el evento de pegado nativo. Comience examinando la lógica de manejo de pegado y el commit de referencia. Escriba una prueba para verificar que el texto pegado no se duplique, luego implemente la corrección para descartar el pegado nativo coincidente después de una lectura exitosa. Asegúrese de que un keydown borre el registro para evitar tragar pegado posteriores.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

accepted bug via-triage

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.

Lenguaje dominante
TypeScript
Estrellas
24.8k
Forks
6.4k
Merge medio
2 h 58 min
PR fusionados (30 d)
480

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de pingdotgg/t3code

Todos los issues de pingdotgg/t3code

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.