From 408397304c0b8100b6cadeb1c9885062a167cf39 Mon Sep 17 00:00:00 2001 From: alger Date: Sun, 5 Jul 2026 14:55:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(main):=20=E6=8B=92=E7=BB=9D=E9=BA=A6?= =?UTF-8?q?=E5=85=8B=E9=A3=8E/=E6=91=84=E5=83=8F=E5=A4=B4=E9=87=87?= =?UTF-8?q?=E9=9B=86=E6=9D=83=E9=99=90=E8=AF=B7=E6=B1=82=EF=BC=8C=E9=98=B2?= =?UTF-8?q?=E6=AD=A2=E7=B3=BB=E7=BB=9F=E6=8E=88=E6=9D=83=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 应用无任何录音功能;#639 已移除触发弹窗的 getUserMedia 调用(03b52cd), 本次在主进程权限层加防御:media/audioCapture 请求一律拒绝,防止未来依赖库 静默申请麦克风。输出设备枚举与 setSinkId 切换不受影响。 Ref #147 #246 #440 #639 --- src/main/index.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/index.ts b/src/main/index.ts index 99d20e4..0541a1a 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -178,15 +178,18 @@ if (!isSingleInstance) { // 初始化窗口大小管理器 initWindowSizeManager(); - // 设置媒体设备权限 - 允许枚举音频输出设备 + // 媒体设备权限:应用没有任何录音功能,麦克风/摄像头采集一律拒绝, + // 防止依赖库静默调用 getUserMedia 触发系统麦克风授权弹窗(#147/#246/#440/#639 防御性加固)。 + // 输出设备切换走 speaker-selection / enumerateDevices,不受影响 session.defaultSession.setPermissionRequestHandler((_webContents, permission, callback) => { if (permission === ('media' as any) || permission === ('audioCapture' as any)) { - callback(true); + callback(false); return; } callback(true); }); + // 保持放行:enumerateDevices 依赖它返回真实设备名(不访问麦克风硬件、不触发系统授权) session.defaultSession.setPermissionCheckHandler(() => { return true; });