You should see
We don't show the "Cancel" action on drafts. However, I believe we should show it as the post might not be a draft in the remote so the user might still want to cancel the auto-upload action. Wdyt @osullivanchris?
Note: https://github.com/wordpress-mobile/WordPress-Android/pull/10446 needs to be merged first.
Agree with you @malinajirka
If we were certain it is a draft I would say its not needed. But as we don't know it sounds like a good safe guard.
A concern in this scenario is that the error message might not be clear. Imagine
Although it requires a very specific set of behaviours to create that scenario. Could the error message say something more specific like "Couldn't upload media. We'll try again later" to make it more clear what is happening? Or am I forgetting some limitation or generalisation we need to make?
When I go back on the phone it might upload the original image - is that right? Might be one of those bad user situations where something is published that they did not confirm.
They did confirm saving the post as draft -> they explicitly clicked on "Save". If this scenario happens, it'll un-publish the post. Since the status in the app is still "Draft" and this status will be pushed to the server.
Another note: Image in a post is just another content of the post. From the implementation point of view an image is just a url in the content of the post.
Although it requires a very specific set of behaviours to create that scenario. Could the error message say something more specific like "Couldn't upload media. We'll try again later" to make it more clear what is happening? Or am I forgetting some limitation or generalisation we need to make?
Do we really need to differentiate between:
I think (not 100% sure) we can differentiate the cases, but tbh I don't see any added value and I think it'll just make the "publish in offline" flow more confusing.
Wdyt?
Thanks for the clarifications @malinajirka
Do we really need to differentiate
The only reason I would want to differentiate is because the outcomes are different with media uploads. It seems like we can't treat them as gracefully. But perhaps we are solving that here.
Re-reading this thread and your new comment, I think you're right. We are covering enough use cases already and differentiating these might make it more confusing. I don't know enough about it yet to make a confident proposal. so lets stick with the original proposal you made in this ticket.
I realized this ticket doesn't cover one important scenario.

Proposals
~Wdyt @osullivanchris ?~
I realized Chris is afk, wdyt @shiki? I'd like to close this ticket asap.
I realized Chris is afk, wdyt @shiki? I'd like to close this ticket asap.
@malinajirka Sorry, it took me a while to respond. I agree with your conclusion of:
I decided to show the cancel action on all drafts which are pending auto-upload
We ended up with the same functionality on iOS.