resolveChatThreadStatus function

ChatThreadStatusState resolveChatThreadStatus({
  1. required RoomClient room,
  2. required String path,
  3. String? agentName,
  4. ChatThreadStatusState? previous,
})

Implementation

ChatThreadStatusState resolveChatThreadStatus({
  required RoomClient room,
  required String path,
  String? agentName,
  ChatThreadStatusState? previous,
}) {
  final candidates = <Participant>[
    if (agentName != null)
      ...room.messaging.remoteParticipants.where((participant) => participant.getAttribute("name") == agentName)
    else
      ...room.messaging.remoteParticipants,
  ];
  final messageStatusStore = _agentThreadMessageStatusStore(room);
  return resolveChatThreadStatusFromStore(
    store: messageStatusStore,
    path: path,
    previous: previous,
    supportsAgentMessages: candidates.any(_supportsAgentMessages),
  );
}