From c25aa1e86dd464103ba823d62e132b2c8de356c2 Mon Sep 17 00:00:00 2001 From: Gerardo Rodriguez Date: Mon, 26 Oct 2026 19:40:00 +0000 Subject: [PATCH] Show incoming typing for five seconds from receipt --- pkg/connector/activity.go | 9 ++------- pkg/connector/typing_test.go | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/pkg/connector/activity.go b/pkg/connector/activity.go index 294527c..a10faf8 100644 --- a/pkg/connector/activity.go +++ b/pkg/connector/activity.go @@ -153,7 +153,6 @@ func (gc *GMClient) parseActivity(msg groupme.PushMessage) ([]bridgev2.RemoteEve } var data struct { UserID groupme.ID `json:"user_id"` - Started int64 `json:"started"` Subject struct { ID groupme.ID `json:"id"` ChatID groupme.ID `json:"chat_id"` @@ -192,16 +191,12 @@ func (gc *GMClient) parseActivity(msg groupme.PushMessage) ([]bridgev2.RemoteEve } else if group, ok := strings.CutPrefix(msg.Channel(), "/group/"); ok { key = gc.portalKeyForGroup(groupme.ID(group)) } - timeout := time.Until(time.UnixMilli(data.Started).Add(5 * time.Second)) - if key.ID == "" || timeout <= 0 { + if key.ID == "" { return nil, true } - if timeout > 5*time.Second { - timeout = 5 * time.Second - } events = append(events, &simplevent.Typing{ EventMeta: simplevent.EventMeta{Type: bridgev2.RemoteEventTyping, PortalKey: key, Sender: bridgev2.EventSender{Sender: MakeUserID(data.UserID)}}, - Timeout: timeout, Type: bridgev2.TypingTypeText, + Timeout: 5 * time.Second, Type: bridgev2.TypingTypeText, }) case "read_receipt.create": subject := data.Subject diff --git a/pkg/connector/typing_test.go b/pkg/connector/typing_test.go index b09c4ae..90f8619 100644 --- a/pkg/connector/typing_test.go +++ b/pkg/connector/typing_test.go @@ -29,7 +29,7 @@ func TestIncomingTypingRoutesAndExpires(t *testing.T) { {"group", "/group/88", "9", 0, "group:88"}, {"DM", "/direct_message/9_20", "9", 0, "dm:9"}, {"future pulse", "/group/88", "9", -time.Minute, "group:88"}, - {"expired", "/group/88", "9", 6 * time.Second, ""}, + {"old pulse", "/group/88", "9", 6 * time.Second, "group:88"}, {"self", "/group/88", "20", 0, ""}, {"missing sender", "/group/88", "", 0, ""}, {"wrong DM sender", "/direct_message/9_20", "30", 0, ""},