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.
Notifications
Le client possède NotificationsListPopupControl, NotificationListItem et écoute NEW_NOTIFICATION. Certaines opérations de notification passent par les endpoints Web exposés dans BackEndBase (GetNotifications, SaveNotification) plutôt que par un Cloud Script BrainCloud classique.
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.