Fix Telegram contact avatars in CRM list

This commit is contained in:
Ruslan Bakiev
2026-02-26 10:41:27 +07:00
parent 0f87586e81
commit ba3e5f7cac
3 changed files with 96 additions and 2 deletions

View File

@@ -120,6 +120,18 @@ function resolveContactMessageAudioUrl(message: {
return raw;
}
function resolveContactAvatarUrl(contact: {
id: string;
avatarUrl: string | null;
}) {
const raw = String(contact.avatarUrl ?? "").trim();
if (!raw) return "";
if (raw.startsWith(TELEGRAM_AUDIO_FILE_MARKER)) {
return `/api/omni/telegram/avatar?contactId=${encodeURIComponent(contact.id)}`;
}
return raw;
}
async function upsertContactInbox(input: {
teamId: string;
contactId: string;
@@ -484,7 +496,7 @@ async function getContacts(auth: AuthContext | null) {
.map((c) => ({
id: c.id,
name: c.name,
avatar: c.avatarUrl ?? "",
avatar: resolveContactAvatarUrl(c),
channels: Array.from(channelsByContactId.get(c.id) ?? []),
lastContactAt: c.messages[0]?.occurredAt?.toISOString?.() ?? c.updatedAt.toISOString(),
lastMessageText: c.messages[0]?.content ?? "",