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...
Відстежуйте чат публічної підтримки за допомогою сеансу GUID в Redis
Інформація для користувачів маркетингу /ws/public-chat-native без участі посилання на Учасника org-резидента як запиту. ПРЕЗЕНТАЦІЯ ЗАХИСТУ ключі на громадськом...
Підвищіть ТЛ від 90-х до 300-х, щоб запобігти помилковим OFFLINE на таблиці
Розширити сканування репозиторій JPA, щоб включити торговий пакет
The новий kamo-shared-library приносить в *********** що вимагає ***********************************************************************************************...
Відновлення HashMap імпорт в чатWebSocketController
Попередній рефактор видалено HashMap імпорт, але ручка метод все ще побудує HashMap для завантаження облікового запису, викликаючи The Forgejo не може знайти си...
Проактивно створити споживача НАТС при створенні сеансу, щоб запобігти втраті повідомлень
Попередньо споживачі натискають на NATS JetStream лише тоді, коли клієнт STOMP відправлено /app/chat/subscribe. З DeliverPolicy. Нові, будь-які повідомлення опу...
Реле тематичне забезпечення від сердечника NATS
Ім'я файла Security Service: підписатися на Dispatcher Безпека.theme.provision.* замість JetStream (поточна тільки охоплює чат).
Використовуйте PublicChatVisitor відображенняName для запитуНазва на квитки відвідувачів
Відвідувачі-ініційовані квитки, що вимагаються до учасника системи org, тому DTO був серфінг ім'я org власника в стовпці запиту. Падіння JavaScript licenses API...
Створіть помилку в GeoLookupService і додайте NATS для повідомлень агента
- Виправлення Optional vs Список тип mismatch в **************** - Ін'єкційна служба NatsMessage в MediaController - Публікація в чат.session.{guid} після того,...
Real-time chat delivery, message sides, notifications, and name sync
- Keep NATS subscription alive on client unsubscribe to avoid breaking agent real-time delivery - Tag visitor messages with messageType=VISITOR_MESSAGE in getMe...
Повідомлення відвідувача тегів як VISITOR MESSAGE тип, додати ім'я відправника
- PublicChatService: встановити повідомленняТип=VISITOR MESSAGE так фронтенд може відрізняти відвідувач echoes від агента відповіді на тему STOMP - MediaControl...
Three support/chat issues — NATS relay, auto-popup, topic fallback
1. Switch SupportNotificationService and SupportStompRelayController from JetStream to core NATS — the CHAT_MESSAGES stream only covers chat.> so JetStrea...
Write contact form description as chat message on public ticket creation
The description was only stored on the ticket entity and never appeared in the chat window. Added writeTextMessage() helper and call it after the system event s...
Add debug logging and robust rights parsing for webinar controller
Adds info/warn logging for session data and rights on POST /types to diagnose 403 errors. Also adds fallback parsing for rights stored as JSON strings in Redis ...
Resolve org theme backgrounds not appearing in meet virtual backgrounds
- Add domain-based theme URL resolution for internal K8s service-to-service calls - getPublicBackgrounds now accepts optional domain param to derive correct the...
Upload meet backgrounds to public MinIO bucket with hash-based naming
Was uploading to private 'imaging-meet-recordings' bucket via **************** which caused: - MinIO region mismatch errors on the primary node - Connection tim...
Return serialization-safe Maps instead of raw JPA entities in MeetConfigController
All config/background endpoints were returning raw JPA entities with @ManyToOne(fetch=LAZY) Organization references. Jackson failed to serialize the Hibernate p...
Remove duplicate endpoints from MeetController, add org-themes to MeetConfigController
MeetConfigController already handled config/background endpoints. The duplicate endpoints in MeetController caused ambiguous mapping. Added org-theme background...
Update health probes to HTTP port 80 to match new server config
Startup, readiness, and liveness probes were still pointing to port 8443 with HTTPS scheme, causing pod restart loops.
Switch MediaService to HTTP port 80 — TLS termination at Traefik
Internal cluster traffic doesn't need HTTPS. Traefik handles TLS for external clients. This aligns MediaService with all other services.
Send chat invites to correct WebSocket topic /topic/chat/incoming/{memberId}
Was publishing to /topic/chat/member/{id} but kamo-internal subscribes to /topic/chat/incoming/{id}. Also fixed Member entity field access **************** inst...
Додати voip.> на теми потоку NATS та ручку IllegalStateException в VoipStompRelayController
Потік NATS тільки вкритий чат. > так підсобливе до voip. > кицька IlegalStateException ([SUB-90007] Немає відповідних потоків. Додано voip.> до суб'єктів потоку...
Прийняття *** з параму запиту для перехресного субдомену WebSocket auth
Читати *** ID від ?****= параметр запиту спочатку, знизився назад до печиво. Це дозволяє Frontend на внутрішній.kamocrm.com автентифікувати WebSocket підключенн...
Ручка застібка NATS споживача з унікальною торговою маркою
- Витяжний обробник повідомлень для створенняNatsMessageHandler() метод - Додати логіку птиху з унікальною назвою споживача, коли "Доставка вже обмежена" помилк...
Маршрут WebSocket через Traefik на порту 443
- сервіс.yaml: fix port 80→8443 to match pod's фактичний слуховий порт - ingressroute.yaml: схема використання HTTPS + порт 8443 для backend - серверитранспорт....
Використовуйте кластер-вну DNS для підключення НАТС
Зміна URL за замовчуванням NATS від WireGuard IPs (100.64.x.x) до nats.kamo.svc.cluster.local для локального сервера. Віддалені вузли (k0m1, k2m1) залишаються н...
Зробіть сертифікат TLS, необов'язковий для розгортання MediaService
- Додати додатково: true to wildcard-kamocrm-com секретний обсяг - Оновлення засвідченого контейнера для обробки відсутніх сертифікатів
Додавання налаштування Скачайте з інсекреційною конфігурацією реєстру для вирішення помилок 401
Використовуйте getUsernameAlias() замість методу getName() для Учасника
Додати apiSecret до WebRTC config відповідь для автентифікації Janus
Правильно налаштувати Весняну безпеку для WebSocket - відключити CSRF повністю, ввімкнути створення сеансу IF REQUIRED для WebSocket
Вимкнено CSRF для /ws / * * кінцевих точок і спрощення налаштування безпеки для фіксації SockJS /ws /info 405 помилки
Швидко дайте методи GET/POST/HEAD для /ws/*** для фіксації SockJS /ws/info 405 помилок
Видалити недійсний метод викликів, що викликають помилки компіляції (getId on MediaSession, GetStatusCode на ServerHttpResponse)
Додавання посередників WebSocket та серверівТранспорт в IngressRoute
- Додано медіа-websocket-upgrade середнє програмне забезпечення для конструкторів WebSocket - Додано медіа-websocket-transport для вимкнення HTTP/2 (WebSocket в...
WebSocket live message delivery - disable ChatMessageHandler subscription, enhance logging
- Disabled ChatMessageHandler subscription to chat.session.> that was consuming messages without forwarding to WebSocket - Enhanced WebSocketConfig logging to t...
WebSocket persistent connection with aggressive keepalive
Idle timeout set to 0, heartbeat 20s, disconnect delay 30s, match frontend timing
Hardcode SSL settings in ConfigMap for production
- Removed environment variable placeholders - Hardcoded port 8443, SSL enabled, keystore path - Fixes Spring Boot not resolving env vars correctly
Correct Spring Boot SSL environment variable names
- Changed SSL_ENABLED to SERVER_SSL_ENABLED - Changed SSL_KEY_STORE to SERVER_SSL_KEY_STORE - Changed SSL_KEY_STORE_PASSWORD to SERVER_SSL_KEY_STORE_PASSWORD - ...
Use SSLHostConfig API for Tomcat SSL configuration
- Use SSLHostConfig and SSLHostConfigCertificate (correct Tomcat API) - Configure certificate via **************** - Fixes compilation errors with setAttribute/...
Use setAttribute for Tomcat SSL configuration
- Changed from setKeystoreFile/Pass/Type/Alias to setAttribute - Tomcat 10+ uses setAttribute for SSL properties - Fixes compilation errors
Run MediaService on BOTH ports 80 (HTTP API) and 8443 (HTTPS WebSocket)
- Reverted service.yaml and ingressroute.yaml to use port 80 - Removed forced SERVER_PORT and SSL_ENABLED env vars - Added DualPortConfig to programmatically ad...
Як ви бачите відправлення?
Кожен з цих оновлень землі в робочому просторі автоматично. Почати вільний час і дивитися його на тиждень після тижня.