InputFlow is in public beta. Small, focused fixes are easier to review and less likely to break protocol compatibility with PowerToys.
- Build in a clean tree.
- Run the full CTest suite.
- Sanity-check the user-facing flow you changed.
- Make sure no local keys, pairing exports, trace reports, or machine-specific logs are included.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
ctest --test-dir build --output-on-failureFor sanitizer coverage:
cmake -S . -B build-sanitize -DCMAKE_BUILD_TYPE=Debug -DMWB_ENABLE_SANITIZERS=ON
cmake --build build-sanitize --parallel
ctest --test-dir build-sanitize --output-on-failureWhen a change affects runtime behavior, include:
- Linux distro and desktop session
- Whether
/dev/uinputinput injection was exercised - Whether clipboard sync was enabled
- Windows PowerToys version
- Whether pairing relied on the exported Windows helper
- Any reconnect, tray, or controller behavior you observed
- Keep compatibility names such as
mwb_clientandmwb-client.serviceunless the change is explicitly about renaming. - Prefer
key_file, keyring-backed secrets, orstdin-based examples over inline keys in docs. - Update
README.mdwhen CLI flags, setup flow, or pairing expectations change. - Do not commit generated support artifacts such as
mwb-windows-report-*.txt,mwb-lock-report-*.txt,mwb-socket-trace-*.txt, or exportedinputflow-windows-pair-*.ps1files.
Useful reports usually include:
- exact command or service mode used
journalctl --user -u mwb-client.service- whether the issue happens with a blank or pre-seeded Windows MWB state
- whether PowerToys
Use Serviceis enabled - whether clipboard sync is enabled
If you include logs, scrub security keys and private hostnames first.