Перейти к содержимому
KAMOUniverse

Журнал изменений

Что нового.

Каждое усовершенствование платформы, как только она появится.

  1. · SecurityService

    Извлечь RoleRightsSyncService и добавить конечную точку синхронизации прав

    RoleRightsSyncService: централизует логику синхронизации прав на роль для обеих сторон ************************* Таблицы; Стартап и по требованию DataLoader: делегаты на RoleRightsSyncService.syncAll() SecurityRoleController: POST / синхронизация прав без перезапуска

  2. · kamo-shared-library

    Сделайте права на роль DTO управляемыми и добавьте синхронизацию прав модели безопасности

    - SecurityRoleDTO.fromOrgRole(): перечислить все права Типовые значения с DB Настройки как поиск - новые права появляются с NOT SPECIFIED автоматически ********************** аналогичный подход Модель безопасности для ролей по умолчанию - OrgRoleRight.type: добавьте явную аннотацию @Enumerated (EnumType.ORDINAL) **************** Добавить вставку IfAbsent native Запрос для запуска и синхронизации по требованию

  3. · kamo-internal

    Разрешить несколько окон поддержки билетов с дедупликацией ticketId

  4. · kamo-internal

    Добавьте чип типа членства и продвигайте / удаляйте карту статуса членства, удалите поле тайм-аута сеанса

  5. · SecurityService

    Добавить конечную точку PATCH / членства для продвижения / понижения члена

  6. · kamo-shared-library

    Добавить нативное обновлениеMemberType и обеспечить запросы TeamMemberRow в MemberRepository

  7. · kamo-shared-library

    Добавить ALLOW PROMOTING MEMBERS (id 132)

  8. · kamo-internal

    Продвижение POS и ESIG от планирования к завершению

  9. · kamo-shared-library

    Продвижение POS и ESIG от планирования к завершению

  10. · kamo-internal

    Показать город и подразделение посетителя билета гео ряд

    Дисплей как «Город, Регион, Страна (IP)» — нули фильтруются таким образом Уменьшается, когда доступны только данные по странам

  11. · MediaService

    Экспозиция города и подразделения в гостевом геопоиске

    - Расширение георезультатной записи с полями города и подразделения - Switch SupportTicketService.toDTO() для использования GeoLookupService (IP-уровень) Поиск) вместо геолокации только по стране, так что город и Подразделение населено из соответствующего блока GeoLite

  12. · kamo-shared-library

    Добавить VisitorCity и VisitorSubdivision для поддержки TicketDTO

  13. · kamo-internal

    Добавьте парам URL вкладки на страницу /account для глубоких ссылок и повышения настойчивости

    Состояние вкладки теперь синхронизировано с ****************, поэтому ссылки для конкретной работы вкладок и правильная вкладка остается выбранной на обновлении страницы.

  14. · kamo-internal

    Показать флаг посетителя, страну и IP в заголовке билета

    - Добавить VisitorIpAddress, VisitorCountryCode, VisitorCountryName для поддержки - Render flag emoji + название страны + строка IP-адреса в TicketHeader

  15. · kamo-shared-library

    Добавьте геополя для посетителей в службу поддержкиTicketDTO

  16. · MediaService

    Показать флаг посетителя и местоположение в заголовке билета поддержки

    Введите PublicChatVisitorRepository и GeoLiteLocationRepository в службу поддержки Заселить посетителяIpAddress, VisitorCountryCode, VisitorCountryName в toDTO() через геопоиск GeoLookupService уже заселяет посетителя.countryCode при создании сессии

  17. · kamo-marketing

    Заменить нативный WebSocket на STOMP/SockJS в LiveSupportPanel

    - Добавить пакеты @stomp/stompjs и sockjs-client Подключение к медиа.{domain}/ws/public-chat через SockJS+STOMP WebSocket to api.{domain} - неправильный хост и неправильный протокол После подключения STOMP подпишитесь на /topic/chat/session/{guid} и уведомлять backend через /app/chat/subscribe для активации реле NATS JetStream - Агентские ответы теперь текут: MediaController -> NATS -> ChatWebSocketКонтроллер -> Брокер STOMP -> LiveSupportPanel посетителя в режиме реального времени

  18. · MediaService

    Исправьте сквозной публичный чат в режиме реального времени через STOMP/NATS

    - Удалить требование внутреннего аудита от PublicChatWebSocketInterceptor Таким образом, посетители могут подключаться напрямую, используя только свой сессионный маркер. Включите имя посетителя в качестве имени отправителя в ChatMessageDto Узнать, кто посылает сообщения в TicketChat Включите имя отправителя в STOMP messageMap, пересылаемый по подписке NATS Агент и посетитель видят имена отправителей в сообщениях в реальном времени

  19. · kamo-shared-library

    Добавить имя отправителя в ChatMessageDto для поддержки имен отображения чата

  20. · kamo-internal

    Автооткрытая поддержка всплывающих билетов в уведомлении NEW TICKET NATS

    Когда приходит новый билет поддержки, бэкэнд теперь отправляет NEW TICKET STOMP в дополнение к PENDING COUNT. Контекст поддержки обрабатывает его с помощью инструмента отправки: откройте, чтобы всплывало окно чата билета Автоматически без необходимости переключаться на/поддерживать.

  21. · kamo-marketing

    Добавить /подтвержденную связь страницу с анимированным героем, временной линией и CTA

    Замените сообщение об успехе в контактной форме выделенной премией Страница подтверждения: анимированная галочка SVG с разрывом частиц, Что происходит Следующая 3-ступенчатая временная шкала и CTA-карты «While You Wait». Все 23 локальных файла Подтвержденные ключи i18n.

  22. · kamo-internal

    Добавить раздел настроек (timezone, age req, флаги контента, описание, псевдоним); удалить кнопки Preview/AddDomain

  23. · kamo-internal

    Redesign LabelManager — редактирование встроенного раздела, исправление сломанного сохранения, по умолчанию только для чтения

    Переписывает LabelManager.tsx с рисунком чтения/редактирования. Исправляет сломанное спасение кнопка (validateForm заблокирована, потому что поля контактов и компаний никогда не были заполнены) от API. Удалить глобальную форму, отправить, проверить форму, состояние ошибок, режим предварительного просмотра и Разбросанные кнопки Save. Каждый раздел теперь загружает данные из API на монтировку, показывает чистоту Строки только для чтения по умолчанию и имеют встроенный поток Edit/Save/Cancel. Все семь разделов (Информация о компании, брендинг, фоновые изображения, контактная информация, пользовательские этикетки, социальные ссылки) сохранять самостоятельно без блокировки проверки поперечного поля.

  24. · EmailService

    Добавить валидатор домена KamoMail для блокировки адресов электронной почты перекрестных арендаторов

    Вводит компонент KamoMailDomainValidator, который проверяет на уровне обслуживания соответствует ли представленный домен электронной почты проверенному домену по умолчанию KamoMail является активным поставщиком. Вводится в MailboxProvisioningService, AliasService и SharedMailboxService — звонят до того, как произойдет какое-либо предоставление. Возвращает 403, если домен не совпадает.

  25. · kamo-internal

    Ограничение домена KamoMail на почтовый ящик, псевдоним и создание общего почтового ящика

    Когда KamoMail является поставщиком электронной почты, пользователи могут создавать только почтовые ящики. псевдонимы и общие почтовые ящики с использованием проверенного домена по умолчанию. Обеспечение соблюдения на трех независимых уровнях: интерфейс интерфейса (префикс + заблокированный домен) Ввод с отключенным состоянием, когда домена нет, Next.js proxy (параллельный провайдер) + проверка домена безопасности перед пересылкой) и уровня обслуживания Java.

  26. · kamo-marketing

    Прочитайте logoFullExt от config.json для динамического расширения логотипа

  27. · kamo-register

    Прочитайте logoFullExt с config.json; исправить site.webmanifest путь в подкаталог favicon

  28. · kamo-login

    Прочитайте logoFullExt от config.json для динамического расширения логотипа

  29. · kamo-internal

    Обеспечение тематики организации - крюк WebSocket, панель обеспечения, проводка LabelManager, триггер DNS, размер bg, контекст ThemeConfig

  30. · MediaService

    Relay NATS theme provision progress to STOMP WebSocket

Ваша вселенная ждет.

Начните бесплатно через несколько минут. Добавляйте продукты, когда будете готовы — без миграции, без новых логинов.

Бесплатно навсегда — не требуется кредитная карта