Page MenuHomePhabricator

<source> and <syntaxhighlight> no longer protected from content editable
Closed, ResolvedPublic1 Story Points

Description

On https://wikitech.wikimedia.org/wiki/Performance?veaction=edit
and https://office.wikimedia.org/wiki/Sandbox?veaction=edit

It seems VE is exposing cursorring, free editing and even slug creation inside a syntax highlighted element.

Setting high priority because, when serialising, this change is ignored and not part of the diff. Leading to loss of edits from users.

<RoanKattouw>: WTF it has typeof="mw:Extension/source" and everything
<RoanKattouw>: > ve.dm.modelRegistry.matchElement(n)
<RoanKattouw>: "div"
<RoanKattouw>: I think this might be due to edsanders's ModelRegistry changes, maybe?

EDIT: This actually affects all production wikis (except testwiki/www.mediawiki.org). ve.dm.MWAlienExtensionNode is never loaded (it's in the experimental module only). Probably caused by the ModelRegistry changes earlier this year (maybe a6144f31f), since it would now fallback to DivNode instead of AlienNode?

Event Timeline

Krinkle created this task.Jun 23 2015, 2:12 AM
Krinkle raised the priority of this task from to Needs Triage.
Krinkle updated the task description. (Show Details)
Krinkle added a subscriber: Krinkle.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJun 23 2015, 2:12 AM

No, I was wrong, it's not due to the ModelRegistry changes. MWAlienExtensionNode isn't being loaded, because it's still experimental for some reason, and experimental code only loads on mediawikiwiki.

No, I was wrong, it's not due to the ModelRegistry changes. MWAlienExtensionNode isn't being loaded, because it's still experimental for some reason, and experimental code only loads on mediawikiwiki.

While the second sentence is true, this is related to the ModelRegistry changes. Prior to those changes, <div typeof="mw:Extension/source"> wouldn't have fallen through to DivNode, but would instead have been alienated (as in AlienNode, not MWAlienExtensionNode) because it has an mw:-prefixed RDFa type that is not matched by DivNode. Now, after those changes, mw: isn't treated specially any more, and so DivNode is able to claim it.

Krinkle updated the task description. (Show Details)Jun 23 2015, 2:30 AM
Krinkle set Security to None.

Change 220031 had a related patch set uploaded (by Krinkle):
Make ext.visualEditor.mwalienextension mandatory (no longer experimental)

https://gerrit.wikimedia.org/r/220031

Krinkle claimed this task.Jun 23 2015, 2:33 AM
Krinkle triaged this task as High priority.
Krinkle updated the task description. (Show Details)
Krinkle edited subscribers, added: Esanders; removed: gerritbot.

Change 220031 merged by jenkins-bot:
Make ext.visualEditor.mwalienextension mandatory (no longer experimental)

https://gerrit.wikimedia.org/r/220031

Jdforrester-WMF closed this task as Resolved.Jun 23 2015, 6:34 PM
Jdforrester-WMF edited a custom field.
Jdforrester-WMF moved this task from To Triage to TR0: Interrupt on the VisualEditor board.