변경 로그
무슨 일이야?
플랫폼에 대한 모든 개선 사항, 그것이 선적.
· kamo-internal
웹 채팅 통합 탭 - 목록, 생성, 스니펫 (BFF + UI)
웹 채팅 통합 설정 탭의 단계 2 코어: BFF 경로 프록시 Phase-1a MediaService CRUD, 유형 클라이언트 및 /settings/features/chat 탭 org 목록 통합, 하나 만들기 (이름 + 필수 웹 사이트 원산지 + AI / 지원 모드), 그리고 원료를 가져옵니다 사이트 키 + 한 번 embedable 스니펫. 디자인 사용자 정의 및 readiness 체크리스트가 나중에 단계입니다.
· kamo-register
Kamo-register 명예 소프트웨어 auth 로고 + 이름
- DynamicMetaLoader: config.json에서 소프트웨어 정체성 + auth selectors를 읽어, 해결 tab title, persist auth 로고/이름 state to sessionStorage - brand.ts + ThemeLogo : auth-logo identity (reactive)를 자동 따기 로고 - useAuthName: 이름 텍스트 등록 (landing + flow)는 auth-name identity를 따릅니다. 테마 구성 부하에 민감; 회사에 다시
· kamo-login
Kamo-login 명예 소프트웨어 auth 로고 + 탭 제목
- DynamicMetaLoader: config.json, 설정 탭에서 소프트웨어 정체 + auth selectors를 읽으십시오 해결 된 이름 (authNameBrandSource)의 제목, 세션 저장에 대한 persist auth-logo 상태 - Brand.ts + ThemeLogo : 로그인 로고 자동 팔로우 auth-logo identity (company/software), re-resolved on theme config load; 호출 사이트 변경 필요 없음
· kamo-internal
LabelManager 소프트웨어 ID UI + 내부 탭 제목
- 회사 정보 : 소프트웨어 이름 / 짧은 이름 + 로그인 / 등록 이름 + 탭 제목 선택 - 브랜딩: 소프트웨어 전체/간단한 로고 업로드, override toggles, per-surface ID 선택기 (워터마크, navpri, login/register 로고) - 항상 회사 (documents/email/invoices/etc.)로 통신되는 강제적인 우아한 표면. - 레이아웃: 내부 브라우저 탭 제목은 internalTabBrandSource를 통해 해결
· kamo-internal
3-stage org onboarding 지도 (create → 완료 DNS → 입력)
하나의 단계 인식 지침 패널으로 first-org 영웅을 일반화 회원의 소유주 수 + DNS 상태 ( /api/security/org/my-networks에서): create — no child org → 첫 번째 화이트 라벨 org 출시 (/network/create) dns - 1, DNS 확인되지 않음 → 완료 도메인 설정 (/setup/dns?orgId=.) 입력 - 1, DNS 완료 → 입력 ( OTK → 내부.<domain>) 그들은 두 번째 org를 소유 한 경우, 패널 쇼 - 그들은 밧줄을 알고. DNS 공개 네트워크 페이지 규칙을 정확히 미러 (custom domain && domainSetupComplete===false; a *.kamocrm.com org는 DNS가 필요하지 않습니다. 각 단계는 그것의 자신의 악센트 가족을 얻습니다 (people/work/crm), 아이콘 및 복사; CTA는 create/dns 및 async에 대한 링크입니다. 준비 단계에 대한 작업을 입력합니다. 실패 안전한 (패널 없음) 어떤 fetch 오류.
· kamo-internal
이중 회사/software 결심자 + 납품 + 소비
- Organization.ts: OrgContext를 통해 소프트웨어 ID + per-surface selectors 제공 - 브랜드 : **************** (+ vitest, 8건) - ThemeLogo : 로고소프트웨어 / 로고FullSoftware 변형 - NavPri: navpri 로고 + 원본은 내부 소프트웨어 로고 선별기를 따릅니다 - 배경Watermark + 백드롭 : 워터 마크는 소프트웨어 정체성을 존중합니다 (both paths)
· SecurityService
소프트웨어 로고 업로드 유형 + config.json bake
- uploadLogo: 명시된 객체 키 스위치 *********** 소프트웨어 업로드를 거부하면 회사 로고를 복제할 수 없습니다.svg - copyFolder: 템플릿 복사에 업로드된 소프트웨어 로고 보존 - config.json: 로그인/등록을 위한 bake 소프트웨어 정체성 + auth-surface selectors - 테스트: UploadLogoObjectKeyTest, buildConfigJson 소프트웨어 케이스
· kamo-shared-library
조직에 소프트웨어 흰색 라벨 브랜딩 열 추가
· kamo-shared-library
PatchOrganization whitelist를 통해 Persist 소프트웨어 브랜딩 필드
· kamo-internal
플랫폼 org의 회원을위한 First-org CTA 영웅
홈 출시패드의 상단에 온보드 영웅을 보여주세요. KamoCRM-platform 회원 (팀 회원이 아닙니다) 아직 생성되지 않은 아이 org는 첫 번째 흰색 라벨 조직을 회전. 인기 있는 CTA 버튼과 인라인 'click here' 는 /network/create 의 경로를 모두 연결, 그리고 위의 'My {branches}'에 복사 포인트. userInfo.memberType === MEMBER + organization.isTopLevel; 숙박 /api/security/org/my-networks가 없는 숨겨진 것 org, 그리고 안전 실패 (숨겨진) 어떤 fetch 오류. 악기를 따르십시오 패널 디자인 언어 (사람 악센트, kglass, 통신수 상표, 집 easing, 감소 모션화). 집에서 문자열. 첫 번째Org.
· VOIPService
TURN-REST credentials 모바일 소프트 폰의 엔드 포인트
GET /api/voip/turn/credentials 민트 ephemeral coturn creds (HMAC-SHA1 이상) "<expiry>:<memberId>" 와 공유된 정적-auth-secret) 그래서 native/cellular WebRTC는 47.181.8.84:3478을 통해 릴레이 할 수 있습니다. 동일한 X-***-Token을 통해 Auth SIP endpoint 용도; secret is absent 때 set:false (STUN-only)를 반환합니다. 기존의 ***(선택)로부터 KAMO TURN SECRET를 타십시오.
· SecurityService
/my-networks에 per-org primaryColor + 로고 URL 노출
각 org 행은 이제 기본 색상 (Organization.colors.colorPri, '#'-prefixed config.json과 파생된 LogoUrl/logoSimpleUrl (theme.<domain>/public/ 로고 및 per-org hex-head 국경 색상.
· MediaService
Snapshot web-chat 통합 지원 방문자 + 티켓
CreateKeyHash (enabled-filtered)에 의해 WebChatIntegration를 해결 부트 스트랩()/AI-prompt resolution)에 한 번 연속 createSupportSession과 스탬프 모두 PublicChatVisitor 웹 사이트 attribution에 대한 SupportTicket. Null/blank keyHash 또는 일치하는 활성화된 통합은 열 null을 나타낸다.
· AIService
통합 공개 AI 신속한 + 세션 attribution
Per-org에서 public-chat system-prompt 폭포 업그레이드 per-integration: PublicAiChatController 지금 읽기 X-Public-Chat-Key-Hash 헤더 (nullable) APIService에 의해 전달 그것을 전달 *********** 해결 WebChatIntegration by hash 과 선호 aiSystemPrompt 위에 AiOrgSettings default, 일반 프롬프트로 돌아가기. 더 보기 AiChatSession은 webChatIntegrationId로 각인됩니다. 열쇠 교체를 생존하는 안정되어 있는 attribution. static으로 폭포를 추출, 단위 테스트 해결 헬퍼 (integration-wins / org-fallback / 일반적인-fallback / 공백 취급).
· APIService
GET /api/public-chat/bootstrap 게이트웨이 경로
기존 proxyWithAuth 파이프라인을 재사용하는 bootstrap 엔드포인트 추가 (key validation + opt-in Origin + PUBLIC CHAT 범위 + 속도 제한 + X-Public-Chat-Key-Hash) 및 MediaService 부츠 스트랩 엔드포인트에 프록시.
· MediaService
Public-chat 부트 스트랩 구성 해결자
내부 GET 추가 *********** 해결 WebChatX-Public-Chat-Key-Hash의 통합 및 해결 design/behavior config (WebChatDefaultConfig.merge를 통해 기본 충전 그래서 통합 행이있는 열쇠는 오늘날의 위젯과 같은 여전히 렌더링됩니다. 통합할 때 Active PublicChatApiKey의 org로 돌아가십시오. 존재; 열쇠 해시가 전혀 해결되지 않을 때 404s.
· MediaService
WebChatIntegration CRUD (최소 키 + 통합, org-scoped)
Org-facing 관리 API for the Phase-2 웹 채팅 설정 탭. 으로 create, mints the underlying PublicChatApiKey (사임 키겐 접근 방식) WebChatIntegration 행과 함께 PublicChatKeyController로 원시 키를 한 번 반환합니다. 목록/get/update/delete는 org-ownership입니다 체크; 업데이트 busts the (Task-5) bootstrap 캐시 when designConfig 또는 활성화된 변경.
· kamo-shared-library
WEB CHAT INTEGRATION ID attribution 칼럼을 방문자/티켓/이세션에 추가
· kamo-shared-library
WebChatIntegration entity + repo + DTO + 기본 디자인 구성
· kamo-internal
홈 + NavPri에 "Access Copilot Mobile App"입력 포인트 추가
두 표면은 NavTop이 듣는 ‘open-interaction-center’ 이벤트를 파견합니다. Setup Mobile App 탭의 Interaction Center를 엽니다. 홈 쇼 벽지 컨트롤 아래 라벨 pill; NavPri는 아래의 로고 아이콘을 보여줍니다 시험 pill (확장될 때 상표, 붕괴될 때 tooltip). 두 개의 문 ALLOW MOBILE ACCESS가 바로.
· kamo-internal
QR, 단선 탭, 로고 왼쪽 헤더, 10분 코드
- 회원은 비밀번호(server-verified via /api/mobile-access-otk, QR이 공개되기 전에 OTK를 채굴합니다. 이미 위탁된 컴퓨터에서 그것을 잡아. - QR/OTK는 지금 10 분 (600s); 카운트 다운 후 다시 잠금. - 1개의 선에 강제되는 탭 상표; 로고는 수직 공간을 절약하기 위하여 제목의 왼쪽으로 이동했습니다; 'Configuring for' 환약을 제거하십시오.
· SecurityService
사이트맵 *********** - 게이트 모바일 코파이로 QR
Caller의 자신의 암호를 확인합니다 (passwordEncoder. 세션에 대한 일치 사용자) 아무것도 변경하지 않고. 모바일 액세스-otk BFF 경로에 의해 사용하는 설정 QR은 암호를 재확인 한 후만 채굴됩니다.
· kamo-internal
설정 모바일 액세스 탭 - QR을 설치 + 자동 구성 모바일 Copilot
NavTopPanel의 새로운 3 탭 (AlLOW MOBILE ACCESS에 의해 변경) : 브랜드를 보여줍니다 QR 인코딩 짧은 라이브 OTK 딥 링크 (kamocopilot://configure) 표시 휴대폰에 있는 회원은 현재 org에 앱을 기본으로 합니다. 자동 refreshes expiry의 앞에 OTK; org의 1 차적인 색깔을 가진 닦은 MUI 배치. 더 보기
· kamo-shared-library
ALLOW MOBILE ACCESS (167) 모바일 Copilot에 대한 일반적인 권리
새로운 RoleRightType (serviceType=null → General Group)은 '설정 이동 액세스의 상호 작용 중심 탭. RoleRightsSyncService는 모든 역할을 합니다. SecurityService 재시작; 역할 편집기의 일반 권한 아래 나타납니다.
· AIService
Per-org 공개 프롬프트, 공급자, 일일 메시지 캡에 대한 인간 차단
· kamo-shared-library
Anon use count 쿼리를 public web-chat 할당
· APIService
Verify *** 공공 세션의 가장자리에서 PoW 생성 (계산 할 때 사용)
· MediaService
Bust APIService 키 캐시 즉시 public-chat 키 toggle/delete
· MediaService
퍼스트는 공개 채팅 방문자에 키 해시를 생성 + attribution 티켓
· kamo-shared-library
PublicDailyMessageCap을 anon 웹 채팅 할당에 대한 AiOrgSettings에 추가하십시오

당신의 우주는 기다리고 있습니다.
몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.
영원히 무료 - 신용 카드 필요 없음