Интеграции и рецепты API
Раздел «Интеграции» получил понятное пустое состояние, форму запроса нового коннектора и страницу рецептов API — готовые примеры вызовов, которые можно скопировать и выполнить.
Раздел «Интеграции» получил понятное пустое состояние, форму запроса нового коннектора и страницу рецептов API — готовые примеры вызовов, которые можно скопировать и выполнить.
Оформление портала строится на токенах бренда: цвета и типографика задаются один раз и применяются последовательно во всех разделах. Превью показывает результат таким, каким его увидят сотрудники, а не приблизительно.
Лента и встраиваемые элементы объединены в одну таблицу с колонкой «Тип» вместо двух вкладок, а порядок смешанной ленты задаёт сервер. Разделы админки сведены к трём вкладкам — «Лента», «Аналитика», «Настройки», создание идёт через одну кнопку с выбором типа. Старые ссылки с ?tab= ведут туда, куда переехало их содержимое.
Витрина челленджей ищет и фильтрует на сервере, с постраничной навигацией и фильтром по датам — списки перестали обрезаться в больших пространствах. Челленджи подключены к общим комментариям и реакциям, счётчик обсуждения обновляется вживую. Импорт прогресса из CSV стал повторяемым: повторная загрузка того же файла не удваивает прогресс, строки с пустыми ячейками не теряются, а нераспознанных сотрудников можно найти поиском и применить импорт частично.
Голосование в банке идей сведено к одному действию — «за». Счётчик поддержки считает только голоса «за», без вычитания, поэтому число под идеей означает ровно то, что показывает. Контракт API и документация приведены в соответствие.
Команда сотрудника определяется по графу подчинённости, а не по подразделению. Одно определение используется во всех разделах: «Моя команда», обучение и оценка эффективности считают состав одинаково. В разделе «Команда» раскрывается дерево, а доступность больше не показывается там, где данных для неё нет.
Модели для AI-функций настраиваются пресетами: один набор задаёт, какая модель отвечает за какую операцию, вместо настройки по каждой функции отдельно. Пресет, резидентность и AI-кредиты сохраняются одним действием. Разрешение на иностранные модели вынесено в отдельное право с переключателем в админке.
В редакторе базы знаний можно выделить фрагмент и вызвать AI прямо над выделением, не покидая страницу. Корзина переведена на отдельную ось: страница помечается удалённой и восстанавливается оттуда, а не меняет статус публикации — черновик после восстановления остаётся черновиком.
Единый конвейер приёма и перекодирования видео: загруженный ролик готовится к просмотру автоматически, в новости считаются просмотры, а ограничения на загрузку показываются до загрузки, а не после. Отдача сегментов перенесена на веб-сервер, поэтому воспроизведение стало ровнее.
Контекст уходит в языковую модель только через конверт приватности с детектором персональных данных. Детектор переведён на трансформерную модель распознавания: на внутреннем наборе проверок он находит 20 случаев из 20 против прежних 17. Прямые вызовы адаптера модели в обход конверта запрещены и закрыты автоматической проверкой в сборке.
Согласования шагов агента доступны в вебе: карточка прямо в логе шага и отдельный список вне диалога — не нужно искать, что ждёт подтверждения. У каждого прогона агента появился журнал: что запускалось, какие шаги были и чем закончилось. Расход кредитов привязан к конкретному прогону.
Новая вкладка «Страницы» показывает посещаемость созданных страниц и часы активности. Разделы портала и страницы разделены, добавлены уникальные посетители, а агрегат считается на сервере — списки перестали обрезаться и показывают все разделы целиком.
Аналитика различает, откуда пришёл сотрудник — из веб-портала или из мобильного приложения. Канал определяется на сервере по проверенному контексту авторизации, подделать его с клиента нельзя. Добавлен отчёт MAU по каналам; если данных мало, отчёт скрывается целиком, а не отдельными ячейками.
У руководителя появилась страница «Моя команда» в обучении: назначения подчинённых, их учебные цели и состояния, карта компетенций в карточке сотрудника и вкладка «Сертификаты». Доступ определяется по оргструктуре — наличием подчинённых, а не отдельным правом, поэтому новому руководителю ничего не нужно выдавать вручную.
Вкладка «Права доступа» получила подтверждения, смену роли и понятные состояния; выдача и отзыв прав пишутся в аудит. Добавлены: восстановление доступа к пространству, оставшемуся без владельца, переиндексация отдельного пространства и всего тенанта, вкладка «AI и индексация» и постраничная навигация в админских списках.
Счёт формируется в PDF в момент выставления и скачивается из портала. Просрочка работает целиком — от даты оплаты через напоминания до грейс-периода. Тарификация стала подённой: изменение числа сотрудников внутри периода пересчитывается по дням-местам, с журналом начислений. Цена закреплена за версией тарифа, а не за тарифом, поэтому смена цен не переписывает уже выставленные счета. На бесплатном тарифе AI-кредиты доступны по факту использования.
Подразделения можно объединять в группы и сравнивать их на графике двумя кривыми. Группы настраиваются в админке, корни проверяются при сохранении. Отдельно добавился отчёт по поисковым запросам, не давшим результатов, — он показывается только там, где данных достаточно, чтобы никого нельзя было опознать.
Курсы подключены к общему социальному слою портала: лайки, комментарии и реакции работают так же, как в новостях. Счётчики обсуждения видны в каталоге и на карточках, а у курса появилась собственная страница вне каталога.
У курса появились учебные цели. Материалы и вопросы привязываются к целям, прогресс считается по освоенным целям, а не только в процентах, и на карточке курса и на экране итога видно, что уже усвоено. Режим прогресса переключается в настройках курса; при публикации цели и режим замораживаются в снапшот, поэтому у проходящих курс ничего не меняется на ходу.
Новый раздел «Моя команда»: состав команды с профилями, счётчик доступности по живым данным об отсутствиях, таймлайн отсутствий по дням и возможность запланировать своё отсутствие самому. Раздел подключается как отдельный модуль.