feat(updater): add allowDowngrades option (#2726)

* feat(updater): add allowDowngrades option

* Add change file for allow_downgrades feature

* Update .changes/add-allow-downgrades.md
This commit is contained in:
Brendan Osborne
2025-06-02 13:22:06 +10:00
committed by GitHub
parent d40190721c
commit 87afa23cad
3 changed files with 16 additions and 0 deletions
+4
View File
@@ -22,6 +22,10 @@ interface CheckOptions {
* Target identifier for the running application. This is sent to the backend.
*/
target?: string
/**
* Allow downgrades to previous versions by not checking if the current version is greater than the available version.
*/
allowDowngrades?: boolean
}
/** Options used when downloading an update */
+4
View File
@@ -46,6 +46,7 @@ pub(crate) async fn check<R: Runtime>(
timeout: Option<u64>,
proxy: Option<String>,
target: Option<String>,
allow_downgrades: Option<bool>,
) -> Result<Option<Metadata>> {
let mut builder = webview.updater_builder();
if let Some(headers) = headers {
@@ -63,6 +64,9 @@ pub(crate) async fn check<R: Runtime>(
if let Some(target) = target {
builder = builder.target(target);
}
if allow_downgrades.unwrap_or(false) {
builder = builder.version_comparator(|current, update| update.version != current);
}
let updater = builder.build()?;
let update = updater.check().await?;