Март 2026

Релиз 03.03.2026 - 04.03.2026 (Для пользователей)

Обновления мобильного приложения (версия 4.1.61)

Добавили точное количество новых уведомлений

Что нового:

Мы вернули числовой счетчик уведомлений в мобильном приложении

Вместо просто красной точки теперь отображается точное количество непрочитанных сообщений - так вы сразу понимаете, сколько новых уведомлений вас ждёт

Как это работает:

image.png

Релиз 03.03.2026 - 04.03.2026 (Для поддержки)

Версия Веб-приложения: 4.1.74
Версия Мобильного приложения: 4.1.61


Исправление багов:
Описание бага Приложение Задача в Трекере
1

Ранее:

В форме ОВ можно было ввести невалидную дату. Окно могло создаваться с некорректной датой 

 

Теперь:

Валидация дат в ОВ исправлена. Невалидные значения корректно ловятся, а создание окна с некорректной датой блокируется

Веб-приложение ALLY-6303
2

Ранее:

При выборе периода в расчетном листе отображался выбранный диапазон + предыдущий день, из-за чего суммы могли выглядеть некорректно на устройствах с таймзоной, отличной от серверной.

 

Теперь:

Исправлена нормализация дат на сервере. Даты расчетного листа корректно отображаются строго внутри выбранного периода 

Веб-приложение ALLY-6388
3

Ранее:

Можно было получить две смены на один день с пересечением по времени на одной ТТ. Это происходило из-за race condition при создании смен через клик по ячейке и копировании, из-за чего в графике появлялись "двойные" смены и затем выходили отклонениями

 

Теперь:

Логику выделения и контекстного меню переработали и добавили защиту от race condition

Веб-приложение ALLY-5881
4

Ранее:

В логах сервера появлялись ошибки GraphQL при запросе changeLogAt:. Отправлялся запрос с пустым id

 

Теперь:

Добавили корректное условие пропуска запроса: changeLogAt не вызывается, если id отсутствует

Веб-приложение ALLY-6321
5

Ранее:

В логах появлялась GraphQL-ошибка при logout

 

Теперь:

Добавили защиту: logout вызывается только если refreshToken реально существует, запрос обернут в try/catch, а локальная очистка сессии выполняется всегда

Веб-приложение ALLY-6322
6

Ранее:

В панели "Настройки плана" при попытке отредактировать время начала/конца смены с клавиатуры значение не менялось. Курсор перемещался в конец поля, из-за чего нормальная правка времени была невозможна.


Теперь:

Исправили поведение полей. Время и даты редактируются с клавиатуры корректно

Веб-приложение ALLY-6480
7

Ранее:

Клиентская сборка могла подтягивать серверный .env, из-за чего конфигурация сервера оказывалась доступной в JavaScript-бандле

 

Теперь:

Сборка разделена на клиентскую и серверную: фронтенд использует только отдельные публичные переменные. Серверные секреты больше не попадают в клиентский код

Веб-приложение ALLY-6455
8

Ранее:

На Android приложение могло падать при открытии файла/изображения с ошибкой FileNotFoundException: open failed: ENOENT

 

Теперь:

Добавили обработку ошибок открытия/обрезки и загрузки файлов. Операции обернуты в try/catch, при недоступности файла приложение не падает, а показывает пользователю понятное сообщение

Мобильное приложение ALLY-5461
9

Ранее:

Если при подключении Сберчаевых сервис vv tips-api возвращал 500, МП просто закрывало диалоги и не показывало пользователю никакого сообщения

 

Теперь:

Добавили понятную обработку ошибок, пользователь видит сообщение об ошибке и рекомендацию обратиться на ГЛ

Мобильное приложение ALLY-6254
10

Ранее:

При открытии панели "Настройка пользователя" для некоторых пользователей на тестовом стенде возникала ошибка в консоли RangeError: Invalid time value

 

Теперь:

Исправлена конфигурация формы настроек пользователя. Данные с невалидными датами корректно обрабатываются, панель открывается без ошибки

Веб-приложение ALLY-6318
11

Ранее:

При разовом входе в через "Код в приложении" сообщение с кодом могло не отправляться, но сервер возвращал успех, и пользователь не видел ошибку

 

Теперь:

Сервер возвращает ошибку с причиной noPushTokens, а клиенту показывается понятное сообщение: "Пуш-уведомления не настроены. Откройте приложение на телефоне и попробуйте снова."

Веб-приложение / Мобильное приложение ALLY-6309


Технические задачи:
Описание задачи Приложение Задача в Трекере
1 Проведено обновление зависимостей мобильного приложения в рамках работы с техническим долгом Веб-приложение ALLY-5408
2 Проведена оптимизация шрифтов в веб-клиенте в рамках улучшения производительности и рекомендаций Lighthouse Веб-приложение ALLY-6410
3 Настроено полноценное локальное окружение для разработки на базе Docker. Добавлены PostgreSQL, Redis и сопутствующие сервисы для полноценного локального запуска приложения. Проект переведен на Node.js 24, исправлены миграции и сборка, удалены устаревшие зависимости и конфигурации. Веб-приложение ALLY-5482
4 Реализован механизм фоновой предзагрузки данных. Также для форм добавлена поддержка истории изменений с возможностью просмотра предыдущих версий и реализовано кеширование данных форм для более быстрого повторного открытия. Веб-приложение

ALLY-5117

ALLY-5121

5 Проведена оптимизация производительности мобильного приложения. Пересмотрено использование useMemo, useCallback и memo Мобильное приложение ALLY-3351
6 Мобильное приложение переведено с облачных EAS credentials на локальные ключи Мобильное приложение ALLY-6316
7 Настроена автоматическая загрузка сборок мобильного приложения в Google Play и App Store, с поддержкой тестирования через TestFlight и Internal App Sharing. Реализован собственный механизм нумерации билдов с единым номером для Android и iOS Мобильное приложение ALLY-5382
8 В мобильном приложении реализована полная поддержка синтаксиса Yandex Flavored Markdown в уведомлениях Мобильное приложение ALLY-6344
9 Оптимизирована загрузка формы редактирования пользователя для роли “Помощник розницы" Мобильное приложение ALLY-6466
10 Оптимизирована загрузка формы редактирования выхода для роли “Помощник розницы” Мобильное приложение ALLY-6465
11 Чтение выходов в приложении переведено с таблицы userEvents на таблицу events по полю userId Веб-приложение ALLY-5822

Релиз 17.03.2026 - 18.03.2026 (Для пользователей)

Обновления веб-приложения (версия 4.1.75)

Добавили отчет о закрепленных к помощнику розницы сотрудниках

Что нового:

В приложении появился новый отчет, который показывает сотрудников, закрепленных за помощником розницы

Как это работает:

image (1).png



image (2).png

Обновления мобильного приложения (версия 4.1.62)

Обновили отображение ошибки при создании дубля окна возможностей

Что нового:

Мы обновили экран ошибки, который появляется при создании дублирующего окна возможностей в мобильном приложении

Как это работает:

image.png

Сделали календарь смен удобнее

Что нового:

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

Как это работает:

      image.png                        ANlimage.png

 

Релиз 17.03.2026 - 18.03.2026 (Для поддержки)

Версия Веб-приложения: 4.1.75
Версия Мобильного приложения: 4.1.62


Исправление багов:
 
Описание бага Приложение Задача в Трекере
1

Ранее:

В логах регулярно появлялись ошибки отправки Apple Push потому что после каждой отправки соединение преждевременно закрывалось

 

Теперь:

Если при отправке действительно возникает ошибка соединения, выполняется повторная попытка отправки уведомления

Веб-приложение ALLY-6327
2

Ранее:

В разделе новостей в дополнительной информации у новости некорректно отображались роли и торговые точки

 

Теперь:

Отображение исправлено. Корректно выводятся места и роли

Веб-приложение ALLY-6513
3

Ранее:

На Android в версиях приложения на экране авторизации поле ввода телефона могло не реагировать на нажатие, клавиатура не открывалась

 

Теперь:

Исправили обработку touch-событий. Другие элементы интерфейса больше не перехватывают нажатия на экране авторизации

Мобильное приложение ALLY-6603
4

Ранее:

При обмене фото аутсорс-сотрудников из 1С в Ally обновление могло падать с ошибкой, из-за чего в Ally оставалось старое фото

 

Теперь:

Репликатор доработан. Добавлен режим, который не ломает обработку из-за “битого” JPEG

Репликатор ALLY-6334
5

Ранее:

Экстренный выход мог не загружаться в Ally, если в этот же день у сотрудника уже был другой выход и между ними был небольшой интервал

 

Теперь:

Обновили логику репликатора. Выходы объединяются только при интервале менее 15 минут, а если в один день есть экстренный и неэкстренный выход, они разделяются

Репликатор ALLY-6502
6

Ранее:

Если дневной СКК только выдавал на кассе ночной заказ, Ally мог автоматически создать ему смену "вне плана" ночью. Из-за этого у сотрудников появлялись лишние ночные выходы, которые приходилось удалять

 

Теперь:

Обработка данных по заказам с несколькими сборщиками больше не переносит ночное время на дневного сотрудника.

Репликатор ALLY-6394
7

Ранее:

В разделе “Окна возможностей” кнопки создания/добавления отображались с неправильным отступом и могли “уезжать” вниз на разных устройствах

 

Теперь:

Исправили настройки для формы создания окон возможностей. Кнопки отображаются корректно и не съезжают на разных экранах

Мобильное приложение ALLY-6486
8

Ранее:

При просмотре расшифровки ЗП за месяц последняя строка списка отображалась не полностью, и чтобы увидеть сумму, приходилось дополнительно прокручивать вверх

 

Теперь:

Скорректировали прокрутку/отступы в расшифровке ЗП. Последняя запись полностью видна без дополнительных свайпов

Мобильное приложение ALLY-6535
9

Ранее:

У аутсорс-сотрудников в разделе “Моя команда” мог отображаться только 1 человек, а часть коллег “пропадала”. Также в разделе  “Вся сеть” поиск работал нестабильно

 

Теперь:

Раздел “Команда” доработан, отображение коллег соответствует правилам фильтрации

Мобильное приложение ALLY-6469
10

Ранее:

В форме редактирования пользователя мог не работать выбор наставника из-за того, что не передавался нужный параметр

 

Теперь:

Параметр передается в форму корректно, наставник выбирается и сохраняется

Мобильное приложение ALLY-6656
11

Ранее:

Проверка на дубли не срабатывала при частичном пересечении периодов, если новый период заканчивался позже уже существующего (например, период с 1 по 10 числа и период с 1 по 11 числа)

 

Теперь:

Исправили логику запроса проверки дублей. Пересечения периодов корректно учитываются и дубли больше не создаются в таких сценариях

Веб-приложение ALLY-6549


Технические задачи:
Описание задачи Приложение Задача в Трекере
1 Скрипты Яндекс.Метрики и UXFeedback переведены на загрузку через серверный прокси с кэшированием на 24 часа. Дополнительно реализована отложенная загрузка скриптов после полной загрузки страницы Веб-приложение ALLY-6412
2 В настройку editableUserFields добавлено логирование использования полей для диагностики и анализа данных, а также расширены доступные данные пользователя Веб-приложение ALLY-6569
3 В production-среде отключены подсказки схемы GraphQL при ошибках и некорректных запросах Веб-приложение ALLY-6509
4 Оптимизирована работа GraphQL-запросов при загрузке данных форм. Сокращено количество избыточных запросов и улучшена их структура Веб-приложение ALLY-5354
5 Проведена ревизия используемых библиотек в мобильном приложении: удалены неиспользуемые и устаревшие зависимости, а также обновлены ключевые пакеты и библиотеки Expo Мобильное приложение ALLY-4989