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
Add media-cors middleware for media domain CORS support
- Add media-cors middleware matching theme-cors configuration - Allows CORS headers to be set for media.{domain} requests
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), а не самоподписанными Необходимо выясни...
Используйте HTTPS с агентом, который принимает самоподписанные сертификаты
Всегда используйте HTTPS (не HTTP) Добавлен HTTPS-агент с отклонением Несанкционированный: ложный для самоподписанных сертификатов Это позволяет серверным маршр...
Используйте имя сервиса Kubernetes для MediaService, чтобы избежать проблем с сертификатом SSL
- Серверные маршруты Next.js теперь используют **************** Это позволяет избежать ошибок при подключении к https://media.kamocrm.com Клиентские запросы по-...
Удалить старые /api/security/media/ маршруты, которые перехватывали запросы
Старые маршруты перенаправлялись в APIService, где больше нет конечных точек мультимедиа. Все медиа-запросы должны проходить через /api/media/ маршруты непосред...
Добавить подробный журнал ошибок для создания сеанса MediaService
- Log MediaService URL называется - Заголовки ответов журнала Улучшенная регистрация ошибок с полными деталями ошибок Включите URL в ответ на ошибку для отладки
Возвращайтесь к действиям / checkout@v4, чтобы соответствовать другим проектам Next.js
- Удалить сложную логику ручной проверки, которая вызывала повешения Используйте стандартные действия / checkout@v4, такие как kamo-login и kamo-register Упрост...
Использование мелкого клона с тайм-аутом для предотвращения повешения
Углубление 1 для более быстрого клонирования - Добавить тайм-аут (120 для мелкого, 300 для полного) - Возвращение к полному клону, если мелкий провал - При необ...
Изменить действительный каталог до клонирования git, чтобы избежать ошибки рабочего каталога
- Изменение /tmp или / перед удалением /клонированием рабочего пространства Удалить каталог, если он существует, но не является git repo Предотвращает ошибку «Н...
Use hardcoded repository URL and set GITHUB_WORKSPACE env var
- Use direct repository URL to avoid DNS/hostname resolution issues - Set GITHUB_WORKSPACE environment variable for subsequent steps - Use env var in Docker bui...
Use git clone directly instead of relying on empty workspace
- Clone repository using git directly with repository URL - Handle both fresh clone and existing repository cases - Use working-directory for Docker build actio...
Simplify all checkout steps - remove git operations that hang
- Remove git fetch/reset/clean from deploy jobs - Forgejo runner already has code checked out - Just verify GITHUB_WORKSPACE is valid
Simplify checkout step - remove git clone that was hanging
- Remove git clone logic that was causing 20+ minute hangs - Forgejo runner already has code checked out, just verify directory - Remove unnecessary git fetch/r...
Improve checkout and Docker build context handling
- Add proper repository cloning if not already checked out - Verify Dockerfile exists before building - Use absolute paths for Docker build context - Fix workin...
Replace actions/checkout with manual git checkout to avoid DNS issues
- Replace actions/checkout@v4 with manual git checkout commands - Forgejo runner already has code checked out, just need to ensure clean state - Fixes DNS looku...
Add 'media' subdomain to auto-cert SUBDOMAINS for MediaService
- Add 'media' to SUBDOMAINS list in auto-cert-service.yaml - Enables automatic SSL certificate generation for media.{domain} subdomains - Required for MediaServ...
Clarify WebSocket support in IngressRoute (automatic in Traefik)
Add direct MediaService routes via media.{domain} for WebSocket support
- Create new /api/media/* routes that forward directly to media.{domain} - These routes bypass APIService to allow secure WebSocket connections - MediaService r...
Add logging for subscription request to backend
- Log when subscription request is sent to /app/chat/subscribe - Helps verify if subscription requests are reaching the backend
Add detailed logging for subscribe function
- Log when subscribe() is called and current connection state - Log client existence and connection status - Helps diagnose why subscriptions aren't being creat...
Explicitly permit WebSocket endpoints in Spring Security
- Added explicit permitAll for /ws/** endpoints - WebSocket upgrade requests need explicit permission even in development mode - Fixes issue where WebSocket con...
Add detailed logging for WebSocket subscription requests
- Added logging to trace when subscribeToSession is called - Logs payload and sessionGuid extraction - Logs database lookup for session verification - Helps dia...
Add detailed WebSocket connection logging
- Enhanced logging for WebSocket connection success/failure - Log connection frame details on successful connection - Log detailed STOMP error information - Hel...
Поиск существующих сеансов чата по членству участника, а не только владельца сеанса
Измененный поискOrCreateChatSession для поиска записей MediaSessionMember вместо MediaSession.member - Поиск сессий, в которых автор является участником (member...
Add detailed logging for message member ID retrieval
- Added logging to trace member ID for each message being returned - Logs member class name to detect proxy/stub issues - Logs distinct member IDs in response t...
Добавьте JOIN FETCH для загрузки члена в запросы сообщений
- Добавлен JOIN FETCH m.member для обоих findBySessionAndIsRemoved Ложные запросы - гарантирует, что организация-член с нетерпением загружается, чтобы избежать ...
Автоматически создавать поток NATS JetStream, если он не существует
Добавлен способ проверки и создания потока CHAT MESSAGES Поток создается с субъектами из конфигурации (чат.>) Исправляет ошибку «No matching streams for subject...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.