Page MenuHomePhabricator

CodeMirror addCodeMirrorToWikiEditor: Uncaught TypeError: Cannot read property 'modules' of undefined
Closed, DuplicatePublic

Description

Spotted via the mw-client-errors dashboard at https://logstash.wikimedia.org/app/kibana#/dashboard/AXDBY8Qhh3Uj6x1zCF56

Uncaught TypeError: Cannot read property 'modules' of undefined

at addCodeMirrorToWikiEditor  https://uk.wikipedia.org/w/load.php?lang=uk&modules=ext.CodeMirror%2Ccharinsert%7Cext.CodeMirror.data%7Cjquery%7Cjquery.ui%7Coojs-ui.styles.icons-editing-styling&skin=vector&version=1tshi:5:869
at https://uk.wikipedia.org/w/load.php?lang=uk&modules=ext.CodeMirror%2Ccharinsert%7Cext.CodeMirror.data%7Cjquery%7Cjquery.ui%7Coojs-ui.styles.icons-editing-styling&skin=vector&version=1tshi:6:353
at fire  https://uk.wikipedia.org/w/load.php?lang=uk&modules=ext.CodeMirror%2Ccharinsert%7Cext.CodeMirror.data%7Cjquery%7Cjquery.ui%7Coojs-ui.styles.icons-editing-styling&skin=vector&version=1tshi:70:209
at Object.fireWith  https://uk.wikipedia.org/w/load.php?lang=uk&modules=ext.CodeMirror%2Ccharinsert%7Cext.CodeMirror.data%7Cjquery%7Cjquery.ui%7Coojs-ui.styles.icons-editing-styling&skin=vector&version=1tshi:71:402
at Object.fire  <anonymous>:333:482
at https://uk.wikipedia.org/w/load.php?lang=uk&modules=ext.wikiEditor&skin=vector&version=1qrkk:29:957

MediaWiki-extensions-CodeMirror has some code to add a button to WikiEditor (2010) , the code area seems to be:

resources/ext.CodeMirror.js
    /**
     * Adds the CodeMirror button to WikiEditor
     */
    function addCodeMirrorToWikiEditor() {
...
        $codeMirrorButton = $textbox1.data( 'wikiEditor-context' ).modules.toolbar.$toolbar.find( '.tool[rel=CodeMirror]' );

So tentatively when it initializes the wikiEditor-Context is not available or does not have modules yet?

Maybe due to 5bba5436a8ef0d34219697d49aefafe36b5d39bb?

Subscribing a few people that touched CodeMirror code recently.