Modals appearing on other peoples screens...?

Well I am sure debugging the dashboard is the answer, but in the year I been using UD I been ok on figuring it out without debugging it…So here’s my problem, I have re-vamped the purchase order system, from a sapien executable to a dashboard. I am using AD with a login page to verify the user logging on and what menu items to display to that user based on their security group. Everything works great but…whilst I was showing a member of staff how to use it, I noticed modals kept popping up on her screen…ends up this was someone else using it? So how the heck did this happen? I am not using IDs on any modal and I was on a totally different page of the PO system to the person who kept on popping up the modals…I thought this was a one off, but the same member of staff said it happened again today so she couldnt use the dashboard…so shouting out to see if anyone else has had this same issue. I’m using 2.6.2 and running on IIS, if there is anything more I can provide let me know, but not seen or had this issue before and I have used modals in previous dashboards.

Hmmm that’s not good at all. I can test this with the latest build as there were many changes to session\connection info that might fix this. Please file an issue on GH.

1 Like

Thanks @adam for the reply, will file the issue later today…I can’t see I am doing anything too stupid in my dashboard, as it all works great, but the modal issue seems to be affecting one user, or that’s all I been informed about…I wouldn’t have believed her if I didn’t see it with my own eyes, bring up a modal on her screen when the page she was on didn’t have any modals on it…

It happened here as well with even last night release when a user was on one page and all the sudden a modal belongs to other page shows up on his screen.

Thanks. I had intended to get that fixed for 2.7 but forgot to tag it as such. I will look into it today.

@wsl2001 Are you hosting in IIS as well?

Yes am hosting in IIS as well

Ok. I’m having a hard time reproducing this. Can either of you turn on logging and send it my way?

https://docs.universaldashboard.io/v/dev/webserver/running-dashboards/iis#logging

@adam

i was able to reproduce it and have a log file below are the steps id did

1- login to IIS site in 2 different browsers (chrome & firefox ) with same creds
2-opened the modal from chrome nothing shows up but when i went to firefox it was opened there and same test vice versa.

When you say login, do you login via IIS Single Sign on or Forms auth?

i have iis baseic auth turned on so i used my ad account.

also in a separate note i have 1 ad account that is being used by the users in my environment to access ud since they dont have their own ad logins created in ad so in order to authenticate to the IIS server they all use the same AD functional account.

i dont know if this is an issue for UD with modal shows on other users screen.

Sorry man late on the replies…Ok so this only happens to one user at my place…and this user works part-time so not in today. Or yesterday. Not sure if they are in tomorrow either? Anyways…I said to this one particular user as they do not have a thin client just use your browser before connecting to the remote desktop work and authenticating yourself on domain.
So was thinking this was causing the problem for this user, and was going to ask them to only use it once authenticated against the remote desktop login…I have mine UD setup to authenticate against active directory…but the PC isn’t joined to domain if you get me?
So will force user to use inside remote desktop and see if the issue still happens. If so I will gather logs

@adam

how do you want me to send the log file , it about 14mb in size and i dont know if i can post it here

You can use Firefox Send: https://send.firefox.com/

https://send.firefox.com/download/642b70e6de89270d/#Tg95QHXocSUZZ65SWlgBSA

1 Like

@adam
was the log file helpful, also i just confirmed with the user who got the modal on his screen when he was on a different page that he was logged in with his own AD account, so the issue seems to not only affecting the users who share same AD account but it also affects others

I don’t see anything in the log that explains this. Can you please provide a small code sample of the modal in question? Is it opened from a button or something?

This is what I was doing. I have IIS configured on Windows 10 with Windows auth. I’m logging in as the same user. I haven’t hit it yet.

  New-UDCard -Title "CheckBox Testing" -Content {
        New-UDInput -Title "Checkbox Input Testing" -Id "CheckboxForm" -Content{
            New-UDInputField -Type 'textbox' -Name 'name' -Placeholder 'Enter Your Name'
            New-UDInputField -Type 'checkbox' -Name 'check' -Placeholder 'Yes?'
        } -Endpoint {
            param($name, $check)

            Show-UDModal -Content {
                New-UDButton -OnClick {
                    Show-UDModal -Content {
                        "Here"
                    }
                }
            }

            $Session:Value = $Name

            if ($check){
                New-UDInputAction -Toast "Yes, $Name" -ClearInput
            }
            else {
                New-UDInputAction -Toast "No, $Name" -ClearInput
            }
        }
     }
 Upload      = New-UDTooltip -Type info -Effect float -Place top -TooltipContent { "Upload files!" } -Content {

                New-UDButton -BackgroundColor "#26a69a" -Text "Upload" -Icon upload -OnClick {

                    Show-UDModal -Content {

                        New-UDInput -Title "File Upload" -Content {

                            New-UDInputField -Name 'file' -Type binaryFile -Placeholder 'Upload'

                        } -Endpoint {
 
                            param($file)

                            $FullPath = Join-Path $TaskPath -ChildPath $File.FileName
                            $fileStream = [IO.File]::Create($FullPath) 
                            $stream = $File.OpenReadStream()
                            $stream.CopyTo($fileStream)
                            $fileStream.Dispose()
                            $stream.Dispose()

                            Show-UDToast -Message "File Uploaded!" -MessageColor Green -Title $File.FileName -Position topCenter -Duration 2500

                            Start-Sleep -Seconds 3

                            Hide-UDModal
  
                        } 
                    }
                }
            }

Here is my copy @adam

New-UDCard -Title "Select Supplier" -Content {
    New-UDInput -Endpoint {
        param($SupplierName)
        # Find all matching customers
        if (-Not(Test-Path $Root\$User)) { mkdir $Root\$User }
        $qCustomer = @"
 SELECT [SupplierID]
 ,[SupplierName]
FROM [PO].[dbo].[POSupplier]
 WHERE SupplierName LIKE '%$($SupplierName)%'
"@
        $Customer = Invoke-Sqlcmd2 -ServerInstance SQLSERVER-NAME -Database PO -Query $qCustomer -Username 'xxxx' -Password 'xxxx'
        # Output a new modal based on that info
        New-UDInputAction -Content @(
            Show-UDModal -Content {
                New-UDGrid -Title "Customer Results" -Headers @("SupplierID", "SupplierName", "Select") -Properties @("SupplierID", "SupplierName", "Select") -Endpoint {
                    $Customer | % {
                        New-Object -TypeName PSCustomObject -Property @{
                            "SupplierID"   = $_.SupplierID
                            "SupplierName" = $_.SupplierName
                            "Select"       = New-UDButton -Text "Select" -Icon user_friends -OnClick {
                                "$($_.SupplierID)" | Out-file $Root\$User\Supplier.txt
                                Show-UDToast -Message "Supplier $($_.SupplierName) has been recorded" -Duration 4000
                                Hide-UDModal
                            }
                        }
                    } | Out-UDGridData
                }
            }
        )
    }