-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Perceived content loss when users mistakenly overwrite published posts with drafts #10292
Comments
Imho this issue can't be solved without updating the API (we could theoretically create a workaround which would work in most cases, but not a proper solution). Proper solution is to introduce a new query parameter eg. lastModifiedDate to the "pushPost" endpoint. If the "lastModifiedDate" on the server is different then what was sent by the app, the server knows that the user edited an out-of-date version of the post. The server should return some kind of error. The user should be notified about this issue. We could for example reuse the existing "conflict resolution" dialog. However, I tried to reproduce the issue and the changes made on the web weren't actually lost forever as they could be retrieved using the revision history. Did you lose your changes forever @designsimply ? |
I didn't lose changes forever! The changes are saved in revisions—the problem is about the flow and is definitely a perceived content loss. The reason for filing this issue is because users have been reporting that drafts are overwriting published posts and we think this flow, as well as not being able to easily find revisions when in a panic, is what's tripping them up. It happens often enough to warrant looking into, and I like the sound of the solution you proposed. |
@diegoreymendez We might want to consider adding this issue into our timeline. However, it requires a change in the API so I'm not sure how much feasible it is. |
A few thoughts:
|
I think conflict resolution is the experience we want to provide for the user in this specific flow where they are accidentally overwriting published posts with drafts not-yet-updated in the app. Adding the |
Yep, I 💯 with this. I didn't mean to suggest including it in Offline Posting.
Yep, it could fit there or it could be just a mini-project on its own.
I agree, but I don't think we should discuss it now. Imho deciding how things will work and look should be part of the project (eg. its exploration phase). The design Chris comes up with now might be out-dated before we plan this task, so I personally wouldn't waste time on it until it's planned. |
Found this issue open in a little tab in my browser but I hadn't read it yet! I agree with @malinajirka , we should go into the details when we pick this up in a project. I think it definitely fits within a proposed conflict resolution project. I think the biggest issues will be technical rather than finding the right flow. Here are three ways we could catch this and avoid this flow:
But all of these ideas sound like technical implementations and I imagine they're the kind of things that require API changes as mentioned. My main approach would be to catch it as early in the flow as possible, before the user starts making changes and ending up in strange space-time paradoxes in the first place :) |
There's another example of this happening in 2438781-zen, resulting in disappointment and a loss of trust in the app. |
We shouldn't let an API change block us for a case like this. Please message me if you need help figuring out how to move forward when an API change is needed. @bummytime can this issue be considered for a sprint or project within the next year? |
It's not an API change that's blocking us. It's actually that it's not clear what needs to be done, so trying to address this as a bugfix can be double-edged and bring other problems. If we really want to get this resolved, I agree this needs to be a project. |
I found an example of this reported in an app review:
(internal reference: play-store-previewId=gp%3AAOqpTOGHo-KMj_CqPBP8HMb_gdqmYiF5fe4IlVcnQikuUR7pYBLZjOvFaa8Hdru8hmhrcwtQjgbxXqE2zQuxCQ&corpus=PUBLIC_REVIEWS) |
@designsimply I'm not so sure this is the same issue the user is dealing with. It seems they have troubles syncing remote version into the app. They should be able to manually invoke the sync by using pull-to-refresh gesture on the post list when it's not syncing automatically. The app should either sync the content or show "Version conflict" label and let the user choose which version they want to edit. Wdyt? |
I think needing to manually invoke the sync is exactly the problem in these cases. Users expect that if they update a post on the web that the changes will immediately and automatically sync to the app without needing to pull-to-refresh on the posts list. |
Removing from high priority due to inactivity and because the fix for it is project level complex and hasn't had an opportunity to get picked up yet. We need conflict resolution! 😊 |
Steps to reproduce:
Result: if a draft made with the app is edited and published on the web, users have been accidentally overwriting the newer edits from the web with the draft seen in the app if they haven't refreshed the post list in the app. (1m36s)
Tested with WPAndroid alpha-182 (12.9 alpha) on Pixel 3 Android 9.
h/t @rachelmcr for the testing steps & @thehenrybyrd for the mobile request (internal reference: p4a5px-2pK-p2)
The text was updated successfully, but these errors were encountered: