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...
Multipart 업로드에서 클라이언트 측 OTK 제거, 업로드 디버그 로깅 추가
클라이언트는 업로드하기 전에 낭비 된 OTK를 생성했습니다 (Next.js 경로 백엔드의 서버 측 OTK를 생성합니다. 고객 제거 OTK는 흐름을 단순화하고 잠재적 인 타이밍 문제를 제거합니다. 배경에 debug 로깅 추가 POST 경로 핸들러.
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...
NavTop 디스플레이 이름 검색 및 올바른 MediaService URL 계획 단순화
- getDisplayName에서 userAlias lookup 제거, 직접 회원 기록 사용 - MediaService K8s URL을 https : 8443에서 http : 80로 수정하십시오
ForwardToApi를 사용하여 수동 fetch 대신 배경 업로드
FormData forwarding을 가진 수동 fetch는 multipart 경계를 끊었습니다. 이제 FormData를 재구성하고 headers를 올바르게 처리하는 forwardToApi를 사용합니다.
직접 회원 가입 대신 org 테마 배경을 찾기 위해 subquery 사용
이전 INNER 회원이 NULL인 tb.member에 가입 대부분의 사용자 수준 배경입니다. 이제 User→Member→Organization을 통해 정복을 사용합니다. org의 구성원이 업로드한 모든 배경을 찾을 수 있습니다.
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...
OTK auth를 가진 EmailService에서 직접 Fetch 서명 템플렛, debug logging를 추가하십시오
forwardToApi for /api/email/signature-templates는 APIService를 통해 갔다 Next.js 이메일 프록시 대신 게이트웨이. 지금 직접 fetches 적절한 OTK 헤더를 가진 EmailService. 모든 단계에서 로깅 추가 템플릿 로딩.
Redis에서 직접 세션을 읽으십시오 (/api/user-info와 동일), 모든 서비스 통화에 대한 forwardToApi 사용
뿌리 원인 : sender 프로파일은 '당신의 동료'를 보여주었습니다. non-existent SecurityService endpoint라는 세션 fetch. 주요특징 이메일서비스가 부족한 OTK auth에 직접 fetch 때문에 변형되었습니다. 수정 : - 세션 : 읽음 *** 쿠...
Replicate exact email composer data flow for meeting invite emails
The previous implementation only filled 8 of 20+ SignatureContent fields, causing malformed signatures with no images, name, or contact info. Now replicates th...
회의 초대 이메일 청소 — 로고 제거, 주제 수정 / 호스트, 제대로 맞춤 메시지를 embed
템플릿 변경: - 제거된 로고 이미지 (signature 템플렛 헤더는 브랜딩을 취급합니다) - 제거된 'Hi, 당신의 동료는 당신을 초대했습니다 — custom 메시지 영역 (비어 있는 메시지가 없는 경우) - 호스트 필드는 {Organization}에서 '{Name}'을 보여줍니다....
Org 서명 템플릿 (header/footer/signature)과 함께 이메일 랩 회의 초대
이제 이메일 작곡가로 감싸는 정확한 동일한 이메일 복제: 1. EmailService (사용자 범위, COMPANY fallback)의 서명 템플릿 2. Fetches sender의 서명 콘텐츠 회원 프로필 (이름, 이메일, 제목) 3. 수신자 개인화와 함께 초대 몸을 구축 4. 제공된...
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.
회의 초대 이메일 DIRECTLY to EmailService, APIService Gateway를 통해
루트 원인: forwardToApi 경로를 통해 APIService의 Java 게이트웨이 Multipart FormData 경계를 올바르게 보존하지 않습니다. 이메일 * 작곡가는 이야기하는 전용 이메일 프록시 경로를 사용합니다. EmailService에 직접. 수정: 정확한 이메일 프...
달력 페이지 헤더와 사이드바에 하위 배경 주석 사용
빛 색상 혼합 배경으로 리드 / 정렬 페이지 스타일링 일치 몹시 포화된 1 차적인 색깔 대신.
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.
Clear stale hexheads 에 페이지 새로 고침 대신 restoring orphaned state
Minimized 공구 창은 상쾌하게 생존하지 않습니다, 그래서 hexhead 위치를 restoring 누락된 아이콘과 비기능 클릭 핸들러를 가진 orphaned 머리. 이제 마운트에 지속 된 hexheads를 삭제합니다. 그들은 자연적으로 재현됩니다. 창은 다시 최소화됩니다.
회원 ID가 "새로운"인 경우 회원별 탭을 숨기기하여 BAD REQUEST 에러를 방지합니다
/settings/member/new URL ("Add Team Member" 버튼에서)가 붙습니다. [memberID] 동적 경로, accountActivityTab 발생, MembershipPermissionsTab, PlansBillingTab 은 회원으로 "새로운" 으로 API ...
60s OTK TTL for meet windows, 독립 채팅/이메일은 백엔드에 차단하지 않는 초대
ROOT CAUSE : OTK는 10 초 TTL을 가지고 있습니다. 시간으로 kamo-meet 페이지 OTK를 검증하기 위해 모든 자산과 브랜딩/overrides.js ran을 로드했습니다. Redis → 401 → no session → no name → no JWT에서 이미 만료되었...
기존 채팅 세션 API를 통해 채팅 초대를 보내, emailService에 multipart를 통해 이메일 초대
채팅 초대: POST /api/media/sessions/chat을 통해 채팅 세션을 생성/gets 그런 세션에서 텍스트 메시지로 회의 초대를 보냅니다. 사용 방법 ChatTool/ChatBox와 동일한 API 패턴. 이메일 초대: new /api/meet/invite-email ro...
Use getServerName() instead of getHeader(Host) for original host resolution
ForwardedHeaderFilter consumes X-Forwarded-Host and adapts getServerName() accordingly, while getHeader(Host) returns the raw HTTP Host which may be a K8s inter...
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...
모든 회의 필드를 전달 (sendChatInvite, sendEmailInvite, customMessage, roomAlias, JoinUrl) 백엔드
Next.js API 경로는 stripping sendChatInvite, sendEmailInvite, customMessage, and roomAlias — 오직 forwarding roomName 및 ExhibitMemberIds. 백엔드는 초대 깃발, roomAlias 없음 (약...
앞으로 방문자 IP 및 사용자 - 정확한 계정 활동 로깅을 위해 백엔드
Next.js API 경로는 X-Forwarded-For, X-Real-IP 또는 전달되지 않았습니다. User-Agent 헤더를 Java 백엔드에 붙여넣기 위해서는 계정 활동을 로그아웃합니다. Next.js pod의 내부 IP 및 기본 fetch user-agent 대신 실제 웹 방문...
Use HTTP on port 80 for meet service URL to match other services
The HTTPS endpoint on 8443 causes SSL cert mismatch when routing through K8s internal DNS. All other services use HTTP on port 80.
직접 우회하는 대신 per-member 회의를 위한 MeetingDialog
두 개의 MemberItem (Interaction Center) 및 ChatBox (chat 도구 창) 지금 MeetingDialog를 대상 회원으로 사전 선택, 허용 사용자 룸 이름 및 toggle 채팅 / 이메일 초대 옵션을 설정하기 전에 회의 시작.
직접 MediaService 대신 APIService를 통해 Route meet config API
기존의 meet/create 경로는 forwardToApi (APIService)를 사용합니다. MediaService에 프록시. 새로운 config/background 노선을 따라야 합니다. 현재 인프라와 같은 패턴.
Add dnsPolicy ClusterFirstWithHostNet to JVB StatefulSets so hostNetwork pods can resolve cluster DNS
지금 채팅 후 새로운 탭 버튼을 아이콘 전용으로 제거, 중복 메모 링크를 제거
New Tab은 이제 Chat Now의 오른쪽에 위치한 아이콘 버튼입니다. NavTop에서 제거한 메모는 이미 NavPri에 있습니다.
KbArticle AI 가시성 필드에 명시된 @JsonProperty 표기
Jackson serializes/deserializes aiEnabled, aiVisibleToPublic, aiVisibleToMembers, aiVisibleToTeamMembers 정확한 필드 이름.
Infinite re-render loop in MeetingDialog는 기본 prop 배열 참조로 인한
UseEffect는 preSelectedMembers (과태 [])의 의존성으로, 모든 렌더링에 새로운 배열을 만들고 무한한 setState를 트리거 루프. 오픈 상태 전환을 추적하기 위해 ref를 사용하여 고정, 제거 unstable deps, 그리고 TextField 외부 새로 고침...
MeetingDialog에 MUI 7 호환성을 위한 SlotProps를 가진 deprecated InputProps를 대체하십시오
클라이언트 충돌을 방지하기 위해 MeetingDialog Autocomplete에 isOptionEqualToValue 및 null 안전 추가
지금 채팅 아이콘 화이트, 메시지 목록과 동기화 이메일 배지, 테마 색상 CSS 색상 혼합 사용
- NavTop: Change ForumIcon Color to white to match Chat Now 라벨 - MessageBrowser/MailButton: 좌표 WebSocket 이메일은 사용자 지정 이벤트를 통해 새로 고침하므로 배지 수는 메시지 목록과 동기화됩니다. - Fe...
