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

Web player intercepts ⌘⇧M and blocks Chrome profile-menu shortcut

Abierto Apto para principiantes
#2,596 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@AatmanAJ ya está trabajando en esto.

Desde el 15/10/2026.

  • #2627 de @AatmanAJ — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
80/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript
Área
frontend

Línea de trabajo

Empieza en apps/web/app/s/[videoId]/_components/video/media-player.tsx, alrededor de las líneas 504-553, donde el manejador de keydown cambia según event.key.toLowerCase() y llama a preventDefault() para 'm'. Revisa cómo se gestionan las teclas modificadoras allí y luego añade un retorno temprano para Command, Control y Alt para que los atajos del navegador pasen sin cambios. Mantén la M sola para silenciar y los atajos de velocidad basados en Shift funcionando. Está terminado cuando un keydown con metaKey activo no tiene preventDefault aplicado y la M sola sigue alternando el silencio en una página compartida. El issue también pide revisar otros atajos de letras en el mismo manejador.

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

Descripción

Description

Cap's web video player intercepts ⌘⇧M (Command+Shift+M) on macOS, preventing Chrome's open profile menu shortcut from working when the player has focus. The player treats the modified shortcut as its plain M mute/unmute command and cancels the browser's default action.

Reproduction
  1. Open a Cap share page in Google Chrome on macOS, for example https://cap.so/s/mdvxms2gfmkgc0e.
  2. Focus the video player or one of its controls.
  3. Press ⌘⇧M.

Actual: Cap consumes the shortcut and toggles mute instead of allowing Chrome's profile menu to open.

Expected: Browser shortcuts containing Command should pass through. Plain M should continue to toggle mute.

Additional Context
  • Affected component: Cap web share-page player (not the desktop recording app).
  • Browser / OS: Google Chrome on macOS; the original reporter's exact versions were not collected.
  • Live-page diagnostic: With the player focused, dispatching a cancelable keydown with key: "M", metaKey: true, and shiftKey: true changed the video's muted state from false to true and set defaultPrevented: true. This verifies the page handler consumes the modified key event; the diagnostic used a synthetic event, not a native Chrome profile-menu interaction.
  • Likely cause: the player's keyboard handler switches on event.key.toLowerCase() and calls preventDefault() for m without checking Command/Control/Option modifiers. Source: https://github.com/CapSoftware/Cap/blob/34036657845bf063c875e66a10ad537afa415f35/apps/web/app/s/%5BvideoId%5D/_components/video/media-player.tsx#L504-L553.
  • Suggested fix: ignore Command/Control/Alt-modified events before processing plain player shortcuts, while retaining intentional Shift-based shortcuts such as playback-speed controls. Please also check other letter shortcuts for the same browser-shortcut collision.
Lenguaje dominante
Rust
Estrellas
23.4k
Forks
2.1k
Merge medio
1 d 5 h
PR fusionados (30 d)
130

Preparar el entorno

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 CapSoftware/Cap

Todos los issues de CapSoftware/Cap

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.