The loop "for (int i = 0; processes.Length > i || i < 5; i++)" compared the
process count to the loop index and, because of the "|| i < 5", always ran
at least 5 iterations of Thread.Sleep(250) -- stalling ~1.25s before every
patch/restore even when WeMod was not running.
Use "processes.Length > 0 && i < 5" so it retries only while a target
process is still alive, capped at 5 attempts.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Bump AssemblyInfo to 1.0.9.0 and add the CHANGELOG section.
- build.ps1 now code-signs the Release exe with a self-signed
certificate (reused across builds, generated on first use, no env
or secrets needed) to lower false-positive AV/VirusTotal detections.
- reduce ASAR IO overhead with streamed archive reads, buffered copies, faster relative-path handling and placeholder integrity records
- fix in-place app.asar.unpacked packing/extraction self-copy cases that caused locked-file failures
- tighten JS patch discovery with candidate bundle filters and search hints
- require prebuilt remote-panel dist artifacts and clean up embedded bridge/script packaging
- add unified build entrypoints for PowerShell, cmd and bash and move native CMake output under .tmp
- add release metadata validation, changelog section extraction, pre-commit hook and GitHub Actions validation/release pipelines
- make CHANGELOG the source of truth for release notes and document the tag-driven release flow
- add updater release notes UI with latest/full changelog loading and localize the new update strings
- modularize bridge renderer scripts, add installed apps and game status sync, and support remote launch/stop commands
- centralize bridge protocol, IPC and WebSocket constants and improve LAN IP selection for QR pairing
- refactor remote panel controls/state enums, persist accent color, polish library/session UI and refresh assets