Chat
The documentation applies to: v0.8.0
Features list¶
We are trying to provide common features of chat below:
- Send text message
- Translate shortcut emotion in message to unicode emotion (ex:
:)
-> 😀 ) - Emotion picker (support only unicode)
- File attachment (limit size up to 16Mb)
- Display image in message box
There remaining features are scheduling:
- Detech link and display meta
- Support display attachment video
- Video call logs
-
Group
chat room
Design aspects¶
Before we are going down to this page, we need to know clearly some design aspects below:
Chat Room
: two or more users can be joined into one chat room. Chat room can have two typeDouble
orGroup
. Note:Group
isn't available yetChat Session
: each room can have multiple sesions which contain group of messages, default maximum number of messages per session is 50Attachment File
: each attachment file will be uploaded into LET Portal via File service.- By default, LET Portal will create new one chat session when the current session reachs maximum messages
- All alive chat rooms will be stored in one
singleton ChatContext
before persisting to Database. Technically, scale-out can't be applicable and cache in-memory is used.
Chat Capacity¶
Due to simple Portal's requirement, Chat function is provided to support users communicate via LET Portal with less features than any Chat software in a market. Thus, the capacity is stricted to one VM and scale up
is applicable. We also hard code settings below:
Option | File | Description | Default |
---|---|---|---|
MaximumSessionsPerChatRoom |
src\web-apis\LetPortal.ServiceManagementApis\Files\Chat\v1.0\appsettings.json | Maximum number of sessions can be cached in ChatContext |
5 (disappear in appsettings.json) |
ThresholdNumberOfMessages |
src\web-apis\LetPortal.ServiceManagementApis\Files\Chat\v1.0\appsettings.json | Maximum number of messages in one chat session | 50 (disappear in appsettings.json) |
Allow attachment file types | src\web-portal\src\environment\environment.ts | List of file types are allowed to upload | jpg;jpeg;gif;png;zip;rar;doc;docx;xls;xlsx;pdf |
Maximum attachment file size | src\web-portal\src\environment\environment.ts | Maximum upload size | 16Mb |