OfficeDev / office-js

A repo and NPM package for Office.js, corresponding to a copy of what gets published to the official "evergreen" Office.js CDN, at https://appsforoffice.microsoft.com/lib/1/hosted/office.js.
https://learn.microsoft.com/javascript/api/overview
Other
685 stars 95 forks source link

Excel add-in first load and version update experience shows two prompts, one as modal dialog, one as side-panel #4009

Open gmichaud opened 10 months ago

gmichaud commented 10 months ago

The user experience presented to user when you open a file that uses an add-in and you don't have the add-in installed is confusing and suboptimal. First, the user sees a modal dialog. After accepting, a side-panel opens with a relatively similar prompt. Before we can finish reading it, the add-in side-panel opens on top of it.

This problem is demonstrated here: https://www.loom.com/share/be02354c6be043b7ba67a522c97fc193

NOTE The same user experience is also presented to user when a new version of the add-in is published to the store and they need to update. I also recall seeing these prompts in a loop during the update scenario (but can't replicate -- I don't want to force push an update of our add-in to the store)

Your Environment

Expected behavior

User should only see a single prompt.

Current behavior

This problem is demonstrated here: https://www.loom.com/share/be02354c6be043b7ba67a522c97fc193

Steps to reproduce

  1. On a computer that doesn't have the Velixo add-in installed, open the attached workbook.

Sample.xlsx

  1. When you see the first New Office Add-in prompt, click "Allow and Continue"
  2. You'll notice there's a side-panel that opened with same prompt; add-in is already loaded so it's not clear what will happen if the user ignores this prompt.
mhelles commented 9 months ago

We have logged this work and will be getting a fix in shortly. Thank you for reporting!

wh1t3cAt1k commented 9 months ago

@mhelles is the fix Mac-specific? A similar problem exists on Windows, I filed it in #4112.

Also, if you know the build number where the fix for Mac OS is, would appreciate if you shared!

brreich commented 3 months ago

Hi all, I looked into this issue a bit. The basic issue of seeing a taskpane trust experience, and then seeing a modal dialog in addition detailing a similar error, is by design, and I wanted to explain why (and then explain how we are going to improve the issue a bit). This add-in has two components (that are relevant to this behavior), one a taskpane surface, and the other a set of custom functions. On document open, we note that the add-in has custom functions and we start to spin up the shared web runtime to load the supporting resources for the add-in to support those functions. That preload operation, if it hits an error, displays that error in the default taskpane surface of the add-in. However, in addition while that is happening, Excel also tries to calc the workbook, and in doing so, attempts to invoke the custom functions. This is all happening asynchronously, so the order that the previous two loads actual execute can be in either order. In the case where the taskpane error is shown first, and then the custom function evaluation realizes it also cannot invoke the add-in due to the same error, Excel prompts the user modally to resolve the add-in issue immediately as part of its calc operation so it can complete that operation. That is where the modal trust dialog appears. We definitely had a suboptimal behavior where, if the user selected to trust the add-in in the modal dialog, we were not refreshing the taskpane to account for the updated trust decision, meaning the user had to trust twice. We're working on fixing that, so that if the user trusts with the modal dialog, the taskpane error auto-resolves. However, the fact that both prompts come up is a consequence of the fact that the add-in is executing two different operations that require two different kinds of prompt (the first non-modal and the second one modal). Hopefully if we can make it so that, while seeing two different prompts for this case, the user will only need to resolve one of them to continue, and that will be a better experience.

gmichaud commented 3 months ago

Thanks @brreich for this very detailed write-up!

wh1t3cAt1k commented 2 months ago

Testing on Excel for Mac 16.90:

I first see the modal prompt:

image

Then I see the side panel prompt:

image

The side panel prompt auto-resolves in some time (it took a few seconds to me) and the add-in starts but the prompt tab remains 🤷‍♂️:

image

If you click it the prompt is still displayed:

image

So it looks like the issue is partially fixed but the experience has become even more confusing because now we see both the loaded side panel and the side panel prompt that is not relevant anymore.

Velixo internal tracking item