From 56b1a06b3b5b2f6442c81c7aeded156f673b1193 Mon Sep 17 00:00:00 2001 From: Nick Mills-Barrett Date: Tue, 20 Oct 2026 21:47:29 +0100 Subject: [PATCH] PLAT-39411 connector: return members from CreateGroup Without members, bridgev2 refetched chat info before Reddit had set the new group's chat type, so room creation failed with a 500 even though the group was created. Return the creator as joined and the participants as invited, with the group room type. Co-Authored-By: Claude Opus 5.5 --- pkg/connector/startchat.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkg/connector/startchat.go b/pkg/connector/startchat.go index b85d182..a62e5a6 100644 --- a/pkg/connector/startchat.go +++ b/pkg/connector/startchat.go @@ -9,6 +9,7 @@ import ( "maunium.net/go/mautrix/bridgev2" "maunium.net/go/mautrix/bridgev2/database" "maunium.net/go/mautrix/bridgev2/networkid" + "maunium.net/go/mautrix/event" "maunium.net/go/mautrix/id" ) @@ -117,11 +118,18 @@ func (r *RedditClient) CreateGroup(ctx context.Context, params *bridgev2.GroupCr if r.main.Bridge.Config.SplitPortals { portalKey.Receiver = r.userLogin.ID } + members := &bridgev2.ChatMemberList{MemberMap: make(bridgev2.ChatMemberMap)} + members.MemberMap.Set(bridgev2.ChatMember{EventSender: r.makeSender(userIDToMatrix(r.userID, "")), Membership: event.MembershipJoin}) + for _, mxid := range mxids { + members.MemberMap.Set(bridgev2.ChatMember{EventSender: r.makeSender(mxid), Membership: event.MembershipInvite}) + } return &bridgev2.CreateChatResponse{ PortalKey: portalKey, PortalInfo: &bridgev2.ChatInfo{ - Name: ptr.Ptr(params.Name.Name), - Type: ptr.Ptr(database.RoomTypeDefault), + Name: ptr.Ptr(params.Name.Name), + Type: ptr.Ptr(database.RoomTypeGroupDM), + Members: members, + CanBackfill: true, }, }, nil }