I noted that NatEditPlugin bypasses the default form-submit processing. This interferes with anything that uses an onsubmit handler.

The validation breaks, because foswikiStrikeOne is called via onsubmit. Every save from NatEdit generates a "suspicious request from browser" warning.

If you click "save" whilst in TMCE's wikitext mode, the changes made since selecting wikitext mode are lost. This is because foswiki_tiny.js uses an onsubmit handler to prevent TMCE from destroying the changes made since selecting wikitext mode. I see this behaviour with JQueryPlugin 0.80, from twiki.org.

I also noted that TinyMCEPlugin does not work at all with NatSkin (rev 1994). I get an almost-empty page when I click edit. The only visible content is a grey horizontal line.

I think that NatEditPlugin must be changed to support foswikiStrikeOne, but I do not know what else is wrong.
I cannot say for sure that there is nothing wrong with TinyMCEPlugin, either, because I do not know how editor plugins are supposed to interact.

I'm silently losing edits on save from NatEdit when invoked from WYSIWYG, in 1.0.6 with the trunk version of NatSkin, NatEdit, and TinyMCEPlugin. A few people on IRC (MichaelTempest w/FF3.5.2 & IE8 included) are also reporting that this is still a problem.

Tested on Firefox (Iceweasel) 1.0.6 and Opera 9.64.

Confirmed on an up-to-date trunk installation (rev4728) with Iceweasel.

NB: For what it's worth, I fixed my local copy of JQueryPlugin::BUTTON.pm as per Item1985, but it made no difference...

NB2: Wireshark confirms there's no hits to tml2html here... the brief flash of HTML in the NatEdit textarea is an artifact of some JS shenanigans. The NatEdit #topic/#savearea value just isn't making it to the POST...

So, having learnt much more about JavaScript, I'm in a better position to debug this... onSubmitHandler above is never being called. Setting editor.initialized = false just before editForm.submit() in NatEdit/edit.js allows us to save from NatEdit

Update: I think the patch (attached) is the most reasonable way to fix this.

Before we commit...

I'm not sure I've used a cross-browser compatible way of checking if the tinyMCE object exists. Maybe there's a better a way of doing this.

Need to test that this solution works in all the major browsers, with both TinyMCEPlugin present and disabled