Skip to content

Make system restart the secondary action in the post-update dialog to avoid potential data loss and maintain user expectations#20171

Merged
seanbudd merged 2 commits into
nvaccess:betafrom
codeofdusk:restart-secondary-action
May 21, 2026
Merged

Make system restart the secondary action in the post-update dialog to avoid potential data loss and maintain user expectations#20171
seanbudd merged 2 commits into
nvaccess:betafrom
codeofdusk:restart-secondary-action

Conversation

@codeofdusk

Copy link
Copy Markdown
Contributor

Link to issue number:

#19718 (comment)

Summary of the issue:

The "restart Windows" action is primary (invokes with Enter) in the update dialog. This is a sudden change in behaviour which is likely to surprise long-time NVDA users. Generally, destructive actions like this (that can lead to loss of unsaved data or similar) are secondary in UIs.

Description of how this pull request fixes the issue:

Mark the new restart action as secondary in the dialog, preserving default behaviour.

Testing strategy:

Alpha/beta testing.

Known issues with pull request:

None known

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

Copilot AI review requested due to automatic review settings May 19, 2026 05:16
@codeofdusk codeofdusk requested a review from a team as a code owner May 19, 2026 05:16
@codeofdusk codeofdusk requested a review from seanbudd May 19, 2026 05:16
@codeofdusk codeofdusk changed the title Make system restart the secondary action in the post-update dialog to avoid potential data loss Make system restart the secondary action in the post-update dialog to avoid potential data loss and maintain user expectations May 19, 2026
@seanbudd seanbudd added the blocked/needs-product-decision A product decision needs to be made. Decisions about NVDA UX or supported use-cases. label May 19, 2026
@seanbudd seanbudd added this to the 2026.2 milestone May 19, 2026
@seanbudd

Copy link
Copy Markdown
Member

Thanks @codeofdusk - just need to confirm with the team we want this going into beta branch

@seanbudd seanbudd removed the blocked/needs-product-decision A product decision needs to be made. Decisions about NVDA UX or supported use-cases. label May 21, 2026
@seanbudd

Copy link
Copy Markdown
Member

@codeofdusk - can you please fix up the translator comment issue

@seanbudd seanbudd merged commit 4b29421 into nvaccess:beta May 21, 2026
14 checks passed
@SaschaCowley

Copy link
Copy Markdown
Member

Why was this approach taken, rather than looking into the underlying reason a forced shutdown is being initiated? Rather than calling shutdown /r /t 0, as an application we should probably be using ExitWindowsEx, which, from the docs, would avoid this issue by performing a regular shutdown (i.e. including QueryEndSession messages and the like).

@seanbudd

seanbudd commented Jun 3, 2026

Copy link
Copy Markdown
Member

@SaschaCowley - good point. Are you going to open a PR/issue for this?
Mick and I agreed that even without forced shutdowns happening, shutting down should be an explicit decision, even if it is encouraged, rather than default

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.

3 participants