Recently I bumped into a problem, when testing out a canvas app with a test user account. The account was set as a member of team representing regular users of the app. With my maker account (sys admin in the environment) everything was working as expected.
To get to the bottom of this, we needed to be able to debug test account’s session, so we could see the actual problem under the hood. The test account was merely seeing quite a generic error message “Error when trying to retrieve data from the network”…
So, what to do then???
Power Apps Monitor to avail!
If you need additional debug information published along with your app, you need to make sure you have “Debug published app” setting turned On under Settings > General. I didn’t have to do that, but if you do, make sure you turn it back of and re-publish your app as this setting might have negative impact on you app performance.
Go to your Apps listing, select the app you want to debug and choose Monitor.
You have now entered Monitor!
If I wanted to debug a session using my current account, I could simply choose Play published app option from the toolbar. However, since the app is working fine with my sys admin user, I need to use the Connect user functionality.
Clicking on that, allows me to search for an AD account whose session I want to monitor:
The user is now connected to the monitoring session and I can pick up the monitorin link in the same panel. Note, that the link will only work fro 60 minutes.
You can now close the side panel and open a new browsing session (as a Guest user, for example). Leave the Monitor window open though!
Use the monitoring link as the test user
Note that the test user should not open the app using the regular link you can find e.g. via app Details page. Instead you have to use the link generated in the previous step! This link contains information so that the Power Apps enginge knows how to connect test user’s app player session to your admin user’s ongoing monitoring session.
As a security measure, the test user is prompted with a confirmation dialog when entering the session.
Choose Join to start receiving monitorin data in Monitor! Now the app opens and a little red circle appears in the left upper corner of the screen to remind the user that he/she is participating in the monitoring session (= all data the user requests via the app is visible to the person viewing the Monitor!).
Browsing monitoring data
Once the test users has accepted to enter the monitorin player session, the data from the session starts immediately appear in the Monitor. Now I can easily indicate the problem, as visualized in the below screenshot.
There is a problem with fetching views for the test user from Dataverse.
As it turned out, the team the test user was member of was simply missing Basic User permissions and therefore the user did not have a permission to access any views in Dataverse. (Even though a custom role was created for the team to access all necessary tables the app was using)
Without Monitor getting to the bottom of this might have been very difficult – even though the solution eventually turned out to be quite trivial.