windows-host.yml fails at "Build (release, nvenc + amf-qsv + qsv)" on main since #555 met the win-display actor work:
error[E0308]: mismatched types
--> crates\pf-vdisplay\src\vdisplay\windows\manager.rs:527:67
527 | let Some(gdi) = pf_win_display::win_display::resolve_gdi_name(target_id) else {
| ^^^^^^^^^ expected `CcdTargetKey`, found `u32`
Two merges crossed: resolve_gdi_name now takes a CcdTargetKey (target ids are only unique per adapter), while the UAC mid-stream fix's force_recommit(target_id: u32) still passed the bare id. Windows-only code, so the Linux lanes never compiled it.
Fix: look the monitor up in the manager's slots under the state lock (the lock was already held there — sole topology mutator), use its cached GDI name, or resolve it by its own ccd_key(); a target the manager does not own is a no-op. The caller in punktfunk-host/src/capture.rs keeps its u32 signature.
Verified: cargo check -p pf-vdisplay --release on the .133 runner at this commit, Finished. The full windows-host.yml run on main after merge is the real proof.
`windows-host.yml` fails at "Build (release, nvenc + amf-qsv + qsv)" on main since #555 met the win-display actor work:
```
error[E0308]: mismatched types
--> crates\pf-vdisplay\src\vdisplay\windows\manager.rs:527:67
527 | let Some(gdi) = pf_win_display::win_display::resolve_gdi_name(target_id) else {
| ^^^^^^^^^ expected `CcdTargetKey`, found `u32`
```
Two merges crossed: `resolve_gdi_name` now takes a `CcdTargetKey` (target ids are only unique per adapter), while the UAC mid-stream fix's `force_recommit(target_id: u32)` still passed the bare id. Windows-only code, so the Linux lanes never compiled it.
Fix: look the monitor up in the manager's slots under the state lock (the lock was already held there — sole topology mutator), use its cached GDI name, or resolve it by its own `ccd_key()`; a target the manager does not own is a no-op. The caller in `punktfunk-host/src/capture.rs` keeps its `u32` signature.
Verified: `cargo check -p pf-vdisplay --release` on the `.133` runner at this commit, `Finished`. The full `windows-host.yml` run on main after merge is the real proof.
Two merges crossed: pf-win-display's resolve_gdi_name now takes a
CcdTargetKey (target ids are only unique per adapter), while the UAC
mid-stream fix's force_recommit still passed a u32. Windows-only code, so
only windows-host.yml's build step saw it. Look the monitor up in the
manager's slots under the state lock, use its cached GDI name, or resolve it
by its own key; a target the manager does not own is a no-op.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
windows-host.ymlfails at "Build (release, nvenc + amf-qsv + qsv)" on main since #555 met the win-display actor work:Two merges crossed:
resolve_gdi_namenow takes aCcdTargetKey(target ids are only unique per adapter), while the UAC mid-stream fix'sforce_recommit(target_id: u32)still passed the bare id. Windows-only code, so the Linux lanes never compiled it.Fix: look the monitor up in the manager's slots under the state lock (the lock was already held there — sole topology mutator), use its cached GDI name, or resolve it by its own
ccd_key(); a target the manager does not own is a no-op. The caller inpunktfunk-host/src/capture.rskeeps itsu32signature.Verified:
cargo check -p pf-vdisplay --releaseon the.133runner at this commit,Finished. The fullwindows-host.ymlrun on main after merge is the real proof.