Граф коммитов

3 Коммитов

Автор SHA1 Сообщение Дата
Edgar Lopez e15b0cac8c test for adapter working 2024-10-21 17:01:08 -07:00
Edgar Lopez cbd9d0bca2 magic done 2024-10-21 11:32:59 -07:00
xTEddie 43a229d160
Live Chat V2 Support (#77)
* Add liveChatVersion attribute

* Add LiveChatVersion enum

* Add ACSClient

* Install @azure/communication-common

* Install @azure/communication-chat

* Add guards for LiveChatVersion 2

* Add content key for backward compatibility

* Filter out customer messages on new message

* Add ChatClient in ACSClient & Add ChatThreadClient in ACSConversation

* Implement registerOnNewMessage & sendMessage

* Refactor to consume ACSClient APIs

* Implement getMessages

* Consume ACSClient.getMessages()

* Add ability to send typing event on LiveChatV2

* Add API to get participants

* Create participants mapping

* Add alias & flatten out message content

* Add ability to receive on agent end session event on LiveChatV2

* Add ACSParticipantDisplayName

* Add checks for LiveChatV2 messages

* Add alias

* Consume ACSClient's registerOnThreadUpdate method

* Implement rehydrate option on LiveChatV2 onNewMessage

* Add ability to receive typing event on LiveChatV2

* Send metadata

* Update @azure/communication-chat

* Fix typings

* Throw error on sending message failure

* Install amsclient

* Load AMSClient

* Add file attachment placeholder on Chat V2 for the moment

* Update @microsoft/omnichannel-amsclient package

* Fix typing

* Update @microsoft/omnichannel-amsclient

* Load AMSClient & ACSClient on v2 chats & IC3Client on v1 chats only

* Fix clients initialization order

* Add ACSEndpoint property

* Get environmentUrl from chat token response

* Add logic to poll messages before websocket has established connection to avoid missing messages

* Add installation steps on React Native

* Update @microsoft/omnichannel-amsclient

* Add StartChat ScenarioMarker on V2 Chats

* Add more scenario marker

* Add scenario markers

* Add OmnichanneMessage interface

* Add createOmnichannelMessage utility

* Use createOmnichannelMessage to create backward compatible messaging contracts

* Update @microsoft/omnichannel-amsclient

* Initialize AMSClient

* Convert Chats V2 attachments

* Update default message tags

* Support sending metadata

* Add default empty tags array

* Support upload file attachments on Chats V2

* Use common method to prevent incompatibility with other platforms

* Add protocol

* Add nullable check on metadata

* Install acs_webchat-chat-adapter

* Use specific messaging contract unique id

* Add unimplemented AMSFileManager

* Load ACSAdapter on Chats V2

* Implement AMSFileManager

* Rename ACSEndpoint to acsEndpoint & Use AMS endpoint from AttachmentConfiguration if any

* Fix onNewMessage() sending duplicate messages

* Convert ACSClient.getMessages() to OmnichannelMessage & Update conditions for Chats V2 for isSystemMessage() & isCustomerMessage()

* Fix tests

* Fix lints

* Invert if/else

* Fix lints

* Fix lints

* Fix lints

* Fix lints

* Fix lints

* Fix lints

* Add test

* Add test

* Add test

* Add test

* Add test

* Add test

* Add tests

* Add test

* Add tests

* Add tests

* Update test

* Add tests

* Update @microsoft/omnichannel-amsclient

* Update @microsoft/omnichannel-amsclient

* Revert @azure/communication-chat version which works on Web & React Native platforms & Use ACSAdapter via UNPKG CDN

* Set deliveryMode to undefined by default on Chats V2

* Fix test

* Update @azure/communication-common & @azure/communication-chat

* Add tests

* Add tests

* Add test

* Move file

* Move file

* Clean up

* Add tests

* Add ACSAdapter config

* Add ability to load custom ACSAdapter version or custom ACSAdapter CDN URL

* Add tests

* Add 'GetMessages' telemetry event

* Log ACSAdapter CDNURL in telemetry

* Add ACSChat & ACSCommon packages to log

* Fix syntaxes

* Add 'SendMessages' telemetry event

* Use ACSAdapter v0.0.30

* Move messaging related files to messaging folder

* Remove 'I' prefix on interfaces

* Organize imports

* Add jestSetup.js

* Add 'GetCurrentLiveChatContext', 'OnNewMessage', 'OnTypingEvent' telemetry events

* Add live chat version

* Add typing indicator middleware

* Update typing

* Update typing

* Update typing

* Send typing with custom display name

* Fix PreChat rendering when starting chat via live chat context

* Log AMSClient version in telemetry

* Update CHANGELOG.md

* Add tests

* Add tests

* Add test

* Add test

* Add test

* Add tests

* Add test

* Fix typo

* Update @microsoft/omnichannel-amsclient

* Add null checks

* Remove console errors

* Fix indentations

* Add test

* Add missing semicolon

* Use ACSChatMessageType

* Catch file attachment JSON parse errors & silence it

* Update comment

* Remove extra line

* Reorder imports

* Use live chat version 1 by default if not set

* Ignore polling errors

* Fix test

* Extract interfaces to files

* Remove extra line

* Add scenario types

* Move telemetry event markers to new file

* Create ACSClientLogger & ACSAdapterLogger

* Add test

* Initialize ACS loggers by default

* Add telemetry

* Consume ACS loggers

* Pass ACSClientLogger

* Add telemetry

* Pass ACSAdapterLogger

* Update typing to be more generic

* Add ability to specify custom scenario type

* Use ScenarioMarker in ACS loggers

* Use scenario marker methods

* Add scenario markers

* Use scenario markers

* Add set debug flag

* Pass telemetry object to scenario marker object in acs loggers

* Fix indentation

* Fix lint

* Track listeners & disconnect them when necessary

* Add tests

* Add disconnect event

* Fix lint

* Add telemetry on AMSFileManager

* Log data
2021-10-07 15:31:23 -07:00