In other words: When the javascript is not fully loaded, but you will change some preferences, the check for the button will not see this changes.
Description
Details
Related Objects
- Mentioned In
- T119732: Special:Preferences does not display unsaved preferences warning if changes made before JS is done loading
T115692: Flash of unstyled content (FOUC) on Login page and Preferences (and possibly other highly visible pages?)
T89457: Disable Special:Preferences save button unless settings have been changed - Mentioned Here
- T89457: Disable Special:Preferences save button unless settings have been changed
Event Timeline
To fix this, I would just propose to remove the JavaScript that disables the "Save" button.
I think removing the functionality is not necessary. Couldn't we simply serialize the saved form data in the PHP stage, rather than in the JavaScript stage, and then check if the current form data is the same as the original data once JS is done loading?
I am a bit annoyed by the disabled save button, but now there is actual reason to remove it. I think the use case "my js is loading slow" is more important then the use case "I left my computer on for 5 hours and I am not sure if I saved my preferences".
I will probably start removing some JS code from the preferences, see comments in https://gerrit.wikimedia.org/r/#/c/247728/
meh. "Can't be that hard, right?" *five weeks later* "argh"
Well, I suppose that the disappearing notification should handle most cases of forgetting whether or not the preferences are saved.
Change 252021 had a related patch set uploaded (by TheDJ):
Revert "Disable Preferences save button before setting change"
Change 252021 merged by jenkins-bot:
Revert "Disable Preferences save button before setting change"
Change 252029 had a related patch set uploaded (by TheDJ):
Revert "Disable Preferences save button before setting change"
Change 252029 merged by jenkins-bot:
Revert "Disable Preferences save button before setting change"