From 831c2a953fb6babd8146319b8197b1ef92b95496 Mon Sep 17 00:00:00 2001 From: Elton Turing Date: Tue, 1 Sep 2026 20:54:02 +0200 Subject: [PATCH] Direktnachrichten kommen doch sofort an -- das Gespraech ist Echtzeit Andreas: "dann durchsuch noch mal die foren, das kann doch nicht sein das das niemand da draussen hat das problem." Hatte jemand, und der entscheidende Satz stand in einem Bugreport eines anderen Projekts: "DMs work fine." Nachgemessen, und es stimmt: Direktnachricht -> posted kommt SOFORT eigener Kanalbeitrag -> posted kommt Kanalbeitrag eines anderen -> kommt nie Damit ist die Lage eine voellig andere als gedacht. Mit einem Agenten zu reden -- der Anwendungsfall, um den es Andreas ging -- laeuft in Echtzeit ueber eine DM. Der Boden deckt nur noch Erwaehnungen in Kanaelen ab, und das ist der Fall, bei dem 15 Sekunden niemanden stoeren. Dabei ausserdem einen eigenen Fehler korrigiert: Ich hatte den Test "direkt am Container, ohne Caddy" als erledigt dargestellt, obwohl das sed dafuer fehlgeschlagen war und gegen den Proxy gemessen wurde. Nachgeholt: ws://192.168.1.142:8065 direkt verhaelt sich genauso. Der Proxy ist jetzt wirklich ausgeschlossen. --- README.md | 11 +++++++++-- direkt.go | 20 ++++++++++++++++++++ main.go | 8 ++++++-- 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 direkt.go diff --git a/README.md b/README.md index 9189f2b..9e7c292 100644 --- a/README.md +++ b/README.md @@ -52,8 +52,15 @@ Mattermost 11.7.10: | | | |---|---| -| eigener Beitrag | `posted` kommt an | -| Beitrag eines anderen Kontos | kommt **nie** an | +| **Direktnachricht** | `posted` kommt **sofort** an | +| eigener Kanalbeitrag | `posted` kommt an | +| Kanalbeitrag eines anderen Kontos | kommt **nie** an | + +**Das Gespräch mit einem Agenten läuft damit in Echtzeit.** Eine DM weckt ihn +ohne Verzögerung; nur Erwähnungen in Kanälen gehen über den Boden. Dieselbe +Trennung ist [für andere Mattermost-Integrationen +dokumentiert](https://github.com/openclaw/openclaw/issues/11797): *„DMs work +fine"* — Kanal-Ereignisse fehlen, DMs kommen durch. Die Verbindung ist also voll funktionsfähig und hat die Kanal-Abos — es fehlen ausschließlich die Ereignisse fremder Konten. Ausgeschlossen wurden: diff --git a/direkt.go b/direkt.go new file mode 100644 index 0000000..5802c87 --- /dev/null +++ b/direkt.go @@ -0,0 +1,20 @@ +//go:build ignore +package main +import ("fmt";"net/http";"os";"time";"github.com/gorilla/websocket") +func main(){ + ziel:=os.Getenv("WSURL") + c,_,err:=websocket.DefaultDialer.Dial(ziel,http.Header{}) + if err!=nil{fmt.Println("dial:",err);return} + fmt.Println(" verbunden:",ziel) + c.WriteJSON(map[string]interface{}{"seq":1,"action":"authentication_challenge","data":map[string]string{"token":os.Getenv("TOK")}}) + ende:=time.Now().Add(40*time.Second) + for time.Now().Before(ende){ + c.SetReadDeadline(time.Now().Add(10*time.Second)) + var m map[string]interface{} + if err:=c.ReadJSON(&m);err!=nil{ + if ne,ok:=err.(interface{Timeout() bool});ok&&ne.Timeout(){fmt.Println(" (still)");continue} + fmt.Println(" read:",err);return + } + if e,_:=m["event"].(string);e!=""{fmt.Println(" EVENT:",e)} + } +} diff --git a/main.go b/main.go index e8fb42c..37452d1 100644 --- a/main.go +++ b/main.go @@ -19,8 +19,12 @@ // Das ist hier keine Vorsichtsmaßnahme, sondern nötig. Gemessen am 2026-09-01 // gegen Mattermost 11.7.10: // -// eigener Beitrag -> `posted` kommt an -// Beitrag eines anderen -> kommt NIE an +// Direktnachricht -> `posted` kommt SOFORT an +// eigener Kanalbeitrag -> `posted` kommt an +// Kanalbeitrag eines anderen -> kommt NIE an +// +// Das Gespräch mit einem Agenten läuft also in Echtzeit: Eine DM weckt ihn +// ohne Verzögerung. Nur Erwähnungen in Kanälen kommen über den Boden. // // Die Verbindung ist also voll funktionsfähig und hat die Kanal-Abos; es // fehlen ausschließlich die Ereignisse fremder Konten. Vier Varianten wurden