From 4b933ed2efb30b7dec201b43f3817e30be0f1d6c Mon Sep 17 00:00:00 2001 From: link2xt Date: Tue, 4 Apr 2023 09:00:19 +0000 Subject: [PATCH 1/7] Update to iroh 0.4.1 --- CHANGELOG.md | 6 ++++++ Cargo.lock | 4 ++-- Cargo.toml | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4073efa8b..ce8849900 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 1.112.6 - unreleased + +### Fixed + +- Updated `iroh` from 0.4.0 to 0.4.1 to fix transfer of large accounts with many blob files. + ## [1.112.5] - 2023-04-02 ### Fixes diff --git a/Cargo.lock b/Cargo.lock index 2aeaff170..e1e6f2f15 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2325,9 +2325,9 @@ checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "iroh" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c019223f5af15f978ff44ae02b8b83d21d53df4c42d4475aa80670819c3ecdce" +checksum = "e4fb9858c8cd3dd924a5da5bc511363845a9bcfdfac066bb2ef8454eb6111546" dependencies = [ "abao", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 9ff90b60f..d0546f1f3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,7 +52,7 @@ futures-lite = "1.12.0" hex = "0.4.0" humansize = "2" image = { version = "0.24.5", default-features=false, features = ["gif", "jpeg", "ico", "png", "pnm", "webp", "bmp"] } -iroh = { version = "0.4.0", default-features = false } +iroh = { version = "0.4.1", default-features = false } kamadak-exif = "0.5" lettre_email = { git = "https://github.com/deltachat/lettre", branch = "master" } libc = "0.2" From a1f112470e0c1fe018cfb9c0564459bd2147005a Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Mon, 27 Mar 2023 14:21:43 +0200 Subject: [PATCH 2/7] add a device message when backup transfer ends that way, UI can just close the transfer dialog, so that, at the end, both devices end in the chatlist. we can also use this for troubleshooting - if the device message is not present, transfer did not succeed completely. (a separate device message may be nice in that case - but that is another effort, same for making the device message reappear after deletion or after some time) --- CHANGELOG.md | 4 ++++ deltachat-ffi/deltachat.h | 5 +++++ src/imex/transfer.rs | 11 +++++++++-- src/stock_str.rs | 7 +++++++ 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce8849900..17b910756 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 1.112.6 - unreleased +### Changes + +- Add a device message after backup transfer #4301 + ### Fixed - Updated `iroh` from 0.4.0 to 0.4.1 to fix transfer of large accounts with many blob files. diff --git a/deltachat-ffi/deltachat.h b/deltachat-ffi/deltachat.h index 3203d865d..c901ab738 100644 --- a/deltachat-ffi/deltachat.h +++ b/deltachat-ffi/deltachat.h @@ -7069,6 +7069,11 @@ void dc_event_unref(dc_event_t* event); /// `%1$s` will be replaced by name and address of the account. #define DC_STR_BACKUP_TRANSFER_QR 162 +/// "Account transferred to your second device." +/// +/// Used as a device message after a successful backup transfer. +#define DC_STR_BACKUP_TRANSFER_MSG_BODY 163 + /** * @} */ diff --git a/src/imex/transfer.rs b/src/imex/transfer.rs index e2a257511..f4d693922 100644 --- a/src/imex/transfer.rs +++ b/src/imex/transfer.rs @@ -47,9 +47,11 @@ use tokio_stream::wrappers::ReadDirStream; use tokio_util::sync::CancellationToken; use crate::blob::BlobDirContents; -use crate::chat::delete_and_reset_all_device_msgs; +use crate::chat::{add_device_msg, delete_and_reset_all_device_msgs}; use crate::context::Context; +use crate::message::{Message, Viewtype}; use crate::qr::Qr; +use crate::stock_str::backup_transfer_msg_body; use crate::{e2ee, EventType}; use super::{export_database, DBFILE_BACKUP_NAME}; @@ -270,7 +272,12 @@ impl BackupProvider { } }; match &res { - Ok(_) => context.emit_event(SendProgress::Completed.into()), + Ok(_) => { + context.emit_event(SendProgress::Completed.into()); + let mut msg = Message::new(Viewtype::Text); + msg.text = Some(backup_transfer_msg_body(context).await); + add_device_msg(context, None, Some(&mut msg)).await?; + } Err(err) => { error!(context, "Backup transfer failure: {err:#}"); context.emit_event(SendProgress::Failed.into()) diff --git a/src/stock_str.rs b/src/stock_str.rs index 6a1f3ccf6..d41e43057 100644 --- a/src/stock_str.rs +++ b/src/stock_str.rs @@ -407,6 +407,9 @@ pub enum StockMessage { #[strum(props(fallback = "Scan to set up second device for %1$s"))] BackupTransferQr = 162, + + #[strum(props(fallback = "ℹ️ Account transferred to your second device."))] + BackupTransferMsgBody = 163, } impl StockMessage { @@ -1261,6 +1264,10 @@ pub(crate) async fn backup_transfer_qr(context: &Context) -> Result { .replace1(&full_name)) } +pub(crate) async fn backup_transfer_msg_body(context: &Context) -> String { + translated(context, StockMessage::BackupTransferMsgBody).await +} + impl Context { /// Set the stock string for the [StockMessage]. /// From 26403a15996ba977bccf4fdcfcf3a75d3233d91a Mon Sep 17 00:00:00 2001 From: link2xt Date: Tue, 4 Apr 2023 12:54:23 +0000 Subject: [PATCH 3/7] Update `spin` from 0.9.7 to 0.9.8 `spin` 0.9.7 is yanked: https://rustsec.org/advisories/RUSTSEC-2023-0031 --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e1e6f2f15..c657c66d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1781,7 +1781,7 @@ dependencies = [ "futures-sink", "nanorand", "pin-project", - "spin 0.9.7", + "spin 0.9.8", ] [[package]] @@ -4147,9 +4147,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spin" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0959fd6f767df20b231736396e4f602171e00d95205676286e79d4a4eb67bef" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" dependencies = [ "lock_api", ] From 78d1aa46a11a0040747a36a0f602bc845f74c818 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Tue, 4 Apr 2023 14:21:02 +0200 Subject: [PATCH 4/7] update changelog for 1.112.6 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17b910756..86f676d08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 1.112.6 - unreleased +## [1.112.6] - 2023-04-04 ### Changes From 0eb2f5bf52f11776a52a12f87b5389e4f9b4daf3 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Tue, 4 Apr 2023 14:23:21 +0200 Subject: [PATCH 5/7] fix some CHANGELOG typos --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86f676d08..e3d6775d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,8 +30,8 @@ ### Changes - Update iroh, remove `default-net` from `[patch.crates-io]` section. -- transfer backup: Connect to mutliple provider addresses concurrently. This should speed up connection time significantly on the getter side. #4240 -- Make sure BackupProvider is cancelled on drop (or dc_backup_provider_unref). The BackupProvider will now alaway finish with an IMEX event of 1000 or 0, previoulsy it would sometimes finishe with 1000 (success) when it really was 0 (failure). #4242 +- transfer backup: Connect to multiple provider addresses concurrently. This should speed up connection time significantly on the getter side. #4240 +- Make sure BackupProvider is cancelled on drop (or `dc_backup_provider_unref`). The BackupProvider will now always finish with an IMEX event of 1000 or 0, previously it would sometimes finished with 1000 (success) when it really was 0 (failure). #4242 ### Fixes - Do not return media from trashed messages in the "All media" view. #4247 From 1b00334281b6db16a0628488e6908efcfdbbd3f8 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Tue, 4 Apr 2023 14:24:39 +0200 Subject: [PATCH 6/7] bump version to 1.112.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 ++-- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c657c66d0..5d9f4fa9c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1061,7 +1061,7 @@ dependencies = [ [[package]] name = "deltachat" -version = "1.112.5" +version = "1.112.6" dependencies = [ "ansi_term", "anyhow", @@ -1135,7 +1135,7 @@ dependencies = [ [[package]] name = "deltachat-jsonrpc" -version = "1.112.5" +version = "1.112.6" dependencies = [ "anyhow", "async-channel", @@ -1158,7 +1158,7 @@ dependencies = [ [[package]] name = "deltachat-repl" -version = "1.112.5" +version = "1.112.6" dependencies = [ "ansi_term", "anyhow", @@ -1173,7 +1173,7 @@ dependencies = [ [[package]] name = "deltachat-rpc-server" -version = "1.112.5" +version = "1.112.6" dependencies = [ "anyhow", "deltachat", @@ -1197,7 +1197,7 @@ dependencies = [ [[package]] name = "deltachat_ffi" -version = "1.112.5" +version = "1.112.6" dependencies = [ "anyhow", "deltachat", diff --git a/Cargo.toml b/Cargo.toml index d0546f1f3..5deca72b8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat" -version = "1.112.5" +version = "1.112.6" edition = "2021" license = "MPL-2.0" rust-version = "1.64" diff --git a/deltachat-ffi/Cargo.toml b/deltachat-ffi/Cargo.toml index bdac367da..f6ed211e4 100644 --- a/deltachat-ffi/Cargo.toml +++ b/deltachat-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat_ffi" -version = "1.112.5" +version = "1.112.6" description = "Deltachat FFI" edition = "2018" readme = "README.md" diff --git a/deltachat-jsonrpc/Cargo.toml b/deltachat-jsonrpc/Cargo.toml index 5a4504924..3360e7368 100644 --- a/deltachat-jsonrpc/Cargo.toml +++ b/deltachat-jsonrpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-jsonrpc" -version = "1.112.5" +version = "1.112.6" 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 5121a87e2..16bf3ae20 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.5" -} + "version": "1.112.6" +} \ No newline at end of file diff --git a/deltachat-repl/Cargo.toml b/deltachat-repl/Cargo.toml index 91a72738e..c6cee05cf 100644 --- a/deltachat-repl/Cargo.toml +++ b/deltachat-repl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "deltachat-repl" -version = "1.112.5" +version = "1.112.6" license = "MPL-2.0" edition = "2021" diff --git a/deltachat-rpc-server/Cargo.toml b/deltachat-rpc-server/Cargo.toml index c06856bbe..5edba509b 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.5" +version = "1.112.6" description = "DeltaChat JSON-RPC server" edition = "2021" readme = "README.md" diff --git a/package.json b/package.json index a06a0c3f5..9c07314bd 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.5" -} + "version": "1.112.6" +} \ No newline at end of file From 185a0193cce60fd472a41e20205652176f7e552c Mon Sep 17 00:00:00 2001 From: link2xt Date: Tue, 4 Apr 2023 12:56:13 +0000 Subject: [PATCH 7/7] Fix newline at the end of package.json --- deltachat-jsonrpc/typescript/package.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deltachat-jsonrpc/typescript/package.json b/deltachat-jsonrpc/typescript/package.json index 16bf3ae20..e2743bba7 100644 --- a/deltachat-jsonrpc/typescript/package.json +++ b/deltachat-jsonrpc/typescript/package.json @@ -56,4 +56,4 @@ "type": "module", "types": "dist/deltachat.d.ts", "version": "1.112.6" -} \ No newline at end of file +} diff --git a/package.json b/package.json index 9c07314bd..6716b8c01 100644 --- a/package.json +++ b/package.json @@ -61,4 +61,4 @@ }, "types": "node/dist/index.d.ts", "version": "1.112.6" -} \ No newline at end of file +}