Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta Para iniciantes
#2,596 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@AatmanAJ já está trabalhando nisso.

Desde 15/10/2026.

  • #2627 de @AatmanAJ — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
80/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
typescript
Domínio
frontend

Direção de pesquisa

Comece em apps/web/app/s/[videoId]/_components/video/media-player.tsx, por volta das linhas 504-553, onde o handler de keydown faz switch em event.key.toLowerCase() e chama preventDefault() para 'm'. Verifique como as teclas modificadoras são tratadas ali e, em seguida, adicione um retorno antecipado para Command, Control e Alt para que os atalhos do navegador passem. O M sozinho deve continuar silenciando o áudio e os atalhos de velocidade baseados em Shift devem continuar funcionando. Está pronto quando um keydown com metaKey definido não é bloqueado por preventDefault e o M sozinho ainda alterna o mudo em uma página de compartilhamento. A issue também pede para revisar os outros atalhos de letras no mesmo handler.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.
Linguagem predominante
Rust
Estrelas
23.4k
Forks
2.1k
Merge médio
2d 1h
PRs com merge (30d)
298

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CapSoftware/Cap

Todas as issues de CapSoftware/Cap

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.