Skip to content

Fix x64 identification for update check#19020

Merged
seanbudd merged 5 commits into
masterfrom
fix-18983
Oct 3, 2025
Merged

Fix x64 identification for update check#19020
seanbudd merged 5 commits into
masterfrom
fix-18983

Conversation

@seanbudd

@seanbudd seanbudd commented Oct 3, 2025

Copy link
Copy Markdown
Member

Link to issue number:

Fixes #18983

Summary of the issue:

NVDA incorrectly identified the OS architecture as 32bit when running as a 64bit process.
This caused the update check to return 2025.3 as the expected NVDA version, as NVDA falsely said the system was 32bit.

Description of user facing changes:

Update check works for alphas

Description of developer facing changes:

None

Description of development approach:

Fix PROCESSOR_ARCHITEW6432 usages

Testing strategy:

test update check on alphas

Known issues with pull request:

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.

@seanbudd seanbudd requested a review from a team as a code owner October 3, 2025 05:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

Fixes incorrect OS architecture detection in NVDA's update check mechanism by correcting the use of the wrong Windows environment variable.

  • Replaces incorrect PROCESSOR_ARCHITEW6432 with correct PROCESSOR_ARCHITECTURE environment variable
  • Updates both the update check logic and corresponding unit test
  • Resolves issue where NVDA incorrectly identified 64-bit systems as 32-bit, causing wrong version returns

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
source/updateCheck.py Corrects environment variable usage for OS architecture detection in update check
tests/unit/test_winVersion.py Updates unit test to use correct environment variable for consistency

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread tests/unit/test_winVersion.py Outdated
Comment thread source/updateCheck.py Outdated
Comment thread source/updateCheck.py Outdated
Comment thread tests/unit/test_winVersion.py Outdated
Comment thread source/updateCheck.py Outdated
Comment thread source/updateCheck.py Outdated
@SaschaCowley SaschaCowley changed the title Fix x64 indentification for update check Fix x64 identification for update check Oct 3, 2025
@seanbudd seanbudd requested a review from SaschaCowley October 3, 2025 05:59
Comment thread source/updateCheck.py Outdated
@SaschaCowley SaschaCowley enabled auto-merge (squash) October 3, 2025 06:02
@seanbudd seanbudd disabled auto-merge October 3, 2025 06:19
@seanbudd seanbudd merged commit 7778bb6 into master Oct 3, 2025
25 checks passed
@seanbudd seanbudd deleted the fix-18983 branch October 3, 2025 06:19
@github-actions github-actions Bot added this to the 2026.1 milestone Oct 3, 2025
@seanbudd seanbudd mentioned this pull request Oct 7, 2025
5 tasks
SaschaCowley pushed a commit that referenced this pull request Oct 9, 2025
Fixup of #19020

### Summary of the issue:

Since migrating alphas to 64bit, the NV Access server has been updated
to refer 32bit OSs to 2025.3 rather than the latest NVDA version.
However, this was implemented incorrectly, checking the `x64` parameter
rather than `osArchitecture`.
Historically the `x64` parameter is used to determine if the OS is
AMD64, not if the OS supports 64-bit software, which includes ARM based
OSs.
#19020 changed updateCheck to always send True for 64-bit OSs, whereas
it should continue to only send the flag if AMD64 and instead the server
should be fixed

### Description of user facing changes:
None (with server side changes implemented)

### Description of developer facing changes:
None

### Description of development approach:
Restore update check behaviour to before 64-bit alphas

### Testing strategy:
Test on prod

### Known issues with pull request:

None
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.

64-bit NVDA snapshots offer 2025.3 as update

3 participants