7

We have a set of lightning components rendered in Classic on Visualforce using the Lightning Out library. This morning, it is suddenly down for us on Prod, partial and developer sandboxes.

Our Visualforce is really as simple as the boilerplate:

(obfuscated for clients sake)

<apex:includeLightning />

<div id="xxxContainer"/>

<script>
    $Lightning.use("c:yyyDataInput", function() {
        $Lightning.createComponent(
            "c:yyyDataEntryContainer", 
            {
               params
            }, 
            "xxxContainer", 
            function(cmp) {}
        );
    });
</script>

But now we just get a white screen - no Apex logs from the component controllers, no errors in the blue at the bottom of the page - but just the Chrome dev log:

no library

I have tried going to that URL and I do get a 500 Server Error page. It's the same on all instances, just with different instance subdomains.

I have also tried replacing the apex:includeLightning tag with a hard coded URL to the instance's lightning library - but on Https I get a 404 and on Http I get a "not allowed insecure content" error - two things which I recall being problems in the past, hence the new apex tag.

I think this might have something to do with a Lightning off-cycle release Salesforce made over the weekend for the Lightning Sales/Service consoles? I have Audit trail entries for them being fiddled with (by Salesforce).

Does anyone have any other ideas to try? Or is experiencing this issue. I have opened a case.

1
  • did you try viewing these components not from a VF page? Like from a lightning app? Feb 14, 2017 at 5:38

1 Answer 1

7

So this error was being caused because the Lightning App c:yyyDataInput was in error and failing to compile.

This is because over the weekend Salesforce (apparently) ceased the existance of the standard component ui:input

So our app listed all it's dependencies (about 30 of them) - which we do for documentation and best practise reasons, and one of our dependencies was:

<aura:dependency resource="ui:input"/>

Now, when this was done, it must have saved and been valid (and it was in 2 sandboxes and production) but if you tried to add that line now you would not be able to save (just like if you put blahblahblah in the resource attribute).

Once can only assume therefore that between Feb 10th and Feb 13th 2017 Salesforce removed the existance of the ui:input thus breaking any apps that included it.

(by-the-by we just removed the dependency, and the app saved again and all was well - so I'm not sure why it was there, but this is still super frustrating and the actual error message couldn't have been more useless)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.