Sync populates everdo with outdated items

I am using everdo pro 1.9 across 4 different devices (Windows, Linus, Android Phone, iPad). I am paying for encrypted sync

Unfortunately, it frequently happens that my everdo task list gets populated with outdated items. This seems to happen in particular, when a client was offline for a long time. I initially hoped that this issue would resolve automatically once the client is online for long enough but instead the client actually pushes outdated items to all other clients.

To me, this is a catastrophic failure for a productivity app. My list is then flooded with old items at the wrong date and I have to go through a whole lot of work to re-schedule and/or figure out what I did already. That is very unproductive for a productivity app…

The only thing that could be worse is deleting items. As far as I can tell, this hasn’t happened yet but my trust in sync is certainly reduced: I cannot tell 100% if I lost important todos because I would have to remember what all my tasks were (which defeats the purpose of maintaining todos in an app).

Addendum: I have also tried making sure that “the most up do date client” is online when I open an older client — but to no avail.

Question: are those pushed tasks repeating tasks or normal tasks?

I have the same issue but it seems that it is with repeating tasks only.

I’m facing a similar ESS issue, on my primary desktop install I have 1363 tasks in Someday, but on my iPhone I have 1643. Other lists are usually off by a few, but it doesn’t give me confidence in the system. I’ve tried to Clean Pull multiple times on the iPhone, but it doesn’t solve the problem.

2 Likes

As the others write. There is a problem with the credibility of the whole system, where one is afraid of losing important items.
PS : today I scheduled 2 tasks from one laptop win 11 and 2 hours later I got them back into focus list on the second laptop win 10. There must be some error in the sync system of everdo.

I already was in discussion wit Andrei about this issue.
Here is what he wrote:

I think it’s most likely related to two instances running without an internet connection at the moment the action repeats, which isn’t necessarily at midnight, it could be any time the app is started for the first time in a day. So each app creates its own copy of the action. However, the sync algorithm should be able to detect this and prevent duplication, because it tries to treat both copies as the same, as you’ve noticed when deleting one of them.

I think this is definitely fixable, I just need concrete steps to reproduce the duplication.

Until now we could not reliably reproduce the issue. I personal didn’t experience the problem the last months so I thought it’s fixed.

So if someone can reproduce the duplication with a step by step guide, that would certainly help fixing it.

My personal impression is, that the ESS sync (which I use) works way better than the local sync. Probably because a lot more syncs happen during the day and when your out and about.

So no repeating involved this time? Just a re-scheduling? Do you use ESS or local sync?

okay, that is a big delta!
If you compare those tasks can you recognize any kind of pattern?

Yes I use ESS and yes both tasks was not repeating-standard tasks

I found that when I synchronize my phone with Everdo just before opening Everdo on my laptop, which I haven’t used for 2 days, the synchronization goes through fine. However, when I don’t do this, there is an issue with duplicate tasks. So, I have tasks marked as completed on my phone, but they reappear on my laptop which hasn’t been used for 2 days.

Ok, I use auto sync, maybe that’s why I don’t have issues anymore.
Of course it should work with selective manual syncs, too.

I have automatic synchronization turned on on all devices. The problem occurs with the computer that I haven’t used for 2 days. When I turn on Everdo and the computer is not yet connected to the network, the issue of duplicate tasks appears when computer gets connection to the network.

Unfortunately since iOS Everdo doesn’t export CSV files, digging around JSON files is beyond me.

FWIW, I did delete Everdo from my iPhone, reinstalled it which displayed the 5 default tasks with no other tasks showing, then connected it to ESS. Standalone actions in my Someday list shows 1647, while today my Someday desktop list shows 1361.

I’ve figured out part of the issue, on the desktop versions when I collapse headers to get an item count for the Someday list, it’s separating actions and projects and not counting any actions within projects under the Action header. But on iOS, project actions are showing up under the Actions header along with standalone actions. That accounts for the 280+ difference in the item counts between desktop and iOS versions.

But item counts are off even within the desktop version, which I have disconnected from ESS for the last couple of days. If I collapse the action header in the Next list, the total says 137, but if I count the Next headers while filtering the Areas, the counts add up to 141. Makes me wonder if it’s not so much a sync issue, but a counting issue…

What “group by” setting do you use?

image

In the next list I use “default”, in the focus list I use “by type”

When I had the problems with duplicate items I used these counters to verify if my devices are in sync or not. When they were different I filtered by tags or area and compared the counts again and narrow down to find the false items. That’s how I got back to a consistent state.
It was very time consuming but this way I could gain back trust.

During that time I did not come across a wrong counting,…

I have thus far only observed the problem on repeated tasks. As of recently, I get the following error message in the bottom right corner but it is not clear to me how to act on it because I see no actionable error logs:

image

If the official solution is “you just have to count all your tasks across your 4 devices and hope it doesn’t happen again”, Everdo’s value proposition to customers seems doomed.

cc @Andrei , a reliable way for me to reproduce the issue is:

  1. create a recurrent task (say daily) on client A
  2. make sure it syncs to client B
  3. shut down client B for a few days; say 3 days → every day client A it will derive a new task from the recurrent template
  4. mark any tasks derived from the recurrent template as “done” from client A while B is shutdown (everdo not running at all on B)
  5. take client B online after 3 days → copies of the recurrent task from the last 3 days get pushed into the task list