GitHub reported-bug audit, 2026-09-08¶
Historical record. This preserves the source, tests and limitations recorded at the time; it is not current setup guidance. See the documentation index.
Scope: the 39 open issues returned by the authenticated GitHub API on this date.
Prioritize owner-acknowledged reports and reproducible crashes, stalls, or
unwanted behavior whose mechanism is present in the current source. This is not
a feature-request implementation pass. Starting source: 4b7d3db on
feature/native-udecx-landing-zone. GitHub comments, issue states and releases
are not modified by this audit.
Confirmed defects addressed in this pass¶
| Report | Evidence and change | Validation boundary |
|---|---|---|
| #46 | Legacy green/blue profile fields incorrectly read the red field. The fixed-format update-check timestamp was parsed and formatted using the current culture. Read channels independently; use invariant canonical dates first, with the existing localized legacy-date fallback. | Actual XML deserialize/map and serialize tests: 12 failures and 5 passes before the change; all 17 pass afterward. Already-correct shift extras/wrapper paths were not rewritten. |
| #76 | The three uninstall-only Burn packages were requested as None during install/repair. Request Cache without executing them while the attached payload is available. Preserve direct uninstall, outgoing-upgrade and isolated-recovery behavior. |
Seven production-policy tests and installer state-machine simulation pass; bootstrapper builds with zero warnings/errors. No machine uninstall was performed. Full install/delete-download/uninstall verification still requires an isolated installer environment. This does not retroactively fill an old installation's empty cache. |
| #83 | Reported Bluetooth reclaim restarts clear their own cooldown on removal, enabling the next restart. Extend the existing active-USB no-restart guard to Bluetooth, preserving the HidHide cloak and requiring reconnect/Steam restart if Steam already holds the controller. | Eligibility, repeated generation/reconnect and call-site guard tests pass. This prevents the reported restart-loop trigger; it is not proof that every independent virtual-device cleanup/leak path is fixed. |
| #84 | The reporter's two-controller A/B test and commit history isolate ordinary Bluetooth DS4 effects incorrectly using the shared-overlapped writer. Both effect entry points now share control-pipe routing for normal BT effects; CopyCat/non-BT retain interrupt output. | Four transport-policy/wiring tests pass. Separate Bluetooth audio writer and output serialization lock remain intact. Reporter hardware result is supporting evidence, not a new local physical DS4 verification. |
| #60 | Package composition moved satellites under Lang and depended on a working-directory-relative probe path established before managed startup. Preserve standard <culture> folders and original dependency metadata; remove extra probing. Repair staging accepts standard culture satellites while retaining old managed Lang manifests. |
Actual-assembly isolated child reproduces failure outside old package layout and success from both directories with standard layout. Four package regressions validate real composition, ZIP contents, managed manifests and WiX harvesting; now part of CI. No custom assembly resolver or application-startup hook. |
| #75 | Original Switch Pro calibration dereferenced null/mismatched replies; startup writes requested zero-timeout cancellation. Give the USB handshake and subcommands bounded waits, validate received byte count/ACK/subcommand/SPI metadata, retry real factory calibration when user data is unavailable/invalid, and reject unavailable calibration through the existing removal path. Normalize expected closed/disposed transport failures at individual I/O calls, preserving inner exceptions. Do not republish a removed controller after preparation. | 34 fake-transport/calibration/startup tests plus three actual hotplug-publication tests pass. Covers failed/short/unrelated replies, bounded floods/timeouts, factory/user ordering and ranges, invalid IMU denominators, USB setup order, closed/disposed owners and clean removal without workers. No physical legacy Switch Pro was exercised. |
All six entries above have completed implementation and automated verification. These are source fixes, not new hardware certifications or deployed releases.
Other reports: disposition and limits¶
| Reports | Finding / reason not to make a speculative change |
|---|---|
| #68 | Switch Pro null-reference symptom is consistent with #75, but lacks that report's matching stack. Correlation is probable, not established for every device in its comments. |
| #95 | Posted installer log packages VIIPER 0.1.0 and fails task registration at UserId. Current source already uses exact-SID XML, a neutral trigger and ownership/failure-containment verification. Current extracted-production PowerShell simulations pass without touching Task Scheduler. Reporter must use a build containing that existing change; no new cause is established by this old-package log. |
| #77 | Current all-in-one installer has reboot resume and verified infrastructure recovery absent from the report's path. The app-launched standalone helper still explicitly instructs repair after reboot. Do not equate temporary disabled task state with evidence that all current resume flows fail. |
| #61 | Reported RestartDs4Windows start-before-shutdown implementation is no longer present. Current successful setup refreshes readiness and returns without a replacement-app race. |
| #69 | Local VIIPER source already pins the tray/message-pump goroutine to an OS thread. Later report of a blank icon merits a startup trace; it does not establish another specific cause to patch. No VIIPER source changed in this pass. |
| #31 | Hibernate report predates current suspend/resume lifecycle hardening and lacks a usable crash stack. Existing hardening is not proof that this reporter's exact failure is resolved. |
| #94, #62, #80 | Startup enable/disable privilege and task-state behavior, legacy task.bat cleanup, and renamed-executable setup need targeted reproduction. Current code no longer generates task.bat; blindly deleting an executable in a user directory is not an acceptable cleanup fix. |
| #67 | Current mapper handles legacy/current touch modes and action names. Need original imported XML and the selected action/profile to establish the claimed lost mapping. |
| #73 | Attached log identifies RC4.3; discussion reports RC4.4 restores mute LED, followed by updater rollback. No new current-source LED defect established. |
| #74 | Current profile setup republishes both trigger effects; no profile/transport/output capture establishes a remaining failure. Native game ownership can intentionally supersede profile effects. |
| #81 | Owner says addressed by a later update. A current reproduction/capture is needed before changing authored-haptics ownership or timing again. |
| #82, #32, #34, #57 | Real symptoms/logs, but current exact root causes remain unproven: game enumeration slowdown, old output startup stall, game-specific rumble, and multiple VHCI interfaces. Do not disable system services, remove devices or rewrite feedback speculatively. |
| #58 | Screenshot-only report; image retrieval failed. No readable diagnostic/reproduction to support a code change. |
| #90 | Empty body, no reproduction or measurable expected/actual behavior. |
| #91 | Missing release-download asset, not an established application crash. Publishing/replacing releases is outside this pass. |
| #37, #38 | Coverage/dead-code audits do not independently justify restoring commented hooks. In particular, old exclusive-mode warnings may falsely reject modern working HidHide setups. |
| #6, #14, #18, #22, #29, #35, #63, #71, #79, #85, #87 | Feature, policy, support or broad localization requests rather than a currently demonstrated defect in this pass. No implementation inferred from the request to fix reported bugs. |
Verification record¶
issue46-before.trx: 12 failed, 5 passed (before DTO fixes).reported-issues-targeted.trx: 46 passed, 0 failed (DTO, HidHide lifecycle, DS4 effect routing and uninstall planning).test-installer-state-machine.py: passed.test-startup-task-registration.ps1: exact-SID schema, ownership, collision, rollback, containment and absence simulations passed; no real task mutations.DS4Windows.Bootstrapper.csprojRelease build: 0 warnings, 0 errors.test-localization-package.py: four passed after two failures before the fix.- First integrated pass: 4,167 passed, 11 opt-in skips, one failed source-contract
test (
PhysicalHidTransfersReuseCompletionEvents) still locating the old public reader signature. Its event-reuse assertions were retained and bound to the new shared implementation, not disabled. This was not an allocation-assertion failure.
Final verification and review¶
github-issues-final.trx: 4,185 passed, 0 failed, 11 opt-in skips. The command retains CI's existing three excluded legacy exact-XML snapshot tests (CheckSettingsSave,CheckWriteProfile,CheckJaysProfileRead); no new exclusions or ignored failures were introduced.github-issues-allocation-and-startup.trx: 185 passed, 0 failed after improving the existing startup-failure log with its diagnostic reason. This includes all 148 allocation-named tests plus 34 original Switch Pro and three prepared-hotplug publication tests.- Actual current build satellite metadata/path validation passed. The standard
layout resource probe passed from both its package folder and an unrelated
working directory, including parent/neutral fallback and unrelated-assembly
rejection (
artifacts/issue60-83263e8671c24dee8172dcd20ec6f36c). - Four package composition/manifest/ZIP/WiX regressions passed again.
- Independent source review found no material blockers in installer planning, DS4 effect routing, Steam-reclaim containment, DTO parsing, native read-count handling, calibration transactions or failed-hotplug publication. Requested native waits are finite, but safe cancellation drain can still exceed that duration if a kernel driver itself hangs; no hard wall-clock claim is made.
- Existing application compiler warnings were unchanged; bootstrapper build
was warning-free.
git diff --checkpassed.
No live DS4Windows/VIIPER process, Task Scheduler entry, controller connection, installed driver, Program Files content or GitHub issue/release was modified. The user authorized restarts, but none was necessary for these isolated tests. Physical legacy Pro/DS4 A/B verification and a disposable-environment Burn install/delete-downloaded-setup/uninstall cycle remain release acceptance checks, not evidence claimed by this pass.
Parallel audio research is recorded in the public-source audio ledger. It adds genuine historical console capture evidence and an emulator logger lead, not a verified Bluetooth headphone implementation.
Subsequent work on #94, #80, #69, and #82 is recorded separately in the reported-issue follow-up. That later pass also investigated and corrected a gyro-calibration persistence race found by integration testing; it does not rewrite the historical results above.