From ef63e01632600c8b59b24f9a9fa0f54f4a2a9153 Mon Sep 17 00:00:00 2001 From: Floris Bruynooghe Date: Thu, 30 Mar 2023 22:23:50 +0200 Subject: [PATCH 1/3] fix(imex): transfer::get_backup must always free ongoing process (#4249) * fix(imex): transfer::get_backup must always free ongoing process When the ongoing process is cancelled it is still the responsibility of whoever took out the ongoing process to free it. This code was only freeing the ongoing process when completed normally but not when cancelled. * add changelog --- CHANGELOG.md | 8 +++++++- src/imex/transfer.rs | 6 ++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 346d67801..b08874b31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.112.3] - Unreleased + +### Changes + +### Fixes +- transfer::get_backup now frees ongoing process when cancelled. #4249 + ## [1.112.2] - 2023-03-30 ### Changes @@ -10,7 +17,6 @@ ### Fixes - Do not return media from trashed messages in the "All media" view. #4247 - ## [1.112.1] - 2023-03-27 ### Changes diff --git a/src/imex/transfer.rs b/src/imex/transfer.rs index df21d71d9..6156628a6 100644 --- a/src/imex/transfer.rs +++ b/src/imex/transfer.rs @@ -392,12 +392,10 @@ pub async fn get_backup(context: &Context, qr: Qr) -> Result<()> { let cancel_token = context.alloc_ongoing().await?; let res = tokio::select! { biased; - res = get_backup_inner(context, qr) => { - context.free_ongoing().await; - res - } + res = get_backup_inner(context, qr) => res, _ = cancel_token.recv() => Err(format_err!("cancelled")), }; + context.free_ongoing().await; res } From aff951440cf8ed7ce56159ba40826f0ea3f9c901 Mon Sep 17 00:00:00 2001 From: link2xt Date: Thu, 30 Mar 2023 20:32:49 +0000 Subject: [PATCH 2/3] Release 1.112.3 --- CHANGELOG.md | 6 ++---- Cargo.lock | 10 +++++----- Cargo.toml | 2 +- deltachat-ffi/Cargo.toml | 2 +- deltachat-jsonrpc/Cargo.toml | 2 +- deltachat-jsonrpc/typescript/package.json | 4 ++-- deltachat-repl/Cargo.toml | 2 +- deltachat-rpc-server/Cargo.toml | 2 +- package.json | 4 ++-- 9 files changed, 16 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b08874b31..5387e9e75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,9 @@ # Changelog -## [1.112.3] - Unreleased - -### Changes +## [1.112.3] - 2023-03-30 ### Fixes -- transfer::get_backup now frees ongoing process when cancelled. #4249 +- `transfer::get_backup` now frees ongoing process when cancelled. #4249 ## [1.112.2] - 2023-03-30 diff --git a/Cargo.lock b/Cargo.lock index dc0245a36..0acd6159b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1061,7 +1061,7 @@ dependencies = [ [[package]] name = "deltachat" -version = "1.112.2" +version = "1.112.3" dependencies = [ "ansi_term", "anyhow", @@ -1135,7 +1135,7 @@ dependencies = [ [[package]] name = "deltachat-jsonrpc" -version = "1.112.2" +version = "1.112.3" dependencies = [ "anyhow", "async-channel", @@ -1158,7 +1158,7 @@ dependencies = [ [[package]] name = "deltachat-repl" -version = "1.112.2" +version = "1.112.3" dependencies = [ "ansi_term", "anyhow", @@ -1173,7 +1173,7 @@ dependencies = [ [[package]] name = "deltachat-rpc-server" -version = "1.112.2" +version = "1.112.3" dependencies = [ "anyhow", "deltachat", @@ -1197,7 +1197,7 @@ dependencies = [ [[package]] name = "deltachat_ffi" -version = "1.112.2" +version = "1.112.3" dependencies = [ "anyhow", "deltachat", diff --git a/Cargo.toml b/Cargo.toml index 98dd392c7..9fe7b05a6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat" -version = "1.112.2" +version = "1.112.3" edition = "2021" license = "MPL-2.0" rust-version = "1.64" diff --git a/deltachat-ffi/Cargo.toml b/deltachat-ffi/Cargo.toml index 7f379a1e4..66432a376 100644 --- a/deltachat-ffi/Cargo.toml +++ b/deltachat-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat_ffi" -version = "1.112.2" +version = "1.112.3" description = "Deltachat FFI" edition = "2018" readme = "README.md" diff --git a/deltachat-jsonrpc/Cargo.toml b/deltachat-jsonrpc/Cargo.toml index b086b170f..8bc428878 100644 --- a/deltachat-jsonrpc/Cargo.toml +++ b/deltachat-jsonrpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-jsonrpc" -version = "1.112.2" +version = "1.112.3" description = "DeltaChat JSON-RPC API" edition = "2021" default-run = "deltachat-jsonrpc-server" diff --git a/deltachat-jsonrpc/typescript/package.json b/deltachat-jsonrpc/typescript/package.json index 6cc8bd497..31e09cf9d 100644 --- a/deltachat-jsonrpc/typescript/package.json +++ b/deltachat-jsonrpc/typescript/package.json @@ -55,5 +55,5 @@ }, "type": "module", "types": "dist/deltachat.d.ts", - "version": "1.112.2" -} \ No newline at end of file + "version": "1.112.3" +} diff --git a/deltachat-repl/Cargo.toml b/deltachat-repl/Cargo.toml index 3a7bb76dc..3a49506dd 100644 --- a/deltachat-repl/Cargo.toml +++ b/deltachat-repl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-repl" -version = "1.112.2" +version = "1.112.3" license = "MPL-2.0" edition = "2021" diff --git a/deltachat-rpc-server/Cargo.toml b/deltachat-rpc-server/Cargo.toml index a81fdfcef..41e344776 100644 --- a/deltachat-rpc-server/Cargo.toml +++ b/deltachat-rpc-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-rpc-server" -version = "1.112.2" +version = "1.112.3" description = "DeltaChat JSON-RPC server" edition = "2021" readme = "README.md" diff --git a/package.json b/package.json index 90e201afc..8c3b31f27 100644 --- a/package.json +++ b/package.json @@ -60,5 +60,5 @@ "test:mocha": "mocha -r esm node/test/test.js --growl --reporter=spec --bail --exit" }, "types": "node/dist/index.d.ts", - "version": "1.112.2" -} \ No newline at end of file + "version": "1.112.3" +} From e612927c5d02567f21af2cf88d4c5b22ab4f65f2 Mon Sep 17 00:00:00 2001 From: link2xt Date: Thu, 30 Mar 2023 20:36:30 +0000 Subject: [PATCH 3/3] Fix links in the changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5387e9e75..74c61da8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2348,4 +2348,5 @@ https://github.com/deltachat/deltachat-core-rust/pulls?q=is%3Apr+is%3Aclosed [1.111.0]: https://github.com/deltachat/deltachat-core-rust/compare/v1.110.0...v1.111.0 [1.112.0]: https://github.com/deltachat/deltachat-core-rust/compare/v1.111.0...v1.112.0 [1.112.1]: https://github.com/deltachat/deltachat-core-rust/compare/v1.112.0...v1.112.1 -[1.112.1]: https://github.com/deltachat/deltachat-core-rust/compare/v1.112.1...v1.112.2 +[1.112.2]: https://github.com/deltachat/deltachat-core-rust/compare/v1.112.1...v1.112.2 +[1.112.3]: https://github.com/deltachat/deltachat-core-rust/compare/v1.112.2...v1.112.3