docs(windows): record 0.6.7 VM smoke
This commit is contained in:
+62
-21
@@ -1,10 +1,12 @@
|
|||||||
# PeerSpeak on Windows
|
# PeerSpeak on Windows
|
||||||
|
|
||||||
Current status: PeerSpeak cross-compiles to `x86_64-pc-windows-gnu` from Linux and
|
Current status: PeerSpeak cross-compiles to `x86_64-pc-windows-gnu` from Linux.
|
||||||
has passed an older native Windows 11 VM smoke test for launch, GUI render, call
|
PeerSpeak v0.6.7 at commit `7217015d` passed a fresh Windows 10 22H2/build 19045
|
||||||
join, and audio flow. The build environment is **not** the Windows VM; current
|
VM smoke test on 2026-08-22 for install/upgrade, launch, GUI/settings render,
|
||||||
Windows binaries are built from Linux, normally inside the `peerspeak-win`
|
device selection and persistence, microphone capture startup, WASAPI playback
|
||||||
distrobox or with the same GNU target environment.
|
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
|
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.
|
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 |
|
| Area | Status |
|
||||||
|---|---|
|
|---|---|
|
||||||
| GUI | Iced/wgpu builds for Windows and rendered in the Windows 11 VM. |
|
| 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; VM call reached two peers. |
|
| 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`. |
|
| Audio backend | `cpal` drives WASAPI capture/playback behind `AudioBackend`. |
|
||||||
| Device selection | cpal enumerates input/output devices; see caveat below about stable IDs. |
|
| 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. |
|
| 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
|
The default network mode keeps the n0 relay available for NAT traversal without
|
||||||
publishing presence to n0 DNS. Relayed connections are expected and valid.
|
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
|
## Known gaps
|
||||||
|
|
||||||
| Item | Status |
|
| 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. |
|
| 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. |
|
| 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. |
|
| 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
|
## Current smoke checklist
|
||||||
|
|
||||||
Before calling a Windows build current, verify on the Windows VM or real Windows
|
Before calling Windows feature parity complete, finish these checks on the
|
||||||
hardware:
|
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.
|
- [x] Launch current `peerspeak.exe`; GUI renders and settings open.
|
||||||
- Run `audio_probe.exe 440 30`; listen for glitches and inspect `playout-health`.
|
- [ ] 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.
|
- [ ] 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.
|
- [x] Select input/output devices, restart, and confirm selections persist or fall back clearly.
|
||||||
- Play chimes and custom chime paths.
|
- [ ] Play chimes and custom chime paths.
|
||||||
- Send chat, image/file attachments, and save an attachment through the native dialog.
|
- [ ] Send chat, image/file attachments, and save an attachment through the native dialog.
|
||||||
- Import/play/share/listen to music from Windows file paths.
|
- [ ] Import/play/share/listen to music from Windows file paths.
|
||||||
- Record mixed/stems/both and inspect the WAV output path.
|
- [ ] Record mixed/stems/both and inspect the WAV output path.
|
||||||
- Exercise friends/presence/recents and the clock-skew banner.
|
- [ ] Exercise friends/presence/recents and the clock-skew banner.
|
||||||
- Test Steam and non-Steam game detection on a real Windows Steam install.
|
- [ ] Test Steam and non-Steam game detection on a real Windows Steam install.
|
||||||
- Install/upgrade/uninstall through the Inno installer, including firewall rule cleanup.
|
- [ ] 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