feat(windows): bundle PixelPass viewer
This commit is contained in:
+15
-8
@@ -4,9 +4,11 @@ Current status: PeerSpeak cross-compiles to `x86_64-pc-windows-gnu` from Linux.
|
||||
PeerSpeak v0.6.7 at commit `7217015d` passed a fresh Windows 10 22H2/build 19045
|
||||
VM smoke test on 2026-08-22 for install/upgrade, launch, GUI/settings render,
|
||||
device selection and persistence, microphone capture startup, WASAPI playback
|
||||
pacing, room create/leave, and the missing-PixelPass guard. The build environment
|
||||
is **not** the Windows VM; current Windows binaries are built from Linux in a
|
||||
distrobox with the GNU target environment.
|
||||
pacing, room create/leave, and the missing-PixelPass guard. The v0.6.8 candidate
|
||||
adds the matching viewer-only PixelPass helper to the installer: Windows can
|
||||
watch Linux-hosted shares, while Windows capture/hosting remains intentionally
|
||||
unavailable. The build environment is **not** the Windows VM; current Windows
|
||||
binaries are built from Linux with the GNU target environment.
|
||||
|
||||
The Windows runtime still trails Linux in a few important areas. See the Claude
|
||||
handoff file `windows-parity-audit.md` for the full audit and task breakdown.
|
||||
@@ -25,6 +27,7 @@ handoff file `windows-parity-audit.md` for the full audit and task breakdown.
|
||||
| Chimes | Windows uses PowerShell `System.Media.SoundPlayer` for WAV playback. |
|
||||
| Game detection | Steam registry `RunningAppID` plus Toolhelp process-scan fallback compile on Windows. |
|
||||
| File dialogs | `rfd` uses the native Win32 dialog backend. |
|
||||
| Screen-share viewing | The installer bundles the matching PixelPass viewer; VLC or mpv renders Linux-hosted shares. |
|
||||
|
||||
Windows paths are resolved through `dirs`:
|
||||
|
||||
@@ -71,8 +74,9 @@ cargo build --release
|
||||
## First run and networking
|
||||
|
||||
Expect a Windows Firewall prompt the first time the app opens network sockets, or
|
||||
use the Inno installer option that pre-adds a firewall allow rule. PeerSpeak uses
|
||||
UDP for QUIC plus relay traffic when direct NAT traversal is unavailable.
|
||||
use the Inno installer option that pre-adds idempotent PeerSpeak and PixelPass
|
||||
firewall allow rules. Both use UDP/QUIC plus relay traffic when direct NAT
|
||||
traversal is unavailable.
|
||||
|
||||
The default network mode keeps the n0 relay available for NAT traversal without
|
||||
publishing presence to n0 DNS. Relayed connections are expected and valid.
|
||||
@@ -120,7 +124,7 @@ probe quality, and uninstall/firewall cleanup.
|
||||
| Item | Status |
|
||||
|---|---|
|
||||
| Echo cancellation | Linux-only today. The Windows UI shows it disabled as unavailable. |
|
||||
| Screen share | Blocked by PixelPass, which is currently Linux-only in practice. PeerSpeak can spawn `pixelpass.exe`, but there is no Windows PixelPass host/viewer parity yet. |
|
||||
| Screen share | Viewing Linux-hosted shares is implemented with the bundled PixelPass helper. Windows capture/hosting remains pending. |
|
||||
| Device persistence | Uses cpal friendly names as keys. These can duplicate or change across Windows driver/profile changes; stable WASAPI endpoint IDs are still needed. |
|
||||
| Release hygiene | Keep `.iss` and installer output in sync with `Cargo.toml`; rebuild Windows artifacts during each release. |
|
||||
| Runtime coverage | The current 0.6.7 build passed the bounded Windows 10 smoke above; the remaining two-party and feature-specific rows still need coverage. |
|
||||
@@ -128,8 +132,8 @@ probe quality, and uninstall/firewall cleanup.
|
||||
## Current smoke checklist
|
||||
|
||||
Before calling Windows feature parity complete, finish these checks on the
|
||||
Windows VM or real Windows hardware. Items checked below passed for v0.6.7 at
|
||||
`7217015d`:
|
||||
Windows VM or real Windows hardware. The original checks below passed for
|
||||
v0.6.7 at `7217015d`; screen-share rows track the v0.6.8 candidate separately:
|
||||
|
||||
- [x] Launch current `peerspeak.exe`; GUI renders and settings open.
|
||||
- [ ] Run `audio_probe.exe 440 30`; automated `playout-health` passed, but listen for glitches on physical hardware.
|
||||
@@ -141,4 +145,7 @@ Windows VM or real Windows hardware. Items checked below passed for v0.6.7 at
|
||||
- [ ] Record mixed/stems/both and inspect the WAV output path.
|
||||
- [ ] Exercise friends/presence/recents and the clock-skew banner.
|
||||
- [ ] Test Steam and non-Steam game detection on a real Windows Steam install.
|
||||
- [x] Run the Windows PixelPass viewer against a live Linux PixelPass host; video rendered and the viewer exited when VLC closed.
|
||||
- [ ] Watch a Linux-hosted share through the installed PeerSpeak UI; confirm video and audio on real Windows hardware.
|
||||
- [ ] Confirm Windows clearly refuses screen-share hosting while Watch remains available.
|
||||
- [ ] Install/upgrade/uninstall through the Inno installer, including firewall rule cleanup. Clean install and idempotent upgrade passed; uninstall remains.
|
||||
|
||||
Reference in New Issue
Block a user