Lightning Component Glitch

Very curious glitch i’m running into here, issue being that my Skuid Page’s are working as components in some pages but not others.

Let me just recap real quick, I have everything necessary enabled and have successfully created Skuid lightning components in my Accounts & Opportunity Record Pages. These two pages load consecutively, reliably, and accurately uses the Id=‘page parameter’ condition. These were created later last week. I’ve cleared caches from Chrome & used Incognito browser as well and have generated page files for all Skuid pages (twice to be sure).

This week, i’m creating a record detail page for Contacts. I created a very basic contact detail page with the same exact conditional setup as done previously, and the component doesn’t load. All that appears is a small blank white bar.

I take it back to basics, I remove the ID condition from the model so all (in sandbox so 3) contact fields should be loading. Still, blank white box.

I refresh this page incessantly and randomly the 3 records do load…then goes back to the blank white box

I take it a step further back and embed this page in my Opportunity Lightning Page, and it works every single time. All 3 records load upon each page refresh.

So at this point, I think the Contact Lightning Page is at fault, so I create a brand new one and activate it as default. Copy the same exact procedure to include the page as done in the Opportunity Lightning Page, and it only loads sometimes.

At this point i’m working with a Contact Detail Skuid page that just loads every contact, no conditions no nothing. Haven’t even begun to incorporate the Id=‘Page Parameter’ condition into the Contact Lightning page. And in both my old Contact Lighting Detail Page & the new one I created to test, both don’t reliably load the data. At this point I don’t know whether this is something I can troubleshoot further, or is the result of a glitch, or if I’ve carelessly missed something.

TL;DR
The fact that my Contact_Detail_Page component (lacking any Id=‘Page Parameter’ works 100% on my Opportunity Lightning Page and unreliably (if ever) in my Contact Lightning Page, leads me to believe this is some sort of glitch.

Contact Detail Page. The Lightning Component doesn’t load even though it has no conditions

Same Exact Page as above: Loads after refreshing x number of times

Embedded that page in my Opportunity Detail Page, and it loads 100% of the time

Additional Screenshots from the Lightning App Builder view

Works in Opportunity Detail Page

Doesn’t Work in Contact Detail Page

Update: Found the error in console. Still unable to determine if there’s a fix.

Refused to evaluate a string as JavaScript because ‘unsafe-eval’ is not an allowed source of script in the following Content Security Policy directive: "script-src ‘self’ chrome-extension: https://sfdc.azureedge.net *.cs17.visual.force.com https://ssl.gstatic.com/accessibility/". fingerprint.js:21

Without error after refreshing page several times

Erik,
That’s definitely an odd issue; I haven’t seen it or the error you see before.

What version of Skuid are you on?
Do you see any errors / the same error if you view the browser console when in the Lightning app builder (when the contact page doesn’t load / is blank)? 
Do you have any Chrome extensions running? If you disable them do you still see any difference?
What machine and browser are you on?

Running on Windows: Updated / Browser is Chrome: Updated

Skuid version is 10.0.3 and i’m running on sandbox so i’ll try updating and see if that sorts things out (oops)

From Lightning App Builder: Initial load doesn’t show errors; however, clicking on the Skuid component produces error below

Disabled all extensions and still showed same behavior

Updated to Skuid 10.0.4 and still shows same behavior. Component always loads on the Account & Opportunity page and sporadically for anything else. Note this isn’t just happening for contacts but for anything i’m developing moving forward (Cases this happened with & One of our custom objects).

I don’t know whether or not this will have an impact, but loading the Account / Opportunity pages always has these errors whereas they never show up anywhere else (Contacts, Cases, etc.)

And my components always work on this page. I’ve read up on this error on the community so I’m figuring its unrelated, but still worth noting

TL;DR Everything Above Here
I’ve determined this is 100% a glitch and I think the issue stem’s from Lightning’s new navigation conflicting with Skuid.
If you navigate an Account/Opportunity detail page, then navigate to a Contact Detail page it works. From there if you go to anything else like a lead detail page it will work, until you re-navigate back to an Opportunity/Account Detail Page.

What breaks the pages is refreshing. If you refresh on any other page than Accounts or Opportunities detail page, all subsequent lightning components will fail to load. Refreshing probably isn’t the problem but it reliably triggers the issue.


I’ll put up a video of the behavior i’m seeing with console included. Maybe that will give better insights into what’s happening. 


Update: Adding a non-related Skuid component to the page fixes the issue. Refreshing now works when there’s another component on the page; however, if that component’s removed it will go back to breaking.

I don’t know if that’s considered fixed but at least i’m not seeing the issue anymore

I seem to be seeing this also, but it’s not a Lightning app. I am using the Lightning component to override the Tab and View pages of a custom object in a Classic app displayed in Lightning. I kept going to a Tab and a completely different Skuid page was displaying. Seems to be something about the refresh, etc as described here.

But my issue is we can’t add a non Skuid component to the page since the Skuid page is the entire page.

Have you overridden the tab using a Lightning component bundle or some other way? Is the view overridden through a Lightning record page or some other way? Are they both supposed to redirect to Skuid pages? Are you going to the custom object’s tab through the classic app (it’s included in it), but it isn’t going to the Skuid page you expect? How do you want the app to work?

As for adding a non Skuid component to the page, you’ll have to use the Lightning app builder to start with a Lightning page and then add Skuid (and non-Skuid) where you want it. Here’s a general overview of using Skuid in Lightning. 

(I should qualify my statement to say that this is an ISV app and the only service we provide for past 4 yrs so developing inside SF everyday most days. Long story but our app could not be used in Lightning, are now required to migrate to that for obvious reasons.)

The override was a simple Lightning component bundle. View and tab overridden using these bundles. All are redirecting to Skuid pages with nothing else on the page.

The app is Classic with the view in Lightning enabled. For how it should work:

1. User clicks Contact Tab - Skuid ContactTab page shows.
2. User clicks CustomObject1 Tab - Skuid CustomObject1Tab page shows.
3. User clicks CustomObject2 Tab - Skuid CustomObject2Tab page shows.

What is happening for us is pretty similar if not same as original post. If user begins and clicks Contact Tab, page shows fine. When user then clicks CustomObjectTab, Contact Tab page displays again. This repeats even though URL is corectly displaying that person is on CustomObjectTab page. Refereshing the browser 1 or 2 times then displays the correct Skuid page for that tab. But problem repeats if user then tries to navigate to another tab.

(We do not want to add any components to any pages at this time and yes we do understand that this would invoive Lightning app builder.)

Is it possible the issue is that the app is Classic with “View in Lightning enabled” vs. an actual Lightning app? If so is this confirmed because if it requires we develop the app again for this part to work that’s unfortunate.

We had to uninstall our app today and reinstalled a new beta with these components packaged and it’s doing same thing. When user clicks new tab the original Skuid page is still displayed.

A few more questions to clarify:
What version of Skuid are you on?
Is Contact Tab the standard Contact tab that you’ve overridden with the Lightning component? 
I’m guessing both custom object tabs are also overridden with the Lightning component?
Just want to make sure I’m reproducing your scenario correctly.

Thanks!

Got it on 10.0.4 and 10.0.5. (I do see you added .6 yesterday)
Yes Contact is standard overridden with Skuid LEX component
Yes to both custom object tabs

The app is a Classic app checked to display in LEX. It is not a LEX app created with LEX app builder though.

Sadly, I’m still having trouble reproducing your problem. I’ve got a Classic app with a few standard object tabs and a custom object tab. All the tabs have a Lightning component bundle override on them that points them to different Skuid pages, and I don’t have any problems navigating from tab to tab in the app. Would you mind posting your Lightning component bundle override code?

Thanks much but I think I’ll hold off for now. After posting my message Ron Kiker of Codescience, who we are working with, also posted on a thread for same issue and is troubleshooting with some members of the Skuid team. So to avoid duplicating efforts I’ll kick over to his thread. (I didn’t see if he was working with you or not on that thread)

But to replicate they’d all need to be part of a managed package. I don’t think replicating locally would resolve. But I posted LEX code below as well.

<aura:component implements="lightning:actionOverride,force:appHostable,force:hasSobjectName" access="global"> <skuid:page page="ContactTab"/> </aura:component> 

We did this with and without the “force:hasSobjectName” element.

Okay, sounds good! Thanks for the code!

This is what I’ve found so far. http://community.skuid.com/skuid/topics/make-child-page-regular-page?rfm=1&topic_submit=true

Thanks, I think that helped me figure it out!

Hello Skuid Community ~

This has been addressed in the new Brooklyn 10.0.12 release which is now available on the Skuid Releases page.

As a reminder, Salesforce does NOT allow reverting back to prior versions of managed packages. Skuid always recommends installing new versions in a non-business critical sandbox environment to test all mission critical functionality before installing into a production environment. We also recommend that you update out of date themes when you upgrade.