«По душе» · 25 сентября 2026

32 правки по вашему списку

Все 32 замечания из бота разобраны, исправлены и проверены. Ниже что было не так, что сделали, где проверили и какие решения нужны от вас. Серверные правки уже работают на тестовом стенде dusha.

Что поставить

iPhone TestFlight, приложение «По душе iCloud». Обновление придёт само. версия 0.2.0, сборка 260925.2326
2326сборка
Android Скачать APK, 85 МБ, с российского стенда. 0.2.0-260925.2332
2332сборка

Обе сборки собраны из одного и того же кода. В них все 32 правки, исправленный на iPhone выбор места булавкой (п.3), личный чат и подписка на человека. Предыдущие сборки 2150 и 2156 можно не ставить.

Коротко

32 из 32исправлены и проверены на Android
17из них проверены и на iPhone
622 из 624кадров сверки с макетом совпали до пикселя, ещё 2 значка стали ближе к макету
373 + 1807автотестов приложения и сервера, все зелёные

Каждый пункт помощник воспроизвёл, исправил и проверил глазами по снимкам, сверяя с Figma. Итоговую Android-сборку я поставил на эмулятор и прошёл основные экраны: вход, карта, «Рядом», фильтры и районы, «Афиша города», подборка, событие, профиль, «Кто может видеть», колода. Падений нет.

По пунктам

Карта и фильтры

1

Чип «Рядом» не показывал расстояние DUSHA-131

Теперь на чипе «Рядом · до 10 км», как в макете. Для самого большого значения «Рядом · 100+ км».

Учтите: на iPhone нужна включённая геолокация, без неё приложение пишет «Не удалось определить местоположение».

Android ✓iPhone ✓
2

Районы нового города появлялись через полминуты DUSHA-132

Причина: сервер пускал не больше 60 запросов в минуту с одного адреса и отбивал лишние, приложение ждало. К тому же список Москвы отвечал почти 3 секунды.

Сделали: лимит теперь считается на человека, районы отдаются отдельным быстрым запросом, приложение помнит районы каждого города и сразу убирает старые. Москва: было 2,8 с, стало 0,3 с, повторно мгновенно.

Android ✓iPhone ✓
3

Не было выбора своего места булавкой DUSHA-133

Нажатие на мини-карту в фильтрах открывает «Где вы находитесь?». Двигаете карту под булавкой, адрес меняется, «Выбрать это место» ставит точку для «Рядом». Точка в другом городе меняет и город фильтров.

Нашёл на финальной проверке: на iPhone адрес появлялся только после сдвига карты, а до этого «Выбрать это место» не срабатывало. Исправил, в новых сборках адрес виден сразу.

Android ✓iPhone ✓
4

У «Периода» не было значка календаря DUSHA-134

Значок есть у «Периода» в фильтрах и у чипа с датами, как в макете.

Android ✓iPhone ✓
6

При отдалении карты события не собирались в категории DUSHA-136

При отдалении события собираются в пузыри категорий со значком и числом: «Творчество 49+», «Музыка 3+».

Android ✓iPhone ✓
8

Период 3–9 октября показывал события сентября DUSHA-138

Причина: выставка пришла из источника одним длинным сеансом с 20 сентября по 29 октября, и лента подписывала её датой начала.

Сделали: длинный сеанс больше не подменяет настоящие даты, страница события открывается с тем же сеансом, что в списке. Заодно события на весь день показываются без «00:00», и исправлено время «24:00».

Android ✓iPhone не смотрели
31

В некоторых городах не было районов DUSHA-161

Причина: районы были заведены только для Москвы.

Сделали: загрузили районы 62 городов, всего 310 районов, из открытых карт OpenStreetMap и привязали к ним события и площадки. В чипе одно слово: «Центральный». В профиле видны все районы города, даже без событий.

Воронеж: 5 районов в фильтрах и профиле, «Центральный» даёт 31 событие.

Android ✓iPhone ✓

Поиск и лента

5

Чипы поиска стояли и работали не по макету DUSHA-135

Набор чипов как в макете: Спорт, Семья, Музыка, Питомцы, Прогулки. Нажатие вписывает название в поле и показывает события этой категории. Появились недавние запросы.

Android ✓iPhone не смотрели
7

«Просмотр по интересам» не по макету DUSHA-137

Два ряда чипов, листаются вбок вместе.

Android ✓iPhone не смотрели
17

Стрелка «Афиша города» никуда не вела DUSHA-147

Сделали страницу по макету: разделы, подборки с подпиской и раздел «Занятия и услуги» с 9 категориями. Подписка на подборку и занятия работают на сервере, как вы решили.

Учтите: в Москве сейчас 777 занятий, а в Воронеже источники занятий не дают, поэтому раздела там не видно.

Android ✓iPhone ✓

Чат и фото

10

Фото в чате вытянуты, прикрепить можно только одно DUSHA-140

Квадратные плитки по две в ряд, при нечётном числе последняя широкая, как в макете. За раз можно выбрать до 5 фото.

На iPhone выбор нескольких фото идёт через тот же системный выбор, что в форме события (п.18), его я проверил. Сам чат на iPhone не смотрели.

Android ✓iPhone частично
11

В просмотре фото не было увеличения и листания DUSHA-141

Увеличение двумя пальцами и двойным тапом, сдвиг увеличенного фото, листание свайпом, счётчик и миниатюры.

Android ✓iPhone не смотрели
18

Фото в форме события: ряд не листался, по одному за раз DUSHA-148

Ряд листается, в конце плитка «Добавить», всего до 10 фото, можно выбрать несколько сразу. Публикацию события с несколькими фото отдельно не проверяли.

Android ✓iPhone ✓
22

В QR стоковое фото, в приложении зашитые фото DUSHA-152

В центре QR обложка события. Убрали зашитые фото чужих людей, например в «Поддержке» теперь силуэт. Мини-карты встают на свой город, а не на картинку Москвы. «Скидки партнёров» оставили как в макете, как вы решили.

Android ✓iPhone не смотрели
26

Эмодзи вместо загрузки фото DUSHA-156

Пока фото грузится, стоит мерцающая заглушка. У события без фото картинка из макета. На маркерах карты эмодзи тоже убрали.

Не проверяли аватары и вложения при очень медленной сети.

Android ✓iPhone ✓

Событие: организатор и участник

12

Окно «Отменить участие» почти прозрачное DUSHA-142

Окно на стекле с размытием, текст читается. «Отменить событие?» в управлении тоже по макету.

Android ✓iPhone ✓
14

Нельзя добавить свой вопрос для записи DUSHA-144

Вопросы хранятся на сервере: добавить, удалить, поменять порядок. Участник отвечает при записи, организатор видит ответы и контакты.

Android ✓iPhone не смотрели
15

«Только с подтверждением» не работал DUSHA-145

Запись идёт заявкой, организатор одобряет. По вашему решению в опубликованном событии можно менять дату, цену, видимость и место, записавшимся приходит уведомление «Событие изменилось».

Android ✓iPhone не смотрели
16

«Пожаловаться» не по макету DUSHA-146

9 причин сразу под заголовком, потом шаг «Расскажите, что произошло». Текст жалобы теперь доходит до модератора, раньше он терялся. Лист поднимается над клавиатурой.

Android ✓iPhone не смотрели
23

Онбординг управления: кнопка листала вместо закрытия DUSHA-153

4 слайда по макету, листаются свайпом, кнопка закрывает, лист можно стянуть вниз.

Android ✓iPhone не смотрели
24

Полный разбор событий со стороны организатора и участника DUSHA-154

Нашли и исправили: отменённое событие открывалось с ошибкой, теперь «Событие отменено». Отменённые пропали из «Куда иду» и «Моих событий». Организатору приходит уведомление, когда участник отменяет запись. Страница обновляется сразу после одобрения и записи. Скрытый адрес больше не показывает Москву. «Поделиться» отдаёт ссылку. Правка события не затирает черновик нового.

Не проверяли: платные события (у тестовых аккаунтов нет права на них), прошедшие события, iPhone. Что требует вашего решения, ниже.

Android ✓iPhone не смотрели
28

Не открывался профиль организатора и автора сообщения DUSHA-158

Строка «Организаторы» открывает профиль человека, имя полностью, как в макете. Имя и фото автора в чате тоже открывают профиль.

Android ✓iPhone не смотрели
29

Список участников без имён DUSHA-159

В строках «Анна П.», фото, район и общие интересы. «Исключить» и «Одобрить» работают.

Android ✓iPhone не смотрели

Профиль и колода

9

Подписка на тему не попадала в «Мои интересы» DUSHA-139

Подписка на тему добавляет её в «Мои интересы», число подписчиков меняется на сервере. Отписка нажатием на «Вы подписаны». Проверили 6, 7, снова 6.

Android ✓iPhone не смотрели
25

В карточке события только одна фотография DUSHA-155

Сборщики теперь забирают галереи, у 10 730 событий их по несколько. В колоде полоски-сегменты и листание касанием половин карточки, на странице события свайп с точками.

Учтите: в Воронеже источники дают по одному фото. Галереи видно в Москве, Петербурге, Казани, например «Иван Половинкин. Сольный концерт» с пятью фото.

Android ✓iPhone ✓
27

Колода: не было подсветки по направлению свайпа DUSHA-157

Вправо зелёная, влево красная, сила растёт вместе со сдвигом, как в макете.

Android ✓iPhone не смотрели
30

В профиле нет «Куда иду» и «Похожих интересов» DUSHA-160

Плитка «Куда иду» как в макете, по вашему решению. Блок «Похожие интересы» показывает людей вашего города с общими интересами.

Учтите: блок появляется, только когда такие люди есть. На тестовом стенде они есть в Москве, в Воронеже пока никого.

Android ✓iPhone ✓ плитка
32

«Кто может видеть» и «Кто может писать» не по макету DUSHA-162

Выпадающие списки и тексты из макета, выбор хранится на сервере и переживает перезапуск.

Android ✓iPhone ✓

Общие элементы и форма события

13

Из трёх интересов в форме видно два DUSHA-143

Ряд интересов листается вбок, видны все.

Android ✓iPhone ✓
19

Барабаны не докручивались и не давали вибрацию DUSHA-149

Барабан встаёт на ближайшее значение и щёлкает вибрацией на каждой строке. На эмуляторе вибрацию не почувствовать, вызов виден в журнале. Вид барабана даты из макета не меняли, это вопрос ниже.

Android ✓iPhone ✓
20

Шторки не закрывались свайпом вниз DUSHA-150

Один общий компонент для всех шторок: тянется вниз с любого места и закрывается, короткая протяжка возвращает лист на место.

Руками проверили фильтры, место, дату, радиус, районы, промо и «Повысьте доверие». Остальные листы на том же компоненте, но отдельно их не открывали.

Android ✓iPhone ✓
21

Вместо названия места координаты DUSHA-151

«Выбрать это место» ждёт адрес, если он не нашёлся, пишет «Не удалось определить адрес». Координаты никуда не попадают.

Android ✓iPhone ✓

Ваше сообщение про подписку и личный чат

Подписка на человека. На сервере она сохранялась, но счётчик «Подписчики» не менялся до повторного входа в профиль, и казалось, что подписка не прошла. Теперь сразу «Вы подписаны», «Подписчики» +1 и подсказка «Вы подписаны». В своём профиле «Подписки» и «Подписчики» тоже больше не нули. DUSHA-163

Личный чат. Раньше «Написать» просто открывала вкладку «Чаты». Теперь открывается переписка по макету: шапка с фото, именем и районом, сообщения и фото в обе стороны, галочки «прочитано». Чат виден во «Все» и «Личные», в «По любви» не попадает. Если у человека в «Кто может писать» стоит «Никто», приложение пишет «Пользователь ограничил, кто может ему писать». Заголовок экрана «Чат события» взят из макета. DUSHA-164

Проверено на Android тремя тестовыми аккаунтами и на iPhone: сообщение с iPhone дошло второй стороне, подписка переключается сразу. Обе правки есть в сборках ниже.

Android ✓iPhone ✓

Нужны ваши решения

  1. Барабан даты по макету, с окном над выбранной строкой. Сейчас барабан докручивается и щёлкает, но выглядит по-старому. Работы на 3–4 часа.
  2. Приглашения на событие. В макете есть, в приложении нет. Средняя работа.
  3. Соорганизаторы и роли. Сейчас команда события хранится только в телефоне. Крупная работа.
  4. Лист ожидания, когда мест нет. Экрана в макете нет. Делать без макета или ждать дизайн?
  5. Заявка сгорает через сутки без предупреждения участнику. Оставить так или предупреждать?
  6. «Похожие интересы» и видимость. Блок показывает всех, у кого «Кто может видеть: Все», а это стоит по умолчанию. 12 августа решали, что людей находят только через общие события. Оставить блок как в макете или показывать человека только после его согласия?
  7. Подборки «Афиши города» собраны один раз. Пересобирать их автоматически, например раз в сутки?
  8. «Кто может писать» и начатая переписка. Сейчас настройка запрещает только начать переписку. Уже начатая остаётся открытой, иначе человек не сможет ответить на сообщение. Так устраивает?
  9. Пуши о личных сообщениях. В «По душе» не подключён приём пушей, их сейчас получает только приложение «По любви». Делать отдельной задачей? Средняя работа: приём пушей на обоих телефонах и доработка сервиса чатов.

Полезно знать

  • Серверные правки работают только на тестовом стенде dusha. На основной сервер их выкатывает Вадим.
  • «Похожие интересы» и галереи фото проще всего смотреть, выбрав в фильтрах Москву: там есть данные.
  • Подпись «Подписчика» после числа не склоняется, так написано в макете.
  • В макете опечатка «Приватность и безопастность», в приложении стоит так же. Можно поправить в макете, тогда поправим и в приложении.
  • Окно «Нет доступа» к камере или геолокации по макету стеклянное, у нас тёмно-серое. В ваш список оно не входило, не трогали.
  • Чат отменённого события остаётся в списке «Чаты» и пишет «Чат еще пустой, напиши сообщение», хотя поля ввода там нет. Нашёл при проверке, это отдельная мелкая правка.
  • Во время проверки один раз упала карта на Android при переходе со страницы события в управление. Повторить не удалось, следим.
  • В очереди модерации лежит тестовая жалоба помощника на отменённое тестовое событие, её можно отклонить. В Москве в «Афише города» может попасться тестовое событие «Ktor proverka» от 24 сентября.
  • В трекере 8 похожих карточек от Нихромова: DUSHA-121, 123, 124, 125, 127, 128, 129, 130. Они пересекаются с этим списком, решите, закрывать ли их.
Для команды: код, выкаты, данные

Код: ветка integration/dusha-bot-2026-09-25, в ней ветки помощников fix/dusha-0925-afisha-map, -search-feed, -chat-photos, -event-manage, -kit-sheets, -profile-deck правка iPhone-карты d90a3596 и личный чат fix/dusha-0925-direct-chat. Сборки 2326 и 2332 собраны из 24989ca9. На GitHub не отправлено.

Сервер: 16 выкатов на стенд dusha 25.09 с 17:15 до 20:52 по Москве, перед каждым копия для отката в /root/backups/pre-<тег>-<время>. Миграции events 0049–0066, включая склейки 0061–0066; миграции шли до кода. Личный чат: сервис чатов 22:29 (alembic f3b9c2d17a45), Django 22:34.

Данные стенда: районы 62 городов (import_city_districts, backfill_districts), галереи у 10 730 событий, пересчёт категорий занятий.

Проверки: сверка кадров макета против сборки 4a8d5e52 — 622 из 624 бит в бит (один после пересъёмки чёрного кадра), 2 значка ближе к рендеру; тесты приложения 373, Django 1807, сервис чатов 6.