| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
| |
IMAP always requires CRLF, and so does the MIME standard, KMIME expects
LF-only.
We now just try to always use CRLF on disk, but convert LF-only messages should
we have to (e.g. because copied over from maildir or so).
|
|
|
|
|
|
| |
The incremental querying broke as soon as a revision update came in
since it would nuke the base-set. This fixes it, but it's definitely not
pretty.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Previsouly we would hit the maxreaders limit
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Only ever enter error state on non-recoverable errors.
Otherwise:
* Busy state while busy, then go back to online/offline/error.
* If we failed connect during replay/sync we assume we're offline.
* If we failed to login but could connect we have a known error
condition.
* If we succeeded to replay/sync something we are apprently online.
At the core we have the problem that we have no way of telling wether
we can connect to the server until we actually try (network is not
enough: vpns, firewalls, ....). Further the status always reflects the
latest status, so even if we were in an error state, once we retry we go
out of the error state and either end up back in the error state or not.
When aggregating states we have to similarly adjust the state to the
most relevant among the resources. The states are ordered like this:
* Error
* Busy
* Connected
* Offline
|
|
|
|
|
| |
They don't get through to the resource consistently, so we have to
ignore them for now to make the test reliable.
|
|
|
|
|
|
|
|
| |
This will allow us to fold things like progress and sync status directly
into the model. Usecases are mail download progress and folder sync
progress.
Ideally we would also solve the resource/account state through this.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The library asserts otherwise
|
| |
|
|
|
|
|
|
| |
When trying to reply to a mail from kube we ran into a deadlock.
The initial result callback is called from the main thread, and that can
thus directly lead to destruction of the emitter.
|
|
|
|
|
|
| |
Otherwise if the source resource manages to clean up the revision before
the target resource gets to process the new entity, then the blob file
is gone already.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This avoid uselessly querying resources only to discover that they don't
have a facade for the type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dbis can only be opened by one thread and should then
be shared accross all threads after committing the transaction
to create the dbi.
This requires us to initially open all db's, which in turn requires us
to know the correct flags.
This patch stores the flags to open each db in a separate db,
and then opens up all databases on initial start.
If a new database is created that dbi is as well shared as soon as
the transaction is committed (before the dbi is private to the
transaction).
|
| |
|
|
|
|
|
| |
...we used to accidentally move external blobs after the property was
lost when storing the modificatoin in the queue.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: cmake configure passes without a hard error.
Reviewers: cmollekopf, #kde_pim
Reviewed By: cmollekopf, #kde_pim
Subscribers: dvratil, cmollekopf
Differential Revision: https://phabricator.kde.org/D4443
|
| |
|
|
|
|
| |
initial fetch.
|
|
|
|
|
| |
We often let removal updates through and expect the model to deal with
superfluous updates, this now actually implements that.
|
|
|
|
|
|
| |
Some filters need to maintain state between runs in order to be able to
emit only what has changed. This now also make reduction work for live
queries.
|
| |
|
|
|
|
|
| |
The uid is not existing for the mail and the threading requires a
messageId.
|
| |
|
|
|
|
| |
threads.
|
|
|
|
| |
After the initial bloom, it should turn into a regular filter.
|
| |
|