link2xt
3023d3c358
Don't use deprecated chrono functions
2022-12-11 23:43:00 +00:00
link2xt
72ca4c2e1f
Changelog
2022-12-10 15:29:02 +00:00
link2xt
bccd79b6be
Set read/write timeouts for IMAP SOCKS5 streams
2022-12-10 15:29:02 +00:00
link2xt
109a27c9ef
Move Socks5Config to a separate module
2022-12-10 15:29:02 +00:00
link2xt
aa6f5fd139
Release 1.103.0
2022-12-09 17:43:03 +00:00
link2xt
519f658c07
Make bots automatically accept mailing list chats
2022-12-09 17:24:21 +00:00
link2xt
f5cb56fd86
Fix deltachat-rpc-server tests for tox 4
2022-12-09 17:23:20 +00:00
link2xt
c830db07ad
Add testenv:.pkg to tox.ini
2022-12-09 17:23:20 +00:00
link2xt
9093702692
ci: upgrade to tox 4.0
2022-12-09 17:23:20 +00:00
link2xt
edd58b4b7a
imap: disable read timeout during IDLE
...
Otherwise IDLE restarts every 30 seconds.
2022-12-09 11:06:34 +00:00
link2xt
72432d65ba
imap: add connect() timeouts
2022-12-08 21:50:03 +00:00
link2xt
8aa73ed6ae
Set read/write timeouts for IMAP sockets
2022-12-08 17:16:32 +00:00
link2xt
1224222984
ci: remove dependency on actions-rs/cargo
...
It is unmaintained and throws many warnings about using deprecated
Node and GitHub Actions commands.
2022-12-08 18:04:41 +01:00
link2xt
3360c6aa96
Downgrade tox to version 3
...
Our CI pipeline currently does not work with tox 4.0.
2022-12-08 15:38:28 +00:00
link2xt
35cd81a75f
python: do not pass NULL to ffi.gc if the context can't be created
2022-12-07 09:44:54 +01:00
link2xt
f11fceb63a
Move IMAP session state into imap::session::Session
...
IMAP capabilities and selected folder are IMAP session,
not IMAP client property.
Moving most operations into IMAP session structure
removes the need to constantly check whether IMAP session exists
and reduces number of invalid states, e.g. when a folder is selected but
there is no connection.
Capabilities are determined immediately after logging in,
so there is no need for `capabilities_determined` flag anymore.
Capabilities of the server are always known if there is a session.
`should_reconnect` flag and `disconnect()` function are removed: we
drop the session on error. Even though RFC 3501 says that a client
SHOULD NOT close the connection without a LOGOUT, it is more reliable
to always just drop the connection, especially after an error.
2022-12-06 19:38:41 +00:00
link2xt
f14a28db54
Remove autogenerated typescript files
2022-12-06 19:25:04 +00:00
link2xt
cacc01bac0
Add IMAP server ID to the context info only when it is known
2022-12-06 16:01:26 +00:00
link2xt
3743aaa16e
Refactor fetch_many_msgs and add more logging
2022-12-05 12:54:40 +00:00
link2xt
7e5becb5e5
Log the reason when the message cannot be sent to the chat
2022-12-04 18:51:14 +00:00
link2xt
b4f348ccea
Merge async JSON-RPC client
...
PR: https://github.com/deltachat/deltachat-core-rust/pull/3734
2022-12-04 21:02:50 +03:00
link2xt
5502bff986
Make _args and _kwargs private in Rpc
2022-12-04 14:03:59 +00:00
link2xt
ee19789cac
Make _rpc private
2022-12-04 14:03:43 +00:00
link2xt
bad5a1de55
Ignore .tox everywhere, not only in python/
2022-12-04 13:57:38 +00:00
link2xt
3cdbe213a3
python: rename Deltachat class into DeltaChat
2022-12-04 13:56:53 +00:00
link2xt
4df588668a
Bump MSRV to 1.61.0
...
This is required by `image` crate.
Also update current Rust version to 1.65.0.
2022-12-04 12:24:17 +00:00
link2xt
2ccf39800d
Remove start_rpc_server() and make Rpc a context manager
...
Rpc now has a start() method.
This way it is possible to use Rpc from IPython without calling __aenter__()
2022-12-04 00:02:32 +00:00
link2xt
5a3065344e
Properly terminate Rpc and remove sleep() hack
2022-12-03 23:30:50 +00:00
link2xt
98b6b5e3f6
Update instructions on using ipython
2022-12-03 18:37:02 +00:00
link2xt
7f4c05e88f
ci: do not use deprecated set-output
...
See https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2022-12-03 13:54:11 +00:00
link2xt
20e63659a1
CI: update GitHub Actions to avoid deprecation warnings
2022-12-03 13:51:57 +00:00
link2xt
85b4746516
Turn start_rpc_server into a context manager
2022-12-01 16:36:36 +00:00
link2xt
53d6807e8d
Simplify process_messages() in echo bot
2022-11-30 22:45:03 +00:00
link2xt
db38cc8891
Add get_fresh_messages_in_arrival_order() call
2022-11-30 22:43:05 +00:00
link2xt
4e2aeceeec
Do not reverse the list of fresh messages
...
Both reversed and original order do not make much sense
for the bot. Ideally bots should have their own key
to get the list of fresh messages in the order of IDs.
2022-11-30 22:38:25 +00:00
link2xt
9b04a04568
Add async python client for Delta Chat core JSON-RPC
2022-11-30 20:21:59 +00:00
link2xt
f2c97bda66
jsonrpc: add message errors to MessageObject
2022-11-30 20:35:36 +01:00
link2xt
47743bdcfa
Update humansize to version 2
2022-11-28 15:50:45 +00:00
link2xt
b0962363c2
Merge branch 'link2xt/peerstate-to-save-simplify'
2022-11-27 17:11:19 +00:00
link2xt
8855ef72bc
Clippy fix
2022-11-27 17:10:46 +00:00
link2xt
264727a414
Changelog
2022-11-27 17:10:46 +00:00
link2xt
98c16ddc4d
Remove Peerstate.to_save
2022-11-27 17:10:46 +00:00
link2xt
c7691fbebe
Use UPSERT when saving peerstates
...
This way there is no need to distinguish between creating
and updating peerstate.
2022-11-27 17:10:46 +00:00
link2xt
62f92d5b28
Add UNIQUE constraint to acpeerstates table
2022-11-27 17:10:46 +00:00
link2xt
2ae9165bfb
Remove different states of ToSave in peerstate
2022-11-27 17:10:46 +00:00
link2xt
08de326930
Fix misplaced info! message
2022-11-27 10:03:47 +00:00
link2xt and missytake
b341cfd4d9
mimeparser: assume all Thunderbird users prefer encryption
...
Co-Authored-By: missytake <missytake@systemli.org >
2022-11-24 19:20:56 +00:00
link2xt
a76b018900
Move changelog entry to the correct section
2022-11-24 11:23:36 +00:00
link2xt
6f0985dcaa
Changelog
2022-11-23 22:38:12 +00:00
link2xt
afb7f89722
Do not try to redownload the message in case of any error
...
Since switch to async we don't have spurious "database is busy"
errors anymore. Since an error is irrecoverable in most cases,
we can skip the message. The cost of this is we may
accidentally skip a correct message if I/O fails, but
the advantage is that we are guaranteed to never confuse
irrecoverable error with recoverable one and get stuck in
infinite loop redownloading the same message over and over.
2022-11-23 17:56:56 +00:00
link2xt
0248a36561
Release 1.102.0 ( #3773 )
2022-11-23 18:47:49 +01:00
link2xt
da6c68629d
jsonrpc: do not return a result from deleteContact()
...
It was always true anyway.
2022-11-17 18:36:38 +00:00
link2xt
b63baf939e
Ignore two typescript errors
...
`as any` is not enough anymore.
2022-11-16 14:06:17 +00:00
link2xt
90d8e0cedc
Fix detection of Trash, Junk, All etc. folders
...
imap_proto has been updated, so attributes like `\All`,
`\Junk` from RFC 3501 and RFC 6154 are no longer considered
extensions.
2022-11-15 23:40:07 +00:00
link2xt
1c2d4c518e
Fix typos
2022-11-15 23:23:44 +00:00
link2xt
428ef11157
Add IMAP UIDs to message info ( #3755 )
2022-11-15 15:19:32 +01:00
link2xt
ee34b64f5d
Pop recently seen loop event out of the queue when it's in the past
2022-11-15 11:29:13 +00:00
link2xt
996be5d247
Improve IMAP logging
...
https://github.com/deltachat/deltachat-core-rust/pull/3749
2022-11-14 11:41:52 +00:00
link2xt
7d45419724
Convert anyhow errors to select_folder errors with alternate fmt
2022-11-14 11:40:40 +00:00
link2xt
c0ae5c0fb7
Use anyhow for close_folder() errors
2022-11-13 23:49:34 +00:00
link2xt
09042d12d4
Changelog
2022-11-13 20:35:05 +00:00
link2xt
7db147da14
Log fake IDLE interruptions
2022-11-13 20:35:05 +00:00
link2xt
1324b5da13
Rename folder argument into folder_config
2022-11-13 20:35:05 +00:00
link2xt
4ee14e6e77
Add more contexts to IMAP errors
2022-11-13 20:35:05 +00:00
link2xt
e1d50757b3
Better format for scan_folders errors
2022-11-13 20:35:05 +00:00
link2xt
9a447e8554
Log IDLE errors with all contexts
2022-11-13 20:35:05 +00:00
link2xt
516a5e9c5f
Add contexts to both the timeout and actual IDLE error
...
Note that `IMAP IDLE protocol timed out` was previously
added to the wrong error: not the timeout error (first `?`)
but actual error happened during IDLE, such as a network error.
2022-11-13 20:35:05 +00:00
link2xt
4744f5eecf
Add folder name to IMAP IDLE interrupt logs
2022-11-13 22:11:47 +03:00
link2xt
33839b5667
imap: log disconnection attempts
2022-11-13 17:59:28 +00:00
link2xt
43f2d64a6f
imap: flatten fetch_idle()
2022-11-13 17:59:28 +00:00
link2xt
13f30c3167
Add configured_inbox_folder to account info
...
This goes into the log on Android.
2022-11-13 16:21:44 +00:00
link2xt
b9f1f9c41e
jsonrpc: add invalid key to {get,set}_config error
2022-11-08 21:55:25 +00:00
link2xt
fcf0cb5d69
MSRV is now 1.57
2022-11-07 18:24:54 +00:00
link2xt
a271baa1ae
Update rpgp to 0.9 and bump MSRV to 1.57.0
2022-11-07 18:23:26 +00:00
link2xt
5ee6cba557
Update Cargo.lock
2022-11-06 21:27:21 +00:00
link2xt
475d18bd37
Update deltachat-rpc-server version
2022-11-06 21:26:05 +00:00
link2xt
75ed4fe398
JSON-RPC stdio server
...
It speaks JSON-RPC serialized into JSON Lines over stdio.
2022-11-06 20:33:24 +00:00
link2xt
d29b0baa25
Prepare core release 1.99.0
2022-11-06 17:41:47 +00:00
link2xt
e648e4fb29
DKIM-Checking: Don't disallow keychanges for now ( #3728 )
2022-11-06 16:18:21 +00:00
link2xt
e93dc33ef8
Do not allow peerstate reset if DKIM check failed
...
The problem was that a message without Autocrypt key or with a wrong
signature resets peerstate regardless of what DKIM check says. I
inserted sleep(1.1) to make sure reset always happens and make the bug
reproducible, then fixed it by forbidding reset if DKIM check fails.
https://github.com/deltachat/deltachat-core-rust/pull/3731
2022-11-05 01:44:37 +00:00
link2xt
cb1a4291d0
Accept ToString instead of AsRef<str> in Params.set() ( #3732 )
2022-11-05 02:17:29 +01:00
link2xt
1a745b24d7
Merge branch 'unwrap-mailinglistaddr-in-cffi'
...
https://github.com/deltachat/deltachat-core-rust/pull/3706
2022-11-05 01:14:11 +00:00
link2xt
7b7ce30fe3
Changelog
2022-11-05 01:13:35 +00:00
link2xt
9bc525f579
Fix mailinglist test
2022-11-04 23:30:56 +00:00
link2xt
037739c634
mimeparser: do not allow key reset if DKIM check failed
2022-11-04 21:04:24 +00:00
link2xt
91ab10084a
Make error reproducible with sleep()
2022-11-04 19:45:29 +00:00
link2xt
96d2a7f0bf
Assert that encryption preference is still mutual
2022-11-04 18:57:18 +00:00
link2xt
053c9372cb
peerstate: use named columns for SELECT statements
...
This ensures wrong column is not accidentally used.
2022-11-04 18:55:32 +00:00
link2xt
15db5adc7e
Merge branch 'flub/unoptimised-debug'
...
https://github.com/deltachat/deltachat-core-rust/pull/3699
2022-11-04 13:14:35 +00:00
link2xt
146478e450
Optimize debug builds, but not tests
2022-11-04 12:33:08 +00:00
link2xt
97192a8055
Set RUST_MIN_STACK for Python tests
2022-11-04 12:32:22 +00:00
link2xt
772514940c
Set RUST_MIN_STACK in JSON-RPC tests
2022-11-04 12:32:22 +00:00
link2xt
e3bf8265c4
Recently seen loop
2022-11-03 20:18:14 +00:00
link2xt
47fcdef88c
cargo update -p mio
...
mio 0.8.5 does not use libc epoll_create1() function on Android anymore,
so it will be possible to revert https://github.com/deltachat/deltachat-android/commit/e29b6f9974bcad9a1e97493979f261cdb4cf4ea3
in the next Android release with the new core.
2022-11-01 23:12:45 +00:00
link2xt
d81579730e
Allow sender timestamp to be in the future
...
This can happen due to unsynchronized clocks or
when "smeared" timestamp is used as the sender sends
multiple messages without delay.
2022-10-30 10:26:22 +00:00
link2xt
b6b2f453a0
Prepare 1.98.0
2022-10-24 16:09:24 +00:00
link2xt
aa14015919
sql: every Result is anyhow::Result
2022-10-23 11:25:27 +00:00
link2xt
434e53e922
Use UPSERT to insert into msgs table
...
This way no temporary rows are created and it is easier to maintain
because UPDATE statement is right below the INSERT statement,
unlike `merge_messages` function which is easy to forget about.
2022-10-22 21:34:56 +00:00
link2xt
b5d238f7f4
Keep reactions when downloading partially downloaded message
2022-10-22 15:02:05 +00:00
e5c9fea52d
Implement reactions
...
Co-Authored-By: bjoern <r10s@b44t.com >
Co-Authored-By: Simon Laux <mobile.info@simonlaux.de >
2022-10-22 09:59:43 +00:00