Closed mlangguth closed 2 months ago
Möglicherweise habe ich die Antwort selbst gefunden. Immer diese Newbies 😉. Gerne bestätigen, ob ich richtig liege:
Nach eine "/leave" hat der User weiterhin das Recht die Events des Raums abzurufen, bis zu dem Zeitpunkt, an dem er den Raum verlassen hatte. Die Events werden bei /sync weiterhin an den Client geliefert. Er mit "/forget" wird der Raum aus der Historie des Clients gelöscht, die Events dieses Raums werden dann auch nicht mehr mit einem "/sync" geliefert.
Richtig?
Vermutlich bin ich darüber gestolpert, dass "meine" matrix-clients (elements und nheko) beim Verlassen eines Raums auch immer gleich ein forget auslösen. Zumindest verschwinden Raume mit status "leave" durch Verlassen oder Kick direkt aus der Raumliste des Clients...
Die /forget
Funktion ist leider sehr fehlerhaft spezifiziert in Matrix. Sagen wir mal, Räume werden erst lokal gelöscht und vergessen, wenn der Nutzer dies explizit auslöst. Dann bekommen alle anderen Clients dieses Auslösen nicht mit. Der sync bietet keine Funktionalität, diese Info an andere Clients weiterzuleiten. Deshalb vergessen die meisten Matrix-Clients bei einem /leave
den Raum sofort (oder nach einem Neustart). matrix-docker-ansible-deploy
hat sogar per default eingestellt, dass ein /leave
zu einem automatischen /forget
auf dem synapse-Server führt.
Danke für die Info.
Hm. Was machen wir dann mit der Notwendigkeit der Archivierungsfunktion auch nach /leave
(durch eigenes Verlassen oder Kick)?
Haben wir da noch ein zu lösendes Problem?
matrix-docker-ansible-deploy
hat sogar per default eingestellt, dass ein/leave
zu einem automatischen/forget
auf dem synapse-Server führt.
Ich glaube der Hauptgrund ist eventuell eher die Wirtschaftlichkeit als die UX?
Hm. Was machen wir dann mit der Notwendigkeit der Archivierungsfunktion auch nach /leave (durch eigenes Verlassen oder Kick)?
Die aktuelle Afo interpretiere ich so, dass man Chatverläufe, die man am Client einsehen kann auch exportieren können MUSS. Daraus folgt meiner Meinung nach nicht, dass Chatverläufe auch über das Verlassen eines Raumes hinaus am Client vorgehalten werden müssen denn sonst wäre der Client selbst quasi das Archivsystem.
Wir werden uns demnächst mit dem Thema Bots befassen, so dass ich erwarten würde, dass der Anschluss von Archivierungssystemen in der Spezifikation noch weiter konkretisiert wird.
Danke.
Wir werden es nun mit einer expliziten Unterscheidung zwischen /leave
und /forget
umsetzen, damit die Inhalte der Räume, an denen man einmal teilgenommen hat aber aktuell nicht weiter teilnehmen will (oder darf) für den Nutzer erhalten bleiben.
Hallo,
gemäß Client-Spec Kap. 5.4.15 "MUSS der TI-Messenger-Client sicherstellen, dass Chatverläufe aus dem TI-Messenger-Client extrahiert werden können,". Wenn der User aber aktiv aus dem Raum entfernt wurde (kick), hat der User und damit sein TIM-Client keinen Zugriff mehr auf die Events des Raums. Möglicherweise hält der Client noch lokale Kopien (eines Teils) der Raumevent - möglicherweise diese TIM-Client-Session aber nicht. Wie soll der TIM-Client dann sicherstellen, dass Chatverläufe an denen der User teilgenommen hat, extrahier werden können?