Picture in Picture (Experimental)

Hi
I see below 3 error logs in event viewer. I have masked the computer name here:

  1. Log Name: Application
    Source: UiPath
    Date: 9/7/2020 6:17:17 PM
    Event ID: 0
    Task Category: None
    Level: Error
    Keywords: Classic
    User: N/A
    Computer: .europe..com
    Description:
    UiPath.Service.UserHost 20.4.1.0
    System.InvalidOperationException: Cannot start the process in Picture in Picture mode because the feature is not enabled on your computer.
    To use this, you have to start the process again and accept to enable it.
    at UiPath.ChildSession.Client.ChildSessionClient.<>c__DisplayClass3_0.<b__0>d.MoveNext(), HResult -2146233079
    Event Xml:



    0
    2
    0
    0x80000000000000

    54649
    Application
    .europe.
    **.com



    UiPath.Service.UserHost 20.4.1.0
    System.InvalidOperationException: Cannot start the process in Picture in Picture mode because the feature is not enabled on your computer.
    To use this, you have to start the process again and accept to enable it.
    at UiPath.ChildSession.Client.ChildSessionClient.<>c__DisplayClass3_0.<<StartProcessInChildSession>b__0>d.MoveNext(), HResult -2146233079

UiPath.Service.UserHost 20.4.1.0
UiPathRobotServices 17653682 IAttendedEvents StartProcessInChildSession 19. # System.InvalidOperationException: Cannot start the process in Picture in Picture mode because the feature is not enabled on your computer.
To use this, you have to start the process again and accept to enable it.
at UiPath.ChildSession.Client.ChildSessionClient.<>c__DisplayClass3_0.<b__0>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at UiPath.CoreIpc.Server.d__22.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at UiPath.CoreIpc.Server.d__21.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at UiPath.CoreIpc.Server.<>c__DisplayClass4_2.<<-ctor>b__6>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at UiPath.CoreIpc.IOHelpers.d__10.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

3:
UiPath.Service.Host 20.4.1.0
OrchestratorTest_ApDev/ad08e5bc-cf6f-4f01-bd54-b5cd4df92200 finished with Failed (was Preparing)
RemoteException wrapping System.InvalidOperationException: Cannot start the process in Picture in Picture mode because the feature is not enabled on your computer.
To use this, you have to start the process again and accept to enable it.
at UiPath.ChildSession.Client.ChildSessionClient.<>c__DisplayClass3_0.<b__0>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at UiPath.CoreIpc.Server.d__22.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at UiPath.CoreIpc.Server.d__21.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at UiPath.CoreIpc.Server.<>c__DisplayClass4_2.<<-ctor>b__6>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at UiPath.CoreIpc.IOHelpers.d__10.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at UiPath.CoreIpc.IOHelpers.d__16`1.MoveNext()

Suprb Feature …
Also would like to understand few doubts below.

  1. Why Chrome and Edge Chromium cannot be opened at the same time in both sessions (main Windows session and PiP session)

  2. Why it’s prompting for a password even at a single time ,or multiple time incase of pin

  3. Why its not supporting window home addition , what all the limitations

1 Like

May be once the job is done, PiP feature should logout of the session and inform the user to close the window

4 Likes

Hi,
Am trying to run my process in PIP session. But getting error as not enabled this feature in your computer on every time even i allow to enable in pop up.
Is admin login required to run this in pip or admin login is required to enable pip?
thanks

2 Likes

Are you using password or a pin to log in to your windows session?

A known limitation is that If you are using a pin, it will ask your credentials every time:

2 Likes

Thanks Nicolas for your replay.

I login windows by password.

Do we need to login as admin for windows run PIP?

3 Likes

Hi @surya.magadi. Admin rights are required just the first time you run a process in PiP, in order to enable PiP on your machine. Afterward, you can use a normal login

3 Likes

Hi i was triying to run two robots in differents users in the same machine with PiP but aparently we can only run one PiP at once its that ok?

3 Likes

In the latest 20.10.x update I was unable to start the PiP. The window took so long to open up the Robot timed out.

Is there a way to configure our Projects to wait for an extended time for this PiP window to show up?

2 Likes

@AndyMenon how are you?

You can extend the default timeout (which is 60 seconds) by using an environment variable ( UIPATH_SESSION_TIMEOUT)

See the first note in the documentation.

1 Like

Hello Nicolas,

I’m very good.

I will give this a shot and keep you posted.

Thanks for the quick response.

Andy

2 Likes

Hmmm… I looked into it. I don’t have that variable in my Environment Variables - neither in System or local user scope.

Is this something we have to add manually?

I’m sure PiP worked on my erstwhile laptop. On this laptop it is failing. Here is the error.

image

thanks.

1 Like

@AndyMenon the environment variable does not exists, you need to create it. Sorry if I wasn’t clear with it from the start.

1 Like

Understood. But I don’t recall seeing this in the documentation either.

Thanks for the clarification.
I will give it another try.

2 Likes

Created the variable and set it to an exaggerated value of 300. Process starts in PiP then appears to run. But in the background there is this error:

image

In Studio I get this error:

System error at initialization: Cannot communicate with the browser, please check the UiPath extension. at Source: Invoke SF_Open_Chrome workflow: Open in Chrome

This wasn’t happening in 2019 versions or earlier. Historically, I never had an issue running PiP.

Let me read that documentation once more.

2 Likes

I hope others find the following helpful. I ran some tests on my work laptop running Windows 10 Pro.

The application tested in PiP has been proven to work without PiP and is already in active service. Therefore the argument that something might be wrong with the application lacks merit.

Test 1 - Change Open Browser Activity Setting UserDataFolderMode > to Default

Browser Window refuses to open as a result of the following Error Message:

Open in Chrome: The browser already runs in the main session. Please stop the browser or set another user data directory and restart the automation in PIP.

The workaround to this problem in Attended Automations might be that the human user has to work with a Browser that is different from Chrome. If that does not work , and if the human user has to stop working to make way for the Robot, then that defeats the very purpose of having PiP.

The other option is Test 2.

FYI: I enjoyed working with this feature in the 2019 version. The Robot ran alongside in PiP mode without interrupting my work. I miss that very much now.

Test 2 - Change Open Browser Activity Setting UserDataFolderMode > to Automatic

Browser Window Opens but subsequent steps fail as a result of this Error

System error at initialization: Cannot communicate with the browser, please check the UiPath extension. at Source: Invoke SF_Open_Chrome workflow: Open in Chrome

This is because the PiP Browser profile folder is being created for the first time and we have to enable the Chrome Browser Plugin for the first time inside of the PiP window.

Restarting the application will go past this error, but will fail on the Click Activity

Reason: SimulateClick in the application was set to True. After I switched it to Blank, the process worked inside of PiP.

Strangely, SimulateType works but not SimulateClick! :open_mouth:

The next options was to set SendWindowsMessages to True and setting SimulateClick to Blank - And this worked in PiP

Test 3 - Purely Accidental - VPN Connectivity Fails when PiP Window is Open

I lost Wi-Fi connection midway during the test and when I got it back, Cisco VPN failed to reconnect complaining that a connection from a Remote Desktop Window cannot be established.

I was able to connect successfully once I closed the PiP Desktop.

3 Likes

Hi @AndyMenon

Does the Test 2 scenario work for consecutive runs after you enabled the extension in the separate Chrome profile?

2 Likes

Yep. Here is a test from the last 10 minutes. I repeated the test without any changes to my environment since my last test and ran the Automation from Studio after putting my laptop to sleep overnight. Next step for me is to package/deploy this Automation with PiP-enabled switch and test it via UiPath Assistant.

Nevertheless, here is a redacted screen shot so that others may find it helpful.

Markers 2 & 3 are important observations as we anticipate that Attended Automation users may ask these questions during training. They would also want parallel access to Chrome and Excel as the Robot works alongside them which is must have!

We have to train end users to enable the Chrome/Edge plugins for the first time they launch their Automations in PiP. May run into some bumpy ride here :frowning:

  1. Latest Timestamp of the test and the screen capture
  2. UiPath Plugin is enabled without having to do anything after we enabled it the first time - another Google session is accessible to user on the normal desktop offscreen
  3. Excel Application is open - another Excel session is accessible simultaneously on a second screen not shown
  4. SimulateType works on and off PiP desktop, but only one link I cannot reveal here had to be switched to use SendWindowsMessage so that it would work effectively on and off PiP mode
1 Like

I have tested the Automation from UiPath Assistant. Two Major Issues!

SimulateClick is highly unreliable in PiP mode!

  1. Out of the 15 or so click actions, I had to prompt the Robot to click on at least 6 of them!
  2. Robot would find the link but refuse to click on it and there is no set pattern
  3. In non-PiP mode, the Robot works reliably for 1000s of such clicks with SimulateClick set to True (as proven in currently active service).

I would appreciate it if someone could test this feature in Salesforce.

SendWindowMessages setting does not persist in Studio on Click Activity

I don’t understand this. After my first test in Studio today, the settings for the SendWindowMessages was wiped out.

The settings highlighted on the right (below) do not hold. Each time SimulateClick is reset back to True and SendWindowMessages is reset to Blank! I’m sure I set it the way it looks in the image because I have documented the problem in the Annotation. I have to remember to look at this activity every time before I run a test, or deploy the Automation.

Studio version is 20.10.2.

1 Like

Yes. Only one PiP per machine is available. This is a technical limitation

1 Like