Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: fullscreen status messages #2948

Merged
merged 21 commits into from
Jan 30, 2024
Merged

Conversation

musale
Copy link
Contributor

@musale musale commented Jan 15, 2024

Closes #2666

PR Type

  • Feature

Description of the changes

Added full screen status message for:

  • no messages
  • no chat ID
  • a wrong chat ID
  • generic errors i.e. failed graph calls

PR checklist

  • Project builds (yarn build) and changes have been tested in at least two supported browsers (Edge + non-Chromium based browser)
  • All public APIs (classes, methods, etc) have been documented following the jsdoc syntax
  • Stories have been added and existing stories have been tested
  • Added appropriate documentation. Docs PR:
  • License header has been added to all new source files (yarn setLicense)
  • Contains NO breaking changes

Other information

How to test

  • no messages: delete a chat with another person and load the chat on mgt chat
  • no chat ID: locally test with the added mocke chat that has no ID
  • wrong chat ID: locally test with the added mocked chat that has a wrong chat ID
  • generic errors: locally test with the updates to graph calls that fail

@musale musale added this to the Chat - GA milestone Jan 15, 2024
Copy link

🚀 New react-contoso sample application deployed here

Setting the client calls an external function graph that throws a TypeError. The error is thrown
when accessing the forComponent method. The assumption is that the Provider hasn't set up by the time
the StatefulGraphChatClient is instatiated,

This change leverages the Provider onStateChange events and updates the notificationClient appropriately
after the constructor initialization.
Copy link

🚀 New react-contoso sample application deployed here

@musale musale force-pushed the feat/full-screen-status branch from 0ed99f2 to 45444fa Compare January 16, 2024 11:20
Copy link

🚀 New react-contoso sample application deployed here

Copy link

🚀 New react-contoso sample application deployed here

Co-authored-by: Gavin Barron <gavinbarron@microsoft.com>
Copy link

🚀 New react-contoso sample application deployed here

@sebastienlevert
Copy link
Contributor

  • No chat ID provided: Works great!
  • Invalid chat ID provided: Works great!
  • No messages conversation: I have the conversation "loaded" but not status messages.
    image
  • Graph error (I turned network off in Edge): Works great!

Copy link

🚀 New react-contoso sample application deployed here

Signed-off-by: Martin Musale <martinmusale@microsoft.com>
Signed-off-by: Martin Musale <martinmusale@microsoft.com>
@musale musale marked this pull request as ready for review January 23, 2024 09:16
@musale musale requested a review from a team as a code owner January 23, 2024 09:16
@musale
Copy link
Contributor Author

musale commented Jan 23, 2024

@sebastienlevert I have fixed the no messages state.

Copy link

🚀 New react-contoso sample application deployed here

Copy link
Contributor

@sebastienlevert sebastienlevert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works great for the scenarios! Very happy!

@gavinbarron
Copy link
Member

There's something weird going on with the styling of the React Contoso app.
On first load of the chat page I get a flash of a broken styling state that goes away, but returns when I select another chat:

image

@sebastienlevert
Copy link
Contributor

There's something weird going on with the styling of the React Contoso app. On first load of the chat page I get a flash of a broken styling state that goes away, but returns when I select another chat:

image

I see the same. I thought it was just me. So something gets injected and breaks the rest. We need to be careful to not bring this issue. Dismissing my review until this is fixed.

@sebastienlevert sebastienlevert dismissed their stale review January 23, 2024 17:58

Major UI issues

@musale musale linked an issue Jan 25, 2024 that may be closed by this pull request
3 tasks
@musale
Copy link
Contributor Author

musale commented Jan 25, 2024

There's something weird going on with the styling of the React Contoso app. On first load of the chat page I get a flash of a broken styling state that goes away, but returns when I select another chat:

image

So, I dug around this a little. What I found out was using @azure/communication-react v1.9.0-beta.1 and above brings this issue. I have raised an issue on their end Azure/communication-ui-library#4058 as I'm not sure what might have changed from v1.8.0 to 1.9.0-beta.1. I have pinned our dependency on 1.8.0 for now. CC @sebastienlevert

Update

A new issue arises, mentioned users support is not available in v1.8.0. I think I need to investigate a little more on this.

Now using v1.8.0-beta.1 to fix Mention missing as it is in beta.

Copy link

Code Coverage

Package Line Rate Branch Rate Complexity Health
mgt-chat.src.statefulClient 100% 100% 0
mgt-chat.src.utils 100% 86% 0
mgt-components.dist.es6.components.mgt-agenda.src.components.mgt-agenda 12% 100% 0
mgt-components.dist.es6.components.mgt-contact.src.components.mgt-contact 62% 100% 0
mgt-components.dist.es6.components.mgt-file-list.mgt-file-upload.src.components.mgt-file-list.mgt-file-upload 43% 100% 0
mgt-components.dist.es6.components.mgt-file-list.src.components.mgt-file-list 51% 100% 0
mgt-components.dist.es6.components.mgt-file.src.components.mgt-file 46% 100% 0
mgt-components.dist.es6.components.mgt-get.src.components.mgt-get 20% 100% 0
mgt-components.dist.es6.components.mgt-login.src.components.mgt-login 63% 100% 0
mgt-components.dist.es6.components.mgt-messages.src.components.mgt-messages 65% 100% 0
mgt-components.dist.es6.components.mgt-organization.src.components.mgt-organization 46% 100% 0
mgt-components.dist.es6.components.mgt-people-picker.src.components.mgt-people-picker 49% 100% 0
mgt-components.dist.es6.components.mgt-people.src.components.mgt-people 59% 100% 0
mgt-components.dist.es6.components.mgt-person-card.src.components.mgt-person-card 53% 33% 0
mgt-components.dist.es6.components.mgt-person.src.components.mgt-person 48% 100% 0
mgt-components.dist.es6.components.mgt-picker.src.components.mgt-picker 75% 100% 0
mgt-components.dist.es6.components.mgt-profile.src.components.mgt-profile 39% 100% 0
mgt-components.dist.es6.components.mgt-tasks-base.src.components.mgt-tasks-base 76% 100% 0
mgt-components.dist.es6.components.mgt-tasks.src.components.mgt-tasks 54% 100% 0
mgt-components.dist.es6.components.mgt-taxonomy-picker.src.components.mgt-taxonomy-picker 62% 100% 0
mgt-components.dist.es6.components.mgt-teams-channel-picker.src.components.mgt-teams-channel-picker 55% 100% 0
mgt-components.dist.es6.components.mgt-theme-toggle.src.components.mgt-theme-toggle 74% 100% 0
mgt-components.dist.es6.components.mgt-todo.src.components.mgt-todo 80% 100% 0
mgt-components.dist.es6.components.preview.mgt-search-box.src.components.preview.mgt-search-box 74% 100% 0
mgt-components.dist.es6.components.preview.mgt-search-results.src.components.preview.mgt-search-results 51% 100% 0
mgt-components.dist.es6.components.preview.src.components.preview 100% 100% 0
mgt-components.dist.es6.components.src.components 82% 100% 0
mgt-components.dist.es6.components.sub-components.mgt-arrow-options.src.components.sub-components.mgt-arrow-options 70% 100% 0
mgt-components.dist.es6.components.sub-components.mgt-dot-options.src.components.sub-components.mgt-dot-options 28% 100% 0
mgt-components.dist.es6.components.sub-components.mgt-flyout.src.components.sub-components.mgt-flyout 40% 100% 0
mgt-components.dist.es6.components.sub-components.mgt-spinner.src.components.sub-components.mgt-spinner 92% 100% 0
mgt-components.dist.es6.graph.src.graph 36% 100% 0
mgt-components.dist.es6.src 100% 100% 0
mgt-components.dist.es6.styles.src.styles 73% 100% 0
mgt-components.dist.es6.utils.src.utils 46% 100% 0
mgt-components.src.components 81% 100% 0
mgt-components.src.components.mgt-contact 68% 83% 0
mgt-components.src.components.mgt-file 51% 100% 0
mgt-components.src.components.mgt-file-list 56% 100% 0
mgt-components.src.components.mgt-file-list.mgt-file-upload 49% 88% 0
mgt-components.src.components.mgt-messages 66% 100% 0
mgt-components.src.components.mgt-organization 47% 100% 0
mgt-components.src.components.mgt-person 84% 69% 0
mgt-components.src.components.mgt-person-card 66% 47% 0
mgt-components.src.components.mgt-profile 40% 100% 0
mgt-components.src.components.mgt-theme-toggle 100% 100% 0
mgt-components.src.components.sub-components.mgt-flyout 72% 53% 0
mgt-components.src.components.sub-components.mgt-spinner 100% 100% 0
mgt-components.src.graph 40% 76% 0
mgt-components.src.styles 92% 80% 0
mgt-components.src.utils 82% 47% 0
mgt-element.dist.es6.components.src.components 74% 83% 0
mgt-element.dist.es6.mock.src.mock 90% 71% 0
mgt-element.dist.es6.providers.src.providers 86% 77% 0
mgt-element.dist.es6.src 91% 80% 0
mgt-element.dist.es6.utils.src.utils 66% 70% 0
mgt-element.src 88% 100% 0
mgt-element.src.components 84% 100% 0
mgt-element.src.mock 81% 56% 0
mgt-element.src.providers 80% 85% 0
mgt-element.src.utils 71% 90% 0
Summary 57% (25863 / 45135) 68% (516 / 755) 0

Copy link

🚀 New react-contoso sample application deployed here

Copy link
Member

@gavinbarron gavinbarron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks good to me.

Just a couple of small UX things that feel a bit off

packages/mgt-chat/src/components/Chat/Chat.tsx Outdated Show resolved Hide resolved
packages/mgt-chat/src/components/Chat/Chat.tsx Outdated Show resolved Hide resolved
packages/mgt-chat/src/components/Chat/Chat.tsx Outdated Show resolved Hide resolved
Co-authored-by: Gavin Barron <gavinbarron@microsoft.com>
Copy link

🚀 New react-contoso sample application deployed here

Copy link

🚀 New react-contoso sample application deployed here

Copy link
Member

@gavinbarron gavinbarron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work!

@gavinbarron gavinbarron merged commit 511f6ea into next/mgt-chat Jan 30, 2024
8 checks passed
@gavinbarron gavinbarron deleted the feat/full-screen-status branch January 30, 2024 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

[FEATURE] mgt-chat should have full screen status messages for different states
3 participants