fix: preserve group member user ids
This commit is contained in:
+1
-2
@@ -6064,8 +6064,7 @@ func groupMemberSettingsPayload(sub *types.Subscription) map[string]any {
|
||||
|
||||
func groupMemberPayload(sub types.Subscription, mentionable bool) map[string]any {
|
||||
access := sub.ModeGiven & sub.ModeWant
|
||||
userID := types.ParseUserId(sub.User)
|
||||
user := &types.User{ObjHeader: types.ObjHeader{Id: userID.String()}, Public: sub.GetPublic(), Trusted: sub.GetTrusted()}
|
||||
user := &types.User{ObjHeader: types.ObjHeader{Id: sub.User}, Public: sub.GetPublic(), Trusted: sub.GetTrusted()}
|
||||
data := userSummaryPayload(user, "")
|
||||
if private := groupPrivateMap(sub.Private); stringFromAny(private["nickname"]) != "" {
|
||||
data["group_nickname"] = stringFromAny(private["nickname"])
|
||||
|
||||
@@ -2881,6 +2881,28 @@ func TestServeIMGroupMembers(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestGroupMemberPayloadUserIDFormats(t *testing.T) {
|
||||
raw := types.Uid(101)
|
||||
fromRaw := groupMemberPayload(types.Subscription{
|
||||
User: raw.String(),
|
||||
ModeWant: types.ModeJoin,
|
||||
ModeGiven: types.ModeJoin,
|
||||
}, true)
|
||||
if fromRaw["user_id"] != raw.UserId() {
|
||||
t.Fatalf("raw uid user_id: got %#v, want %s", fromRaw["user_id"], raw.UserId())
|
||||
}
|
||||
|
||||
prefixed := types.Uid(102)
|
||||
fromPrefixed := groupMemberPayload(types.Subscription{
|
||||
User: prefixed.UserId(),
|
||||
ModeWant: types.ModeJoin,
|
||||
ModeGiven: types.ModeJoin,
|
||||
}, true)
|
||||
if fromPrefixed["user_id"] != prefixed.UserId() {
|
||||
t.Fatalf("prefixed uid user_id: got %#v, want %s", fromPrefixed["user_id"], prefixed.UserId())
|
||||
}
|
||||
}
|
||||
|
||||
func TestServeIMGroupMemberProfile(t *testing.T) {
|
||||
ctrl := gomock.NewController(t)
|
||||
defer ctrl.Finish()
|
||||
|
||||
Reference in New Issue
Block a user