Commit Graph

6041 Commits

Author SHA1 Message Date
link2xt 0ac61690cf Enable all features when running clippy 2023-03-11 12:57:38 +00:00
link2xt a853b8283a Upgrade to Rust 1.68.0 2023-03-10 01:30:57 +00:00
link2xt 6a394a0dc8 fixup: move changelog to unreleased section 2023-03-09 16:42:47 +00:00
link2xt 00791157e2 Drop unused columns
We are currently using libsqlite3-sys 0.25.2,
corresponding to SQLcipher 4.5.2
and SQLite 3.39.2.

SQLite supports ALTER TABLE DROP COLUMN since version 3.35.0,
and it has received critical database corruption bugfixes in 3.35.5.
There have been no fixes to it between SQLite 3.36.0 and 3.41.0,
so it appears stable now.
2023-03-09 14:29:39 +00:00
link2xt 9e03f26992 deltachat-ffi: print causes for all errors 2023-03-09 11:36:14 +00:00
link2xt de391155b1 Do not prepare the message explicitly in the test context
Explicit `prepare_msg` corresponding to `dc_prepare_msg`
is intended only for the case where the message is prepared
before the file is ready. It is not indented for calling
right before send_msg and requires that file path in the blobdir.

With explicit `prepare_msg` removed
all the tests still pass but there is no requirement
that the file is put into blobdir beforehand.
2023-03-09 09:37:40 +00:00
Sebastian Klähn db28c1bdc4 Update doxygen for cffi docs (#4136)
fix styling
2023-03-08 21:35:15 +01:00
link2xt d71bf1c4be Fix documentation on enabling REPL logs
As `repl` example was moved into `deltachat_repl` crate,
the name of the log target has changed.
2023-03-08 14:03:02 +00:00
Sebastian Klähn ef1970b742 Also document private items for rust docs (#4137)
also document private items for rust docs
2023-03-08 14:13:07 +01:00
Asiel Díaz Benítez 4bb131e7e7 Merge pull request #4128 from deltachat/adb/add-golang-to-readme
add new golang bindings lib to README.md
2023-03-08 03:12:59 -05:00
link2xt e39011a43b Release 1.111.0 2023-03-05 13:26:22 +00:00
adbenitez 8b8dcf61ef add new golang bindings lib to README.md 2023-03-04 23:14:45 -05:00
link2xt 3df5e6e9d3 Use "dep:" syntax to avoid creating dependency features
It is supported since Rust 1.60
2023-03-04 10:24:16 +00:00
link2xt fe60b2dd2d Update scripts/anroid-rpc-server.sh
Ported changes from deltachat-android/scripts/ndk-make.sh
2023-03-04 09:35:56 +00:00
link2xt 260dbbd36f Optimize release builds and dependencies for size 2023-03-03 18:43:53 +00:00
link2xt 7e5a8714a0 Add scripts/codespell.sh and spellcheck 2023-03-03 18:40:36 +00:00
iequidoo 627cf20074 Housekeeping: delete the blobs backup dir (#4104) 2023-03-03 11:06:41 -03:00
Floris Bruynooghe c38ae31f31 Configure cargo-deny fully
This adds more configuration to cargo-deny so that the output is not a
giant list of warnings hiding new entries.  Instead the config now
lists the things that would emit warnings.  It also adds -Dwarnings to
the CI job so that new warnings will be cleaned up: they can be added
to the config easily to fix the warnings.
2023-03-03 12:37:54 +01:00
Floris Bruynooghe f5c334a1e4 ci: Make sure clippy script check everything
Also disable missing_docs_in_private_items as this is like 300+ errors
currently.
2023-03-02 21:33:20 +01:00
Simon Laux 3453aac27e jsonrpc: ts bindings: update .npmignore (#4119)
to remove files from the npm package that is not needed by end users.

#ignore-changelog
2023-03-02 13:57:17 +01:00
link2xt 9c48bf9d13 Upgrade rustyline to 11.0.0 2023-03-02 10:43:29 +00:00
dependabot[bot] 04fa80b3bd Merge pull request #4120 from deltachat/dependabot/cargo/human-panic-1.1.1 2023-03-02 10:33:08 +00:00
dependabot[bot] d7c8fc624a Merge pull request #4121 from deltachat/dependabot/cargo/async-native-tls-0.5.0 2023-03-02 10:32:51 +00:00
dependabot[bot] e866053070 cargo: bump async-native-tls from 0.4.0 to 0.5.0
Bumps [async-native-tls](https://github.com/async-email/async-native-tls) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/async-email/async-native-tls/releases)
- [Commits](https://github.com/async-email/async-native-tls/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: async-native-tls
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 02:32:53 +00:00
dependabot[bot] 81bacf9038 cargo: bump human-panic from 1.1.0 to 1.1.1
Bumps [human-panic](https://github.com/rust-cli/human-panic) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/rust-cli/human-panic/releases)
- [Changelog](https://github.com/rust-cli/human-panic/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/human-panic/compare/v1.1.0...v1.1.1)

---
updated-dependencies:
- dependency-name: human-panic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 02:32:35 +00:00
link2xt 4e166b1b4a Run cargo update 2023-03-01 22:42:03 +00:00
link2xt 2dc04220b8 Simplify dc_jsonrpc_init 2023-02-28 22:46:24 +00:00
iequidoo b149df1993 test_{delete,trash}_multiple_messages: Continue waiting for events if not all messages disappeared 2023-02-28 15:05:47 -03:00
iequidoo e767d84bea Switch to DEFERRED transactions
We do not make all transactions
[IMMEDIATE](https://www.sqlite.org/lang_transaction.html#deferred_immediate_and_exclusive_transactions)
for more parallelism -- at least read transactions can be made DEFERRED to run in parallel
w/o any drawbacks. But if we make write transactions DEFERRED also w/o any external locking,
then they are upgraded from read to write ones on the first write statement. This has some
drawbacks:
- If there are other write transactions, we block the thread and the db connection until
  upgraded. Also if some reader comes then, it has to get next, less used connection with a
  worse per-connection page cache.
- If a transaction is blocked for more than busy_timeout, it fails with SQLITE_BUSY.
- Configuring busy_timeout is not the best way to manage transaction timeouts, we would
  prefer it to be integrated with Rust/tokio asyncs. Moreover, SQLite implements waiting
  using sleeps.
- If upon a successful upgrade to a write transaction the db has been modified by another
  one, the transaction has to be rolled back and retried. It is an extra work in terms of
  CPU/battery.
- Maybe minor, but we lose some fairness in servicing write transactions, i.e. we service
  them in the order of the first write statement, not in the order they come.
The only pro of making write transactions DEFERRED w/o the external locking is some
parallelism between them. Also we have an option to make write transactions IMMEDIATE, also
w/o the external locking. But then the most of cons above are still valid. Instead, if we
perform all write transactions under an async mutex, the only cons is losing some
parallelism for write transactions.
2023-02-28 15:05:47 -03:00
Simon Laux fc019de18c jsonrpc: add get webxdc blob API getWebxdcBlob (#4070)
* jsonrpc: add get webxdc blob API `getWebxdcBlob`

* add info about path

* format
2023-02-27 17:46:13 +00:00
link2xt c79ded1406 Fixes for get_webxdc_blob documentation 2023-02-27 14:36:57 +00:00
link2xt d1d43e889a python: add more type annotations 2023-02-27 13:07:35 +00:00
link2xt 7bdf79dee5 python: do not shadow variables to fix pyright warnings 2023-02-27 13:07:35 +00:00
link2xt a6b2c25d42 Move changelog to the unreleased section and add PR number 2023-02-27 08:26:34 +00:00
Asiel Díaz Benítez 210ec79872 Merge pull request #4097 from deltachat/adb/add-send-msg
add more advanced API to send a message
2023-02-27 00:32:18 -05:00
adbenitez 9f81299de0 rename DraftMessage to MessageData 2023-02-26 23:34:15 -05:00
adbenitez f0a2ca7815 send_msg(): return only msg_id 2023-02-26 22:50:24 -05:00
link2xt 50d83ff063 Remove ResyncFolders job 2023-02-26 22:31:53 +00:00
link2xt a2f1df052b Autoformat create-provider-data-rs.py 2023-02-26 21:27:21 +00:00
link2xt 0086232bbb Rename update-provider-database.py into create-provider-data-rs.py 2023-02-26 21:27:21 +00:00
link2xt 8e9bb8b06e Check provider database with CI
scripts/update-provider-database.sh checks out the provider database
and updates data.rs file,
making it easier to update.

CI uses this script to check that checked in data.rs
corresponds to the provider database repository.
2023-02-26 21:27:21 +00:00
link2xt 7e132b5383 Add cargo-deny config and CI 2023-02-26 20:52:53 +00:00
link2xt 8177070673 Set minimum TLS version to 1.2 2023-02-26 18:48:32 +00:00
B. Petersen 247bf5865d add countermitm and openpgp4fpr to "standard used"
noticed that this is missing
while working on https://github.com/deltachat/invite
2023-02-26 15:55:50 +01:00
Asiel Díaz Benítez ad3c7136ec Merge branch 'master' into adb/add-send-msg 2023-02-26 05:14:12 -05:00
adbenitez 79026f93b6 add more advanced API to send a message 2023-02-26 05:13:20 -05:00
link2xt eace8c5fee Note that 1.108.0 re-enables SMTP pipelining 2023-02-25 15:02:05 +00:00
B. Petersen f8e86f4503 make slowest test faster
the slowest test was `test_modify_chat_disordered`;
due to several sleep(), it lasts at least 11 seconds.

however, many of the sleep() are not needed and were added
just to get things done that time.

this pr removes 7 superfluous sleeps,
making the test finish in about 3 seconds,
so that this test is no longer the bottleneck when running
`cargo test` on fast machines.
(this is not only useful to safe some seconds -
but also to notice degradations as of
https://github.com/deltachat/deltachat-core-rust/issues/4051#issuecomment-1436995166 )
2023-02-25 15:37:10 +01:00
iequidoo d1923d68a5 Add a config option to sign all messages with Autocrypt header (#3986)
Although it does a little for security, it will help to protect from unwanted server-side
modifications and bugs. And now we have a time to test "multipart/signed" messages compatibility
with other MUAs.
2023-02-25 10:30:35 -03:00
iequidoo 89696582ad mimeparser: Handle headers from the signed part of unencrypted signed message
This makes DC compatible with "multipart/signed" messages thus allowing switching to them someday
from the current "multipart/mixed" unencrypted message format.
2023-02-25 10:30:35 -03:00