Migrate to k1m1 (clone+registry+kubeconfig from k1m1, drop k2m1, simple kububl install)
Опубликовать событие NATS CREATE после совершения сделки по фиксации гонки вложений изображений
Сообщение NATS было опубликовано в теле @Transactional. Получатели могут получить событие CREATE и запросить изображение через /imaging/proxy/{objImgId} до того...
Serialize attachments in WS relay and message history; allow attachment-only sends
Three bugs fixed: 1. ChatSessionSubscriptionManager was building the STOMP messageMap manually and omitting attachments, sourceLanguageId, readMemberId, msg...
Fix NPE in getChatSessions from Map.of() rejecting null nextcoder
java.util.Map.of() throws NullPointerException when nextcoder is null (no more pages). Replace with HashMap that accepts null values. Also wrap entire handler i...
Add GET /sessions/{guid}/members endpoint with display-name priority
Returns member list with name resolved via usernameAlias → fullName → alias → username, matching the same priority as the chat sessions list. This feeds ChatBox...
Fix upload 500 (missing EmbRecordState) and empty chats tab (Timestamp cast)
Defect A: ChatAttachmentService.upload omitted **************** causing a NOT NULL violation on imgs.is_active. Added the default recordState. Also hardened Cha...
Prefer usernameAlias over User.name in memberDisplayName
Switches display name priority to: Member.usernameAlias → User.name → User.alias → User.username. Also includes the paged query dispatch fix from the previous c...
Use split First/After queries for chat sessions paged endpoint
Addresses empty Chats tab by dispatching to ****************
Восстановление триггера для получения библиотеки 094e80d (MediaObjTransit @IdClass)
Добавить нечитанную трансляцию с полезной нагрузкой ACTIVITY для обновлений списка чатов
Paged chat list with previews, members, unread counts
that returns ChatListRowDto rows including last message preview, member summaries, per-session unread counts, and ownLastViewedAt.
Imaging proxy with HTTP Range support and per-member download tracking
Raise client read timeout to 120s for long messages
LibreTranslate runs CPU-only argos models — a paragraph-length chat message takes 20-30s to translate, and longer ones can push past 60s. The 8-second read time...
Cache-only bulk translate, FE handles fills
Bulk message-fetch endpoints now return only translations that are already cached and tag missing rows with needsTranslation:true. The chat UIs (kamo-internal C...
On-demand translation for chat and support messages
Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...
Scope concurrency to build jobs, not Kubernetes deploys
Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...
Отслеживайте чат общественной поддержки сеанса GUID в Redis
Маркетинговые посетители используют /ws / public-chat-native без членства; билеты по-прежнему ссылаться на члена-заполнителя организации в качестве запрашивающе...
Увеличить ТТЛ с 90-х до 300-х, чтобы предотвратить ложное дросселирование на вкладке
Трансляция в ожидании счета + непрочитанный агент читать и посетитель отправить
**************** теперь делегаты ************************************* отражает сеансы с непрочитанными сообщениями посетителей и сокращениями, когда Агент вызы...
Восстановление, чтобы вытащить последнюю библиотеку, разделенную Камо
Выберите новый **************** запросы и Отделение SUPPORT TICKET в ****************
Магазин гео на билете при создании, скачать GeoLite
****************************************************************************************************************************************************************...
Посетители с большой нагрузкой и пропустите поиск GeoLite в списке
Конечная точка списка /api/support/tickets была запущена на странице из 20 строк: - 20 **************** звонков (N+1) - 20 звонков на GeoLookupService.lookup, к...
Добавить /ws/public-chat-native точку WebSocket вместе с SockJS
Регистрация второй конечной точки STOMP без SockJS в /ws / public-chat-native что интерфейс может подключаться к нативному WebSocket (brokerURL) без необходимос...
Трансляция непрочитанного сообщения агенту в сообщении посетителя
После того, как посетитель отправит сообщение поддержки, нажмите последние непрочитанные счета. Полезная нагрузка ******************* так агент билет-лист Обнов...
Расширить сканирование репозитория JPA, чтобы включить пакет коммерции
Новая библиотека, разделяемая Камо, приносит ******************* который требует **************************** (в com.kamo.z.shared.commerce). MediaService тольк...
Восстановить импорт HashMap в ChatWebSocketController
Предыдущий рефактор удалил импорт HashMap, но ручку метод по-прежнему создает HashMap для полезной нагрузки события ввода, вызывая Форджо строит неудачу с «не м...
Активное создание NATS-потребителя при создании сеанса для предотвращения потери сообщений
Ранее NATS JetStream push-потребитель создавался только при клиенте STOMP. Отправить /app/chat/subscribe С помощью DeliverPolicy. Новые сообщения, опубликованны...
Ретрансляционное тематическое обеспечение от основных НАТС
Match SecurityService: подписка на Dispatcher on security.theme.provision.* вместо JetStream (поток охватывает только чат).
Восстановление для обновления библиотеки с разделением на камо (удалить OrganizationType, добавить isTopLevel)
Восстановление для обновления библиотеки с разделением на камо (удалить OrganizationType, добавить isTopLevel)
Используйте PublicChatVisitor displayName для запроса Имя посетителя
Инициированный посетителем запрашивающий жёсткий код билетов члену системы org, поэтому DTO всплывало имя владельца организации в колонке Запросителя. падение Н...
Экспозиция города и подразделения в гостевом геопоиске
- Расширение георезультатной записи с полями города и подразделения - Switch SupportTicketService.toDTO() для использования GeoLookupService (IP-уровень) Поиск)...
Создайте ошибку в GeoLookupService и добавьте NATS для сообщений агентов
- Исправить несоответствие типа списка в **************** Введите NatsMessageService в MediaController Опубликовать на chat.session.{guid} после того, как агент...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.