Page MenuHomePhabricator

RequiredTemplateParamsEditCheck API errors can take down the entire listener's checks
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue

What happens?:

The check won't appear.

What should have happened instead?:

The non-template check should have appeared, even if the template one was erroring

Event Timeline

Change #1244759 had a related patch set uploaded (by DLynch; author: DLynch):

[mediawiki/extensions/VisualEditor@master] mw.ApiResponseCache: reject returned promises if the API request fails

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

Issue here is that RequiredTemplateParamsEditCheck is returning promises that're all chained from the promise returned by ve.init.platform.templateDataCache.get, which is a ve.init.mw.ApiResponseCache. ApiResponseCache doesn't handle rejected promises from the API, so when an error occurred in the API call it makes those promises never get resolved or rejected. The editcheck factory + controller's updateForListener handles rejections just fine (now), but a stalled-out promise takes down the entire listener.

Change #1244759 merged by jenkins-bot:

[mediawiki/extensions/VisualEditor@master] mw.ApiResponseCache: reject returned promises if the API request fails

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

Ryasmeen edited projects, added: Verified; removed: Editing QA.
Ryasmeen subscribed.

This was also happening for me on this page: https://en.wikipedia.beta.wmcloud.org/w/index.php?title=Cat&action=edit&ecenable=suggestions,experimental, I see Paste checks are appearing now.