Новые аватары-персонажи, повсюду
Теперь каждый игрок получает дружелюбный портрет персонажа в стиле DiceBear v10 «adventurer» — в профиле, в таблице лидеров, в лобби и внутри игры.

Простыми словами
Раньше ваш аватар был абстрактным геометрическим узором. Теперь это настоящий маленький портрет персонажа — стиль DiceBear v10 «adventurer» — и он появляется везде, где есть ваше имя: в профиле, в таблице лидеров, в списке друзей, в лобби и теперь в самой игре — на панели игроков, в комнате ожидания и на экране результатов.
Ваш аватар генерируется из вашей учётной записи, поэтому на каждом экране это одна и та же картинка — узнаваемая с первого взгляда во время матча. Существующих игроков перевели автоматически; настраивать ничего не нужно.
Для тех, кому интересны детали
Каждый аватар засевается идентификатором пользователя через единственный хелпер, так что один и тот же id всегда даёт одну и ту же картинку — аватар в игре побайтово идентичен аватару профиля и переиспользует тот же кешированный запрос.
// apps/web/lib/avatar.ts
export const adventurerUrl = (seed: string) =>
`https://api.dicebear.com/10.x/adventurer/svg?seed=${seed}`;Миграция 0042 — это замена триггера регистрации «как есть» с двумя литералами avatar_url, поднятыми с 8.x/identicon до 10.x/adventurer, плюс однократный бэкафилл, обновляющий каждый существующий аватар DiceBear (людей, ботов и гостей; пользовательские аватары не трогаются). Применена на проде и проверена — все 35 профилей перешли на v10, и новые регистрации получают v10.
Поверхности с изображениями, которые и так читали avatar_url (верхняя панель, профиль, таблица лидеров, друзья), переключились без единого изменения кода — через бэкафилл. А внутриигровые поверхности и лобби и так держат id пользователя на клиенте, поэтому каждая вычисляет URL аватара локально — не нужно прокидывать карту через состояние игры. Изменять CSP не понадобилось; хост DiceBear уже был разрешён.
