Релиз 20.01.2026 - 21.01.2026 (Для поддержки)
Версия Веб-приложения: 4.1.71
Версия Мобильного приложения: 4.1.57
Исправление багов:
| № | Описание бага | Приложение | Задача в Трекере |
| 1 |
Ранее:
Теперь: Добавлена проверка наличия данных пользователя перед отрисовкой элементов графика. |
Веб-приложение / Мобильное приложение | ALLY-5912 |
| 2 |
Ранее: На главном экране МП в графике работы могли отображаться некорректные данные. Удалённые смены продолжали участвовать в выборке из-за сохранённой связи в userEvents, что приводило к ошибочному отображению выходов, в том числе на будущие даты.
Теперь: Запросы к данным графика доработаны: в МП отображаются только смены со статусом PUBLISHED. Удалённые выходы больше не попадают в график. |
Мобильное приложение | ALLY-4773 |
| 3 |
Ранее: Очистка уведомлений календаря могла завершаться ошибкой из-за обработки слишком большого количества записей за один запрос. Теперь: Уведомления обрабатываются пакетами. Очистка выполняется стабильно, ошибки API устранены. |
Веб-приложение / Мобильное приложение | ALLY-5673 |
| 4 |
Ранее: При переходе к редактированию пользователя сначала отображался пустой экран/серое полотно, затем с задержкой (до ~10 секунд) подгружались данные формы. Лоадер не перекрывал весь процесс загрузки и выглядел некорректно.
Теперь: Добавлен корректный лоадер. Форма редактирования отображается только после загрузки данных, без визуальных скачков. |
Веб-приложение | ALLY-5875 |
| 5 |
Ранее: В календаре в отдельных случаях возникала ошибка undefined is not an object. Из-за отсутствующих данных в ломалась часть логики отображения.
Теперь: Добавлена проверка наличия пользователей при обработке данных в Calendar.web.jsx. Календарь корректно работает даже если часть данных не загрузилась. |
Веб-приложение / Мобильное приложение | ALLY-5732 |
| 6 |
Ранее: При входе по паролю в редких случаях ошибка авторизации обрабатывалась некорректно. В результате в консоли появлялась ошибка "Cannot read properties of undefined", а после авторизации мог бесконечно грузиться график.
Теперь: Добавлена безопасная обработка ошибки и уточнена типизация. Сценарий больше не приводит к исключению. |
Веб-приложение / Мобильное приложение | ALLY-5994 |
| 7 |
Ранее: В календаре в отдельных сценариях приложение могло падать с ошибкой "Cannot read properties of undefined", в момент выполнения не было данных users.
Теперь: Добавлена безопасная обработка отсутствующих данных: календарь проверяет наличие users перед использованием и больше не падает при неполной загрузке данных графика. |
Веб-приложение | ALLY-5506 |
| 8 |
Ранее: После логина, смены ТТ или диапазона календарь мог падать с ошибкой "Cannot read properties of undefined". В момент выполнения не успевали загрузиться данные schedules.
Теперь: Добавлены проверки на наличие данных перед обращением к schedules. |
Веб-приложение | ALLY-5505 |
| 9 |
Ранее: На ally-test календарь мог падать при загрузке графика под определённым пользователем.
Теперь: Добавлены проверки на наличие users перед обработкой данных и формированием userIds. |
Веб-приложение | ALLY-6166 |
| 10 |
Ранее: При добавлении смены форма открывалась, но кнопка "Сохранить" была неактивна, пока пользователь не изменит любое поле.
Теперь: Кнопка "Сохранить" активна сразу при открытии формы добавления смены без необходимости вносить фиктивные изменения. |
Веб-приложение / Мобильное приложение | ALLY-6137 |
| 11 |
Ранее: При формировании чеклистов и выгрузке графика не учитывалась кадровая история. После увольнения сотрудника, смены за период до даты увольнения могли отображаться некорректно по типу занятости.
Теперь: Кадровая история учитывается, тип занятости определяется корректно для нужных дат. |
Репликатор | ALLY-5982 |
| 12 |
Ранее: Если смены начинали пересекаться, Ally показывал только предупреждение, но не ограничивал сохранение/публикацию таких пересечений.
Теперь: Пересекающиеся смены нельзя корректно провести. Такие ситуации выявляются и требуют исправления. |
Репликатор | ALLY-6181 |
| 13 |
Ранее: Данные по основным ПР для торговых точек не заполнялись/обновлялись корректно из-за чего в системе могли оставаться пустые или неактуальные значения
Теперь: Очередь Ally.RolesOfResponsible исправлена. Основные ПР для ТТ корректно подтягиваются и сохраняются из событий очереди. |
Репликатор | ALLY-6101 |
| 14 |
Ранее: При открытии статьи из Базы знаний на iOS приложение могло падать из-за ошибки в компоненте рендеринга.
Теперь: Компонент рендеринга переработан и стабилизирован. Добавлена безопасная обработка ошибок и корректный рендер HTML-контента, чтобы статьи открывались без падений. |
Мобильное приложение | ALLY-5939 |
| 15 |
Ранее: Если при сохранении смены серверная проверка не проходила, в МП показывалось общее сообщение "Ошибка. Ошибка сохранения" без объяснения причины.
Теперь: МП отображает текст ошибки, который возвращает сервер, поэтому пользователю сразу понятно, почему смена не сохраняется. |
Мобильное приложение | ALLY-5674 |
| 16 |
Ранее: В мобильном приложении не открывались некоторые внешние ссылки, особенно если в URL попадали лишние кавычки/артефакты, из-за чего переход мог не срабатывать.
Теперь: Добавили очистку и валидацию URL. Ссылки корректно открываются во внешнем браузере (в т.ч. с артефактами вроде \"...\", %22...%22, "...", //...). Опасные протоколы (javascript:, data:) блокируются. |
Мобильное приложение | ALLY-5796 |
| 17 |
Ранее: При получении push-уведомлений в МП могла возникать ошибка из-за чего счётчик непрочитанных новостей обновлялся нестабильно.
Теперь: Добавлена корректная обработка ситуации, когда данные счётчика отсутствуют. Ошибка больше не возникает, счётчик непрочитанных обновляется корректно. |
Мобильное приложение | ALLY-5678 |
| 18 |
Ранее: При загрузке аватара запрос мог завершаться сетевой ошибкой, из-за чего появлялось исключение и пользователю было непонятно, почему фото не загрузилось.
Теперь: Улучшена обработка сетевых ошибок при загрузке аватара: пользователю показывается локализованное сообщение об ошибке, а приложение корректно обрабатывает исключение без падений. |
Мобильное приложение | ALLY-6000 |
| 19 |
Ранее: Если приложение было свернуто, при переходе по пушу открывался последний экран, который был открыт в МП, а не нужный раздел.
Теперь: При переходе по пуш-уведомлению МП корректно открывает целевой экран, даже если до этого был открыт другой раздел и приложение было свернуто. |
Мобильное приложение | ALLY-3130 |
| 20 |
Ранее: При обновлении страницы в МП иногда возникала ошибка, из-за которой обновление проходило нестабильно.
Теперь: Добавили защитную проверку перед вызовом reloadPage, чтобы ошибка не возникала. |
Мобильное приложение | ALLY-5298 |
| 21 |
Ранее: При добавлении фото в комментарий возникала ошибка "The "uri" argument must be a string".
Теперь: Исправлена обработка uri при загрузке фото в комментариях. В передаётся корректное строковое значение, ошибка больше не возникает. |
Мобильное приложение | ALLY-5795 |
| 22 |
Ранее: Экран "Команда" мог показывать ошибку при загрузке списка коллег.
Теперь: Список коллег переработан. Экран стабильно открывается и корректно обновляет данные при свайпе вниз. |
Мобильное приложение | ALLY-5444 |
| 23 |
Ранее: При попытке выбрать изображение из галереи на Android могла возникать ошибка. Из-за этого загрузка изображения работала нестабильно.
Теперь: Исправлена работа выбора изображения из галереи на Android. |
Мобильное приложение | ALLY-5669 |
| 24 |
Ранее: На iOS приложение могло падать при навигации в модуле Team.
Теперь: Исключили обновление состояния после размонтирования, добавили проверку данных перед трансформацией и корректную обработку GraphQL-ошибок. |
Мобильное приложение | ALLY-6002 |
| 25 |
Ранее: При переходе на следующий месяц в календаре на датах из "хвостика" предыдущего месяца мог отображаться красный индикатор непросмотренной смены, хотя сама смена не показывалась.
Теперь: В "хвостах" месяца убрали отображение красных индикаторов, чтобы не вводить пользователя в заблуждение. |
Мобильное приложение | ALLY-5509 |
| 26 |
Ранее: Если в базе было две активные учётки с одинаковым email, при попытке сохранить изменения в разделе "Обо мне" в МП возникала необработанная ошибка.
Теперь: Ошибка при сохранении обрабатывается и показывается пользователю понятным сообщением. Редактирование профиля больше не ломается из-за дубля email. |
Мобильное приложение | ALLY-5811 |
| 27 |
Ранее: Если просмотреть смену, а затем переключиться в представление "Отклонения по моим местам" и вернуться в календарь, ранее просмотренные смены снова помечались как непросмотренные.
Теперь: После переключения представления индикатор непросмотренной смены не появляется повторно на уже просмотренных сменах. |
Мобильное приложение | ALLY-5641 |
| 28 |
Ранее: На iOS 18+ в календаре тоггл "Только из моих мест" отображался слишком крупным и "упирался" в край экрана.
Теперь: Исправили отображение системного тоггла на iOS 18+. Элемент корректно помещается на экране и выглядит нормально. |
Мобильное приложение | ALLY-5879 |
| 29 |
Ранее: В StaffRequestsStub useLoadedUser() мог возвращать null, из-за чего появлялась ошибка из-за которой экран работал нестабильно.
Теперь: Добавили проверки и скорректировали получение пользователя чтобы экран не падал при null. |
Мобильное приложение | ALLY-5606 |
| 30 |
Ранее: В календаре в редких случаях возникала ошибка Cannot read property 'users' of undefined, из-за чего появлялись ошибки.
Теперь: Добавлена проверка перед трансформацией scheduleBindings. Ошибка больше не возникает. |
Мобильное приложение | ALLY-5911 |
| 31 |
Ранее: В разделе "Окна" отображался устаревший текст-заглушка.
Теперь: Текст обновлён на актуальный. |
Мобильное приложение | ALLY-5901 |
| 32 |
Ранее: После ввода кода из СМС приложение могло падать при запуске.
Теперь: Исправили загрузку полифиллов. Приложение запускается корректно, без краша после ввода кода. |
Мобильное приложение | ALLY-6184 |
| 33 |
Ранее: После ухода приложения в фон и возвращения к работе с интерфейсом, при переходе с экрана редактирования смены на Profile приложение могло падать с ошибкой.
Теперь: Переход на Profile стабилен. Краш устранён, экран профиля и редактирование профиля открываются корректно без падений. |
Мобильное приложение | ALLY-5814 |
| 34 |
Ранее: На Android приложение могло падать на экране splash screen.
Теперь: Добавили задержку отображения splash screen и скорректировали отображение логотипа. Падение на старте устранено. |
Мобильное приложение | ALLY-5601 |
| 35 |
Ранее: При открытии календаря в могла возникать ошибка TypeError: Cannot read property 'users' of null. В schedulesData приходил null, из-за чего интерфейс работал нестабильно.
Теперь: Исправили структуру хранения данных смен. schedulesData больше не бывает null, ошибка в CalendarView не возникает. |
Мобильное приложение | ALLY-5445 |
| 36 |
Ранее: При открытии формы добавления смены в МП могло возникать исключение Cannot read property 'restaurant' of undefined.
Теперь: Добавили защиту от отсутствующих данных при инициализации AddShift. Форма открывается корректно, без ошибки. |
Мобильное приложение | ALLY-5478 |
| 37 |
Ранее: В контейнере Calendar при некоторых условиях restaurants мог быть пустым, из-за чего возникала ошибка Cannot read property 'reduce' of undefined.
Теперь: Добавили проверку. Если restaurants не пришли, то используется пустой объект, и ошибка не возникает. |
Мобильное приложение | ALLY-5480 |
| 38 |
Ранее: Меню в МП отображалась не полностью. Часть контента обрезалась, потому что шторка открывалась не поверх нижнего меню.
Теперь: Шторки отображаются поверх нижнего меню, от самого низа экрана, поэтому контент не обрезается и элементы доступны. |
Мобильное приложение | ALLY-5773 |
| 39 |
Ранее: После ввода фильтра несколько секунд "ничего не происходит", нет лоадера и анимации.
Теперь: При поиске показывается лоадер, видно что фильтр применятся |
Мобильное приложение | ALLY-5876 |
Технические задачи:
| № | Описание задачи | Приложение | Задача в Трекере |
| 1 |
Для повышения качества анализа пользовательских сценариев и ошибок обновлены настройки Sentry Replay. Теперь записи сессий отображают реальное содержимое интерфейса. |
Веб-приложение | ALLY-6089 |
| 2 |
Расширены возможности гибких настроек. Теперь в них доступны биндинги из scheduleBindings. Это позволяет загружать данные календаря и связанные данные один раз и переиспользовать их в разных частях интерфейса. |
Веб-приложение | ALLY-4256 |
| 3 |
Проведена оптимизация серверной функции getIdentity, которая влияет на время отклика системы. |
Веб-приложение | ALLY-3268 |
| 4 |
Введено ограничение ролям Оператор и Поддержка которые могли редактировать и удалять плановые смены. Теперь они имеют права только на просмотр. |
Веб-приложение | ALLY-5617 |
| 5 |
Улучшено управление отображением пользовательских комментариев в формах веб-версии и мобильного приложения. Теперь сообщения можно контролировать точечно через настройки. |
Веб-приложение | ALLY-5892 |
| 6 |
Реализована доработка, которая убирает жёстко зашитую логику загрузки данных для строки "Потребность в исполнителях" и переносит её в конфигурационные настройки. |
Веб-приложение | ALLY-4365 |
| 7 | Проведено обновление сборочной инфраструктуры веб-приложения. | Веб-приложение | ALLY-5118 |
| 8 | Проведена очистка веб-проекта от неиспользуемых и устаревших модулей. | Веб-приложение | ALLY-5455 |
| 9 | В мобильном приложении выполнена очистка кодовой базы от неиспользуемого и устаревшего кода. | Мобильное приложение | ALLY-6123 |
| 10 | Проведена очистка мобильного приложения от неиспользуемых и устаревших модулей. | Мобильное приложение | ALLY-6149 |
| 11 | В мобильном приложении выполнена очистка продакшн-кода от отладочных логов, | Мобильное приложение | ALLY-3342 |
| 12 | В мобильном приложении установлен пакет expo-system-ui для корректной работы настроек на Android. | Мобильное приложение | ALLY-6054 |
| 13 | В мобильном приложении настроен сбор продуктовой и технической аналитики с помощью Яндекс AppMetrica. | Мобильное приложение | ALLY-4532 |
No Comments