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

DO NOT MERGE - DEMO #3187

Closed
wants to merge 160 commits into from
Closed

DO NOT MERGE - DEMO #3187

wants to merge 160 commits into from

Conversation

gavinbarron
Copy link
Member

Closes

PR Type

Description of the changes

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

gavinbarron and others added 30 commits March 9, 2023 15:31
setup library and test app skeleton for chat
add a list of chats for selection in sample app
load chat thread into the Chat component
adds ability to send messages 
adds error handling and resend message send behaviors
updates sample app readme start instructions
add edit message capability
add delete message support
adds support for change notifications via signalr
adds styling to constrain chat to its parent container
rename MgtChat component to Chat for consistency with other mgt-react components
change styling to use fluentui mergeStyles
expanded title bar and added styled edit icon button
adds component to see current chat members
adds action button to add user to chat
adds action button to leave chat
adds remove a chat member action
adds system messages for user add and remove actions
adds icons to users add/remove system messages
adds an approval dialog to the remove member action
adds a confirmation dialog to leave conversation flow
adds react linting rules, added tsx to linted files
adds placeholders to messages wtih images stored in graph
reworks message loading flow to allow for synchronous and asynchronous message composition
adds check to prevent leaving a group conversation of less than 3 members
adds a NewChat component
refactors some common code to util functions


Co-authored-by: Musale Martin <martinmusale@microsoft.com>
add rename chat component
adds support for basic emoji handling when received via change notification
exports config object for graph notifications to allow for applications to supply their own GNB url and appId
* Adding the basic Chat docs

* Update aka.ms link for components docs
Adding the Chat components
Removing random text from the Chat component
updates dependencies for spfx to v1.17.4 and other package versions as set by yeoman generator
fixes no-hoist entries
fixes office ui css import paths
Change heading color to increase contrast
Update the agenda background color

---------

Signed-off-by: Martin Musale <martinmusale@microsoft.com>
Co-authored-by: Martin Musale <martinmusale@microsoft.com>
Co-authored-by: Nickii Miaro <miaronkirote@gmail.com>
musale and others added 27 commits November 13, 2023 19:07
General updates to the left hand side of the chat component dimensions
Use margin from avatar for right hand side gap
Set the padding for ul elements in the chat message container
Remove unused id attributes
…2838)

* Update chat list behavior and look and feel

* Review comments

* Updating deps.

* refactor of resourceUrl calculation to common function

* refactor to ensure a proper name for the memoized component

---------

Co-authored-by: Gavin Barron <gavinbarron@microsoft.com>
turns on presence for avatars in the chat thread
Signed-off-by: Martin Musale <martinmusale@microsoft.com>
moves sessionId to be held in sessionStorage to provide a stable id for the lifetime of the browser tab
adds a transaction helper function to the CacheStore
uses transactions to ensure atomic read and update when updating subscription cache data
Set initial message to empty string to prevent it from initializing as undefined
Set the chatName to an empty string
Refactor the callback messages with minimal types
…dded message (#2882)

Filter out the initiator ID from the system usernames
Refactor initiator name to a variable and reuse
timers now use setTimeout on a worker rather than setInterval to ensure we don't get overlaps
Add an on by default refresh to presence on mgt-person
Adds a PresenceService to poll for presence and push presence to connected components via a pub/sub mechanism
Adds stories to show the new attributes on the mgt-person component.
* Update current tests for emojis in different positions

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Change emoji translation to standard HTML

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Use the fallback emoji transformation if no match is found

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Check for emoji content with other content and size appropriately

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Process multiple emojis in content and style them to be centered

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Add docs for the functions declared

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Add some tests for the rewriteEmojiContentToHTML functoin

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Change to use DOMParser to replace emoji content

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Update tests and remove dead code

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Update to use the DOMParser function

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Add documentation for new functions

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* rename rewriteEmojiContentToHTMLDOMParsing to rewriteEmojiContentToHTML

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Add test for emojis in multiple p tags

Signed-off-by: Martin Musale <martinmusale@microsoft.com>

* Fix prettier errors in test files

---------

Signed-off-by: Martin Musale <martinmusale@microsoft.com>
Co-authored-by: Gavin Barron <gavinbarron@microsoft.com>
Render an error when there are no messages for a chat
Update the StatefulGraphChatClient to set the notificationClient to avoid type errors due to an as yet incomplete promise in a void context
Disable the SendBox if there is no chatId
Refactor status into an exportable type
Downgrades @azure/communication-react to Use v1.8.0-beta.1 to fix missing beta imports
makes sessionId to be unique per component
makes groupId unique for a given chatId per browser instance
Use the latest acs react beta package
Fix adding people to conversation overlay
Use @fluentui/react-migration-v0-v9 List and ListItem
Add migrations shims and @fluentui/react-icons-northstar
sets up a provider model for getting Bot based data
refactor to create a base class for stateful clients
creates a new component for rendering chat avatars that can handle bots

fix: stop creating two instances of the notification client

fix: remove contenteditable attribute from emjoi html
@gavinbarron gavinbarron requested a review from a team as a code owner May 23, 2024 15:05
Copy link
Contributor

Thank you for creating a Pull Request @gavinbarron.

This is a checklist for the PR reviewer(s) to complete before approving and merging this PR:

  • I have verified a documentation PR has been linked and is approved (or not applicable)
  • I have ran this PR locally and have tested the fix/feature
  • I have verified that stories have been added to storybook (or not applicable)
  • I have tested existing stories in storybook to verify no regression has occured
  • I have tested the solution in at least two browsers (Edge + 1 non-Chromium based browser)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

7 participants