U4-4848 - If "Save and Publish" is clicked before page finishes loading, data is lost from MNTP

Created by Mark Bowser 08 May 2014, 22:53:24 Updated by Sebastiaan Janssen 08 Nov 2017, 16:32:27

Tags: Up For Grabs Unscheduled

Relates to: U4-6742

Subtask of: U4-9609

I'm using Umbraco 7.1.1

I'm working on a site with a lot of site setting properties on the HomePage. The page loads very slowly because of this. While I am waiting for the page to load, if I click "Save and Publish", my MNTPs have all of their data blown away.

This can be difficult to reproduce if you don't have a slow page, but it is definitely possible. Try using Fiddler to simulate a slow modem speed.

A possible solution is to have the "Save" buttons disabled until the page loads.

Thanks and let me know if you have any questions.

Comments

Mark Bowser 14 Jul 2015, 21:38:42

Looks like someone has run into the same problem with a nuPicker: http://issues.umbraco.org/issue/U4-6519


Arjan Woldring 16 Jul 2015, 14:01:31

Added 7.2.6 as affected version too.


Shannon Deminick 26 Jun 2017, 07:17:21

Closing issue due to inactivity - see blog post for details https://umbraco.com/blog/issue-tracker-cleanup/


Owen Blacker 17 Jul 2017, 11:52:39

@Shandem This is still a problem that seems like it would be relatively simple to resolve, as suggested in the ticket. It's very disappointing to see the Core team just write this off as Wontfix.


Sebastiaan Janssen 17 Jul 2017, 15:24:41

@owenblacker

We're not writing anything off, just closing things with no activity for over a year (!).

I'm happy that this is re-opened now, it has clearly been overlooked. Would you be able to help by sending a pull request?


Owen Blacker 17 Jul 2017, 15:30:41

@sebastiaan Not in the immediate future, but I'll take a look once I'm not quite so hard-pressed against deadlines :)

If anyone is able to get there sooner than I (which is quite likely!) then it probably "only" needs Save (and Save&Publish) to be disabled until an onreadystatechange listener re-enables it.


Mads Rasmussen 10 Aug 2017, 12:15:23

Turns out it was a timing issue where model.value was set with empty data from renderModel if the form submits was triggered before the initial model data was set.

We moved the subscribe event a bit to ensure that the subscriptions don't trigger until they really should.

Fixed in commit: 125c3782744d420dc02fcd0f68702a132bec637a

Reviewed by @claus


Simon Hawes 08 Nov 2017, 13:34:54

We are having problems with our large site which I think is a manifestation of this issue and I would like to incorporate the fix without upgrading.

Can you confirm if this issue affects 7.4.3, if can I apply the changes in the fix in isolation ?

Can you please also explain how the fix works, thank you.


Sebastiaan Janssen 08 Nov 2017, 16:32:27

@SimonHawes It was only fixed in 7.6.6, so it's likely that it affects 7.4 since this was reported since v7.1.1 already.

The explanation is literally in the comment above yours :-)

It will take some experimenting to apply it since the code base has evolved a lot since 7.4, good luck!


Priority: Normal

Type: Bug

State: Fixed

Assignee:

Difficulty: Normal

Category: UI

Backwards Compatible: True

Fix Submitted:

Affected versions: 7.1.1, 7.2.6, 7.3.1, 7.3.5

Due in version: 7.6.6

Sprint: Sprint 65

Story Points:

Cycle: