revert: drop the portal response timeout
Rust checks / windows-cross-check (push) Successful in 45s
Rust checks / linux (push) Failing after 5m42s

Hyprland's portal shows its picker during SelectSources, so a timeout before
the picker step cut users off while choosing. A wedged portal backend looks
the same; recording stays in Waiting for capture and the app must prompt.
This commit is contained in:
2026-10-08 15:22:10 +02:00
parent afc54b363e
commit dc9cbd6d84
3 changed files with 12 additions and 83 deletions
+9 -6
View File
@@ -9,7 +9,7 @@ pass/fail results.
| Where | Script | Status |
| --- | --- | --- |
| Linux, headless rig (Wayland portal + Xwayland) | `scripts/validate/linux-rig.sh` | All 9 scenarios pass on devbox (Intel UHD 770, VA-API) |
| Linux, real session (CachyOS, Hyprland, RX 9070 XT, 1440p60) | `scripts/validate/linux-hardware.sh` | 2026-10-08: H.264, HEVC and AV1 usable; restore token works; portal stall fix awaiting re-run |
| Linux, real session (CachyOS, Hyprland, RX 9070 XT, 1440p60) | `scripts/validate/linux-hardware.sh` | 2026-10-08: H.264, HEVC and AV1 usable; restore token works |
| Windows (Game Capture, NVENC/AMF/QSV) | `scripts/validate/windows.ps1` | Not run yet; script untested |
## Probe commands
@@ -81,11 +81,14 @@ CachyOS 7.2.9, Hyprland, RX 9070 XT, 1440p60, OBS 32.0.4:
- The restore token works: the restored run started recording in 2 s without
showing the picker.
- The portal stalled silently on one run again: it created the session but
never answered `SelectSources`, before any picker. Recording now fails if
the portal has not reached its picker 10 s after the request
(`StatusTracker::PORTAL_RESPONSE_LIMIT`); time spent in the picker itself
is not limited.
- Hyprland's portal backend (xdg-desktop-portal-hyprland) wedged in
`SelectSources` during this run and answered nothing afterwards, until
restarted; the earlier "no selection" runs were likely the same hang.
xdph shows its picker during `SelectSources`, so a hang there looks the same
as a user still choosing. A 10 s timeout tried in afc54b3 would cut users
off mid-pick and was removed. Recording stays honestly in `Waiting for
capture`; the app needs a prompt to choose a source (or restart the portal)
while it waits.
- The motion check sampled a segment from before capture started (the user
took 16 s in the picker); it now uses the segment with the most motion.
- A portrait monitor (Hyprland transform 3) is captured as 1440x2560 and