You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
logger.Debug().Str("user_id", string(userID)).Str("target_user_id", string(targetUserID)).Msg("matrix: creating direct room")
167
+
logger.Debug().Str("user_id", string(userID)).Str("target_user_id", string(targetUserID)).Str("alias_key", aliasKey).Msg("matrix: creating direct room")
168
168
169
169
mc.cli.UserID=userID
170
170
req:=&mautrix.ReqCreateRoom{
171
-
Invite: []id.UserID{targetUserID},
172
-
Preset: "trusted_private_chat",
173
-
IsDirect: true,
171
+
Invite: []id.UserID{targetUserID},
172
+
Preset: "trusted_private_chat",
173
+
IsDirect: true,
174
+
RoomAliasName: aliasKey,
174
175
}
175
176
resp, err:=mc.cli.CreateRoom(ctx, req)
176
177
iferr!=nil {
177
-
logger.Error().Str("user_id", string(userID)).Str("target_user_id", string(targetUserID)).Err(err).Msg("matrix: failed to create direct room")
178
+
logger.Error().Str("user_id", string(userID)).Str("target_user_id", string(targetUserID)).Str("alias_key", aliasKey).Err(err).Msg("matrix: failed to create direct room")
178
179
returnnil, err
179
180
}
180
181
181
-
logger.Info().Str("user_id", string(userID)).Str("target_user_id", string(targetUserID)).Str("room_id", string(resp.RoomID)).Msg("matrix: direct room created")
182
+
logger.Info().Str("user_id", string(userID)).Str("target_user_id", string(targetUserID)).Str("alias_key", aliasKey).Str("room_id", string(resp.RoomID)).Msg("matrix: direct room created")
logger.Debug().Str("acting_user", string(actingUserID)).Str("target_user", string(targetUserID)).Str("room_id", string(entry.RoomID)).Msg("existing DM room found in cache")
338
-
returnentry.RoomID, nil
339
-
}
340
-
if!strings.HasPrefix(string(targetUserID), "@") {
341
-
logger.Warn().Str("acting_user", string(actingUserID)).Str("target_user", string(targetUserID)).Msg("invalid target user ID format")
342
-
return"", ErrInvalidRecipient
359
+
// Search between existing rooms
360
+
logger.Debug().Str("key", key).Msg("Searching for direct room with alias")
logger.Error().Str("acting_user", string(actingUserID)).Str("target_user", string(targetUserID)).Err(err).Msg("failed to create direct room")
350
372
return"", err
@@ -357,15 +379,7 @@ func (s *MessageService) ensureDirectRoom(ctx context.Context, actingUserID, tar
357
379
return"", fmt.Errorf("join room as target user: %w", err)
358
380
}
359
381
360
-
entry:=mappingEntry{
361
-
Number: key, // Use the combined key for internal storage
362
-
MatrixID: string(targetUserID),
363
-
RoomID: resp.RoomID,
364
-
UpdatedAt: s.now(),
365
-
}
366
-
entry=s.setMapping(entry)
367
-
logger.Info().Str("acting_user", string(actingUserID)).Str("target_user", string(targetUserID)).Str("room_id", string(resp.RoomID)).Msg("direct room created and cached")
0 commit comments