Use NodePort 30843 instead of hostPort for WebSocket
- hostPort may be blocked by firewall rules - NodePort 30843 is in valid range (30000-32767) - Browser connects to external port 8443 - Router forwards 8443 -> ...
Add SSL configuration to k8s ConfigMap
- ConfigMap was missing SSL config from application.yml - Added server.ssl settings with environment variable support - Matches local application.yml configurat...
Use hostPort instead of NodePort for 8443
- NodePort range is 30000-32767, cannot use 8443 - Use hostPort to bind directly to host port 8443 - Removed service-websocket.yaml
Удалить ограничение на транспортировку только через WebSocket для совместимости HTTP/2
Браузер WebSocket API не поддерживает HTTP/2 (RFC 8441 не реализован) Родной WebSocket требует HTTP/1.1 Обновление, которое не работает по HTTP/2 Пусть SockJS а...
Use explicit Host() for /ws route to enable TLSOption
- Changed /ws route from HostRegexp to Host(media.kamocrm.com) - TLSOption can only be applied to explicit hosts (not regex) - ALPN negotiation happens during T...
Force HTTP/1.1 for MediaService ONLY via TLSOption
- Created media-tls-http1 TLSOption with alpnProtocols: [http/1.1] - Referenced ONLY in media-route IngressRoute - Does not affect other Traefik routes - Fixes ...
Separate /ws route for WebSocket, keep HTTP/2 for API
- Added two routes: /ws for WebSocket (higher priority), rest for API - Only /ws uses media-websocket-transport (HTTP/2 disabled) - API routes can use HTTP/2 fo...
Use Host() instead of HostRegexp() for media-route
- Simplified to Host(media.kamocrm.com) - Avoids regex escaping issues with backticks - Tests show route is working with simple Host match
Force HTTP/1.1 via TLSOption for WebSocket compatibility
- Created TLSOption to disable HTTP/2 ALPN negotiation - Forces browsers to use HTTP/1.1 for media.kamocrm.com - WebSocket upgrades require HTTP/1.1 protocol - ...
Disable idle timeout for WebSocket connections
- Added idleTimeout=0 to websecure entrypoint - Prevents Traefik from closing WebSocket connections due to inactivity - Fixes SockJS WebSocket timeout issues
Используйте только транспорт WebSocket (отключение XHR-опроса)
- Измененный транспорт SockJS из [websocket, xhr-streaming, xhr-polling] в [websocket] - Удалить обратную связь с опросом XHR Поддерживает чистое соединение Web...
Удалить явную ссылку на пространство имен из сервиса kamowsmedia
Обе услуги находятся в одном пространстве имен (камо). - Явная ссылка на пространство имен не требуется Избегать потенциальных проблем кросс-имяпространства
Удалить /ws переписать из следующего. Config (обрабатывается Traefik)
Next.js переписывает для /ws путей Маршрутизация WebSocket теперь обрабатывается на уровне Traefik IngressRoute - Traefik routes internal.kamocrm.com/ws -> Меди...
Маршрут /ws запрашивает напрямую в MediaService через Traefik
Добавлен выделенный маршрут для /ws путей в IngressRoute - Маршруты внутренний.kamocrm.com/ws -> Медиасервис напрямую Использует те же серверы, что и медиа-марш...
Разрешить /ws конечные точки WebSocket без перенаправления auth
- Добавлен /ws путь в обход промежуточного программного обеспечения SockJS должен подключаться к /ws/info без перенаправления Подключение к WebSocket будет имет...
Изменить соединение WebSocket на однородное
- Изменен с media.kamocrm.com на тот же источник (internal.kamocrm.com) Избегать проблем с подключением WebSocket Next.js переписывает правило на прокси /ws в M...
Remove @kubernetescrd suffix from serversTransport reference
- Traefik error: cross-namespace format not allowed when crossnamespace disabled - IngressRoute and ServersTransport are in same namespace (kamo) - Use simple n...
Удалить недействительное свойство кодера из getDisplayMedia
Использование простого видео: верно для совместного использования экрана Строительство должно быть успешным
Устраните ошибку сборки - замените PhoneOff на CallEnd
Иконка PhoneOff не существует в @mui/icons-material Использование CallEnd, который является правильным значком MUI - Удаленные неиспользованные дубликаты файлов...
Split port ranges to avoid conflicts
- Coturn relay: 52000-65535 (13,536 ports) - Avoids: Janus RTP (10000-49151) and WireGuard (51820-51821) - No overlap between services
Adjust relay port range to avoid WireGuard/VPN ports
- Changed max-port from 65535 to 51800 to avoid conflicts - Avoids WireGuard on UDP 51820 and other VPN services on 51821 - Provides 2,649 ports (49152-51800) f...
Resolve CrashLoopBackOff by fixing probes and config
- Replace netstat-based health probes with TCP socket checks (netstat not available in coturn/coturn:latest Alpine image) - Remove conflicting no-stdout-log dir...
Use full Kubernetes CRD provider name for ServersTransport reference
Traefik requires the @kubernetescrd suffix when referencing CRD resources like ServersTransport.
Simplify MediaService WebSocket IngressRoute configuration
Remove media-websocket-upgrade middleware that was forcing headers and causing WebSocket handshake issues. Traefik automatically handles WebSocket upgrade when ...
Пропустите перенос WebSocket в SockJS, чтобы избежать проблем с HTTP/2
Используйте xhr-стриминг и xhr-поллинг вместо websocket Эти транспортные средства работают как с HTTP/1.1, так и с HTTP/2 без необходимости обновления WebSocket...
Add end anchor to WebSocket path regex pattern
- Add $ to end of PathRegexp to ensure exact match - Fixes regex parsing error in Traefik - /ws/info is now working (200 OK) but WebSocket upgrade route needs p...
Only apply WebSocket upgrade middleware to actual WebSocket paths
- Change route match from PathPrefix(/ws/) to **************** - /ws/info is a regular HTTP request, not a WebSocket upgrade - Adding Upgrade header to /ws/info...
Add Connection: Upgrade header to WebSocket upgrade middleware
- Add Connection: Upgrade header along with Upgrade: websocket - Both headers are required for proper WebSocket upgrade handshake - This ensures HTTP/2 Extended...
Add separate route for WebSocket paths with upgrade middleware
- Create separate route matching /ws/** paths with media-websocket-upgrade middleware - This ensures Upgrade: websocket header is added for WebSocket upgrade re...
Use ServersTransport to disable HTTP/2 for WebSocket connections
- Create ServersTransport resource with disableHTTP2: true - Reference ServersTransport in IngressRoute service configuration - Remove invalid disableHTTP2 fiel...
Отключить HTTP/2 для серверного соединения MediaService
- Добавить отключение HTTP2: правда, заставить HTTP/1.1 для бэкэнд-соединений HTTP/2 Extended CONNECT неправильно конвертирует заголовок обновления Обновления W...
Настройка схемы службы IngressRoute для поддержки WebSocket
Схема установки: http для обеспечения правильной обработки HTTP/1.1 для обновлений WebSocket HTTP/2 Extended CONNECT нуждается в правильном преобразовании в HTT...
Remove invalid handshake handler and fix SockJS configuration
- Remove invalid DefaultHandshakeHandler override (method doesn't exist) - Remove invalid setSupressCors call (method doesn't exist) - Keep HttpSessionHandshake...
Add WebSocket handshake logging and SockJS configuration
- Add handshake handler and interceptor logging to diagnose WebSocket connection issues - Configure SockJS to suppress CORS (handled by Spring Security) and dis...
Настройка переноса SockJS для решения проблем обновления HTTP/2 WebSocket
- Явно настроить транспортный заказ SockJS, чтобы предпочесть WebSocket, а затем вернуться к xhr-стримингу / xhr-поллингу Обновления HTTP/2 WebSocket могут поте...
Remove media-cors middleware from IngressRoute to allow WebSocket connections
- media-cors middleware was clearing CORS headers which interfered with WebSocket upgrades - WebSocket connections require direct pass-through without header mo...
Remove invalid Spring Security pattern /ws/**/info
- PatternParseException: No more pattern data allowed after {*...} or ** - /ws/** already covers all paths under /ws including /ws/info - This was causing 500 e...
Apply media-cors middleware to MediaService IngressRoute
- Apply media-cors middleware to allow CORS headers for WebSocket connections - Matches the pattern used for theme domains
Explicitly permit OPTIONS requests for CORS preflight
- Add explicit permit for OPTIONS method on all paths - Add explicit permit for /ws/info endpoint (SockJS handshake) - This ensures CORS preflight requests reac...
Make CORS configuration more permissive for WebSocket connections
- Explicitly handle '*' wildcard for origins, methods, and headers - Add WebSocket-related headers to exposed headers - Add logging to verify CORS configuration...
Add logging and configure SockJS heartbeat/disconnect settings
- Add logging to verify WebSocket endpoint registration - Configure SockJS heartbeat and disconnect delay - This should help diagnose why SockJS handshake isn't...
Revert IngressRoute changes - Traefik handles WebSocket automatically
Маршрут сообщений распознается Next.js
- Добавлена рубка, чтобы проверить, что маршрут поражен Файл маршрута существует и структура правильна для Next.js 15
Удалить из STOMP несуществующее «активное» имущество Регистрация клиентов
- СТОМП У клиента нет «активной» собственности Проверьте только «подключенное» свойство, которое является правильным показателем состояния
Удалить неподдерживаемый обработчик ошибок на WebSocketError из клиента STOMP
- onWebSocketError не является действительной собственностью в ClientOptions - Обработчики ошибок SockJS (ошибка, приближение) уже обеспечивают обработку ошибок
Добавить всестороннюю обработку ошибок WebSocket
- Добавлены обработчики ошибок SockJS (onopen, onerror, onclose) для обнаружения сбоев соединения - Добавлено обнаружение тайм-аута соединения (10 секунд) для в...
Remove duplicate WebSocket endpoint registration and improve logging
- Removed duplicate /ws endpoint registration (SockJS already handles native WebSocket) - Added null check for payload in subscribeToSession - This may fix WebS...
Remove invalid Spring Security path pattern /ws/**/websocket
- Spring Security does not allow path segments after /** pattern - /ws/** already matches all paths under /ws including websocket endpoints - This fixes Pattern...
Удалить неправильный HTTPS-агент
Обратные изменения, которые прошли проверку сертификата - Сертификаты выдаются службой автосертификации (Let's Encrypt), а не самоподписанными Необходимо выясни...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.