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 {
|
func groupMemberPayload(sub types.Subscription, mentionable bool) map[string]any {
|
||||||
access := sub.ModeGiven & sub.ModeWant
|
access := sub.ModeGiven & sub.ModeWant
|
||||||
userID := types.ParseUserId(sub.User)
|
user := &types.User{ObjHeader: types.ObjHeader{Id: sub.User}, Public: sub.GetPublic(), Trusted: sub.GetTrusted()}
|
||||||
user := &types.User{ObjHeader: types.ObjHeader{Id: userID.String()}, Public: sub.GetPublic(), Trusted: sub.GetTrusted()}
|
|
||||||
data := userSummaryPayload(user, "")
|
data := userSummaryPayload(user, "")
|
||||||
if private := groupPrivateMap(sub.Private); stringFromAny(private["nickname"]) != "" {
|
if private := groupPrivateMap(sub.Private); stringFromAny(private["nickname"]) != "" {
|
||||||
data["group_nickname"] = 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) {
|
func TestServeIMGroupMemberProfile(t *testing.T) {
|
||||||
ctrl := gomock.NewController(t)
|
ctrl := gomock.NewController(t)
|
||||||
defer ctrl.Finish()
|
defer ctrl.Finish()
|
||||||
|
|||||||
Reference in New Issue
Block a user