v1.1 — Gaming toolbox expansion#1
Merged
Merged
Conversation
Expands the gaming category from 7 → 35 tweaks across input, network, GPU, CPU scheduling, fullscreen/GameBar, storage, visual and audio. All have check[], reversible via revert[] or defaultValue. Catalog 200 → 228, profiles 4 → 5 (new "gaming-esports" for plugged-in desktop rigs with aggressive latency settings: NIC interrupt moderation off, EEE/flow-control off, core parking off, HPET off, TSC Enhanced). README: add Win10 "Best effort" badge alongside Win11 "Primary", document graceful degradation (AI/Widgets/Mica silently no-op on Win10). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds /gaming-session route: snapshots power plan, Defender realtime state and a whitelist of services, then kills/stops user-picked background processes (Discord, Spotify, browsers, OneDrive, launchers, …) and services (WSearch, SysMain, DiagTrack, BITS, …). On End Session every mutation is reversed from the snapshot. Safety: process and service names are hardcoded whitelists in src-tauri/src/gaming_session.rs — frontend cannot ask us to taskkill arbitrary executables or stop arbitrary services. Power-plan GUIDs are strict-format validated. PowerShell payloads are templates with only whitelist-derived values substituted. Snapshot is persisted to localStorage so a crash mid-session lets the user offer a manual restore on next launch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds /per-game-profiles route. Each tracked executable gets: - GPU preference (auto / power-saving / high-performance) via HKCU Software\Microsoft\DirectX\UserGpuPreferences — same key the Windows Settings → Graphics page writes. - Fullscreen-optimization off, HighDPIAware override and Run-as-admin via the per-user AppCompat Layers key. All settings live in HKCU so the route works without elevation. Icons are extracted via the existing get_file_icons command. Removal cleans both registry locations so there are no orphans. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds /anti-cheat-compat route that probes Secure Boot, TPM 2.0, VBS, HVCI / Memory Integrity, Test Mode (testsigning) and kernel debugging, then renders a compatibility matrix for Riot Vanguard, Easy Anti-Cheat, BattlEye and VAC. Each row explains the requirement and, where Reclaim can fix it from inside Windows (testsigning off, debug off), exposes a one-click button. Secure Boot off → reboot-to-UEFI shortcut. Backend: src-tauri/src/anticheat.rs queries WMI Win32_DeviceGuard + Win32_Tpm + Confirm-SecureBootUEFI + bcdedit. No state changes happen during the probe; fixes are explicit and gated behind confirmation dialogs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…tions Adds /nic-tuning route backed by Get-NetAdapterAdvancedProperty. Curated list of 16 latency-relevant properties (EEE, FlowControl, InterruptModeration, RSS, LSO, JumboPacket, Realtek Green Ethernet, …) with explanations and a recommended value badge per entry. "Show all" expander dumps every remaining property the driver exposes, each with a Select bound to the driver's published valid values. Backend (src-tauri/src/nic.rs) validates adapter name, registry keyword and value with strict character whitelists before any PowerShell interpolation. Reset uses Reset-NetAdapterAdvancedProperty which restores the driver default, not the pre-Reclaim state — note surfaced in the InfoBanner. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds /msi-mode route. Enumerates physical PCI devices via Get-PnpDevice (filtered to Display, MEDIA, SCSIAdapter, Net, HIDClass, USB, System), reads the MSISupported / MessageNumberLimit values from each device's Interrupt Management subkey, lets the user toggle MSI mode per device. Strong safety: - Hardcoded HKLM\SYSTEM\CurrentControlSet\Enum prefix; only the device instance id segment varies, and that segment is regex-validated (PCI\ prefix only, alnum + \&_.-# chars). - Sticky "wrong values prevent boot" warning that the user must explicitly dismiss before any toggle becomes interactive. - One-click restore-point shortcut wired to the existing createRestorePoint command. - Setting MSI OFF deletes the value rather than writing 0, so the driver default kicks back in. Devices are grouped by class with High-impact-for-gaming highlights on Display, MEDIA and SCSIAdapter (the classic NVMe / GPU / audio trio). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds /latency-monitor route. Eight built-in preset targets (Steam, Riot, Epic, Battle.net, Discord, Cloudflare, Google DNS, GitHub) plus unlimited user-added custom targets via a small dialog. Polls 2 / 5 / 10 s, pause toggle, per-target rolling 60-sample buffer rendered as a color-coded sparkline with min/avg/max/loss% stats. Backend (src-tauri/src/latency.rs) parallelises Test-Connection across all enabled targets via Start-Job + Wait-Job with a 4-second timeout. Host inputs are strictly validated (DNS-safe chars only, <=253 chars, <=32 hosts per batch) before they touch the single-quoted PowerShell argument. Read-only — no system changes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…route bugfixes
Sidebar reorganisation:
- New "Gaming" group (Gaming tweaks / Gaming Session / Per-game profiles /
Anti-cheat compat / MSI mode manager) split out of Customize.
- Customize back to its original 10 OS-tweak entries.
- Developer's lone "Windows features" merged into System info.
Dashboard redesign:
- Removed Profile cards (duplicates the Profiles tab) and Categories grid
(duplicates the sidebar).
- Added a fourth KPI tile (Profiles available · built-in + custom).
- New Recent activity feed (last 6 user-visible log entries with relative
timestamps and level icons) replacing the categories grid.
- New permanent Catalog coverage section: per-category applied/total counts
with mini progress bars, 3-column grid.
Activity log cleanup:
- Removed `log.info("system.boot", …)` and the `service.tick` heartbeat
log call — they were heartbeat noise, not user actions.
- log.svelte.ts filters NOISE_ACTIONS (system.boot, service.tick) on load
and rewrites localStorage so existing history is cleaned. push() also
silently drops them as defence-in-depth.
Tweak bugfixes:
- `audio-enhancements-off`: apply was writing PKEY_AudioEndpoint_
Disable_SysFx = 0 which ENABLES enhancements; now writes 1. Check
switched to safer PSObject.Properties enumeration.
- `core-parking-off-ac` and `processor-perf-boost-aggressive`: checks
matched English-only powercfg output text via regex, broken on every
non-English Windows. Now reads ACSettingIndex directly from the active
scheme's registry key (locale-independent).
- `ntfs-8dot3-off`: check parsed locale-dependent fsutil text; now reads
NtfsDisable8dot3NameCreation from the registry.
- `hid-power-management-off`: replaced full Recurse with explicit 2-level
iteration so the scan finishes in <500ms instead of multi-second.
Route bugfixes (the big one — all driven by a single PowerShell 5.1
incompatibility):
- ConvertTo-Json -AsArray is PS 7.0+ only; on PS 5.1 (the system default
powershell.exe on Win10/11) the parameter is rejected, the script
aborts, stdout is empty and the Rust side returns an empty array.
This silently broke listing for NIC tuning, MSI mode and Latency
monitor. Fixed by switching all four call sites to
`ConvertTo-Json -InputObject @($out) -Depth N -Compress` which
produces a proper JSON array on both PS 5.1 and 7+.
- Latency monitor: replaced SendPingAsync + Task.WaitAll dance with
sequential System.Net.NetworkInformation.Ping.Send(host, 1500). 8
healthy targets finish in <300ms; no Task lifecycle fragility.
- NIC tuning adapter list: dropped `-Physical` filter which excluded
USB / weird-firmware NICs; now uses bare `Get-NetAdapter`.
- NIC set-property: detects numeric values via [int64]::TryParse and
hands them unquoted to Set-NetAdapterAdvancedProperty so DWORD-typed
properties don't reject a string argument; catch-block falls back
to the string form for REG_SZ-typed properties.
- MSI device list: try/catch fallback to Win32_PnPEntity for stripped-
down SKUs without the Get-PnpDevice cmdlet.
- MSI toggle: `HKLM\SYSTEM\…\Enum` subkeys are SYSTEM-owned and grant
Administrators read-only access, so direct writes get ACCESS_DENIED.
Now first attempts a direct write with -ErrorAction Stop; on failure
falls back to a one-shot SYSTEM scheduled task (schtasks /create
/ru SYSTEM /rl HIGHEST → reg.exe add/delete → /delete). Verifies the
value landed by reading it back.
Esports Rig template:
- New Install-Media Task Sequence template based on the gaming-esports
profile + standard preamble + Steam/Discord/Epic/Firefox winget set.
Win10 compatibility:
- README gains a Windows 10 "Best effort" status badge alongside the
Windows 11 "Primary" badge plus a paragraph documenting graceful
degradation (Recall / Widgets / Mica silently no-op on Win10).
- Settings page surfaces an inline InfoBanner when build < 22000.
README + CLAUDE.md refreshed counts: 228 tweaks (was 200), 5 profiles
(+ gaming-esports), 7 install-media templates (+ Esports Rig), 42 routes,
34 Rust modules, 156 Tauri commands.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Headline numbers, the six new routes (gaming-session / per-game-profiles / msi-mode / nic-tuning / latency-monitor / anti-cheat-compat), the 28 new gaming tweaks broken down by sub-category, the gaming-esports profile, the Esports Rig install-media template, sidebar / dashboard reorg, and the cluster of route bugfixes — the silent-empty-array PowerShell 5.1 ConvertTo-Json -AsArray incompat, inverted audio- enhancements-off, locale-dependent powercfg / fsutil checks, MSI mode SYSTEM-task ACL fallback, NIC numeric-vs-string typing, latency ping sequentialisation. Plus the Windows 10 compatibility-tier paragraph + Settings InfoBanner. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
check[]+revert/defaultValuecoverage/gaming-session(snapshot-based background suspend),/per-game-profiles(per-EXE GPU + AppCompat overrides via HKCU — no admin),/msi-mode(per-PCI MSI/MSI-X toggle with SYSTEM-task fallback for ACL-locked Enum subkeys),/nic-tuning(Get-NetAdapterAdvancedProperty editor with 16 curated properties),/latency-monitor(live ping with sparklines),/anti-cheat-compat(Vanguard / EAC / BattlEye / VAC compatibility matrix with fix shortcuts)gaming-esportsbuilt-in profile (48 tweaks, plugged-in desktop rigs) and Esports Rig Install-Media templateGaminggroup, Customize trimmed back to 10 OS-tweak entries, Developer merged into System infoSee
CHANGELOG.mdfor the full v1.1 entry incl. the cluster of route bugfixes (PS 5.1ConvertTo-Json -AsArrayincompat, invertedaudio-enhancements-off, locale-dependent powercfg/fsutil checks, MSIHKLM\…\EnumACL fallback, NIC numeric-vs-string typing).Test plan
pnpm tauri:dev— sidebar shows new Gaming group with 5 entries/gaming-sessionstarts + ends a session, snapshot survives reload/per-game-profileswrites to HKCU UserGpuPreferences without admin/msi-modelists ~30+ PCI devices, toggle on a low-stakes device cycles the value/nic-tuninglists adapters + properties, Set works on*EEE/*FlowControl/*InterruptModeration/latency-monitorshows ping values for Steam / Cloudflare / Google DNS/anti-cheat-compatshows correct Secure Boot / TPM / VBS / HVCI / Test Mode / kernel debug statepnpm catalog:export— writes 228 tweaks, 5 profilescargo build --release— cleanreclaim.exe --apply-profile gaming-esports --silentapplies all 48 tweaks🤖 Generated with Claude Code