I am having the same issue and it is happening with more plugins, like Locations and Private Topics. The “you have unsaved changes” with the option to save simply does not pop up. Even when I change something else, the settings are not being saved.
Maybe this belongs in Development since the offical plugins do not seem to suffer from this, but OTOH this broke with a Discourse update. This also affects two official plugins (calendar and restricted replies)
Yes, this is specifically a problem with formkit when enable_simplified_category_creation is enabled, plugins will need to migrate to use formkit and the new data structure.
there’s a working example of this in one of our core plugins, which was migrated here:
you can see how the form structure branches with {{#if this.siteSettings.enable_simplified_category_creation}} and how the form if structured using formkit and data from @outletArgs.form. The old form structure is still there after {{else}} for legacy support.
Where I am usually pretty relaxed when I need to update plugins because of core changes, and happy with the way developers are guided, I think the Discourse team really dropped the ball here.
There was no announcement (at least, I cannot find it, and @moin hasn’t pointed it out to me (yet) )
There was no attempt to mitigate this with some blanket code in core
There isn’t even a browser development console warning
Things just stopped working.
A quick scan, probably not even complete, shows this has broken AT LEAST the following plugins:
True! we should have warned about this change as it progressed through our upcoming changes feature — this is a new process for us and we’ll get it sorted out. For now enabled_simplified_category_creation can be disabled from /admin/config/upcoming-changes to restore all the existing plugin functionality.
You should have received notifications about this change both when it appeared on your site and when it was automatically enabled, which is likely only this week when the change was moved to Stable status.
As Kris said, the mitigation is the upcoming change in core, which gives you time to migrate things:
What else would have helped you in this case? We could add some extra details in the upcoming change linked topic with details on what developers need to do to prepare.
As for developer warnings, I can consult with the dev-xp team to see if there is something better we can do next time.
But at that moment, the change with the floating save button had not been implemented yet (that was the end of February, I think). There wasn’t an additional update in that topic or elsewhere to reflect those changes.
Any of these:
a timely technical announcement targeted towards plugin developers
temporary automatic fallback to the old logic (like has been done for the topic list, whenever there was legacy plugin code it automatically fell back).
temporary fallback code that keeps the legacy functionality working (detect inputs outside forms and include them in the settings that need to be saved). That could have saved you guys the effort of all those {{#if this.siteSettings.enable_simplified_category_creation}} branches as well.
browser development console warnings when legacy code is detected
a static scan of known plugins, like I did yesterday (took me 10 minutes and I even found some official plugins that were overlooked )