Package com.axelor.ai.chat.stream
Class ChatPresence
java.lang.Object
com.axelor.ai.chat.stream.ChatPresence
Cluster-wide "who has which chat open": one entry per (room, user, session), refreshed by the
client's ~25s re-JOIN heartbeat and expiring shortly after it stops — dead sessions (no close
frame) self-heal within one TTL. Shared by the websocket channel (facepile pushes) and the
pending-call expiry (initiator-gone detection).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordCache value: what the client's Avatar needs (image with initials fallback). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanTrue when any of the user's sessions has the chat open.presentUsers(String roomKey) The room's present users: code → user ref, stable order.voidput(String roomKey, String sessionId, ChatPresence.PresentUser user) voidstatic String
-
Constructor Details
-
ChatPresence
@Inject public ChatPresence(com.fasterxml.jackson.databind.ObjectMapper mapper)
-
-
Method Details
-
roomKey
-
put
-
remove
-
presentUsers
The room's present users: code → user ref, stable order. -
isPresent
True when any of the user's sessions has the chat open.
-