Skip to content

Audit fixes: crash-safe elevated changes, MainWindow split, README gallery - #23

Merged
PrimeBuild-pc merged 10 commits into
mainfrom
chore/audit-fixes
Oct 13, 2026
Merged

PrimeBuild-pc merged 10 commits into
mainfrom
chore/audit-fixes

Conversation

@PrimeBuild-pc

Copy link
Copy Markdown
Owner
  • README rewritten with a screenshot gallery (private addresses blanked).
  • Every elevated change goes through one helper (ElevatedChange) that turns failures into a status line; a worker dying without answering used to close the app from the tuning plan. The app now also logs and reports any exception a handler misses.
  • MainWindow split by job: Updates card, Throughput & bufferbloat, Interfaces, History & comparison, Recommendations and Preferences are their own views (MainWindow.xaml.cs 2624 → 1600 lines). Preferences are saved read-modify-write so views cannot overwrite each other's fields.
  • Removed: the in-memory snapshot HMAC (authenticated nothing), the Dependabot auto-merge workflow (blocked by the review rule), the shipped Wi-Fi plan doc, a write-only field.
  • Found on the way: page content was invisible to Narrator/UI Automation (content host not named PART_SelectedContentHost), and the first start pinned the Windows language as a user choice.

The main ruleset requires an approving review, so auto-merge never completed;
Dependabot PRs are merged by hand. The Wi-Fi plan is implemented and its
decisions live in ADR 0001.
Snapshots never leave the process that created them (the audit store keeps its
own record), so the HMAC authenticated nothing. Rollback still refuses a
snapshot whose apply did not succeed.
The tuning plan caught only some exceptions from the worker: a worker that died
without answering raised InvalidDataException out of an async void handler and
closed the app. DNS, interrupt affinity and the tuning plan now share
ElevatedChange, which turns every failure into a status line, and the app logs
and reports any exception a handler still misses.
Preferences are now saved read-modify-write, so a view that owns a field
cannot overwrite the fields MainWindow or another view saved meanwhile.
Also drops _lastLoadedLatency, which was written but never read.
The monitor now shows an inventory it had to capture itself, so every view
receives the same adapters.
Neither TabControl template named its ContentPresenter PART_SelectedContentHost,
so TabItem's automation peer exposed no page content at all: screen readers and
UI Automation saw only the navigation. The Preferences combo boxes also saved
their initial selection, which recorded the Windows language as a user choice
and stopped SockTuner following Windows afterwards.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@PrimeBuild-pc
PrimeBuild-pc merged commit 8fecd1b into main Oct 13, 2026
2 checks passed
@PrimeBuild-pc
PrimeBuild-pc deleted the chore/audit-fixes branch October 13, 2026 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant