Page MenuHomePhabricator

Internal links weirdly mangled in VisualEditor
Closed, InvalidPublic


In , it looks like the user's goal was to remove a few notes in parentheses, but somehow they removed the closing ]] of a nearby link as well, causing the opening [[ not to be balanced any more, and thus causing nowikis.

The only explanation I can find at the moment (other than this being a bug) is that the user, for whatever reason, removed the linked text, then re-inserted it manually with the opening brackets but not the closing ones. And they would have had to re-insert that through copy-paste, otherwise the link dialog would have opened when they typed [[.

This is far-fetched, so I'm opening this ticket to see if this could have been a bug.

I'm also going to link to , in which another internal link was mangled, albeit slightly differently: The resulting wikitext was [foo[]]. This could have been done manually as well, but it also appears unlikely.

Event Timeline

gpaumier raised the priority of this task from to Needs Triage.
gpaumier updated the task description. (Show Details)
gpaumier added a subscriber: gpaumier.
Jdforrester-WMF added a subscriber: Jdforrester-WMF.

This shouldn't be possible at all – [[ and ]] aren't exposed in VE, so the user can't break them. Possibly a Parsoid issue, though I can't understand how?

As for, I had written up this whole theory about DSR being wrong which caused selser to corrupt that link .. but when I tried to verify that theory, it turns out the reason is much simpler. That whole table that had the edit is wrapped as a single DOM block, which means the user had to edit a template parameter (with 100s of params) and it is likely this is user error when attempting to edit one of those params. Try

I haven't checked the other diff, but worth checking for the same thing.

gpaumier closed this task as Invalid.EditedApr 30 2015, 3:49 PM
gpaumier claimed this task.

@ssastry: You're right (in both cases). I had forgotten that VE exposed wikitext in the template editor. Sorry for the inconvenience.

(As a side note: Wow. That is one seriously nasty template.)