Skip to content

fix(wpf): harden restore completion and consent - #11

Merged
nicolasestrem merged 3 commits into
mainfrom
codex/wpf-release-hardening
Aug 11, 2026
Merged

nicolasestrem merged 3 commits into
mainfrom
codex/wpf-release-hardening

Conversation

@nicolasestrem

@nicolasestrem nicolasestrem commented Aug 9, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Align the WPF assembly and displayed version with the canonical 0.0.1 product version.
  • Clear corrected snapshot validation and expose the real validation and result text through UI Automation.
  • Make final restore consent resizable, scrollable, long-path safe, and truthful about interactive-only modules.
  • Route completed restores to the result workspace and prevent accidental reruns from Confirm.
  • Keep long multi-module result summaries scrollable so module results and the Timeline action remain reachable at narrow window heights.
  • Constrain final consent to the available Windows work area for high-DPI desktops.
  • Let Escape return keyboard users from Compare to Timeline through the existing navigation command.

Verification

  • dotnet build src\WinRestoreKit.Tests\WinRestoreKit.Tests.csproj -c CodexFinal --no-restore
    • Build succeeded with 0 warnings and 0 errors.
  • Full verification: 1,011 passed, 0 failed, 0 skipped.
  • Changed-file dotnet format completed successfully.
  • git diff --check completed successfully.
  • Added em dash lines: 0. C# and XAML em dash hits: 0.
  • Windows Computer Use verified the combined stacked executable, including Timeline, Compare, Advanced history, responsive layout, accessibility names, About/update surfaces, backup validation, presets, compression, and Escape navigation.
  • Two real read-only host snapshot runs exercised all 29 modules. Computer Use verified live progress, truthful partial results, unavailable-artifact enforcement, bounded result-detail scrolling, and the reachable Back to Timeline action. No host restore or settings mutation was started.

Stack

This narrow draft PR is stacked on codex/wpf-restore-integrity and should be reviewed after PR #10.

@nicolasestrem
nicolasestrem marked this pull request as ready for review August 11, 2026 11:30
Base automatically changed from codex/wpf-restore-integrity to main August 11, 2026 11:31
@nicolasestrem
nicolasestrem merged commit f1ed839 into main Aug 11, 2026
2 checks passed
@nicolasestrem
nicolasestrem deleted the codex/wpf-release-hardening branch August 11, 2026 11:31

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 41ed18a4a0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +70 to +72
Rect workArea = SystemParameters.WorkArea;
MaxWidth = Math.Max(MinWidth, Math.Min(960, workArea.Width - workAreaInset));
MaxHeight = Math.Max(MinHeight, workArea.Height - workAreaInset);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Constrain the dialog against its owner's monitor

When the owner is on a secondary monitor whose effective work area is smaller than the primary display's, SystemParameters.WorkArea returns the primary monitor's work area, so this calculation can leave the centered dialog at 680×620 even though it does not fit the monitor where it opens. That can place the Restore/Cancel row offscreen on mixed-resolution or mixed-DPI setups; derive the work area from the owner/window's monitor instead.

Useful? React with 👍 / 👎.

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