Commit Graph

2488 Commits

Author SHA1 Message Date
jikstra
551f7dc05a Make starts_with_ignore_case() private 2020-04-28 22:52:39 +03:00
jikstra
1b485770b6 cargo fmt 2020-04-28 22:52:39 +03:00
jikstra
50e18f84c2 Also support lowercased dcaccount: uris 2020-04-28 22:52:39 +03:00
jikstra
9eab96090d Cargo fmt 2020-04-28 22:52:39 +03:00
jikstra
737a741a54 Support lowercased openpgp4fpr uri scheme 2020-04-28 22:52:39 +03:00
Alexander Krotov
46253039df Return BTreeMap instead of HashMap from get_info()
BTreeMap is sorted by keys when iterated, making it easier to find the
required line.
2020-04-28 21:26:04 +03:00
B. Petersen
2f5b6a115d update provider database 2020-04-28 21:02:42 +03:00
B. Petersen
2a9b967d2d remove footer-escape-character from message texts 2020-04-27 16:47:16 +02:00
B. Petersen
459fec56db protect '--' in message from being treated as a footer-beginning 2020-04-27 16:47:16 +02:00
B. Petersen
bfdd6f36e2 regard line with ony '--' as footer mark partly
the footer mark normally used in email-conversations is `-- `,
note the trailing space, see RFC 3676, §4.3

unfortunately, the final space is removed by some providers,
which lead to footers showing up on delta-to-delta-conversations
(on nondc-to-delta, this is not an issue as we cannot be sure anyway
and show a [...] therefore)

this change accepts lines with only `--` as a footer separator
if there is no other footer separator
and if the line before is empty and the line after is not.

as there is still some chance to remove text accidentally,
see tests, some protection against that is needed in another commit.
2020-04-27 16:32:59 +02:00
B. Petersen
432e4b7f0a use std::time::SystemTime for uptime calculation
std::time::Instant does not count eg. doze-time on android
2020-04-26 11:44:27 +02:00
B. Petersen
39cb9c425c fixup 2020-04-26 11:44:27 +02:00
B. Petersen
dff1ae0fb4 move duration-formatting to a separate function and add tests for that 2020-04-26 11:16:59 +02:00
bjoern
2943624439 Merge pull request #1424 from deltachat/show-uptime
add context-uptime to dc_get_info()
2020-04-25 16:27:53 +02:00
B. Petersen
95cac4dfb9 add context-uptime to dc_get_info() 2020-04-25 01:37:56 +02:00
Alexander Krotov
46fb6a21ee job: perform no more than 20 IMAP jobs in a row
Let the thread load new messages. This may happen when user switches
the setting to delete messages on the server on and there are a lot of
messages to delete.
2020-04-25 01:43:35 +03:00
Alexander Krotov
fc03f4c87a job: generate IMAP deletion jobs dynamically
This prevents generation of a large number of jobs when IMAP deletion
setting is enabled for the first time. Writing jobs to the database
locks it for readers and may cause UI freezing, because chatlist and
messages can't be read until all jobs are written.

Note that on failure job will be written to the database, to make sure
it is postponed instead of being retried immediately.
2020-04-24 21:06:57 +03:00
Alexander Krotov
502ec2a56f job: new API for dynamic job creation
Job::new() can be used to create jobs in-memory

Job.update() is replaced with Job.save() which can create new database
entries and consumes Job to avoid the need to update job ID after saving
it to the database.
2020-04-24 21:06:57 +03:00
Alexander Krotov
66d5c3f620 job: derive PartialEq for Action
This makes it possible to compare action priorities in Rust code.
2020-04-24 21:06:57 +03:00
Floris Bruynooghe
220500efbb Move key loading from deprecated Key struct to DcKey trait
This moves the loading of the keys from the database to the trait and
thus with types differing between public and secret keys.  This
fetches the Config::ConfiguredAddr (configured_addr) directly from the
database in the SQL to simplify the API and consistency instead of
making this the responsiblity of all callers to get this right.

Since anyone invoking these methods also wants to be sure the keys
exist, move key generation here as well.  This already simplifies some
code in contact.rs and will eventually replace all manual checks for
existing keys.

To make errors more manageable this gives EmailAddress it's own error
type and adds some conversions for it.  Otherwise the general error
type leaks to far.  The EmailAddress type also gets its ToSql trait impl
to be able to save it to the database directly.
2020-04-24 01:11:11 +02:00
Alexander Krotov
979d7c5625 Do not ignore database read errors in precheck_imf
If precheck_imf fails to check if message with the same rfc724_mid
already exists, the same message may be downloaded twice. Instead,
abort the whole operation and retry later.
2020-04-23 15:36:45 +03:00
B. Petersen
4e828199c8 test, that also unrecoded avatars are copied to the blob-directory 2020-04-23 06:49:41 +02:00
Hocuri
61c84c8e01 Log more in tests 2020-04-23 06:48:18 +02:00
bjoern
30be5e33d7 Merge pull request #1410 from deltachat/remove_addremove
remove all member_added/remove_events
2020-04-23 00:59:09 +02:00
bjoern
7846c23edd Merge pull request #1411 from deltachat/delete-no-hide
Delete expired messages instead of hiding them
2020-04-20 18:04:30 +02:00
Alexander Krotov
6c0dd8543d Delete expired messages instead of hiding them
For hidden messages, blobs are not deleted during housekeeping. To
actually free the space used by media files, messages should be moved to
trash instead of being hidden.
2020-04-20 02:29:55 +03:00
holger krekel
70c082a1b1 remove all member_added/remove_events 2020-04-19 21:15:45 +02:00
holger krekel
9eda710538 refine member-added and member-removed plugin hooks to signal the sender (who added/removed a contact )
add ac_chat_modified hook event
add account.get_contact_by_addr (thanks @r10s)
2020-04-19 21:00:55 +02:00
Hocuri
a87a2d0b71 Change to functional style 2020-04-19 18:28:10 +03:00
Hocuri
6e2f4d85a3 Do not ellipsize non-standard footers in chat messages 2020-04-19 18:28:10 +03:00
Hocuri
511727fdfa Do not ellipsize everything in a message 2020-04-19 18:28:10 +03:00
Alexander Krotov
8d2f526ee7 Fix a typo 2020-04-17 22:29:58 +03:00
B. Petersen
1eaef94c71 make clippy happy 2020-04-16 22:49:34 +02:00
B. Petersen
0b6b8ced92 remove unused dc_chat_get_subtitle() api 2020-04-16 22:08:17 +02:00
Alexander Krotov
13dd88b7ad mimeparser: display inline images received from Thunderbird 2020-04-15 11:13:26 +02:00
Alexander Krotov
e85cdc8c9f mimeparser: test parsing of inline images 2020-04-14 07:01:50 +02:00
Alexander Krotov
1760740a4c Parse inline attachments from non-DC email clients
Some mobile email clients, such as apple mail, attach or inline images
after description, just like Delta Chat. It is better to display them
instead of ignoring.
2020-04-14 07:01:50 +02:00
Alexander Krotov
daf40fde82 mimefactory: use .next() instead of .nth(0) 2020-04-13 23:02:57 +03:00
Alexander Krotov
e909b8199b lot: use as_deref() 2020-04-13 23:02:57 +03:00
Alexander Krotov
ec089faf3a configure/auto_mozilla: remove indexing 2020-04-13 23:02:57 +03:00
Alexander Krotov
9fcb30ac33 Remove indexing in chatlist.get_summary() 2020-04-13 23:02:57 +03:00
Alexander Krotov
cb92579461 Use slice patterns in EmailAddress::from_str() 2020-04-13 23:02:57 +03:00
Alexander Krotov
0327000f8d squash_attachment_parts: use slice patterns 2020-04-13 23:02:57 +03:00
Alexander Krotov
3a91c87c73 clippy: use as_deref() 2020-04-13 23:02:57 +03:00
Alexander Krotov
db5b5d321b clippy: remove redundant imports 2020-04-13 23:02:57 +03:00
Alexander Krotov
76b7e7408a chatlist: remove indexing in get_{chat,msg}_id() 2020-04-13 23:02:57 +03:00
Alexander Krotov
324e5d0258 Use slice pattern to parse KML coordinates 2020-04-13 23:02:57 +03:00
Alexander Krotov
d997bbc081 skip_forward_header: get rid of indexing with subslice patterns 2020-04-13 23:02:57 +03:00
Alexander Krotov
1c21d4f356 constants: remove unnecessary parenthesis
Rust warns about them now
2020-04-13 23:02:57 +03:00
Alexander Krotov
5f574cf283 get_next_media: replace indexing with .get() 2020-04-13 23:02:57 +03:00