huddle: linux: grant WebKit user media requests - #3557
Conversation
Signed-off-by: Braulio Oliveira <brauliobo@gmail.com>
329072e to
aafb5a5
Compare
Chessing234
left a comment
There was a problem hiding this comment.
This is the missing piece for #3495-style Linux huddle failures. Handling WebKitUserMediaPermissionRequest only for the bundled UI / Vite origin is the correct trust boundary, and leaving other permission types alone avoids over-granting. Unit coverage on the trusted-origin check is welcome. One note for operators: this grants the permission request, but mic capture can still fail if PipeWire/GStreamer plugins are shadowed (see #3494) — worth cross-linking in the PR body so the two layers stay distinct.
|
🤖 hey @brauliobo, thanks for this — your trusted-origin allowlist and the unit tests proving that boundary are the security core of what shipped: #3607 (just merged, fixes #3495) adopted the same origin check ( |
Summary
Root cause
WebKitGTK delegates
getUserMediapermission decisions to the embedding application. Buzz did not handleWebKitUserMediaPermissionRequest, so WebKit denied microphone access without showing a prompt and Linux Huddles failed withNotAllowedError.Impact
Linux users can acquire their microphone for Huddles while navigated or untrusted content remains unable to inherit user-media permission.
Closes #3495.
Validation
cargo fmt --manifest-path desktop/src-tauri/Cargo.toml --all -- --checkcargo test --manifest-path desktop/src-tauri/Cargo.toml webkit_permissionscargo check --manifest-path desktop/src-tauri/Cargo.tomlcargo clippy --manifest-path desktop/src-tauri/Cargo.toml --all-targets -- -D warnings