Skip to content

Update Add-on Store mirror to use new UX#17228

Merged
SaschaCowley merged 14 commits into
masterfrom
addonStoreMirrorUx
Oct 8, 2024
Merged

Update Add-on Store mirror to use new UX#17228
SaschaCowley merged 14 commits into
masterfrom
addonStoreMirrorUx

Conversation

@SaschaCowley

Copy link
Copy Markdown
Member

Link to issue number:

Follow up to #17099

Summary of the issue:

In PR #17099, the ability to set a mirror to use when accessing the Add-on Store was added.
PR #17151 built upon this, adding the ability to set a mirror for NVDA update checks.
However, it was decided that we needed a more robust way of checking the mirror URLs, and a means of protecting users from accidental changes to the URL.
These UX improvements were implemented for the NVDA update mirror, but not for the Add-on Store server mirror, so as to keep PRs single-issue.

Description of user facing changes

The Add-on Store server mirror settings now use the same UI as the NVDA update check mirror.

Description of development approach

  • Added a responseValidator option to _SetURLDialog, which defaults to always returning True.
  • Added a validator for request.Response objects to check if they're a valid Add-on Store cache hash (JSON comprising a single string of 7-40 hex digits ).
  • Copied the implementation of NVDA update mirror to the Add-on Store page, using the cache hash validator as the responseValidator function.
  • Made failure messages when setting a URL more descriptive.
  • Updated user guide, including consolidating the description of the NVDA update check and Add-on Store server mirror dialogs into one.

Testing strategy:

  • Tested that using the new dialog sets the Add-on Store server mirror as expected.
  • Ran through the NVDA update mirror process and Add-on Store server mirror process, checking that context help works on all controls.

Known issues with pull request:

While not directly related to this issue, note that this work lays part of the groundwork for #17205.

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.

@coderabbitai summary

Added a new section to the settings section of the user guide describing the update mirror and add-on store mirror dialogs in one.
Removed the specific section for the update mirror dialog.
Changed the links that pointed to the add-on store dialog to refer to the new unified section.
Changed references in source code to refer to the correct user guide sections.
Comment thread source/gui/_SetURLDialog.py Outdated
Comment thread source/gui/settingsDialogs.py
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread user_docs/en/userGuide.md Outdated
Comment thread user_docs/en/userGuide.md
@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 739159131a

@seanbudd seanbudd added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Oct 1, 2024
@SaschaCowley SaschaCowley marked this pull request as draft October 2, 2024 01:14
@SaschaCowley SaschaCowley marked this pull request as ready for review October 2, 2024 02:39
@SaschaCowley SaschaCowley requested a review from seanbudd October 2, 2024 02:39
Comment thread user_docs/en/userGuide.md Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread user_docs/en/userGuide.md Outdated
Comment thread user_docs/en/userGuide.md Outdated
Comment thread user_docs/en/userGuide.md Outdated
Co-authored-by: Sean Budd <sean@nvaccess.org>
@SaschaCowley SaschaCowley requested a review from seanbudd October 2, 2024 06:15

@Qchristensen Qchristensen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good, great work.

@SaschaCowley SaschaCowley merged commit af0cd4d into master Oct 8, 2024
@SaschaCowley SaschaCowley deleted the addonStoreMirrorUx branch October 8, 2024 23:57
@github-actions github-actions Bot added this to the 2025.1 milestone Oct 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants