docs(windows): record 0.6.7 VM smoke
This commit is contained in:
+62
-21
@@ -1,10 +1,12 @@
|
||||
# PeerSpeak on Windows
|
||||
|
||||
Current status: PeerSpeak cross-compiles to `x86_64-pc-windows-gnu` from Linux and
|
||||
has passed an older native Windows 11 VM smoke test for launch, GUI render, call
|
||||
join, and audio flow. The build environment is **not** the Windows VM; current
|
||||
Windows binaries are built from Linux, normally inside the `peerspeak-win`
|
||||
distrobox or with the same GNU target environment.
|
||||
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.
|
||||
|
||||
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.
|
||||
@@ -13,8 +15,8 @@ handoff file `windows-parity-audit.md` for the full audit and task breakdown.
|
||||
|
||||
| Area | Status |
|
||||
|---|---|
|
||||
| GUI | Iced/wgpu builds for Windows and rendered in the Windows 11 VM. |
|
||||
| Networking | Iroh QUIC transport and gossip compile on Windows; VM call reached two peers. |
|
||||
| GUI | Iced/wgpu renders on Windows 10; the current build's landing and settings screens were smoke-tested. |
|
||||
| Networking | Iroh QUIC transport and gossip compile on Windows; the current build creates/leaves a room, and an older VM build completed a two-peer call. |
|
||||
| Audio backend | `cpal` drives WASAPI capture/playback behind `AudioBackend`. |
|
||||
| Device selection | cpal enumerates input/output devices; see caveat below about stable IDs. |
|
||||
| Resampling/remap | WASAPI devices can run non-48 kHz formats; PeerSpeak converts at the backend boundary. |
|
||||
@@ -75,6 +77,44 @@ UDP for 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.
|
||||
|
||||
## Fresh Windows 10 smoke — 2026-08-22
|
||||
|
||||
Validated on Windows 10 Enterprise Evaluation 22H2/build 19045 in the
|
||||
`peerspeak-windows10` libvirt VM. The installed title screen reported
|
||||
`PeerSpeak v0.6.7 (7217015d)`.
|
||||
|
||||
Definitive artifacts built from committed `main`:
|
||||
|
||||
- `peerspeak.exe`: 80,601,595 bytes, SHA-256
|
||||
`a9225ca8878acdbc54a424427a591b3f55774a9fc4d20decd40993274b9336ff`
|
||||
- `peerspeak-0.6.7-setup.exe`: 18,578,658 bytes, SHA-256
|
||||
`5ac551709814918f9c75a49aabed929d3f6618cdbeaf3cb4b22add8dfcbb68d9`
|
||||
|
||||
Proven in this run:
|
||||
|
||||
- The final installer transferred with a matching Windows-side hash, installed
|
||||
under `C:\Program Files\PeerSpeak`, and upgraded in place without losing config.
|
||||
- Upgrade testing exposed duplicate firewall rules. Commit `7217015d` made the
|
||||
installer replace its owned rule; a final upgrade left exactly one enabled
|
||||
inbound `PeerSpeak` rule and logged exit code 0 for delete/add.
|
||||
- The landing screen and all Settings categories rendered. Input `Line In (High
|
||||
Definition Audio Device)` and output `Speakers (High Definition Audio Device)`
|
||||
were selectable and restored after a clean app restart.
|
||||
- Test Mic opened the real cpal/WASAPI capture path. The VM endpoint negotiated
|
||||
44.1 kHz stereo and PeerSpeak resampled it to 48 kHz as designed.
|
||||
- `audio_probe.exe 440 30` exited 0. After one startup-fill event, every
|
||||
steady-state health line reported `underrun +0` and `dropped +0`; the expected
|
||||
drain after tone generation stopped registered at shutdown. No human audible
|
||||
tone assessment was available during this automated run.
|
||||
- A one-participant room connected and left cleanly. With no `pixelpass.exe`,
|
||||
Share Screen opened the dependency instructions rather than crashing.
|
||||
- The app log ended with the correct version/hash and Windows Event Viewer had
|
||||
no PeerSpeak application errors.
|
||||
|
||||
Still manual or two-party: current-build Linux↔Windows audio in both directions,
|
||||
chimes, chat/files/music/recording, friends/presence, game detection, audible
|
||||
probe quality, and uninstall/firewall cleanup.
|
||||
|
||||
## Known gaps
|
||||
|
||||
| Item | Status |
|
||||
@@ -83,21 +123,22 @@ publishing presence to n0 DNS. Relayed connections are expected and valid.
|
||||
| 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. |
|
||||
| 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 Windows VM smoke test proved an older tester build. Current `main` needs a fresh VM smoke matrix before calling parity current. |
|
||||
| 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. |
|
||||
|
||||
## Current smoke checklist
|
||||
|
||||
Before calling a Windows build current, verify on the Windows VM or real Windows
|
||||
hardware:
|
||||
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`:
|
||||
|
||||
- Launch current `peerspeak.exe`; GUI renders and settings open.
|
||||
- Run `audio_probe.exe 440 30`; listen for glitches and inspect `playout-health`.
|
||||
- Create/join a Linux <-> Windows room; confirm mic and playback both directions.
|
||||
- Select input/output devices, restart, and confirm selections persist or fall back clearly.
|
||||
- Play chimes and custom chime paths.
|
||||
- Send chat, image/file attachments, and save an attachment through the native dialog.
|
||||
- Import/play/share/listen to music from Windows file paths.
|
||||
- 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.
|
||||
- Install/upgrade/uninstall through the Inno installer, including firewall rule cleanup.
|
||||
- [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.
|
||||
- [ ] Create/join a Linux <-> Windows room; confirm mic and playback both directions.
|
||||
- [x] Select input/output devices, restart, and confirm selections persist or fall back clearly.
|
||||
- [ ] Play chimes and custom chime paths.
|
||||
- [ ] Send chat, image/file attachments, and save an attachment through the native dialog.
|
||||
- [ ] Import/play/share/listen to music from Windows file paths.
|
||||
- [ ] 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.
|
||||
- [ ] 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