Page MenuHomePhabricator

Phabricator fails to save the new task in Safari browser, resulting in data loss
Closed, DeclinedPublic

Description

Safari on iOS 9 on iPhone 6S in portrait.

In Phab, I am creating a new task.
I write everything in the form.
I click the button Create new task.

Expected result:

Phab saves the new task and shows it to me.

Observed result:

Phab gives me a cryptic affront. See the screen photo to come. Among the meaningless signs, I discover some words that appear to be destined to a human: Reload the page and try again. But this is not clear. Reload which page? The previous page? The current page? If the previous page, then an action is missing before reloading it: going back to the previous page. If the current page, then what does "and try again" mean? I go back to the previous page. I find back my form, with all my writing, except the projects because of a bug. I add some projects again, and I send the form again. This gives me the same error. I go back again, and I click the button Reload in Safari. Phab asked me to reload, didn't he? The page gets reloaded, and the form is now empty! All my writing for the new task has been lost! Thank you Phabricator! [In reality, I had copied the description for the new task, but I was not supposed to.]

This is data loss, and Phabricator tricks the user into it!

It would be very nice to correct that horrible bug.

Thank you.

Nnemo

Event Timeline

See the screen photo, affront from Phabricator:

Screen photo. Affront from Phabricator.

Phabricator showing an error does not necessarily mean Phabricator is wrong, the browser could be broken. Not all error messages are intended for the end user to be able to recover from.

Phabricator showing an error does not necessarily mean Phabricator is wrong, the browser could be broken.

In this case, I think that Phab is wrong. What reason does Phab have for giving this error?

@Krenair

Besides, if the client has done something incorrectly and the server has a good reason to give an error, then the server has to give a meaningful error so that the user know what went wrong and how to do the action correctly and successfully.

Combined with the earlier report T131697: Phabricator asks to log in but does not show SUL dialog, and traps the user (starting on www.mediawiki.org and ending on m.mediawiki.org?), this suggests to me there's a more generic issue with session handling in iOS 9 Safari rather than something Phabricator specific.

Combined with the earlier report T131697: Phabricator asks to log in but does not show SUL dialog, and traps the user (starting on www.mediawiki.org and ending on m.mediawiki.org?), this suggests to me there's a more generic issue with session handling in iOS 9 Safari rather than something Phabricator specific.

Maybe.

But good old forms work with Safari. If Phabricator did use standard robust forms, then these bugs would probably not occur.

I suspect that Phabricator programs some stuff for expiring, that this is a bad idea, that the expiration comes too soon, and that Phabricator handles the expiration incorrectly.

This is related to some preventative measures that phabricator takes to guard against cross site request forgery. I haven't ever had this issue so indeed it would seem like it may be related to safari. I have submitted a task form after leaving it open for many hours between when I started writing it and when I finally submitted the form - no problem whatsoever.

Almost certainly not a universal phabricator bug but something specific to safari.

Aklapper renamed this task from Phabricator fails to save the new task, so data loss! to Phabricator fails to save the new task in Safari browser, resulting in data loss.Apr 23 2016, 9:46 AM

Almost certainly not a universal phabricator bug but something specific to safari.

Resolving task as we do not plan to investigate this in Wikimedia.