Skip to content

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

Chat sample

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 type Double or Group. Note: Group isn't available yet
  • Chat Session: each room can have multiple sesions which contain group of messages, default maximum number of messages per session is 50
  • Attachment 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