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 messagenew_chat. - Logbook désynchronisé : vérifier
teamsLogbooks, puislogbook_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.