Page MenuHomePhabricator

Reply tool has hidden dependency on "Enable editing tools in source mode" preference
Closed, DuplicatePublicBUG REPORT

Description

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

  • Go to an arbitrary talk page on enwiki
  • Click a "Reply" link at the end of a thread
  • Observe that you get an edit bot with "Reply to <username> as a placeholder
  • Cancel that
  • Go to [[Special:Preferences]] / Editing / Discussion pages
  • Observe that "Enable editing tools in source mode" is checked
  • Uncheck it
  • Save your preferences
  • Go back to the talk page and reload it
  • Click "Reply" again.

What happens?:

  • You get a "Loading..." message and then it hangs
  • In the javascript console, you get (sorry about the messy stack trace; it's a lot cleaner in my browser but this is what copy-paste got me):
jQuery.Deferred exception: Cannot read properties of undefined (reading 'Trigger') TypeError: Cannot read properties of undefined (reading 'Trigger')at ReplyWidgetPlain.ReplyWidget (https://en.wikipedia.org/w/load.php?lang=en&modules=ext.confirmEdit.CaptchaInputWidget%7Cext.discussionTools.ReplyWidget%2CReplyWidgetPlain%7Cjquery.lengthLimit%7Cmediawiki.widgets.AbandonEditDialog%2CvisibleLengthLimit%7Coojs-ui%2Coojs-ui-toolbars%2Coojs-ui-widgets%7Coojs-ui-toolbars.icons%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-accessibility%2Cicons-editing-advanced%2Cicons-editing-core&skin=vector&version=ploaf:9:756)
    at new ReplyWidgetPlain (https://en.wikipedia.org/w/load.php?lang=en&modules=ext.confirmEdit.CaptchaInputWidget%7Cext.discussionTools.ReplyWidget%2CReplyWidgetPlain%7Cjquery.lengthLimit%7Cmediawiki.widgets.AbandonEditDialog%2CvisibleLengthLimit%7Coojs-ui%2Coojs-ui-toolbars%2Coojs-ui-widgets%7Coojs-ui-toolbars.icons%7Coojs-ui-widgets.icons%7Coojs-ui.styles.icons-accessibility%2Cicons-editing-advanced%2Cicons-editing-core&skin=vector&version=ploaf:35:304)
    at https://en.wikipedia.org/w/load.php?lang=en&modules=codex-search-styles%2Cjquery%2Cmoment%2Coojs%2Coojs-ui-core%2Coojs-ui-windows%2Crangefix%2Csite%7Cext.centralNotice.bannerHistoryLogger%2CchoiceData%2Cdisplay%2CgeoIP%2CimpressionDiet%2CkvStore%2ClargeBannerLimit%2ClegacySupport%2CstartUp%7Cext.centralauth.ForeignApi%7Cext.centralauth.centralautologin.clearcookie%7Cext.checkUser.clientHints%7Cext.cx.eventlogging.campaigns%7Cext.discussionTools.init%2Cminervaicons%7Cext.echo.api%2Cinit%7Cext.eventLogging%2CnavigationTiming%2Cpopups%2CwikimediaEvents%7Cext.growthExperiments.SuggestedEditSession%7Cext.uls.common%2Ccompactlinks%2Cinterface%2Cpreferences%2Cwebfonts%7Cext.urlShortener.toolbar%7Cjquery.client%2CmakeCollapsible%2CtextSelection%2Cui%7Cjquery.uls.data%7Cmediawiki.ForeignApi%2CString%2CTitle%2CUri%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Crouter%2Cstorage%2Ctoc%2Cuser%2Cutil%2CvisibleTimeout%7Cmediawiki.ForeignApi.core%7Cmediawiki.editfont.styles%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.ui.button%7Cmmv.bootstrap%2Chead%7Cmmv.bootstrap.autostart%7Coojs-ui-windows.icons%7Cskins.vector.legacy.js&skin=vector&version=12grg:658:664
    at mightThrow (https://en.wikipedia.org/w/load.php?lang=en&modules=codex-search-styles%2Cjquery%2Cmoment%2Coojs%2Coojs-ui-core%2Coojs-ui-windows%2Crangefix%2Csite%7Cext.centralNotice.bannerHistoryLogger%2CchoiceData%2Cdisplay%2CgeoIP%2CimpressionDiet%2CkvStore%2ClargeBannerLimit%2ClegacySupport%2CstartUp%7Cext.centralauth.ForeignApi%7Cext.centralauth.centralautologin.clearcookie%7Cext.checkUser.clientHints%7Cext.cx.eventlogging.campaigns%7Cext.discussionTools.init%2Cminervaicons%7Cext.echo.api%2Cinit%7Cext.eventLogging%2CnavigationTiming%2Cpopups%2CwikimediaEvents%7Cext.growthExperiments.SuggestedEditSession%7Cext.uls.common%2Ccompactlinks%2Cinterface%2Cpreferences%2Cwebfonts%7Cext.urlShortener.toolbar%7Cjquery.client%2CmakeCollapsible%2CtextSelection%2Cui%7Cjquery.uls.data%7Cmediawiki.ForeignApi%2CString%2CTitle%2CUri%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Crouter%2Cstorage%2Ctoc%2Cuser%2Cutil%2CvisibleTimeout%7Cmediawiki.ForeignApi.core%7Cmediawiki.editfont.styles%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.ui.button%7Cmmv.bootstrap%2Chead%7Cmmv.bootstrap.autostart%7Coojs-ui-windows.icons%7Cskins.vector.legacy.js&skin=vector&version=12grg:46:648)
    at process (https://en.wikipedia.org/w/load.php?lang=en&modules=codex-search-styles%2Cjquery%2Cmoment%2Coojs%2Coojs-ui-core%2Coojs-ui-windows%2Crangefix%2Csite%7Cext.centralNotice.bannerHistoryLogger%2CchoiceData%2Cdisplay%2CgeoIP%2CimpressionDiet%2CkvStore%2ClargeBannerLimit%2ClegacySupport%2CstartUp%7Cext.centralauth.ForeignApi%7Cext.centralauth.centralautologin.clearcookie%7Cext.checkUser.clientHints%7Cext.cx.eventlogging.campaigns%7Cext.discussionTools.init%2Cminervaicons%7Cext.echo.api%2Cinit%7Cext.eventLogging%2CnavigationTiming%2Cpopups%2CwikimediaEvents%7Cext.growthExperiments.SuggestedEditSession%7Cext.uls.common%2Ccompactlinks%2Cinterface%2Cpreferences%2Cwebfonts%7Cext.urlShortener.toolbar%7Cjquery.client%2CmakeCollapsible%2CtextSelection%2Cui%7Cjquery.uls.data%7Cmediawiki.ForeignApi%2CString%2CTitle%2CUri%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Crouter%2Cstorage%2Ctoc%2Cuser%2Cutil%2CvisibleTimeout%7Cmediawiki.ForeignApi.core%7Cmediawiki.editfont.styles%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.ui.button%7Cmmv.bootstrap%2Chead%7Cmmv.bootstrap.autostart%7Coojs-ui-windows.icons%7Cskins.vector.legacy.js&skin=vector&version=12grg:47:309) undefined
jQuery.Deferred.exceptionHook @ load.php?lang=en&modules=codex-search-styles%2Cjquery%2Cmoment%2Coojs%2Coojs-ui-core%2Coojs-ui-windows%2Crangefix%2Csite%7Cext.centralNotice.bannerHistoryLogger%2CchoiceData%2Cdisplay%2CgeoIP%2CimpressionDiet%2CkvStore%2ClargeBannerLimit%2ClegacySupport%2CstartUp%7Cext.centralauth.ForeignApi%7Cext.centralauth.centralautologin.clearcookie%7Cext.checkUser.clientHints%7Cext.cx.eventlogging.campaigns%7Cext.discussionTools.init%2Cminervaicons%7Cext.echo.api%2Cinit%7Cext.eventLogging%2CnavigationTiming%2Cpopups%2CwikimediaEvents%7Cext.growthExperiments.SuggestedEditSession%7Cext.uls.common%2Ccompactlinks%2Cinterface%2Cpreferences%2Cwebfonts%7Cext.urlShortener.toolbar%7Cjquery.client%2CmakeCollapsible%2CtextSelection%2Cui%7Cjquery.uls.data%7Cmediawiki.ForeignApi%2CString%2CTitle%2CUri%2Capi%2Cbase%2Ccldr%2Ccookie%2Cexperiments%2CjqueryMsg%2Clanguage%2Crouter%2Cstorage%2Ctoc%2Cuser%2Cutil%2CvisibleTimeout%7Cmediawiki.ForeignApi.core%7Cmediawiki.editfont.styles%7Cmediawiki.libs.pluralruleparser%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.ui.button%7Cmmv.bootstrap%2Chead%7Cmmv.bootstrap.autostart%7Coojs-ui-windows.icons%7Cskins.vector.legacy.js&skin=vector&version=12grg:49

What should have happened instead?:
There's obviously some dependency between the Reply feature and "Enable editing tools in source mode". Either the preferences pane shouldn't allow you to select an incompatible set of options, or the Reply link should be suppressed when the required dependencies aren't available.

Software version (skip for WMF-hosted wikis like Wikipedia):

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

  • Chrome Version 118.0.5993.70 (Official Build) (x86_64)
  • MacOS Monterey version 12.6.1 (21G217)