Talk:VisualEditor/Diffs

About this board

Not editable

Thanks for your feedback about the new way of visualizing differences of changes to pages on MediaWiki-based projects. All comments are read, in any language, but personal replies are not guaranteed: the team will try and go through reports here at least once a week. Need more attention? Report a new bug directly in Phabricator

Atibrarian (talkcontribs)

In the past few years, I have noticed that while using the mobile desktop view in creating an article or expanding an existing page. There seems to be a bug that wiped out some text or a paragraph from the existing content which makes the editing using a mobile desktop view tedious.

Furthermore, in some cases, the text might be invisible but when you publish changes you will discover it exists thereby duplicating the text. I have over time alternated between VisualEditor and Source to ensure there are no mixed-up text or paragraphs before publishing final changes.

I thought I was the only one experiencing the challenge until Jesse from the Ghanaian community asked (on the Africa Wikimedia Technical Community WhatsApp group) if we could share the challenges we as African face while editing with our mobile device to share with the Wikimedia Editing Team. After sharing my experience as stated above, I discovered that it resonates with all Wikimedia editors across African countries and perhaps the world in general.

Whatamidoing (WMF) (talkcontribs)

What do you mean by "the "mobile desktop view"? Is this the desktop view on a mobile device?

Atibrarian (talkcontribs)

What I mean by "mobile desktop view" is when using a smartphone. Switching from the mobile view of the smartphone to a desktop view.

I hope my explanation is clearer. Regards.

Edited words returning disjointed

2
Ngozi Stella Udechukwu (talkcontribs)

Hello, I'm Ngozi. I noticed that after editing some words, it will become disjointed. I don't know the cause. After correcting it, it beeturn bad a ~~~~gain.

Whatamidoing (WMF) (talkcontribs)

Edits in diff won't show if paragraph split

1
Thinker78 (talkcontribs)

Hi. If I make edits in a paragraph and split said paragraph, the only changes visible in the diff is the paragraph like if it was deleted and added and the edits made within the same won't show. Edits in other paragraphs not split do show.

Shows whole paragraph in red, rather than diff

2
Wakelamp (talkcontribs)

Greetings from Sunny Melbourne Australia where I am working outside and enjoying the autumn sunshine 23 degrees. :-) As a peace offering @Whatamidoing (WMF)please share some of my mandarin and green tea (t is very refreshing either hot or with ice)

On the en article The Trranformers: The Move I changed [within a paragraph and added a carriage return before. The diiff shows the whole paragraph deleted and re-inserted with one word the same (I have a screen dump)

Whatamidoing (WMF) (talkcontribs)

Thank you for the fruit and tea. :-)

I'm sorry you ran into this. This happens sometimes, and it's a difficult mathematical problem to solve. There's a minimum amount, so if you change a single letter or a single word, it will show a larger amount as being "changed". (The alternative is highlighting single characters, and if you've ever tried to track down a change involving a single space in the pale blue/light yellow color scheme, you'll understand why they made that choice.) Additionally, it doesn't always make the choice around blank lines that a human would. So when you combine the two, it can cause "obviously wrong" results.

I generally find that some diffs are best handled by the wikitext system and others by the visual system. If one of them isn't working, it's worth seeing whether the other is better.

VisualEditor hangs while trying to access getOuterRange

3
Summary last edited by ESanders (WMF) 14:49, 21 March 2023 1 year ago

Fixed

Isaacl (talkcontribs)

Recently I have been getting a lot of hangs, with the Javascript console showing an error trying to access "getOuterRange". I constructed an example:

https://en.wikipedia.org/w/index.php?title=User:Isaacl/Visual_diff_test&diff=1066272389&oldid=1066272230&diffmode=visual

The Javascript console has the following message:

jQuery.Deferred exception: Cannot read properties of null (reading 'getOuterRange') TypeError: Cannot read properties of null (reading 'getOuterRange')

    at VeUiDiffElement.ve.ui.DiffElement.appendListItem (<anonymous>:853:51)

    at VeUiDiffElement.ve.ui.DiffElement.getChangedListNodeData (<anonymous>:857:241)

    at VeUiDiffElement.ve.ui.DiffElement.getChangedNodeData (<anonymous>:851:623)

    at VeUiDiffElement.ve.ui.DiffElement.getChangedNodeElements (<anonymous>:851:310)

    at render (<anonymous>:845:578)

    at processQueue (<anonymous>:846:330)

    at VeUiDiffElement.ve.ui.DiffElement.renderDiff (<anonymous>:849:481)

    at new VeUiDiffElement (<anonymous>:842:133)

    at uri.query.diffmode (<anonymous>:170:171)

    at mightThrow (https://en.wikipedia.org/w/load.php?lang=en&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets&skin=vector&version=u7e4l:49:881) undefined

jQuery.Deferred.exceptionHook @ load.php?lang=en&modules=jquery%2Coojs-ui-core%2Coojs-ui-widgets&skin=vector&version=u7e4l:52


Note the initial insertion of the third-level unbulleted list item does not hang:

https://en.wikipedia.org/w/index.php?title=User:Isaacl/Visual_diff_test&diff=1066271868&oldid=1066271658&diffmode=visual

Has there been any recent changes that would cause this?

Isaacl (talkcontribs)

Here's another example from the English Wikipedia technical village pump, which seems like a straightforward addition of a third-level unbulleted list item:

https://en.wikipedia.org/w/index.php?title=Wikipedia:Village_pump_(technical)&diff=1066464733&oldid=1066438776&diffmode=visual

The Javascript console displays the following error:

jQuery.Deferred exception: Cannot read properties of null (reading 'getOuterRange') TypeError: Cannot read properties of null (reading 'getOuterRange')

    at VeUiDiffElement.ve.ui.DiffElement.appendListItem (<anonymous>:746:51)

    at VeUiDiffElement.ve.ui.DiffElement.getChangedListNodeData (<anonymous>:750:241)

    at VeUiDiffElement.ve.ui.DiffElement.getChangedNodeData (<anonymous>:744:623)

    at VeUiDiffElement.ve.ui.DiffElement.getChangedNodeElements (<anonymous>:744:310)

    at render (<anonymous>:738:578)

    at processQueue (<anonymous>:739:330)

    at VeUiDiffElement.ve.ui.DiffElement.renderDiff (<anonymous>:742:481)

    at new VeUiDiffElement (<anonymous>:735:133)

    at uri.query.diffmode (<anonymous>:302:171)

    at mightThrow (https://en.wikipedia.org/w/load.php?lang=en&modules=ext.discussionTools.init%7Cjquery%2Coojs-ui-core%2Coojs-ui-widgets&skin=vector&version=10v1w:321:881) undefined

jQuery.Deferred.exceptionHook @ load.php?lang=en&modules=ext.discussionTools.init|jquery%2Coojs-ui-core%2Coojs-ui-widgets&skin=vector&version=10v1w:324

Whatamidoing (WMF) (talkcontribs)

Thanks for this detailed bug report. It sounds like they're already on the right track.

Cat changes not displaying

2
Summary last edited by ESanders (WMF) 14:45, 21 March 2023 1 year ago

Fixed

Sario528 (talkcontribs)
ESanders (WMF) (talkcontribs)

This has been fixed in 1.41.wmf1 and should be available later this week.

Visual diff hangs with non-standard element structure

4
Summary last edited by ESanders (WMF) 14:44, 21 March 2023 1 year ago

Fixed.

Isaacl (talkcontribs)

When the wikitext markup produces incorrect element nesting, the visual diff tool just hangs. For example, this edit added an <s> element that spanned across block display elements:

https://en.wikipedia.org/w/index.php?title=Wikipedia:Requests_for_comment/Desysop_Policy_(2021)&diff=1009235999&oldid=1009235431&diffmode=visual

I realize the halting problem means it's impossible to stop all hangs. Nonetheless, this type of markup error is not unusual on talk pages. Is there anything that can be done to help prevent this as often as possible?

Apologies if this has been discussed before or if there is a ticket; I don't know how to search this structured discussion (Flow) or Phabricator.

Whatamidoing (WMF) (talkcontribs)

Usually, when Something Bad happens, it times out and produces an error about not being able to calculate it. I'm not sure what's going on with that one.

Isaacl (talkcontribs)

Some time in the past few months I have noticed a change: when a property is missing, the VisualDiff feature will revert back to showing a wikitext diff, while displaying an error message. I appreciate the change!

ESanders (WMF) (talkcontribs)

Fixed in Feb 2022.

Incorrect translation

6
T0T0R (talkcontribs)

When modifying a mathematical formula in French, the visual editor displays "Formule mathématique modifié" instead of "Formule mathématique modifiée".

I tried to see if I could contribute to the translations of this tool but I could not find exactly where i have to modify the code.

Shirayuki (talkcontribs)
T0T0R (talkcontribs)

Thanks for your answer.

It took me several hours to try to figure out how to access to the translation, but I think I finally managed to find it.

So I pushed this modification in Gerrit, is it how you are supposed to do it ?

(I originally wanted to insert the link to Gerrit here but apparently it is considered as spamming, so here is the title: Fix French translation for message key:"visualeditor-changedesc-unknown")

Regards,

Shirayuki (talkcontribs)
Whatamidoing (WMF) (talkcontribs)

Did this get resolved? If not, @Verdy p might be able to help.

Verdy p (talkcontribs)

The current translation was changed according to the change made also in English: "Attribut $1 modifié".

Initially it was "$1 modifié". So superficially it was correct.

As this is a variable and there's no info about its grammatical gender provided or easily detectable or predictable from $1, there was no feminine indication. But when adding "Attribut" before, there's no problem: "modifié" is linked to "Attribut" which is unambiguously masculine.

The only way to solve it would be either to have a separate translatable unit allowing to specify an extra attribute for selecting the appropriate translation unit. But for now such support does not exist in the code. This is a case known as "patchwork message", whose translatability is not evident and there's no easy or evident solution. Something is tried and looks OK the first time, but later we see some unexpected usage (that were not documented). Only such bug report here can help find a better solution. However this is a minor bug and does not affect the usability.

An intial fix was made using "Élément $1 modifié", but actually it was incorrect because the "/qqq" doc says that it is normally an attribute name. Now if you see "Formule mathématique" for $1, this is not an attribute and the existing doc is incorrect (it says that it is an HTML attribute name like lang or dir), the existing code has reused a message in a way that is still undocumented. May be there should be additional quotation marks in English and French and a separate translation unit added for what appears to be the name of a property type, or describing the type of a pseudo-element of Mediawiki itself (a tag extension like <math></math>). Note that there's also a genzral problem for the capitalization of translatable units (that is tregularly used and abused in English, without taking care about their actual contextual reuse in other translatable messages).

If you still don't see "Attribut $1 modifié", that's because there's a delay in installing the update on the wiki (normally every week but there were extra delays during some holidays, due to lower presence of admins, and because there are also additional priority things to do at start of year, such as archiving, and other critical tests and security fixes, as wikis are more likely to be attacked during holidays: the message was last fixed by T0T0R and rapidly modified by me on 13 December to replace "Élément" by "Attribut", as documented), or it was not reimported and forgotten.

Developers should take more care about how they reuse existing messages, and then add better documentation. Frequently, when I can, I add some documentation about usage, but others can contribute as well to "/qqq" doc pages in translatewiki.net. Also frequently I submit bug reports to developers when there are obvious ambiguities or translation problems. Many developers forget things as they just know and use English and keep bad assumptions.

Posting these bug reports helps to make them more aware of such problems (there are various kinds of problems depending on the target language, notably for languages with complex rules like Slavic and Celtic languages: Mediawiki in Russian is quite horrible, frequently not using natural language, just to avoid some grammatical problems, and translations are non-verbal, enumeration like, with too many punctuation signs; the situation is worse for Celtic languages with contextual mutations).

And unfortunately the existing linguistic support for such cases is still minimal or insufficient in MediaWiki; this may change with ongoing works for Abstract Wikipedia and Wikifunctions). Basically what is needed in Mediawiki translations is the possibility to not just add translated text, but also add some "metadata tags", and possibily add variants with other metadata for "linguistics tags", and then a standard Mediawiki function that can be called to use these tags as "selectors", plus a repository of linguistic tags for each language (such tags would include any grammatical feature: noun/verb/adjective/adverb/etc., conjugation time or mode, plural, gender, grammatic formal/informal registers or styles, abbreviation/long forms, possible "synonyms" to avoid ugly repetitions or aliterations, "gluability" for contractions, detachable particles in German verbs, or terminologic domains... like those already existing and used in Wiktionary). But also for now there's still no such repository of what is needed for correct distinctions of terms or forms (something is started in Wikidata for lexemes, but there are lots to do).

Complete article marked as diff

2
Andreas C. Hofmann (talkcontribs)
Jdforrester (WMF) (talkcontribs)

Hey there.

If you mean that when you visit https://en.wikipedia.org/w/index.php?diff=1126674536&oldid=1119582634&title=CP/CMS&diffmode=visual you see a visual diff of the whole page, I cannot reproduce this bug, sorry. The code has some thresholds below which it deems so much of the content has changed as to be better to show it as a complete replacement (e.g. if you changed 'eagle' to 'beaver', we could show that as '+b(ea)-gl+v(e)+r' but it's pretty unreadable), which might have triggered for you somehow?

Template:Sfnp does not display

1
FacetsOfNonStickPans (talkcontribs)
Return to "VisualEditor/Diffs" page.