Repository navigation
Conversation
f4923ea to
94144c4
Compare
94144c4 to
ad2e6b9
Compare
ad2e6b9 to
6d7351e
Compare
6d7351e to
bb97ed6
Compare
|
@s4512138 This PR removes |
bb97ed6 to
30da05b
Compare
|
The existing |
jserv
left a comment
There was a problem hiding this comment.
This changes what the web pages show, so the pull request description must include screenshots of the result (before and after where something changed), with any personal data removed.
30da05b to
278e749
Compare
Candidates with multiple audio devices otherwise have to change system settings before joining. Offer explicit choices while retaining system defaults, and require fresh microphone activity and output confirmation when a choice changes so preflight proves the devices used in the interview. Preserve existing output preferences across reloads, falling back to the system default when the selected hardware is unavailable. Closes sysprog21#206
278e749 to
1ee77c2
Compare
Candidates with multiple audio devices otherwise have to change system defaults before an interview. Add microphone and output selectors to preflight. A candidate without a saved output choice starts at System default; an existing choice survives reloads. The chosen microphone supplies both the activity check and the track published to LiveKit. One shared output choice routes the test tone, test voice, and Jim, including outside Meet mode.
Microphone changes release the old track, discard obsolete grants, and require fresh activity. Output changes reset confirmation and are serialized. Empty, placeholder, or failed device listings before microphone permission retain the saved output preference; only a post-grant listing can establish that the saved hardware is missing. Tone and voice use the effective output ID even while the menu is awaiting its device list. Choosing System default clears the preference. The original manual reload check is unchanged.
Jim uses the volume controller from main, with candidate mute and pending output routing as independent mute reasons. A fresh element stays muted after LiveKit attaches it until the latest routing chain settles. Releasing that hold retries audible playback, and a later native pause rechecks permission through the existing resume control. A stalled sink request shows a device-check/reload banner after five seconds and remains serialized; recovery can require a reload rather than playing on an unverified sink.
Validated at 1ee77c2 on base 534f4d5, including the newly merged camera preview. All 141 focused audio, volume, camera-preview, and DOM-contract tests passed without skips. The previous CI browser failure was reproduced after rebasing: the volume controller removed the routing mute before the sink settled. The LiveKit browser regression now passes with the real volume controller. Delayed-grant tests cover empty, placeholder, and failed device listings; temporarily restoring the premature reset or routing test sounds from the select value made the corresponding regression checks fail. ESLint, Prettier, diff whitespace checks, and commit/push hooks passed.
The required full ./scripts/test.sh run on 278e749, before the subsequent camera-preview rebase, completed with exit 1. The browser suite reported 1,536 passed, three failed, and 43 skipped. The failures were two Windows subprocess-interruption checks in floor-capture.test.js and the previously observed lobby-height check (802px against 800px). The skips comprised 32 checks without cc and 11 without javac/java. All 49 hook-suite checks passed. Clippy also rejected unused fields/constants whose readers are Unix-only in unchanged main files. Cargo could not replace the running Windows executable (os error 5), the server face-check test attempted an empty URL, and fixture generation rejected a Windows drive path as an ESM URL. The remaining failing gates were recording-provision-check-tests, test-gate-tests, mutants-plan-tests, mutants-install-tests, interview-behavior-script-tests, and skill-scripts-tests; these include shell-harness failures, unavailable jq, and Windows symlink privileges. Two server checks and checks requiring commentflow, ruff, shfmt, cargo-audit, actionlint, or shellcheck were skipped. The full local gate is not claimed to pass.
Before the review refinements, manual testing on Windows 10 confirmed operation with two physical input devices and two physical output devices. Earlier tests covered tone and test-voice playback, Jim and microphone input during interviews, rapid output switching, unplug/reconnect, and returning to the lobby. These physical tests do not validate the latest persistence, routing, and volume-controller refinements. The specific silent-tone driver conditions in #44 and #197 were not reproduced and are not claimed fixed.
Closes #206