Clear stale hexheads 에 페이지 새로 고침 대신 restoring orphaned state
Minimized 공구 창은 상쾌하게 생존하지 않습니다, 그래서 hexhead 위치를 restoring 누락된 아이콘과 비기능 클릭 핸들러를 가진 orphaned 머리. 이제 마운트에 지속 된 hexheads를 삭제합니다. 그들은 자연적으로 재현됩니다. 창은 다시 최소화됩니다.
자주 묻는 질문 Name override 더 적극적인 대회는 그것을 덮지 않을 수 없습니다
대회는 창을 대체할 수 있습니다. 부트 스트랩에서 완전히 구성, clearing 자세히보기 이름 플래그. window.config에 Object.defineProperty 트랩 추가 re-inject 읽기 name=true 각 재 할당에. 또한 확장 10s에서 15s까지 오염 간격을 극...
Async 브랜딩 로드 이벤트를 들어보세요. 로고와 org 색상 렌더링
PreMeetingScreen, 워터 마크 및 WelcomePage는 독서되었습니다. window. KAMO MEET BRANDING 렌더링 중 한 번, 데이터를 누락 async loadBranding()는 초기 마운트 후 완료되었습니다. 이벤트 'kamo-branding-loaded...
설정 대화 상자 품질 문제 해결 — 높이, 탭 오버 플로우 및 흰색 텍스트
조정 560px 고도를 85vh 최대로 자동으로 바꾸십시오 그래서 내용 적합 스크롤 바. flexWrap을 탭 바에 추가하여 클립 대신 탭을 감싸고 있습니다. 어두운 값 (#1a1a1a1a, #333) 전체 대화 상자 및 설정 탭 구성 요소 그래서 텍스트가 볼 수 가벼운 대화 상자 배경...
Deterministic 배치 엔진을 가진 HexHead 배치 체계를 씁니다
버그 충돌 방지 시스템 교체 (spiralSearch, resolveCollisions, flyToHomeRow, 단 하나 deterministic 썰물 () 기능을 가진 선창/그룹 RAF 반복. 도구 창 뒤에 나타나는 hexheads 수정 (z:100→250), 각 다른 overlap...
예약 원본 룸 이름 (자본화 / 공간 없음), 복사 회의 URL 필드 추가
1. 'myroom123'을 'Myroom 123'으로 변환하는 안전한StartCase()를 비활성화 자본화 및 임의 공간. Room name 이제 정확히 표시 kamo-internal에 입력. 2. MeetingUrlDisplay 구성품을 미리 조인 화면에 추가 URL (예: ***...
응답을 기다리는 동안 AI 채팅에 표시 표시 표시 표시
콘텐츠가 이미 스트리밍되었을 때만 보여지는 스트리밍 거품, REST 대기 중 시각적 피드백을 남기지 마십시오. 추가된 bouncing 점 ASSISTANT LOADING과 첫 번째 내용 / 응답 사이에 표시된 지표.
회원 ID가 "새로운"인 경우 회원별 탭을 숨기기하여 BAD REQUEST 에러를 방지합니다
/settings/member/new URL ("Add Team Member" 버튼에서)가 붙습니다. [memberID] 동적 경로, accountActivityTab 발생, MembershipPermissionsTab, PlansBillingTab 은 회원으로 "새로운" 으로 API ...
만료를 방지하기 위해 모든 테마 자산을 적재하기 전에 OTK FIRST를 유효
ROOT CAUSE: 브랜딩/overrides.js는 org config, CSS, favicon을 로드했습니다. OTK의 유효성 검사 이 네트워크 요청은 10 + 초, OTK가 유효성 검사 전에 만료되기 → 401 → 세션 없음/JWT. 이제 OTK 검증은 LoadBranding()...
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에서 이미 만료되었...
Config override + DOM mutation Observer를 통해 Properly lock display name
Name을 보장하는 3 층 접근은 정통한 사용자를 위해 잠깁니다: 1. LocalStorage 깃발 'kamo-meet-authenticated'는 OTK→JWT 리디렉션을 살아남습니다 2. 리디렉션 후, overrides window.config.readOnlyName=true 을 통...
기존 채팅 세션 API를 통해 채팅 초대를 보내, emailService에 multipart를 통해 이메일 초대
채팅 초대: POST /api/media/sessions/chat을 통해 채팅 세션을 생성/gets 그런 세션에서 텍스트 메시지로 회의 초대를 보냅니다. 사용 방법 ChatTool/ChatBox와 동일한 API 패턴. 이메일 초대: new /api/meet/invite-email ro...
Commit pending infrastructure config changes across auto-cert, cockroachdb, coturn, janus, mail, nats, and traefik
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...
Lock display name via Meet의 네이티브 readOnly name config for 인증된 사용자
- Sidecar config.js는 이제 readOnlyName:true를 설정한다. 또는 페이지 URL에서 JWT (리더/코오키 헤더를 통해 탐지) - nginx는 config.js 요청에 대한 sidecar에 쿠키 및 Referer 헤더를 전달합니다. - 이 사용 Meets 내장 ...
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 없음 (약...
Implement chat WebSocket and email invite sending for meetings
MeetController now reads sendChatInvite, sendEmailInvite, and customMessage from the create request body and triggers async invite sending. MeetService.sendInv...
Pass availableMembers to all MeetingDialog 인스턴스 및 제공되지 않을 때 자기 잡아
- memberList는 각 회원에게 사용할 수 있습니다. - MemberItem는 MeetingDialog에 availableMembers를 전달합니다. - MeetingDialog 자체 펀치 회원 *********** availableMembers prop이 빈 경우 (covers ...
OTK 세션에서 Prosody JWT를 생성하고 적절한 moderator auth를 위해 ?jwt=로 리디렉션
지금 OTK 흐름: 1. 사이드카를 통해 OTK 유효성 검사 → 세션 (회원, displayName 등) 2. localStorage에 표시 이름 저장 3. 호출 /api/auth/jwt는 moderator=true를 가진 서명한 Prosody JWT를 생성하기 위하여 4. ?otk=x...
Org nav 색상을 전체 pre-meeting 왼쪽 열, 단지 도구 모음 스트립
Target .premeeting-screen (전체 높이 컨테이너) 및 그 내용 생성 된 클래스 이름 대신 패널 어린이. 또한 in-meeting 커버 툴박스 및 필름 스트립 사이드바.
장치/Sounds/More/Shortcuts 탭을 가진 가득 차있는 조정 modal, 주요 카드, 1 차적인 색깔 오바레이에 표시 이름
- 표시 이름은 현재 방의 메인 카드에 필요한 필드입니다. 입력, 설정에 없습니다. 사용자는 가입하기 전에 이름을 입력해야합니다. - 설정 modal에는 4 개의 탭이 일치하는 Meet의 설정이 있습니다. 장치 (라이브 급식을 가진 사진기 시사, 수준 미터를 가진 mic, 스피커), 소...
앞으로 방문자 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.
익명의 가입 전에 가능한 룸 존재, 장치 선택과 설정 modal 추가
익명 사용자는 유효한 회의실 이름을 입력해야합니다 - 환영 페이지 체크 /api/meet/exists/{roomName} 참여하기 전에. 회의가 있다면 오류 메시지가 없습니다. 설정 modal은 glassmorphism을 가진 환영 페이지를 일치, 다음을 포함합니다: 표시 이름, 사진...
Add GET /api/meet/exists/{roomName} endpoint for anonymous room validation
사용자 정의 메시지 textarea to MeetingDialog 채팅 / 이메일 초대
최소 1개의 알림 옵션이 있을 때 멀티라인 텍스트 입력 표시 활성화, 회의 제작자가 개인 정보를 추가 할 수 있도록 연락처 두 채팅 및 이메일 toggles가 꺼질 때 숨겨진. 이름 * 알림에 포함 된 백엔드 API로 전달됩니다.
직접 우회하는 대신 per-member 회의를 위한 MeetingDialog
두 개의 MemberItem (Interaction Center) 및 ChatBox (chat 도구 창) 지금 MeetingDialog를 대상 회원으로 사전 선택, 허용 사용자 룸 이름 및 toggle 채팅 / 이메일 초대 옵션을 설정하기 전에 회의 시작.
직접 MediaService 대신 APIService를 통해 Route meet config API
기존의 meet/create 경로는 forwardToApi (APIService)를 사용합니다. MediaService에 프록시. 새로운 config/background 노선을 따라야 합니다. 현재 인프라와 같은 패턴.
사전조인 화면에 인증된 사용자를 위한 Lock display name 입력
Authenticated member (OTK를 통해 도착)는 이름 사전 채우고 lock - 입력은 pointer-events와 readOnly에 설정된다. MutationObserver는 미팅 렌더링 후 잠금을 해제합니다. pre-join 스크린 동적인. Anonymous/guest ...
Config.js의 상대 BOSH / WS URL을 사용하여 OTK auth를 이름 사전 채우고, nav 색상에 대한 org CSS를로드하십시오
3개의 고침: 1. config.js BOSH URL은 클러스터 내부 주소에서 상대로 변경 /http-bind (nginx 프록시에서 Prosody). WebSocket은 호스트 헤더를 사용합니다. 2. 브랜딩/overrides.js 이제 URL params에서 OTK를 검증하고 세션을...
Org-themed 배경, glassmorphism 카드 및 룸 이름 입력을 가진 사용자 정의 환영 페이지를 추가하십시오
기타 제품 Meet의 기본 환영 화면과 사용자 지정 방문 페이지: - MinIO 테마에서 org 배경을 carousel 전환로드 - org 로고를 표시하고 CSS 변수에서 색을 그립니다. - 회의실 이름 입력을 Join/start 회의 제공 - App Store 및 Google Play...
Add dnsPolicy ClusterFirstWithHostNet to JVB StatefulSets so hostNetwork pods can resolve cluster DNS
지금 채팅 후 새로운 탭 버튼을 아이콘 전용으로 제거, 중복 메모 링크를 제거
New Tab은 이제 Chat Now의 오른쪽에 위치한 아이콘 버튼입니다. NavTop에서 제거한 메모는 이미 NavPri에 있습니다.
Enable nginx SSI 및 복사 누락 된 HTML은 파일 (head.html, base.html, font.html, body.html, plugin.head.html)을 포함합니다
대회는 nginx Server Side를 사용하여 index.html을 구성합니다. 여러 부분 HTML 파일. SSI가 활성화되지 않고 파일을 포함합니다. 현재 페이지는 빈 어두운 화면으로 렌더링합니다.
Configure Prosody, Jicofo, and secrets for Jibri recording support
Enable recording in Prosody, add Jibri XMPP passwords to secrets, and configure Jicofo brewery MUC for Jibri instance discovery.
Add Jibri deployment manifests for Meet meeting recording
Kubernetes deployment, service, and configmap for Jibri (Meet Broadcasting Infrastructure) to enable meeting recording with MinIO storage integration.
Org-level video conferencing config를 위한 5개의 탭을 가진 /settings/features/meets 페이지 추가
일반, 보안 및 액세스, 녹음, 브랜드, 새로운 설정 페이지 및 알림 탭. meetApi 클라이언트, MediaService 프록시 경로 포함, 로고 변형 선택, 드래그-투-reorder와 가상 배경 관리, 그리고 모든 3 nav 위치 업데이트 (SettingsStatusWindow, ...
Add MeetConfigController and MeetConfigService for org-level meet settings
REST endpoints for CRUD on OrgMeetConfig and MeetBackground entities. Supports config get/update, background upload/delete/reorder via MinIO storage.