Skip to content

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 12:51
· 7 commits to main since this release

Reqeek v0.1.1 — Updates and Improvements

The settings window can now check for updates. When an update is available, users can either download the installer or have the update installed when the app restarts.

Update Mechanism

Windows and macOS use different update implementations due to differences in code signing.

  • Windows: electron-updater handles the entire update process, including checking for updates, downloading, verification, and installation on quit. It verifies downloads using the SHA-512 hash in latest.yml and does not require an Authenticode signature, so it works without a signing certificate.
  • macOS: The app checks for new versions, downloads the DMG, and opens it so users can manually drag the updated app into place. Squirrel.Mac validates updates against the running app's designated requirement. Because this build is ad-hoc signed (identity: '-') with no signing certificate or Team ID, that requirement can only match the current build's code directory hash (cdhash), causing every new release to fail validation. This check runs inside Electron's own binary and cannot be bypassed through an electron-builder configuration setting.

macOS Update Discovery and Rate-Limit Handling

On macOS, version information is retrieved from the GitHub API, which also provides the actual release asset list. Unauthenticated requests are limited to 60 per hour per egress IP, making shared IP addresses in offices, campuses, and proxy environments particularly susceptible to rate limits.

When the API returns HTTP 403, the updater now falls back to the redirect from:

github.com/<owner>/<repo>/releases/latest

It extracts the release tag from the Location header and reconstructs the DMG URL using the artifactName template.

Because this fallback does not provide an asset list, it depends on the artifact naming template. Cross-references between the API-based and fallback paths help keep their behavior consistent.

Clearer Update Error Messages

Update failures are now classified instead of being reported through a single generic message:

  • Rate limited: Wait before retrying.
  • Host unreachable: Check the network connection.
  • No release available: No action is needed.

The main process now reports the specific failure type, making it easier to determine the appropriate next step.

Multi-Architecture Release Builds

Release builds now produce both architectures in a single job per platform, ensuring that latest.yml includes both x64 and ARM64 artifacts.

Previously, separate jobs could overwrite each other's uploads, leaving one architecture without an update. Building both architectures in the same job prevents this issue.

Localization

Expanded UI localization from three languages to nine, adding:

  • German (de)
  • Spanish (es)
  • French (fr)
  • Korean (ko)
  • Portuguese (pt)
  • Russian (ru)

Version

Updated to v0.1.1.