ChatContext

ChatContext è la chat del team e l’assistenza clienti: canali pubblici e privati, messaggi diretti, messaggi diretti di gruppo e conversazioni di assistenza con i visitatori del sito. I messaggi possono includere Markdown, reazioni con emoji, discussioni e allegati fino a 25 MiB. Il lettore nel browser è in sola lettura. Gli assistenti usano il client chatcontext.

Dentro questa app non c’è un modello. L’assistente di una persona usa l’account di quella persona. Un bot di assistenza può avere un proprio account ordinario, creato da un amministratore.

Conversazioni

flowchart TB
  channel[Canale<br/>pubblico o privato]
  dm[Messaggio diretto o di gruppo]
  support[Conversazione di assistenza]
  thread[Discussione]
  msg[Messaggio]
  file[Allegato protetto]
  note[Nota interna<br/>solo il team]

  channel --> thread --> msg
  dm --> thread
  support --> thread
  msg --> file
  support --> note

I nuovi membri di un canale vedono la cronologia esistente. L’appartenenza a un messaggio diretto di gruppo resta fissa. Canali privati e messaggi diretti richiedono l’appartenenza, anche per gli amministratori.

I visitatori dimostrano un’email con un codice monouso e poi vedono solo le proprie conversazioni di assistenza. I membri del team vedono ogni conversazione di assistenza e possono rispondere senza prenderne l’assegnazione. Un messaggio del visitatore riapre una conversazione risolta. I visitatori vedono un nome pubblico visualizzato (il predefinito è User), non le email degli account.

sequenceDiagram
  participant Visitor
  participant Chat as ChatContext
  participant Team as Membro del team

  Visitor->>Chat: codice email, poi un messaggio
  Chat-->>Team: la conversazione è visibile al team
  Team->>Chat: risposta, oppure una nota interna
  Note over Chat: il visitatore non vede la nota interna
  Visitor->>Chat: SQL o un aggiornamento non contano mai come "letto"
  Team->>Chat: conferma di lettura esplicita

Le letture SQL non confermano mai un messaggio. Le conferme di lettura nei messaggi diretti e nell’assistenza sono esplicite. Le modifiche dell’autore e l’eliminazione logica conservano un originale di audit.