[SalesForce] Did Salesforce recently update their aura library? Facing weird issues with access control and string concatenation

I am wondering whether Salesforce recently updated their lightning library outside of a release window – is there any way to verify the currently loaded version of aura/lightning?

Was led to asking this because I am facing two issues presently;

  • It seems that having any custom 'rerender' method breaks the aura rendering cycle, getting this error message in my package org:

This page has an error. You might just need to refresh it. rerender
threw an error in 'markup://WSONE:svgIcon' [Access denied:
{"$from$":{"namespace":"WSONE"}}] Failing descriptor:
{markup://WSONE:svgIcon}

Versus in my development environment:

This page has an error. You might just need to refresh it. rerender
threw an error in 'markup://c:svgIcon' [Access denied:
{"Go":{"namespace":"c"}}] Failing descriptor: {markup://c:svgIcon}

  • The second thing is that in some cases, at least for pages that did not exist previously in the package org, I receive a JSON parsing error which seems internal to the framework:

VM17613:957 Uncaught SyntaxError: Unexpected token u in JSON at
position 38441

Which occurs on "xhr.onreadystatechange" in lightning.out.delegate.js

Corresponding JSON line which errors out;

"code":function(cmp, fn) { return fn.add("slds-button slds-button--brand slds-path__mark-complete slds-no-flex slds-m-horizontal--small ",cmp.get("v.backCss")); },

Which corresponds to the following component definition line – if I remove that everything works as expected.

<button class="{!'slds-button slds-button--brand slds-path__mark-complete slds-no-flex slds-m-horizontal--small ' + v.backCss}" onclick="{!c.handlePreviousClick}">

If I remove that line it moves on to the next line where I use a composite expression – then the next and so forth – it seems to be a general problem with string concatenation because if I change like this the problem remains;

<button class="{!concat('slds-button slds-button--brand slds-path__mark-complete slds-no-flex slds-m-horizontal--small ', v.backCss)}" onclick="{!c.handlePreviousClick}">

However if I remove the concatenation all together it works just fine – my old components still seem to function mostly while they use concatenation as well…

Anybody have any clues what is going on here? I will try to mess around with different API versions of files now to see if that will make any difference – the new ones are v38.0 (but equal on the development org!) while old are 37.0.

Best Answer

Known issue with custom rerender methods - fix is in progress and currently targeted for Winter'17 .12 patch early next week. If you deactivate Locker service until the fix comes out this problem should go away. This issue is being tracked by bug W-3434017 if you want to reference that in any cases or discussion with support.

I do not know about the unexpected token issue.