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
다음의 메시지 경로가 인식됩니다.js
- 경로를 확인하기 위해 로그인이 추가되었습니다. - Route 파일이 존재하고 구조는 Next.js 15에 대한 정확합니다
STOMP의 non-existent 'active' 속성 제거 고객 로그인
- 주식 클라이언트는 'active' 속성이 없습니다. - 올바른 상태 인 'connected' 속성 만 확인
STOMP 클라이언트에서 unsupported onWebSocketError 핸들러 제거
- onWebSocketError는 ClientOptions에서 유효한 속성이 아닙니다. - SockJS 오류 핸들러 (onerror, onclose) 이미 오류 처리 제공
종합 WebSocket 오류 처리 및 로깅 추가
- SockJS 오류 핸들러 추가 (오픈, onerror, onclose) 연결 실패 - 연결 시간 검출 추가 (10 초) 침묵 장애 식별 -에 추가WebSocketError handler 에 STOMP 클라이언트 - WebSocket 연결이 설치되지 않는 이유를 진단하는 향상된 로깅 ...
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...
Incorrect 제거 HTTPS 에이전트 운동
- 인증서 유효성을 우회한 변경 - 인증서는 자동 인증 서비스(Let's Encrypt)에 의해 발급되며, 자기 서명되지 않습니다. - 인증서 유효성 검사가 실패한 이유를 조사해야합니다
Self-signed 인증서를 받아 에이전트와 HTTPS를 사용
- 항상 HTTPS를 사용한다 (HTTP) - rejectUnauthorized를 가진 추가된 HTTPS 대리인: 자기 위탁된 certs를 위해 거짓 - 이것은 서버 측 Next.js 경로가 https://media.kamocrm.com에 연결하도록 허용합니다. - 모든 미디어 API ...
MediaService의 쿠버네티스 서비스 이름을 사용하여 SSL cert 문제를 피하기 위해
- Server-side Next.js 경로는 이제 사용할 수 있습니다. *********** - https://media.kamocrm.com에 접속할 때 자체 서명된 인증서 오류를 피합니다. - 클라이언트 측 요청은 여전히 외부 https://media.{domain}를 사용합니다....
구문 /api/security/media/ 경로를 제거
- 오래된 경로는 더 이상 미디어 엔드포인트가없는 APIService로 전달되었습니다. - 모든 미디어 요청은 MediaService에 직접 /api/media/경로를 통해 이동해야 합니다. - 제거: *********** - 제거: *********** - 제거: ***********...
MediaService 세션 생성에 대한 자세한 오류 로깅 추가
- 로그인 MediaService URL 호출 - 로그 응답 헤더 - 전체 오류 정보와 향상된 오류 로그 - 디버깅에 대한 오류 응답에 URL 포함
다른 Next.js 프로젝트와 일치하기 위해 action/checkout@v4로 변환
- 걸출한 복잡한 수동 체크 아웃 논리 제거 - kamo-login 및 kamo-register와 같은 표준 동작/checkout@v4 사용 - Docker 빌드 컨텍스트를 단순화합니다. env var 대신 - k8s에 대한 작업 배치 체크 아웃 추가
걸려지는 것을 막기 위하여 timeout를 가진 얕은 clone를 사용하십시오
- 사용 - 심도 1 빠른 복제 - 타임아웃 추가(120s for shallow, 300s for full) - 얕은가 실패한 경우에 가득 찬 clone에 Fallback - 얕은 클론 후 필요한 경우 Fetch 특정 커밋
Git clone의 유효 디렉토리를 변경하여 작업 디렉토리 오류를 피하십시오
- /tmp로 변경하거나 / 제거하기 전에 작업 공간 - 존재하지만, git repo는 없다. - 현재 작업 디렉토리의 오류를 읽을 수 없습니다
Hardcoded 저장소 URL 및 설정 GITHUB WORKSPACE env var
- DNS/hostname 해상도 문제를 피하기 위해 직접 저장소 URL을 사용하십시오. - 이후 단계에 대한 GITHUB WORKSPACE 환경 변수 설정 - Docker 빌드 컨텍스트에서 env var 사용
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...
Participant Membership의 기존 채팅 세션 검색, 그냥 세션 소유자
- MediaSession.member 대신 MediaSessionMember 레코드를 검색하는 Changed findOrCreateChatSession - 제작자가 참여하는 세션을 검색합니다 (memberInvited or memberCreated) - OtherMember가 참여하는...
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...
Eagerly 로드 멤버에 가입하십시오 메시지 쿼리
- 두 findBySessionAndIsRemoved에 가입 FETCH m.member 추가 False 쿼리 - 회원국은 게으른 적재 문제를 피하기 위해 eagerly 로드됩니다. - 회원 ID가 메시지를 직렬화 할 때 제대로 검색 할 수없는 문제 수정
자동 NATS JetStream 스트림을 만들면 존재하지 않습니다
- createStreamIfNotExists 메소드를 추가하여 CHAT MESSAGES 스트림을 생성 - 스트림은 구성 (chat.>)의 주제로 생성됩니다. - 메시지 게시시 제목의 오류에 대응하지 않음 - 스트림 생성은 idempotent - 스트림이 생성하기 전에 존재하는 경우 체...