MIGX CMP is blank - how do I tshoot?

Previously working fine, stopped working after MODX upgrade (I think).

Upgraded to 2.8.1-pl from 2.7.2. The process went fine, no errors or issues, all green checkmarks.

I had cleared cached, logged out all users, emptied core/cache.
I also updated all plugins before the upgrade, which included “Big Brother”, “FirstChildRedirect”, “Quip”, and MIGX itself.

Everything works fine across the entire backend except for our one MIGX CMP page. It’s just completely blank. There are no errors in the PHP log. But there are a couple in console.

One console error is “Uncaught SyntaxError: Invalid or unexpected token” which points to code that appears to be trying to render the “/migx/style/images/cross.png” graphic. Here is the offending code:

renderCrossTick : function(val, md, rec, row, col, s) {
    var renderImage, altText, handler, classname;
    switch (val) {
        case 0:
        case '0':
        case '':
        case null:
        case false:
            renderImage = ''/assets/components/migx/style/images/cross.png';
            handler = 'this.publishObject';
            classname = 'publish';
            altText = 'No';
            break;
        case 1:
        case '1':
        case true:
            renderImage = '/assets/components/migx/style/images/tick.png';
            handler = 'this.unpublishObject';
            classname = 'unpublish';
            altText = 'Yes';
            break;
    }
    return String.format('<img src="{0}" alt="{1}" title="{2}">', renderImage, altText, altText, classname, handler);
}

The offending bit of code is this line:
renderImage = ''/assets/components/migx/style/images/cross.png';
The two beginning single quotes at the start of the path is invalid. I have no idea why it would output two single quotes when finding the path. This must be deep into MIGX, or maybe ExtJS code. Do I have any control over that? Could this cause the entire CMP page to be blank?

The next error is more likely the issue. It is:

Uncaught TypeError: b[(d.xtype || e)] is not a constructor
    at Object.create (ext-all.js:21)
    at MODx.load (modx.js?v=0fdb0bd4:85)
    at index.js:2
    at ext-all.js:21
    at b (ext-all.js:21)
    .......

Error shows up in the file ext-all.js file. Code is minified but looks something like this:

create:function(d,e){return d.render?d:new b[d.xtype||e](d)},registerPlugin:function(e,d){a[e]=d;d.ptype=e},createPlugin:function(e,g){var d=a[e.ptype||g];if(d.init){return d}else{return new d(e)}}}}();Ext.reg=Ext.ComponentMgr.

This file was replaced in the MODX update. All I can think is maybe revert the version of MIGX? Or revert version of ExtJS stuff?

Biggest thing is that I have a copy of the site as a dev/staging, where I also did all the updates and extension updates, and the CMP works fine!

I’ve compared screens back and forth between the live site and dev copy, compared all the MIGX config screens, schemas, JSON files, core/component/my-migx-package files, mysql scheme, the class file, etc. Everything is identical. All the data in the database is there, tables are there, everything seems identical between the two copies.

I’ve reinstalled MIGX, didn’t work. I suppose I’ll try and reinstall MODX itself next just for the heck of it.

What could the problem be? I have no other errors except these two console errors to go by.

There seems to be an error in the newest version of MIGX.

Maybe you can just edit this line in the code to fix it.

By golly that did it indeed. I hadn’t tried to find this source code, I thought it was pure JS but it’s actually PHP outputting JS in a string.

Anyway, removed the single quote and everything came back to life.