Even more reverts. :(
After additional testing (based on user reports) it seems like this may
still be causing issues. I find it weird and don't understand why, but
I'm reverting this as a precaution so people aren't affected.
Related to #97
This reverts commit da3ac48bbf.
This is not needed for proper deployments where the server properly locks
the database tables. But in some older etesync server versions and possibly
bad databases, this is not the case.
OpenTasks causes EteSync to concurrently try to sync, so this at least makes
sure this race condition doesn't happen for these rare cases.
A lot of reverts. :)
According to more information and testing in #97, this was indeed
unrelated and 1.9.3 was enough to fix it.
This reverts commit 73179318f3.
It seems like this is the cause of #97 as 19b4e2a796
hasn't fixed the issue. Still not sure why it's happening, but reverting
it so no more users suffer from this issue.
This reverts commit 26ea8900a2.
I'm pretty sure this was causing the recent issues with tasks and events
disappearing as described in #97.
Regardless of this, it's not actually needed as SQLite on Android is
already thread-safe. The SQLite locks some users were experiencing were
probably fixed in 26ea8900a2
This reverts commit 9ed172e23c.
Before this change we were fetching the journals 3 times each time (once
for each journal type).
This was wasteful both for the server and battery life. Now we just cache the
requests for a few seconds with the assumption that a burst most mean it's
the same sync operation.
This change was mostly flagging non-real issues, like connection reset
by peer. Revert for now and come up with an alternative solution.
This reverts commit d3ad17e0bb.
They inherit from IO exceptions so were temporarily ignored, but they could
indicate a real issue with the ability of this user to connect to the
server.
This change makes it easier to detect if a debug report was actually due to a
real issue, or is just a user sending the debug activity without any real
issue behind it.
This is to battle the surprising amount of debug info spam we've had to battle
with. Essentially users sending debug info without actually experiencing any
issues and never replying to questions. This is made worse because many of
those emails also have weird addresses in CC which make it look even more
like some weird sort of spam.
iCal support EMAIL event reminders which EteSync doesn't and can't support
due to end-to-end encryption. This commit therefore modifies the event reminders
DISPLAY so reminders are actually shown on the phone.
Fixes#63
This is really just an ugly workaround for a crash. This whole thing needs to
be redone. It's currently quite broken when it comes to lifecycle handling and
a source for many issues.
This is somehow a revert of 536bef9815.
It was initially implemented as a workaround for #24, but having
improved all the clients to deal with weird UIDs and matured a lot since
then, I believe this is no longer an issue.
Would have to keep a close eye for regressions.
We've recently started getting exceptions such as:
"java.lang.ClassCastException: java.lang.String cannot be cast to java.util.ArrayList"
I suspect it may be related to using the new email body prefix which is
probably not as well tested upstream as the rest of the code. Removing
it to see if this fixes things.
The exception handling was duplicated across every sync backend.
It was redundant and made it easy to not handle all of the exceptions correctly
everywhere.
I've seen some crashes there. This change brings it inline with
DAVDroid, and looks cleaner regardless.
Based on 1f7298f947a4878e86fcba0c6722e34b03cb63c6 from DAVDroid
With this change, we make it so using a self-signed certificate will
have to be authorised on the first login rather than checked every time
on the background.
This was causing annoying issues with networks that mitm SSL
connections, and anyhow, we shouldn't be asking users to trust bad certs
when in 99.9% of the cases it would either be an attack or a broken
network.
Fixes#36
A lot of the code dealing with collections assumes that the editing is
done by the owner (true assumption, for now), and therefore the encryption
key is derived from the master key (not true anymore, as it could be a
stored version of the old key). This commit removes this wrong assumption.
This fixes a bug with deleting entries that were never synced before. To
reproduce:
1. Turn off wifi + data (to ensure nothing is synced).
2. Add an entry (event/task/contact).
3. Delete that entry.
4. Turn wifi + data back on
5. Hit sync