How is old data being allowed to overwrite current data?

I had an issue come up recently with a Client’s Doc. I can’t share and it’s too complicated to create a sample doc.

Basically, assignment requests are made in a table. A list of people with the skill set who can work it and aren’t already busy at that time are sent an email with a link back to a page where they can view their “PENDING” items.

The first person who signs in and clicks the Accept button is then assigned the assignment. When that happens the row is modified and the list of people is removed. The filter on this table is such that each user can ONLY see the assignments that their name is in the list of PENDING PEOPLE.

This has worked great now for almost a year. Suddenly, they started having problems. When I look at the activity for a particular row I see that:

Some users declined (there’s a button for that and it just removes their name from the possible people listl). The row was updated properly

Then after about 3 users declined, one user accepted. The row activity shows that the possible people list was blanked out, all the columns that need to be set/updated are correct.

But then several hours later, another person comes along and clicks DECLINE and when they do, it repopulates the possible people field and removes the assignment from the person who accepted it.

As I said, this has been working flawlessly for almost a year and suddenly, people seem to be able to see a row that they shouldn’t see. The only way they can access those rows is if the view’s filter is not behaving. No changes have been made to the filter.

Unless the user could search for the row and then go update it, which most of my users don’t even know how to search and for them to search for that exact assignment would be most unlikely.

The fact that a column in a row is set to blank and then another user comes alone and clicks the button and that is pulling up the previous data that was in that column and then inputting that into the now blank column concerns me greatly.

Any ideas how this could happen?

My current theory is that the Coda phone app is saving the data to their device and they are working off line and then when they get back online their changes are being pushed back up even though they are extremely outdated. Sometimes there is several hours of gap between the correct data and the updated/wrong data.

If that theory is true, then I have a HUGE issue to deal with and no clue where to start.

Any other ideas/insight onto how this could happen?

A weird one for sure.

If the emails contain a link directly to the row, perhaps people can still reach it even if it doesn’t appear in the filtered list. (But perhaps you link people to just the page with the view by email, in which case yeah, it shouldn’t appear).

I like your cacheing idea.

What’s the action on the decline button?

No. I intentionally only gave them a link to the page so that when they open the page they will only see the filtered items and if someone else already accepted the assignment that generated the email, it would no longer show in their filtered list.

What baffles me is it’s run for almost a full year and then suddenly several times, this has happened with no changes to the filters, emails or buttons.

Once it is accepted the column for that row is set to “”. So I’m confused how someone coming in hours later can click a button that is taking old data from that column and putting it back in.

The Decline button checks to see if you are the one assigned to the assignment. If so, it cancels the assignment completely and changes a flag to put it back in to reschedule.

If you are declining and your name is listed in the POSSIBLE people column, then it adds your name to the Declined column and then removes it from the POSSIBLE column so that it will no longer show in your view.

So what started happening is, after an assignment is assigned, someone who WAS in the possible column comes in and clicks the button and it’s somehow getting the data that used to be in the column and inserting it.

My only guess is, they are somehow working offline and then the changes aren’t being written back properly. Or maybe that’s how Coda works, the changes are done in order and so if someone removes something and then someone comes along and edits what was removed it overwrites the removed items.

Well I’ve narrowed this issue down to being caused by the phone app. In testing, I cannot make this happen from a PC. The items always are removed from the view and button is disabled so no PC user can cause this.

However, if I open the doc on my phone then disable my internet on the phone, the doc stays open and active and therefore the filter is not updating and the second user is seeing things they should no longer see. They are pushing the button then when they go back online, their app syncs and their changes overwrite the first user.