v2023.1.64.1405 - Fixes & PWA Optimizations
Основные изменения
Конфигурация триггера для захвата полей по сложным объектам
Так как объекты могут иметь достаточно сложную структуру, мы решили дать пользователю возможность указать подполе для реагирования при помощи JSONPath синтаксиса.
Доработали Push-уведомления для PWA в мобильном Safari
Механизм работы с пушами со стороны кода нашей библиотеки и веб-воркера был значительно переработан. Проверены и отлажены случаи с повторной подпиской; выявлено и решено несколько проблем.
После обновления на эту версию обновите также пуш-тулкиты на сайтах, загрузив их из ресурса платформы.
Новый SMS-шлюз devino.online
Старый шлюз Devino теперь помечен как legacy, но всё еще доступен в интерфейсе и для работы. Новый шлюз можете подключить также в панели администратора.
Новые настройки для прокси
Чтобы на определение IP-адреса клиента нельзя было повлиять, теперь становится обязательной настрой ка доверенных прокси, если платформа принимает трафик через них. Это касается как веб-трафика трекинга, так и панели. Пожалуйста, перечислите все используемые прокси в параметре NGINX_TRUSTED_PROXIES конфигурации main.json. Мы также добавили настройку NGINX_REALIP_HEADER, отвечающую за заголовок, откуда нужно брать реальный IP-адрес клиента; по умолчанию это "X-Forwarded-For".
"NGINX_TRUSTED_PROXIES": ["PROXY.IP.V4.ADDR"],
"NGINX_REALIP_HEADER": "X-Forwarded-For"
Оптимизация работы некоторых сегментов
Сегменты по действиям в канале в некоторых особо нагруженных случаях могли вызывать значительное потребление памяти ClickHouse, поэтому было решено произвести оптимизацию. К сожалению, потребуется миграция данных.
После обновления на эту версию произведите миграцию:
Для начала необходимо остановить процесс procevent:
akd onestop procevent
Проинициализировать таблицы с помощью утилиты aktool (находится в директории ak/bin в директории где установлена платформа):
aktool profiles_stat init
Осуществить перенос данных:
aktool profiles_stat fill
В ClickHouse появятся таблицы profile_stats и материальные представления для них.
Запустить procevent:
akd onestart procevent
Действия при получении ошибки "Too many partitions for single INSERT block":
Зайти в ClickHose и выполнить запрос:
use altcraft_system;
select toYear(event_date) as date from history_events group by date order by date;
Для каждого года из запроса выполнить последовательно:
aktool profiles_stat fill all {Год}