Commit Graph
285 Commits
Author SHA1 Message Date
Floris Bruynooghe 7274197da0 Remove comment about method being deprecated
I had a look for two mintues at converting things to .try_inner() and
I don't think this is currently worth the effort or would increase
readability a lot.  So let's leave this for now.
2020-02-14 01:02:28 +01:00
Floris Bruynooghe c79fcb380b Clean up result traits
There is no need to have both a .log_warn() and .log_err(), even their
names are confusing by now.  Let's just have the most liberal one and
reduce one more thing we need to know about.

Also, these traits don't need to be pub.
2020-02-14 01:02:28 +01:00
Floris Bruynooghe 6a98eade07 Remove the error method from the ffi
No ffi method should be reporting errors to the user.  That's
exclusively the domain of core.  All errors in the ffi are programing
errors.
2020-02-14 01:02:28 +01:00
B. Petersen 8b4edc46a7 implement dc_set_config_from_qr() 2020-02-11 21:04:18 +01:00
B. Petersen 2b7a0a4585 prototype dc_set_config_from_qr() 2020-02-11 21:04:18 +01:00
B. Petersen 1882176489 let dc_check_qr() accept DCACCOUNT-schemes 2020-02-11 21:04:18 +01:00
Floris Bruynooghe 0242322d24 Tweak error halding a little
- Python should raise exceptions on error.  Not return False.
- Negative durations are nonense.
- ChatID validity is already checked by the Rust API, let's not duplicate.
2020-02-09 18:01:42 +01:00
Floris Bruynooghe 4aebd678c3 Use SystemTime instead of i64
This clarifies some behaviour with negative times and propagates
errors a bit better around places.
2020-02-09 13:35:37 +01:00
Simon Laux 621f1df913 rename MutedUntilTimestamp to Until 2020-02-09 12:01:09 +01:00
Simon Laux 5f4274b449 fix naming 2020-02-09 10:42:32 +01:00
Simon Laux 4acb37156f fix building of ffi 2020-02-09 10:39:21 +01:00
Simon Laux 1fb75c1af3 rename dc_chat_get_mute_duration
to dc_chat_get_remaining_mute_duration
2020-02-08 13:29:24 +01:00
Simon Laux 6d80b3675a dtransform mute chat to use relative durations
instead of absolute timestamps
2020-02-08 13:26:48 +01:00
Simon Laux 63be1ae5a9 change muted forever to -1 2020-02-08 13:25:22 +01:00
Simon Laux b9ba1a4f69 implement ffi part 2020-02-08 13:25:22 +01:00
Floris Bruynooghe 515c753d11 Use pre-generated keys for python integration tests
This changes the AccountMaker to use pre-generated keys when
available, speeding up test runs.

As a side-effect we no longer need to compile the integration tests in
release mode with debug symbols.  Losing debug symbols (-g) means
cargo no longer wants to recompile everything all the time too.

Tested locally and seems to works.
2020-02-08 08:28:41 +00:00
Floris Bruynooghe fc0292bf8a Rename save_self_keypair
For the ffi rename to dc_preconfigure_keypair.  For the internal API
to store_self_keypair.
2020-02-06 22:00:29 +01:00
Floris Bruynooghe 4bf2fc18e5 Write with_inner() in function of try_inner()
I guess this is a little neater.  Note that this does change all the
existing error logging to warning logging.  I believe this is correct
as these error log messages are really programming errors rather than
errors which need to be show to the user.

Also chose to make entire with_inner unsafe, there is little to be
gained from hiding the unsafe as this is only used from unsafe
functions in the first place.
2020-02-06 22:00:29 +01:00
Floris BruynoogheandAlexander Krotov 145fd8657f Update deltachat-ffi/src/lib.rs
Co-Authored-By: Alexander Krotov <ilabdsf@gmail.com>
2020-02-06 22:00:29 +01:00
Floris BruynoogheandAlexander Krotov 01b55d1d29 Update deltachat-ffi/src/lib.rs
Co-Authored-By: Alexander Krotov <ilabdsf@gmail.com>
2020-02-06 22:00:29 +01:00
Floris Bruynooghe 98b3151c5f Refactor keypair handling and expose storing keypairs on ffi
The user-visible change here is that it allows the FFI API to save
keys in the database for a context.  This is primarily intended for
testing purposes as it allows you to get a key without having to
generate it.

Internally the most important change is to start using the
SignedPublicKey and SignedPrivateKey types from rpgp instead of
wrapping them into a single Key object.  This allows APIs to be
specific about which they want instead of having to do runtime checks
like .is_public() or so.  This means some of the functionality of the
Key impl now needs to be a trait.

A thid API change is to introduce the KeyPair struct, which binds
together the email address, public and private key for a keypair.

All these changes result in a bunch of cleanups, though more more
should be done to completely replace the Key type with the
SignedPublicKye/SignedPrivateKey + traits.  But this change is large
enough already.

Testing-wise this adds two new keys which can be loaded from disk and
and avoids a few more key-generating tests.  The encrypt/decrypt tests
are moved from the stress tests into the pgp tests and split up.
2020-02-06 22:00:29 +01:00
B. Petersen cce32229e0 do not bubble up errors on dc_has_import()
error!() will show the error directly to the user,
this is not useful in this case,
and also the message with the function-name is not for the end-user.

instead, the ui shall (and already does)
show some explaining text if dc_has_import() returns false;
the error!() is disturbing here as this results in two hints shown to the user.
2020-02-01 22:33:18 +00:00
B. Petersen 63043cb45d add after_login_hint, refine ffi 2020-01-30 17:47:40 +01:00
B. Petersen 748e54d4c2 add basic provider-functions 2020-01-30 17:47:40 +01:00
B. Petersen 0f172595d7 we need the provider-db also in the core, not only ffi. the idea is to add it directly to the core and to avoid an extra crate. this also avoids pulling in yaml-rust and some other dependencies. 2020-01-30 17:47:39 +01:00
B. Petersen fbe57c4c71 adapt provider-db api to real need 2020-01-30 17:47:39 +01:00
B. Petersen 49fdd6fc5b clarify documentation 2020-01-26 16:23:30 +01:00
B. Petersen 7ea0e4d4db bump version to 1.0.0-beta.24 2020-01-26 14:06:33 +01:00
Alexander Krotov 033a44580c Turn get_[fresh_]msg_cnt() into ChatId members 2020-01-25 22:11:13 +00:00
Alexander Krotov 889327b5f6 Rename Chat.archive() into Chat.set_archived() 2020-01-25 22:11:13 +00:00
Alexander Krotov a2845f44ab Turn ChatId-related functions into methods 2020-01-25 22:11:13 +00:00
holger krekel 2773b89815 prep beta.23 2020-01-21 21:40:32 +01:00
Floris Bruynooghe 186f5553b8 Introduce a ChatId newtype
This doesn't try and change the way ChatId is used.  It still allows
creating them with 0 and lets some function use a ChatId(0) as error
return.
2020-01-19 23:42:08 +01:00
Alexander Krotov df7253b13e Document MessageState and fix some typos 2020-01-15 00:48:10 +03:00
Alexander Krotov 454c52f4ab Use correct SPDX license identifier in Cargo.toml 2020-01-13 10:48:16 +00:00
Alexander Krotov 61833c32e5 Remove trailing space from deltachat.h 2020-01-01 23:05:08 +00:00
Alexander Krotov ffa6378108 Fix clippy warnings in deltachat-ffi 2019-12-27 10:28:50 +00:00
B. Petersen f73ba895af remove some meanwhile unneeded allow-statements 2019-12-26 16:26:06 +00:00
B. Petersen ce15ef2db9 prep beta22 2019-12-22 05:42:33 +01:00
Alexander Krotov 8e0a29e9b5 Stop using Event callback return values
Since stock string callback has been deprecated, all event callbacks
return 0.

For compatibility, C declarations are not changed and FFI users are
expected to return 0 from their callbacks.
2019-12-21 22:51:44 +00:00
holger krekel b0694bcf2c prep beta21 2019-12-20 15:17:59 +01:00
Floris Bruynooghe ec40dd1b6f Change the JSON API function to be from a serialised struct
This is the first experiment towards using structs to define the API.
It adds it as a new method on the existing Chat struct.

The types in this struct could improve as well as many other things.
But this is a straight forward translation of the existing json! macro
into a struct.
2019-12-20 10:39:39 +01:00
holger krekel 8c0ce38301 prep 1.0.0-beta.20 2019-12-19 16:55:24 +01:00
holger krekel a7b55edb9b more call sites 2019-12-19 12:06:01 +01:00
holger krekel c1ba5a30c5 prepare beta.19 2019-12-16 23:46:28 +01:00
holger krekel 801162d7be prepare to tag 1.0.0-beta.18 2019-12-16 13:20:14 +01:00
holger krekel cda4ccff2a add changelog for beta17 and bump versions 2019-12-15 23:26:05 +01:00
holger krekel 8fa175f36d changelog and version up to 1.0.0-beta.16 2019-12-14 00:22:09 +01:00
Alexander Krotov 541710147a Copy correct dc_contact_is_verified documentation from C core
instead of dc_contact_is_verified_ex documentation.
2019-12-11 17:54:28 +01:00
holger krekel 542a33952f prepare 1.0.0-beta.15 2019-12-10 21:35:20 +01:00