Skip to main content

Chat, logbook, notifications et présence

Chat

_command/add_chat.js lit teams et chats, ajoute la ligne de chat, met à jour les données nécessaires, sauvegarde les deux documents puis envoie new_chat à l'équipe. get_chats.js lit le document chats.

sequenceDiagram
participant U as Unity
participant C as add_chat
participant T as teams
participant CH as chats
participant RTT as RTT
U->>C: AddChat(teamUid, message)
C->>T: getDocumentData
C->>CH: getDocumentData
C->>CH: append message
C->>T: save
C->>CH: save
C->>RTT: new_chat
RTT-->>U: refresh chat

Logbook

save_logbook.js écrit dans teamsLogbooks et envoie logbook_changed à l'équipe et au professeur. Le runtime commun est représenté par Logbook et exposé via TeamBaseController.Logbook.

Le système supporte aussi restauration d'historique et évaluation du logbook.

Présence

set_presence.js charge userDetails, puis simulation/activity afin de maintenir la présence dans le contexte courant. By Year ajoute les stubs de présence annuels pour l'évaluation.

lastChatTime

Le modèle équipe conserve LastChatTime; le backend expose SetLastChatTime afin que le client puisse distinguer les nouveaux messages.

Debug

  • Chat absent : vérifier chats, puis message new_chat.
  • Logbook désynchronisé : vérifier teamsLogbooks, puis logbook_changed.
  • Notification absente : vérifier si le flux concerné utilise RTT BrainCloud ou l'endpoint Web.
  • Présence erronée : vérifier heartbeat, userDetails et activité courante.