Skip to content

fix(windows): check if automatic updates off before prompt#14295

Merged
rc-swag merged 8 commits intomasterfrom
fix/windows/dont-prompt-updates-off
Aug 27, 2025
Merged

fix(windows): check if automatic updates off before prompt#14295
rc-swag merged 8 commits intomasterfrom
fix/windows/dont-prompt-updates-off

Conversation

@rc-swag
Copy link
Copy Markdown
Contributor

@rc-swag rc-swag commented Jul 4, 2025

Before prompting check if automatic updates has been turned off in the time sitting in waiting for restart.
Also check it as we transition to waiting for restart in case it was turned off while downloading.
Build-bot: release windows
Fixes: #14262

Before prompting check if automatic updates has been turned
off in the time sitting in waiting for restart.
Also check it as we transition to waiting for restart in case
it was turned off while downloading.

Fixes:#14262
@github-project-automation github-project-automation bot moved this to Todo in Keyman Jul 4, 2025
@keymanapp-test-bot keymanapp-test-bot bot added the user-test-missing User tests have not yet been defined for the PR label Jul 4, 2025
@keymanapp-test-bot
Copy link
Copy Markdown

keymanapp-test-bot bot commented Jul 4, 2025

User Test Results

Test specification and instructions

Test Artifacts

@keymanapp-test-bot keymanapp-test-bot bot added this to the A19S6 milestone Jul 4, 2025
@rc-swag rc-swag self-assigned this Jul 4, 2025
@rc-swag rc-swag marked this pull request as draft July 4, 2025 04:30
@keyman-server keyman-server modified the milestones: A19S6, A19S7 Jul 6, 2025
If it has been determined the user turned off automatic
updates in the function ShouldSendToBUpdateSM then it shall
return early.
@rc-swag rc-swag changed the title fix(windows): check if autmatic updates off before prompt fix(windows): check if automatic updates off before prompt Jul 25, 2025
@darcywong00 darcywong00 modified the milestones: A19S8, A19S9 Aug 2, 2025
@darcywong00 darcywong00 modified the milestones: A19S9, A19S10 Aug 16, 2025
@rc-swag
Copy link
Copy Markdown
Contributor Author

rc-swag commented Aug 18, 2025

User Testing

TEST_UPDATE_CANCELED_NO_PROMPT

Install the Keyman for Windows Build associated with this PR.

  1. Start Keyman
  2. Open configuration go to the "Options" tab and ensure "Automatically check for updates and download" is selected.
  3. Go to the "Update" tab
  4. Open the windows registry (Win+R and type regedit) and check the "update state flag" if it is already usWaitingRestart go straight to step 8. Which should be go to Options and uncheck Automatically check for updates and downloads].
  5. Check for now updates
  6. Open the windows registry (Win+R and type regedit) and check the "update state flag" at Computer\HKEY_CURRENT_USER\SOFTWARE\Keyman\Keyman Engine
  7. It should end up at state usWaitingRestart after going through the other states -> usUpdateAvailable -> usDownloadloading -> usWaitingRestart
  8. Now got to the Options and uncheck Automatically check for updates and downloads.
  9. Exit Configuration and Keyman.
  10. Restart Windows
  11. Once Keyman starts (if it doesn't start, start Keyman)
  12. Open the windows registry (Win+R and type regedit) and check the "update state flag" at Computer\HKEY_CURRENT_USER\SOFTWARE\Keyman\Keyman Engine
  13. Observe that the update state flag returns to usIdle

TEST_UPDATE_PROMPT

This is a regression to test to ensure the "normal" case still works.

  1. Start Keyman
  2. Go to the Options and check Automatically check for updates and downloads.
  3. Open configuration go to the "Update" tab
  4. Open the windows registry (Win+R and type regedit) and check the "update state flag" if it is already usWaitingRestart go straight to step 8
  5. Check for now updates
  6. Open the windows registry (Win+R and type regedit) and check the "update state flag" at Computer\HKEY_CURRENT_USER\SOFTWARE\Keyman\Keyman Engine
  7. It should end up at state usWaitingRestart after going through the other states -> usUpdateAvailable -> usDownloadloading -> usWaitingRestart
  8. Exit Configuration and Keyman.
  9. Restart Windows
  10. Once Keyman starts (if it doesn't start, start Keyman), A prompt should appear to notify the user Keyman update will install now with an option to exit.

@keymanapp-test-bot keymanapp-test-bot bot added has-user-test user-test-required User tests have not been completed and removed user-test-missing User tests have not yet been defined for the PR labels Aug 18, 2025
@rc-swag rc-swag marked this pull request as ready for review August 18, 2025 03:34
Copy link
Copy Markdown
Member

@mcdurdin mcdurdin left a comment

Choose a reason for hiding this comment

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

LGTM, just nits

Co-authored-by: Marc Durdin <marc@durdin.net>
@Nnyny Nnyny self-assigned this Aug 25, 2025
@Nnyny
Copy link
Copy Markdown
Contributor

Nnyny commented Aug 25, 2025

Test Results

Before testing:
- Remove the previous Keyman version through control panel
- Install keyman-19.0.94.exe
- On Setup, select 'Keyman 19.0.94-alpha-test-14295' and install

  • TEST_UPDATE_CANCELED_NO_PROMPT (PASSED): notes
  1. Start Keyman > Options tab
  2. Make sure 'Automatically check for updates and download' is selected
  3. Go to Registry Editor > HKEY_CURRENT_USER\Software\Keyman\Keyman Engine
  4. Confirm 'update state' is usIdle
  5. Go to Keyman > Update tab > Check for new updates
  6. New update Keyman 19.0.104 appears
  7. Go back to the Registry Editor and refresh it (Fn + F5)
  8. 'update state' has changed to usWaitingRestart
  9. Back to Keyman > Options tab > uncheck 'Automatically check for updates and download'
  10. Close Keyman and restart the computer
  11. Make sure Keyman is running
  12. Go to Registry Editor and confirmed 'update state' has returned to usIdle
  • TEST_UPDATE_PROMPT (PASSED): notes
  1. Open Keyman > Options tab > check 'Automatically check for updates and download'
  2. Close Keyman and restart
  3. Go to Registry Editor > HKEY_CURRENT_USER\Software\Keyman\Keyman Engine
  4. Confirm 'update state' is usIdle
  5. Go to Keyman > Update tab > Check for new updates
  6. New update Keyman 19.0.104 appears
  7. Go back to the Registry Editor and refresh twice (Fn + F5)
  8. 'update state' has changed to usWaitingRestart
  9. Close Keyman and restart the computer
  10. Keyman Update ask to install a new update

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Aug 25, 2025
@rc-swag rc-swag merged commit 9ecbfe4 into master Aug 27, 2025
8 checks passed
@rc-swag rc-swag deleted the fix/windows/dont-prompt-updates-off branch August 27, 2025 01:33
@github-project-automation github-project-automation bot moved this from Todo to Done in Keyman Aug 27, 2025
@keyman-server
Copy link
Copy Markdown
Collaborator

Changes in this pull request will be available for download in Keyman version 19.0.106-alpha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

bug(windows): Update prompt occurs after disabling check for updates

5 participants