Skip to content

Show the restart dialog after updating from within NVDA, and make sure restarting offers the user the ability to save work in progress"#20441

Open
SaschaCowley wants to merge 3 commits into
betafrom
restart-after-update
Open

Show the restart dialog after updating from within NVDA, and make sure restarting offers the user the ability to save work in progress"#20441
SaschaCowley wants to merge 3 commits into
betafrom
restart-after-update

Conversation

@SaschaCowley

Copy link
Copy Markdown
Member

Link to issue number:

Fixes #20393
Also fixes the underlying issue in #20171

Summary of the issue:

The installer's restart dialog:

  • Wasn't shown after updating via updateCheck; and
  • Used an inappropriate means of triggering system restart, which resulted in a forced restart.

Description of user facing changes:

The restart dialog is now shown when updating via updateCheck, and the restart button will not force restart the machine if this could result in data loss.

Description of developer facing changes:

Additions to winBindings.

Description of development approach:

When deciding whether to show the restart dialog, check whether --install-silent was literally passed. This is neessary because doSilentInstall is called regardless of whether --install or --install-silent was used.

Use ExitWindowsEx to restart the system. Based on this example code

Testing strategy:

Built a launcher from source. called core.triggerNVDAExit(core.NewNVDAInstance(destPath, _generate_updateParameters())) (where destPath was set to the path to said launcher) from the python console. Also ran from source and called _restartWindows with an unsaved document and several browser tabs open.

Known issues with pull request:

Restart is still the secondary option, as I gather from #20171 (comment) that that is the preferred option.

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.

@SaschaCowley SaschaCowley requested a review from a team as a code owner July 3, 2026 12:33
@SaschaCowley SaschaCowley requested a review from seanbudd July 3, 2026 12:33
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