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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
v1.1.2 — Профиль для диалогов (dialog_with_user)
Новое
Профили в диалогах: MaxUserProfileService теперь обрабатывает диалоги (chat_type = dialog), где getChatMembers недоступен («Method is not available for dialogs»). Для диалога источник полного профиля с аватаром — getChat() → dialog_with_user (собеседник); профиль пишется в max_users через тот же upsertFromMember(). Запись сохраняется только если собеседник входит в запрошенный список userIds.
Резолв типа чата (chatTypeFor()): тип берётся из реестра max_chats.chat_type; при неизвестном — getChat() с записью в реестр (whereNull('chat_type'), без перетирания известного значения). Работает и в refresh(), и в ensureAvatar() без явного chatId.
Кэш чатов (chatFor()): один вызов getChat() на chat_id в рамках прохода сервиса (chatCache), ошибки
логируются в max.log (code + message, без чувствительных данных).
Нет. Новое поведение затрагивает только диалоги; группы/каналы используют прежний путь через getChatMembers.
Затронутые сценарии
refresh() / ensureAvatar() для диалога: вместо getChatMembers — getChat() + dialog_with_user; для
неизвестного chat_type тип резолвится автоматически и сохраняется в реестр чатов.