Skip to content

Commit 71bb89f

Browse files
committed
Merge remote-tracking branch 'origin/master' into flub/send-backup
2 parents a59e72e + b89199d commit 71bb89f

30 files changed

+366
-251
lines changed

.github/workflows/ci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,13 @@ jobs:
7878
rust: 1.68.0
7979
python: false # Python bindings compilation on Windows is not supported.
8080

81-
# Minimum Supported Rust Version = 1.63.0
81+
# Minimum Supported Rust Version = 1.64.0
8282
#
8383
# Minimum Supported Python Version = 3.7
8484
# This is the minimum version for which manylinux Python wheels are
8585
# built.
8686
- os: ubuntu-latest
87-
rust: 1.63.0
87+
rust: 1.64.0
8888
python: 3.7
8989
runs-on: ${{ matrix.os }}
9090
steps:

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
- "full message view" not needed because of footers that go to contact status #4151
77
- Pick up system's light/dark mode in generated message HTML #4150
88
- Support non-persistent configuration with DELTACHAT_* env
9+
- Print deltachat-repl errors with causes. #4166
10+
- Increase MSRV to 1.64. #4167
11+
- Core takes care of stopping and re-starting IO itself where needed,
12+
e.g. during backup creation. It is no longer needed to call
13+
dc_stop_io(). dc_start_io() can now be called at any time without
14+
harm. #4138
915

1016
### Fixes
1117
- Fix segmentation fault if `dc_context_unref()` is called during

Cargo.lock

+2-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "deltachat"
33
version = "1.111.0"
44
edition = "2021"
55
license = "MPL-2.0"
6-
rust-version = "1.63"
6+
rust-version = "1.64"
77

88
[profile.dev]
99
debug = 0
@@ -38,7 +38,7 @@ anyhow = "1"
3838
async-channel = "1.8.0"
3939
async-imap = { git = "https://github.com/async-email/async-imap", branch = "master", default-features = false, features = ["runtime-tokio"] }
4040
async-native-tls = { version = "0.5", default-features = false, features = ["runtime-tokio"] }
41-
async-smtp = { version = "0.8", default-features = false, features = ["runtime-tokio"] }
41+
async-smtp = { version = "0.9", default-features = false, features = ["runtime-tokio"] }
4242
async_zip = { version = "0.0.9", default-features = false, features = ["deflate"] }
4343
backtrace = "0.3"
4444
base64 = "0.21"

deltachat-ffi/deltachat.h

+1-2
Original file line numberDiff line numberDiff line change
@@ -2101,8 +2101,7 @@ dc_contact_t* dc_get_contact (dc_context_t* context, uint32_t co
21012101

21022102
/**
21032103
* Import/export things.
2104-
* During backup import/export IO must not be started,
2105-
* if needed stop IO using dc_accounts_stop_io() or dc_stop_io() first.
2104+
*
21062105
* What to do is defined by the _what_ parameter which may be one of the following:
21072106
*
21082107
* - **DC_IMEX_EXPORT_BACKUP** (11) - Export a backup to the directory given as `param1`

deltachat-jsonrpc/src/api/mod.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -1325,16 +1325,13 @@ impl CommandApi {
13251325
passphrase: Option<String>,
13261326
) -> Result<()> {
13271327
let ctx = self.get_context(account_id).await?;
1328-
ctx.stop_io().await;
1329-
let result = imex::imex(
1328+
imex::imex(
13301329
&ctx,
13311330
imex::ImexMode::ExportBackup,
13321331
destination.as_ref(),
13331332
passphrase,
13341333
)
1335-
.await;
1336-
ctx.start_io().await;
1337-
result
1334+
.await
13381335
}
13391336

13401337
async fn import_backup(

deltachat-repl/src/main.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ async fn start(args: Vec<String>) -> Result<(), Error> {
361361
false
362362
}
363363
Err(err) => {
364-
println!("Error: {err}");
364+
println!("Error: {err:#}");
365365
true
366366
}
367367
}
@@ -376,7 +376,7 @@ async fn start(args: Vec<String>) -> Result<(), Error> {
376376
break;
377377
}
378378
Err(err) => {
379-
println!("Error: {err}");
379+
println!("Error: {err:#}");
380380
break;
381381
}
382382
}

fuzz/Cargo.lock

+25-55
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scripts/coredeps/install-rust.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ set -euo pipefail
77
#
88
# Avoid using rustup here as it depends on reading /proc/self/exe and
99
# has problems running under QEMU.
10-
RUST_VERSION=1.64.0
10+
RUST_VERSION=1.68.0
1111

1212
ARCH="$(uname -m)"
1313
test -f "/lib/libc.musl-$ARCH.so.1" && LIBC=musl || LIBC=gnu

scripts/create-provider-data-rs.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -220,13 +220,13 @@ def process_dir(dir):
220220

221221
process_dir(Path(sys.argv[1]))
222222

223-
out_all += "pub(crate) static PROVIDER_DATA: Lazy<HashMap<&'static str, &'static Provider>> = Lazy::new(|| [\n"
223+
out_all += "pub(crate) static PROVIDER_DATA: Lazy<HashMap<&'static str, &'static Provider>> = Lazy::new(|| HashMap::from([\n"
224224
out_all += out_domains
225-
out_all += "].iter().copied().collect());\n\n"
225+
out_all += "]));\n\n"
226226

227-
out_all += "pub(crate) static PROVIDER_IDS: Lazy<HashMap<&'static str, &'static Provider>> = Lazy::new(|| [\n"
227+
out_all += "pub(crate) static PROVIDER_IDS: Lazy<HashMap<&'static str, &'static Provider>> = Lazy::new(|| HashMap::from([\n"
228228
out_all += out_ids
229-
out_all += "].iter().copied().collect());\n\n"
229+
out_all += "]));\n\n"
230230

231231
if len(sys.argv) < 3:
232232
now = datetime.datetime.utcnow()

src/accounts.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -271,14 +271,14 @@ impl Accounts {
271271
/// Notifies all accounts that the network may have become available.
272272
pub async fn maybe_network(&self) {
273273
for account in self.accounts.values() {
274-
account.maybe_network().await;
274+
account.scheduler.maybe_network().await;
275275
}
276276
}
277277

278278
/// Notifies all accounts that the network connection may have been lost.
279279
pub async fn maybe_network_lost(&self) {
280280
for account in self.accounts.values() {
281-
account.maybe_network_lost().await;
281+
account.scheduler.maybe_network_lost(account).await;
282282
}
283283
}
284284

0 commit comments

Comments
 (0)