HTTP Requests should go through the get_async()/post_async() methods of
JmapConnection, which traces requests if optional feature `jmap-trace`
is enabled.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Adding ourselves to our contacts doesn't make sense (in the generic
case) so remove them from the list that is shown when the user selects
the add contacts shortcut.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
I first split the rfc8620.rs into two files with an octopus merge but
getting fixups autosquashed in rebase was impossible with this approach.
So I made the split manually and botched the state of the two splitted
halves.
This commit removes extraneous code and the unused rfc8620.rs file.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add type that preserves both text (String) and parsed Url value for a
Url template.
Also add a test to catch regressions.
Closes#403 (JMAP: message body fetching broken on v0.8.5)
Fixes: 51e3f163d4 ("melib/jmap: Use Url instead of String in deserializing")
Resolves: https://git.meli-email.org/meli/meli/issues/403
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
In anticipation of next commit which will flatten the rfc8620 module
(move submodules to root).
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
jmap module hierarchy has been historically weird at places, because
some modules had been developed in separate bursts.
Flatten object module since it was not necessary.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Flag and tag modifications are now somewhat typed better, and the
frontend applies them on its own on success. This means that if you set
an unseen mail as seen but it was already seen in the backend, you will
see the change locally. Previously it would remain unseen.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Well this was more complex that it should have been. And not very
optimized because we're not using pipelining in the submit() path:
1. first upload email bytes as a Blob object. This requires a standalone
API post call at a specific url so it cannot be changed with followup
calls to reference the blob's id.
2. Create an EmailObject in the drafts folder.
3. Create an EmailSubmission object referencing the email id of prevous
call. Unfortunately I cannot get the Result Reference to work in
stalwart jmap, so for now this is too a separate transaction.
Caveat emptor: Errors might not be returned to the user.
Closes#277.
https://git.meli.delivery/meli/meli/issues/277https://git.meli.delivery/meli/meli/pulls/279
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
We will need this in the future when we're going to support extra
extensions like Blob and also now to support server submission.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>