pnp / pnp/sp-dev-fx-controls-react

LivePersona - completely breaks when a dialog is invoked from @microsoft/sp-dialog!

Open
#2,043 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
433
Forks
418
Avg merge
5d 6m
Merged PRs (30d)
19

Description

Category

[ ] Enhancement

[X] Bug

[ ] Question

Version

Please specify what version of the library you are using: [3.22.0]

Moreso, I am using SPFx 1.21.1 and @microsoft/sp-dialog 1.21.1.

Expected and Observed Behavior

Hi there. I'm using a LivePersona control to render user names in a dashboard so that everyone has access to their contact details.

Unfortunately, I have noticed that the LivePersona functionality completely breaks when a dialog is invoked from "@microsoft/sp-dialog". It breaks on either the first or second invocation, but it always happens and every subsequent re-render of any LivePersona controls still exhibit the same broken functionality.

Here's a dashboard being rendered with my name. On click, it correctly shows a persona card.
Image

We have a framework from which we can invoke various dialogs built from @microsoft/sp-dialog. In this case, a "progress" dialog is shown.
Image

As soon as a dialog is shown, the LivePersona breaks. Hovering and clicking the rendering template shows the following error in the console:
Image

Steps to Reproduce

Above was just an example. I have tested on a "sandbox" test app with much simpler rendering and it's still the same:

  1. Render a LivePersona on the page;
  2. Invoke a dialog from the @microsoft/sp-dialog package. We have followed these steps found here which has been used forever in our framework: https://learn.microsoft.com/en-us/sharepoint/dev/spfx/extensions/guidance/using-custom-dialogs-with-spfx;
  3. After the dialog is shown either the first or second time, LivePersona controls break with the errors in the console.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue in the sandbox app by rendering LivePersona, then invoking a dialog through @microsoft/sp-dialog as described. Trace the LivePersona behavior after the first or second dialog invocation and use the reported console errors to identify the affected entry point; done means persona controls continue to work after dialogs are shown.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.