Skip to content

Improve Dependency Downloads for Users in China and with Restricted Network Access #67

@cary-rowen

Description

@cary-rowen

Hi Carter,

Following up on our email conversation, I'm opening this issue to discuss and resolve the dependency download problem for users with restricted network access. This is particularly relevant to my work on the VIVO provider in PR #66.

The Problem

A number of users, especially in China, face issues when the add-on attempts to download its dependencies from GitHub. The experience is often poor:

  1. For some, the connection to GitHub is blocked entirely, leading to a quick failure.
  2. For others, the connection is extremely slow, causing the download to hang for a long time before eventually timing out.

Waiting for a long timeout on a slow connection only to fall back to another URL isn't an ideal user experience.

A Potential Solution: Using a Mirror

To address this, the NVDA Chinese Community operates a mirror service that is highly available for users in the region.

Currently, this mirror is primarily used for hosting .nvda-addon files. However, we can add the required dependency .zip files (e.g., aic-py-3.11.zip) to our download whitelist, making them available through our service.

This would enable a more robust download strategy:

  1. The add-on could first attempt to download from GitHub.
  2. If the download fails or times out, it could automatically fall back to the NVDA-CN mirror URL.

Next Steps

This proposal is to make our mirror available for this purpose. If you're open to this approach, we can provide the stable mirror URLs for the dependency files.

Let's discuss if this is a viable path forward. I'm happy to provide any further details needed about the mirror service.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions