Page MenuHomePhabricator

TypeError: Cannot read properties of undefined (reading 'then') at maybeShowWelcomeDrawer
Open, MediumPublicPRODUCTION ERROR

Description

Occurring at a rate of 7302 in the last 7 days on Special:Homepage
https://logstash.wikimedia.org/goto/19304a7e71e570cb6d3dabb65528ed0e
(not a train blocker but if this error rate doubles it would be https://wikitech.wikimedia.org/wiki/Deployments/Holding_the_train#Error-rate_increases_(See_#Logspam))

	at maybeShowWelcomeDrawer  https://en.m.wikipedia.org/w/load.php?lang=en&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Coojs-ui-windows%2Cvue%7Cext.growthExperiments.DataStore%2CHelp%2CHomepage%2CHomepageDiscovery%7Cext.growthExperiments.Homepage.Impact%2CMentorship%2CSuggestedEdits%2Cmobile%7Cmobile.startup%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-editing-advanced%2Cicons-editing-citation%2Cicons-media&skin=minerva&version=dgrsd:1143:148
at Object.add  https://en.m.wikipedia.org/w/load.php?lang=en&modules=mediawiki.base&skin=minerva&version=me4pv:4:351
at setUpSuggestedEdits  https://en.m.wikipedia.org/w/load.php?lang=en&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Coojs-ui-windows%2Cvue%7Cext.growthExperiments.DataStore%2CHelp%2CHomepage%2CHomepageDiscovery%7Cext.growthExperiments.Homepage.Impact%2CMentorship%2CSuggestedEdits%2Cmobile%7Cmobile.startup%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-editing-advanced%2Cicons-editing-citation%2Cicons-media&skin=minerva&version=dgrsd:1143:912
at https://en.m.wikipedia.org/w/load.php?lang=en&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Coojs-ui-windows%2Cvue%7Cext.growthExperiments.DataStore%2CHelp%2CHomepage%2CHomepageDiscovery%7Cext.growthExperiments.Homepage.Impact%2CMentorship%2CSuggestedEdits%2Cmobile%7Cmobile.startup%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-editing-advanced%2Cicons-editing-citation%2Cicons-media&skin=minerva&version=dgrsd:1144:58
at ext.growthExperiments.Homepage.mobile/index.js  https://en.m.wikipedia.org/w/load.php?lang=en&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Coojs-ui-windows%2Cvue%7Cext.growthExperiments.DataStore%2CHelp%2CHomepage%2CHomepageDiscovery%7Cext.growthExperiments.Homepage.Impact%2CMentorship%2CSuggestedEdits%2Cmobile%7Cmobile.startup%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-editing-advanced%2Cicons-editing-citation%2Cicons-media&skin=minerva&version=dgrsd:1144:81
at runScript  https://en.m.wikipedia.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=minerva:11:872
at Array.<anonymous>  https://en.m.wikipedia.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=minerva:12:629
at flushCssBuffer  https://en.m.wikipedia.org/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=minerva:4:399

Steps to replicate the issue (include links if applicable):

What happens?:

What should have happened instead?:

Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):

Other information (browser name/version, screenshots, etc.):

Event Timeline

Error also occurring as TypeError: undefined is not an object (evaluating 'welcomeDrawer.show().then')

Aklapper changed the subtype of this task from "Bug Report" to "Production Error".Thu, Nov 21, 9:36 AM
Michael added a subscriber: Esanders.

Thank you for noticing and bringing it up here!

Git bisect says that this was caused by Remove unused promise code from Drawer#onShow in MobileFrontend.

@Jdlrobson: Should we just revert that change?

(cc @Esanders)

Change #1093943 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/extensions/MobileFrontend@master] Revert "Remove unused promise code from Drawer#onShow"

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

@Michael is this impacting users? If so I can try to get it backported today.

@Michael is this impacting users? If so I can try to get it backported today.

The impact to users is there, but probably small: We disable scrolling the background when the drawer shows. See the screenshot in a different task created about this: T380338: [mobile] Homepage - Uncaught TypeError: welcomeDrawer.show() is undefined.
I'd say the impact is probably minor enough for it being ok for this to roll out with the next train, but Product (@KStoller-WMF) should maybe have the final call on that.

It maybe also impacts one of our metrics, but I'm not aware of anyone currently looking at those particular ones:

homepageModuleLogger.log( 'generic', 'mobile-summary', 'welcome-impression' )

Change #1093943 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@master] Revert "Remove unused promise code from Drawer#onShow"

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

Jdlrobson triaged this task as Medium priority.Thu, Nov 21, 5:42 PM

Tagging as medium for now. Please let me know if you change your mind and it does warrant an earlier backport.

I'd say the impact is probably minor enough for it being ok for this to roll out with the next train, but Product (@KStoller-WMF) should maybe have the final call on that.

Agreed, this seem minor enough to wait.

FYI @Etonkovidova since you created T380338: [mobile] Homepage - Uncaught TypeError: welcomeDrawer.show() is undefined.
Should we merge these tasks?

I'd say the impact is probably minor enough for it being ok for this to roll out with the next train, but Product (@KStoller-WMF) should maybe have the final call on that.

Agreed, this seem minor enough to wait.

FYI @Etonkovidova since you created T380338: [mobile] Homepage - Uncaught TypeError: welcomeDrawer.show() is undefined.
Should we merge these tasks?

Technically, yes, those two tasks are duplicate. However, for the convenience of checking/monitoring, I moved both of them to the QA column; will check in beta/prod.