Page MenuHomePhabricator

"Publish" button remains greyed out: "TypeError: this.translationView.categoryUI is null"
Closed, ResolvedPublic

Description

I can't publishing the Translation with the Content translation at barWiki.

Edit:
I called up the content translation (https://bar.wikipedia.org/w/index.php?title=Spezial:Inhalts%C3%BCbersetzung#draft), translated the pages "Nilotische Sprachen" and "Mambiloide Sprachen" from deWiki and clicked the "Veröffentlichen (German for publish)" button. The button then turned gray, the articles were not published.

@Aklapper here is a screenshot https://bar.wikipedia.org/wiki/Datei:DeepinBildschirmfoto_Bereich_ausw%C3%A4hlen_20200206122801.png

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

@RodneyAraujo: Please do not assign tasks to people without their explicit consent - it is up to each person to decide what they plan to work on. Thanks!

Disculpe, aún sigo teniendo este problema, necesito más ayuda

Disculpe, aún sigo teniendo este problema, necesito más ayuda

el problema todavia no esta arreglado, te diremos algo cuando este.

gracias

con ese problema, veo cuando yo vuelvo a cargar la página para publicar la traducción, el porcentaje de la traducción automática se reinicia a 100% de texto sin modificar (como antes de volver a cargar la página estaba como al 85%) y no me deja publicar mi traducción



@Aklapper @Jpita
Recently I have multiple issues with Content Translation, when I tried to translate "Hovde Glacier" from English to español, I clicked in the “Publish” button (Publicar) and get stuck in “Publishing” (Publicando...) Causing that my translation to español can't publish correctly.

30 minutes later, I reloaded the page and I saw that the percentage of unmodified text it restarted to 100% of unmodified text. When I try to modify the text if previously I modified the machine translation text, the percentage of unmodified text not switch to 99%, 97%, and successively, but when I publish my translation again, it shows a red message that my translation cannot be published because it contains too much unmodified text. With this error can't publish the translation. I opened the console and I have seen that Content Translation has multiple issues, e.g., the page has deprecated modules:
“The page is using the deprecated ResourceLoaded module "jquery.ui". Please use OOUI instead.”

“JQMIGRATE: jQuery.fn.delegate() is deprecated”

“This page is using the deprecated ResourceLoaded module "jquery.tipsy"”.
“This page is using the deprecated ResourceLoaded module "jquery.throttle-debounce”.
Please use OO.ui.throttle/debounce instead. See https://phabricator.wikimedia.org/T213426
“PopupWidget#toggle: Before calling this method, the popup must be attached to the DOM.”


RodneyAraujo raised the priority of this task from High to Unbreak Now!.Sep 30 2020, 2:31 AM
RhinosF1 lowered the priority of this task from Unbreak Now! to High.Sep 30 2020, 7:02 AM
RhinosF1 added a subscriber: RhinosF1.

Please don't randomly change task priorities without a reason. Your account may be disabled if you do so again.

Please don't randomly change task priorities without a reason. Your account may be disabled if you do so again.

@RhinosF1 I need more help con CXT

@RodneyAraujo: Please read and follow https://www.mediawiki.org/wiki/Bug_management/Phabricator_etiquette if you would like to continue being active in Phabricator. Thanks for your understanding.

@RodneyAraujo: Please read and follow https://www.mediawiki.org/wiki/Bug_management/Phabricator_etiquette if you would like to continue being active in Phabricator. Thanks for your understanding.

ok, thanks

Regression: this problem that the "publish" (publicar) button of content translation get stuck on "Publishing" (Publicando...), still happens to me when I publish a page with templates in the content. Recently i tried to publish "OxIClean" (enwiki) to eswiki.


Here are the console errors:

Similar problems for publishing were reported in the talk page recently. It seems that publishing fails on some specific circumstances, but it is worth investigating which are those.

https://logstash.wikimedia.org/app/kibana#/doc/logstash-*/logstash-2020.10.18/clienterror/?id=AXU6nHpE2lgCwKx7q8yn

at VeDmConverter.ve.dm.Converter.getDomSubtreeFromData  URL1:288:451
at Object.ve.dm.MWReferenceNode.static.toDomElements  URL2:63:230
at Object.ve.dm.CXReferenceNode.static.toDomElements  URL2:502:218
at VeDmConverter.ve.dm.Converter.getDomElementsFromDataElement  URL1:266:550
at VeDmConverter.ve.dm.Converter.getDomSubtreeFromData  URL1:287:669
at VeDmConverter.ve.dm.Converter.getDomSubtreeFromModel  URL1:282:880
at VeDmConverter.ve.dm.Converter.getDomFromModel  URL1:281:957
at VeDmSurface.ve.dm.Surface.getDom  URL1:180:635
at VeUiCXSurface.ve.ui.Surface.getDom  URL1:610:42
at MWCXTargetArticle.mw.cx.TargetArticle.getContent  URL3:1093:563

URL1: https://es.wikipedia.org/w/load.php?lang=en&modules=ext.visualEditor.base%2Ccore%2Cdiffing%2Cmediawiki%2Cmwcore%2Cmwlink%2Cmwmeta%2CprogressBarWidget%2Csanitize%2CsupportCheck%2Cswitching%2CtargetLoader%2CtempWikitextEditorWidget%2Ctrack%2Cve%2Cwelcome%7Cext.visualEditor.core.desktop%2Cutils%7Cext.visualEditor.core.utils.parsing%7Cext.visualEditor.desktopArticleTarget.init&skin=vector&version=1w221
URL2: https://es.wikipedia.org/w/load.php?lang=en&modules=ext.CodeMirror.visualEditor%7Cext.CodeMirror.visualEditor.init%7Cext.abuseFilter.visualEditor%7Cext.cite.styles%2CvisualEditor%7Cext.cite.visualEditor.core%2Cdata%7Cext.citoid.visualEditor%7Cext.citoid.visualEditor.data%7Cext.confirmEdit.CaptchaInputWidget%2CvisualEditor%7Cext.disambiguator.visualEditor%7Cext.geshi.visualEditor%7Cext.graph.data%2CvisualEditor%7Cext.kartographer%7Cext.kartographer.editing%2Cutil%2CvisualEditor%7Cext.math.styles%2CvisualEditor%7Cext.score.visualEditor%7Cext.score.visualEditor.icons%7Cext.spamBlacklist.visualEditor%7Cext.templateDataGenerator.editPage%7Cext.titleblacklist.visualEditor%7Cext.visualEditor.data%2CmoduleIcons%2CmoduleIndicators%7Cext.wikihiero.visualEditor%7Cext.wikimediaEvents.visualEditor%7Cjquery.throttle-debounce%7Cmediawiki.ForeignStructuredUpload%2CForeignUpload%2CUpload%7Cmediawiki.ForeignStructuredUpload.BookletLayout%7Cmediawiki.Upload.BookletLayout%7Cmediawiki.language.names%7Cmediawiki.libs.jpegmeta%7Cmediawiki.page.gallery.styles%7Cmediawiki.widgets.CategoryMultiselectWidget%2CDateInputWidget%2CMediaSearch%2CStashedFileWidget%2CTable%2CUserInputWidget%7Cmediawiki.widgets.DateInputWidget.styles%7Cmoment%7Cmw.cx.visualEditor%7Cmw.cx.visualEditor.base%2Ccontent%2Clink%2Cmt%2CpublishSettings%2Csection%2Csentence%7Coojs-ui.styles.icons-editing-citation%2Cicons-editing-list%2Cicons-editing-styling%2Cicons-layout%2Cicons-location%2Cicons-media%2Cicons-moderation%2Cicons-movement&skin=vector&version=te4x2
URL3: https://es.wikipedia.org/w/load.php?lang=en&modules=diffMatchPatch%2Cdompurify%2Cjquery%2Coojs%2Coojs-ui%2Coojs-ui-core%2Coojs-ui-toolbars%2Coojs-ui-widgets%2Coojs-ui-windows%2Cpapaparse%2Crangefix%2Csite%2Cspark-md5%2CtreeDiffer%2Cunicodejs%7Cext.centralNotice.geoIP%7Cext.centralauth.ForeignApi%7Cext.centralauth.centralautologin.clearcookie%7Cext.cx.eventlogging.campaigns%7Cext.cx.model%2Cutil%7Cext.cx.widgets.spinner%7Cext.cx.wikibase.link%7Cext.echo.api%2Cinit%7Cext.eventLogging%2CnavigationTiming%2Cpopups%2CwikimediaEvents%7Cext.uls.common%2Ccompactlinks%2Cinit%2Cinterface%2Cpreferences%2Cwebfonts%7Cjquery.client%2Ccookie%2Ctablesorter%2CtextSelection%7Cjquery.tablesorter.styles%7Cjquery.uls.data%7Cmediawiki.ForeignApi%2CString%2CTitle%2CUri%2Capi%2Cbase%2Ccldr%2Ccookie%2Cdeflate%2Cexperiments%2CjqueryMsg%2Clanguage%2Cpulsatingdot%2Cstorage%2Cuser%2Cutil%2Cwidgets%7Cmediawiki.ForeignApi.core%7Cmediawiki.action.view.redirectPage%7Cmediawiki.editfont.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.language.months%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.skinning.content.parsoid%7Cmediawiki.ui.button%7Cmediawiki.widgets.styles%7Cmw.cx.MachineTranslation%2CMwApiRequestManager%2CSiteMapper%2Cdm%2Cinit%2Cui%2Cutil%7Cmw.cx.dm.PageTitleModel%2CTranslation%2CTranslationIssue%2CWikiPage%7Cmw.cx.init.Translation%7Cmw.cx.tools.IssueTrackingTool%2CTranslationTool%2CTranslationToolFactory%7Cmw.cx.ui.Categories%2CCategoryMultiselectWidget%2CHeader%2CInfobar%2CMessageWidget%2CPageTitleWidget%2CPersonalMenuWidget%2CTranslationToolWidget%2CTranslationView%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui-toolbars.icons%7Coojs-ui-widgets.icons%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-accessibility%2Cicons-content%2Cicons-editing-advanced%2Cicons-editing-core%2Cicons-interactions%2Cicons-user%2Cicons-wikimedia%2Cindicators%7Cskins.vector.legacy.js%7Cuser.defaults%7Cve.ce.CXLintableNode%7Cve.dm.CXLintableNode%7Cve.init.mw.CXTarget%7Cve.ui.CXDesktopContext%2CCXSurface&skin=vector&version=1lnvn

@Jdlrobson recently i started a translation with content translation and the problem is that the text is not translated with MT

The specific error message from that stack trace is: Uncaught TypeError: Cannot read property 'lastOuterPost' of null

Which strongly implies that the converter is failing in getDomSubtreeFromData on a detached node. (But I'm not sure where the source of that issue is.)

I did some debugging, thanks to the screenshot given above for "OxiClean" article from en->es. I used the translation debugger available at https://cxdebugger.toolforge.org/
Enter 1059523 as translation Id and press fetch translation button. Then go to Translation tab

Then I inspected the HTML resulted from users edits

I found a suspicious reference added there. This reference was manually added by translator. The reference content is a template. I am pasting the html here:

<sup typeof="mw:Extension/ref" data-mw="{&quot;name&quot;:&quot;ref&quot;,&quot;body&quot;:{&quot;html&quot;:&quot;<span typeof=\&quot;mw:Transclusion\&quot; data-mw=\&quot;{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;href&amp;quot;:&amp;quot;Plantilla:Cita web&amp;quot;,&amp;quot;wt&amp;quot;:&amp;quot;Cita web&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;url&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;https://www.youtube.com/watch?v=ZTpXh33Mbeg&amp;quot;},&amp;quot;título&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;Original Billy Mays OxiClean Ad from October 2000&amp;quot;},&amp;quot;sitioweb&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;YouTube&amp;quot;},&amp;quot;fechaacceso&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;17 de octubre de 2020&amp;quot;}}}}]}\&quot;></span>&quot;}}" class="mw-ref"><a style="counter-reset: mw-Ref 2;"><span class="mw-reflink-text">[2]</span></a></sup>

@DLynch Do you see the above HTML problematic for VE to handle? The references section in the bottom of the page does not have this newly added reference template too. So it is dangling just there.

I tried to reproduce the issue by mannually inserting this extra reference using VE in CX. Insert basic reference-in reference dialog, add template. Give template name as Plantilla:Cita web and give a youtube URL as URL. VE behaved correctly to me and CX publishing was also successful.

It's not obviously problematic, at least. There could be some quirk I'm not considering, since I'm not super-familiar with the CX customizations.

@Esanders you know more than me about CX -- do you see anything that might be causing the error there?

Recently I happen with the References in my recent translation, Segetibacter koreensis, from English to Spanish, some references is transcribed as <cite class="citation journal cs1">[https://www.uniprot.org/taxonomy/398037 "Segetibacter koreensis"]. ''www.uniprot.org''.</cite> instead of <ref>{{Cita web|título=Segetibacter koreensis|url=https://www.uniprot.org/taxonomy/398037|sitioweb=www.uniprot.org}}</ref>


@RodneyAraujo: That's why the task is still open. No fix has been deployed yet.

@RhinosF1 I've investigated the issue. The issue that causes to the "publish" button gets stuck on "Publishing" is caused by the templates, when it is inserted on the article.

ppelberg added a subscriber: ppelberg.

The Editing Team will investigate what – if anything – within VE could be causing this issue when we return from the holiday break that ends on 4-January-2021.

We will do so with the context @Qingyuzhe and @RodneyAraujo shared [i][ii] about templates potentially contributing to this issue.


i. T244114#5862594
ii. T244114#6687728

@ppelberg @RhinosF1 Apart of this, after clicking on publishing button and the button remains greyed out, when i reload the translation page or i open a saved translation, the templates are shown as the following:

Instead of the usual way, like this:

This is one of the bugs that causes this issue, that i've reported on T263923.

Can you resolve this issue?

@RodneyAraujo: This task is about "Publish" button remains greyed out: "TypeError: this.translationView.categoryUI is null". Other separate topics are off-topic here, especially if you know that they have their own, separate task. Thanks.

@Pginer-WMF @santhosh We've had a brief look at this, but we're struggling to reproduce the issue. Could you provide or highlight the reproduction steps?

@Pginer-WMF @santhosh We've had a brief look at this, but we're struggling to reproduce the issue. Could you provide or highlight the reproduction steps?

@Jpita in T244114#6456989 was able to reproduce the issue. These are the details he mentioned:

I managed to replicate Rodney's case by copying the content of his source article on to this user page and then translate all the content using google translate , when I click publish this error appears in the console and the publish button gets stuck on "publishing".
When I refresh the page and hit the publish button again then it gets published correctly

Based on that I managed to reproduce the issue with the following steps:

  1. Access Content Translation and click on "New translation".
  2. Search for "User:Testpitanormal/gnome" in English and select Spanish as a target language.
  3. Start the translation to reach the translation editor.
  4. Add all paragraphs to the translation (including infobox, secton titles, references, etc.), selecting Google as a translation service on the right column (you can make it the default if it was not already).
  5. Add a text string to the first paragraph (such as "Test, test, test, test.") to make sure publishing is not blocked because it is 100% unmodified MT.
  6. Change publish settings (cog icon next to publish button) to publish as a personal draft (we don't want to publish this as an article on a real wiki)
  7. Click "publish" and observe the button remains greyed out for a while but the content is not published

Please let me know if any of the steps needs further clarification.

Change 657632 had a related patch set uploaded (by Esanders; owner: Esanders):
[VisualEditor/VisualEditor@master] Follow-up I1361852: Only cache node offset in readOnly mode

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

Looks like this was a regression caused by some performance improvements we made to the converter to better handle read-only documents. The CX target document becomes read-only just before publish, so it starts using cached values of node offsets. Due to a bug in the performance improvements those node offsets were incorrect, so when trying to convert a reference it ended up with a random slice of the document which it couldn't convert.

It's possible this bug was leading to other corruptions around inline nodes, so if you've had an issues with corrupted output recently hopefully this fix will resolve them.

Change 657632 merged by jenkins-bot:
[VisualEditor/VisualEditor@master] Follow-up I1361852: Only cache node offset in readOnly mode

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

Change 657666 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (98c07ef95)

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

Looks like this was a regression caused by some performance improvements we made to the converter to better handle read-only documents. The CX target document becomes read-only just before publish, so it starts using cached values of node offsets. Due to a bug in the performance improvements those node offsets were incorrect, so when trying to convert a reference it ended up with a random slice of the document which it couldn't convert.

It's possible this bug was leading to other corruptions around inline nodes, so if you've had an issues with corrupted output recently hopefully this fix will resolve them.

Thanks for helping with this! We'll re-check other bugs related to publishing once this is resolved in case they get fixed too.

Change 657666 merged by jenkins-bot:
[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (98c07ef95)

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

matmarex added a subscriber: matmarex.

That patch should fix it? Language team to QA?

@RodneyAraujo I tested this in production and it seems to be fixed, can you try on your end please?

Do note that the linked patch is included in wmf/1.36.0-wmf.28 which is expected to be deployed in this week's train.

Do note that the linked patch is included in wmf/1.36.0-wmf.28 which is expected to be deployed in this week's train.

Can you tell me where you got that information from?
I couldn't find it :(

Do note that the linked patch is included in wmf/1.36.0-wmf.28 which is expected to be deployed in this week's train.

Can you tell me where you got that information from?
I couldn't find it :(

Normally @ReleaseTaggerBot would tell you by adding a tag to the task but in short any patch merged by Monday Morning (its early UTC time I believe) is deployed in that weeks train. You can find more information on https://wikitech.wikimedia.org/wiki/Train and see this week's deployment task at https://train-blockers.toolforge.org

Hope that helps

Normally @ReleaseTaggerBot would tell you by adding a tag to the task but in short any patch merged by Monday Morning (its early UTC time I believe) is deployed in that weeks train. You can find more information on https://wikitech.wikimedia.org/wiki/Train and see this week's deployment task at https://train-blockers.toolforge.org

Hope that helps

right, I usually guide myself through the tags but this task has "(Oct2020/1.36.0-wmf.11+)" which is clearly not correct.


ah ok, now I understand, I was going to gerrit directly hoping the information was there but it's here instead https://phabricator.wikimedia.org/rGVED98c07ef9519f3dd74de70cfc52a8c35410dde199

it only took me 1 year and a half to get to this information... 😃

THANKS!

Gerrit also shows that information if you click the link which says "included in".

right, I usually guide myself through the tags but this task has "(Oct2020/1.36.0-wmf.11+)" which is clearly not correct.

That's the production error tag and shows when the error was first seen.

I just followed the steps from T244114#6747057 and the seems to be still happening:

Does anyone know if this may be because of the deployment not being completed yet or because the issue still persists?

@Jpita can you confirm the issue is still there from your side?

@RodneyAraujo I tested this in production and it seems to be fixed, can you try on your end please?

@Jpita I'm still not testing how the article publishing with the content translation works well.

@Jpita can you confirm the issue is still there from your side?

weird, I followed the same instructions and didn't get the error.
let's wait for the deploy (next week since this week's train is blocked) and we'll try again to check if it's fixed.

Does anyone know if this may be because of the deployment not being completed yet or because the issue still persists?

It's not deployed yet, the patch https://gerrit.wikimedia.org/r/c/mediawiki/extensions/VisualEditor/+/657666 is in wmf.28 (click "Included in" on Gerrit), which is only being deployed this week. @ReleaseTaggerBot usually adds the tags with dates like MW-1.36-notes (1.36.0-wmf.28; 2021-01-26), I don't know why it didn't do this task. This week's deployment is also delayed due to unrelated problems, and might only reach Wikipedias on Monday (see T271342 for the list of issues and status).

Thanks for the clarifications, @matmarex. I'll recheck on Monday if T271342 gets resolved by then.

@Jpita can you confirm the issue is still there from your side?

weird, I followed the same instructions and didn't get the error.
let's wait for the deploy (next week since this week's train is blocked) and we'll try again to check if it's fixed.

@Jpita, i followed these steps and i'm still having the issue.

but in other test, i've followed these steps and the translation is published correctly.

@Esanders, @Jpita, @Pginer-WMF: The issue seems to be fixed. See screenshot: