Table Columns Stuck Showing Skeleton

After upgrading to psu 3.8 I noticed that table columns that use ‘render,’ which I typically pair with a new uddynamic section and a udskeleton for the loading component, are consistently not loading and get stuck showing the skeleton. This is happening for me on multiple dashboards I have created.

Here is an example of one of my table columns:

New-UDTableColumn -Property mfa -Title "MFA Enabled" -IncludeInSearch -Render {
                      New-UDDynamic -Content {
                                    if($EventData.mfa){
                                            $color = "#32a852"
                                        }
                                        else{
                                            $color = "#c72c2c"
                                        }
                                        New-UDTypography -Text $EventData.mfa -Style @{
                                            color = $color
                                        }
                                } -LoadingComponent {
                                    New-UDSkeleton
                                }
}

(Sorry for the formating, its from copying and pasting directly from my dashboard code)

Some additional information about the dashbords in question:

  • These dashboards are running in pwsh 7.3.3
  • using latest framework
  • run as default
  • accessed through reverse proxy (ngrok)

Here is a screenshot of the issue in action:

This screenshot is after having the dashboard open for several minutes

Any advice is appreciated, thanks!

Product: PowerShell Universal
Version: 3.8.1

Little more info:

Occasionally after waiting several minutes I get this error instead of a stuck skeleton:

Small update:

Updated to 3.8.2, issue still present. To verify the reverse proxy was not causing the issues I visited some dashboards that have been having the issue through localhost, issue was still present.

How many rows are you displaying?

On the first screenshot that table is showing 20 rows with two columns that have a render action. Changing it down to 5 seems to help but if I click through the pages I still see the error occasionally even after waiting several minutes

Do you know what version you upgraded from? I want to review our changes to see what might cause this. I know there was a change in 3.7.9 in regards to the -Render: Changelog - PowerShell Universal

PSU used to render columns like you are doing here but we stopped doing so because it was causing the problem you are seeing. The issue is that with each cell, it makes an HTTP request and has to run PowerShell which can get really slow once you have a bunch of cells like this. I’m not exactly sure why this worked better prior to 3.8.1.

That said, you’re not doing much in these renders so I’m not sure why it’s timing out like this. PSU waits up to 5 seconds when attempting to get a runspace before giving up and then generating the “Failed to ge trunspace” error.

Yep we went from 3.7.14 to 3.8.0. Yeah I dont mind the cells taking a while to render, thats what they were doing prior to the 3.8 update. Weirdly I see some of the cells sometimes finish rendering and then revert back to a skeleton when other cells render.

I dont know if it helps much but I tested setting up a table with several columns that have custom renders setup on another host, both with version 3.7.9 and 3.8.3 and found that the issue was present in 3.8.3 and not in 3.7.9. I even had images in one of the columns which I assume would be more resource intense than my examples from above.

Our production instance of PSU is hosted on a Windows server and installed via the msi, would it be safe to downgrade to 3.7.x from the current version? I guess I would just uninstall the current version and install the older version unless you are aware of that causing issues. We have backups of the server just incase anything goes wrong.

I have issues with -LoadingComponent aswell since 3.8.0 and onward.
Can you remove that, and see if it loads quicker?

Yep that appears to be the culprit. Removing LoadingComponent from my cells seems to prevent the issue of the cells getting stuck loading the values. They take a few seconds to load, which is expected, but so far nothing is getting stuck or just not showing any values

@adam
Could you look into this?

We have fixed this in the 3.8.4 build. It will be out this week.

2 Likes