Repository navigation
Fix updater codec failures and offer explicit one-time alpha consent - #485
Merged
gustavo-barrios2006 merged 4 commits intoOct 13, 2026
Conversation
m-enes-senovali
marked this pull request as ready for review
October 13, 2026 18:42
- pl, ro, tr-TR: "alfa", the spelling each catalog already uses for the
alpha channel (its checkbox reads "alfa"), in the two new strings and
the changelog; the Romanian message now uses the catalog's formal
register ("Folosiți", "Doriți").
- A manual check whose fetch fails is answered with the update error
instead of silence. With the alpha channel on, a failed listing now
propagates, so an opted-in user's Help > Check for updates could end
with nothing said; automatic checks and their quick retries stay quiet.
The _fetch_releases docstring and the trap doc say so.
- The excluded-alpha rule is now newer_excluded_alpha(), a plain
function tested directly; _check_once only dispatches on it.
- The reinstall confirmation (with its downgrade warning) and the
reinstall error go through message_box with an announcement, so they
reach a user whose window is hidden in the tray.
- .claude/rules/updater.md covers client/update_channel_choice.py.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WmFGjY3WDiwbRjXL6zhiyY
Runs the real _schedule_retry with a fake Timer: the quick retries after a forced, failing check run as automatic checks and show nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WmFGjY3WDiwbRjXL6zhiyY
The unit is stable-to-stable. A user on 2.0.0.0 never sees the alpha one-time choice or the downgrade warning (both need an alpha build), and no build was shown to lack a codec, so those details go. What does reach them: Help > Check for updates used to say nothing when the update server could not be reached (v2.0.0.0's _check_once only logged and rescheduled); it now says so. Same item, every locale. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WmFGjY3WDiwbRjXL6zhiyY
Collaborator
|
Very good, Muhammet. Excellent improvements to the updater, thank you for the great contributions. |
gustavo-barrios2006
approved these changes
Oct 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An alpha install with alpha updates disabled can compare itself only with an older stable release and report no update. Missing codec lookup errors can also escape the WPP update checker and stop its retry chain.
Keep alpha opt-out effective. A manual check on an alpha build offers explicit, default-No consent to view a newer alpha once without changing the saved channel. The exact selected release follows the normal checksum/signature and installation flow. Automatic checks remain on the chosen channel, while forced ZIP reinstall warns before a downgrade. Opted-in alpha checks retry if the release listing failed instead of treating a stable-only fallback as complete.
Version and package readers use strict UTF-8 with leading-BOM support and preserve their fallback contracts on lookup/read/decode errors. Unexpected WPP check errors retain the existing retry path; forced reinstall check failures report an error without silently repeating the forced operation. Choice identities protect replacement prompts from stale callbacks, and retry timer publication is serialized with stop. No dependency, build, signature, installer handoff or provider changes.
Validation at PR head
bcd9f57cd58dbb9ce1e591fd7ff8a713c4b98054:The local source/test base was
32da4b151fd19125da746e7788719fda1cbee256. Upstream advanced tod54d77ef8482a3789e7cf3d48437cbb60df92545(#483: country list and changelogs), with no updater runtime changes; no local fetch or main synchronization was performed. The CI result above is this PR head's evidence, not current-main or release acceptance.Copied production logs confirm the disabled-alpha selection. Their undated codec traceback matches older source and cannot be assigned to the current successful WPP check. Frozen codec packaging, real-provider/phone and packaged NVDA acceptance remain unverified. No local full suite, GUI, installer, live-account or recovery operations were run. Ready for maintainer review after the exact-head CI and independent source re-review completed. No merge, release or manual workflow was requested.