Repository navigation
Detect update ownership and unify update states (#413) - #487
Merged
Merged
Conversation
AppInstallLocator classifies the copy from package markers (Velopack, portable/old ZIP, deb, Arch, Nix, unknown) instead of a writable path. Only Velopack installs get the built-in updater, behind the existing opt-in, with one state model: available, downloading, ready on exit, failed/deferred. Package-manager installs get manager-specific manual guidance and never write managed files; portable copies get replace- the-folder instructions.
Resolves conflicts with the signed catalog (#411) and first-run consents (#438): the update state model keeps the consent gate and shows the catalog's refusal reason in the Failed state, and the merged tests grant consent and the Velopack install kind explicitly. sign-update-catalog.ps1 now signs as UpdateTrustRoots.CurrentKeyId by default and refuses a secret that does not match CurrentPublicKeySpki, so a missed secret swap after rotation stops the release instead of publishing a catalog clients reject. The update-key-rotation skill documents planned rotation, compromise and a lost secret.
Owner
Author
|
В PR влит Добавлен навык Локально: 1780 тестов пройдено, 0 упало; все 20 headless-проверок |
The signing script now defaults to UpdateTrustRoots.CurrentKeyId and refuses keys that do not match it, so the staging regression's throwaway key must name its own key id.
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.
Closes #413
Что сделано
AppInstallLocatorопределяет его по маркерам пакетов, а не по тому, доступен ли каталог на запись:sq.versionилиUpdate.exeуровнем выше;portable.txtили комплект релиза сengines/иENGINES-SHA256SUMS.txt;/opt/bydloи запись dpkg;/opt/bydloи база pacman;/nix/store/;.debне выдаётся за настроенный apt-репозиторий.Исправлено при ревью
.debсчиталась управляемой. Теперь нужен ещё каталог/opt/bydlo; добавлен регрессионный тест.--verify-auto-updates.Проверка
scripts/check.ps1сBYDLO_SAFE_DEV=1: 1688 пройдено, 0 упало.--verify-*в--mockзелёные.Пересекается с #483 (#411) и #485 (#438) в
AutomaticAppUpdaterиSettingsViewModel.Updates. После мержа первого из них конфликт разрешу отдельно.