Web player intercepts ⌘⇧M and blocks Chrome profile-menu shortcut
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 80/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- frontend
Hướng nghiên cứu
Bắt đầu từ apps/web/app/s/[videoId]/_components/video/media-player.tsx, khoảng dòng 504-553, nơi trình xử lý keydown rẽ nhánh theo event.key.toLowerCase() và gọi preventDefault() cho 'm'. Kiểm tra cách các phím bổ trợ đang được xử lý ở đó, sau đó thêm một lệnh return sớm cho Command, Control và Alt để các phím tắt của trình duyệt được truyền qua. Giữ M đơn để tắt tiếng và các phím tắt tốc độ dùng Shift vẫn hoạt động. Hoàn thành khi một keydown có metaKey được bật không bị preventDefault chặn và M đơn vẫn bật/tắt tiếng trên trang chia sẻ. Issue cũng yêu cầu rà soát các phím tắt chữ cái khác trong cùng trình xử lý.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Open a Cap share page in Google Chrome on macOS, for example https://cap.so/s/mdvxms2gfmkgc0e.
- Focus the video player or one of its controls.
- 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
keydownwithkey: "M",metaKey: true, andshiftKey: truechanged the video'smutedstate fromfalsetotrueand setdefaultPrevented: 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 callspreventDefault()formwithout 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.
- Ngôn ngữ chính
- Rust
- Star
- 23.4k
- Fork
- 2.1k
- Merge trung bình
- 1 ngày 5 giờ
- Pull request đã merge (30 ngày)
- 130
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của CapSoftware/Cap
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
CapSoftware/Cap#2384 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Dashboard pagination causes full page reloads on self-hosted CapCó thể đã có người làm @Dewin đã nhận 31 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
CapSoftware/Cap#2305 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
CapSoftware/Cap#1714 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Linux: forced WEBKIT_DISABLE_DMABUF_RENDERER=1 makes the main window transparent on WebKitGTK 2.54 (only repainted regions show)Có thể đã có người làm @AatmanAJ đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 25/100
CapSoftware/Cap#2624 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
macOS: main-thread panic in tauri-runtime-wry 2.8.1 freezes Cap mid Instant recording; the crashed recording then can't be recovered or reuploadedCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 18/100
CapSoftware/Cap#2606 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của CapSoftware/Cap
Issue tương tự
-
area:config area:security bug good first issue platform:linux platform:windows priority:medium
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
rtk-ai/rtk#4651 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
vllm-project/agentic-api#463 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug good first issue priority:high
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Konfirm-xyz/konfirm-contracts#163 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
GL backend reports vendor id 0 for AMD GPUs on Windows (GL_VENDOR is "ATI Technologies Inc.")Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày