콘텐츠로 건너뛰기
KAMOUniverse

변경 로그

무슨 일이야?

플랫폼에 대한 모든 개선 사항, 그것이 선적.

  1. · KlusterServices

    API 키가 필요하며 RAGService만 인정

  2. · EmailService

    메일 발송은 좌석, 사람들 및 AI 회원과 같은 필요

    사용 가능한 좌석이 없는 회원은 공유 403 SEAT REQUIRED 몸으로 거부됩니다. 모든 것이 전송되기 전에: POST /api/email/send, 공유 메일 박스 보내고, 4 Meeting-invite 노선 (보장, 업데이트, 취소, 회신). 달력 이벤트는 묻습니다. 이메일(sendInvites true, notifyByEmail)로 손님을 초대합니다. false): 달력 대화 상자와 KamoMobile는 모든 저장에 notifyByEmail true를 보냅니다, 그래서 일반 달력 입장은 모두 열려 있습니다. 내부 경로는 묻지 않습니다. 배포는 또한 서비스 자체 NATS 로그인 (nats-user-email), Redis ACL 로그인(redis-auth) 및 KamoAI 내부 비밀.

  3. · MediaService

    회의, 그룹 채팅, 첨부 파일 및 통화는 해당 좌석이 필요합니다

  4. · kamo-internal

    채팅 피커 목록 만 모델 회원을 선택할 수 있습니다

    픽업자는 관리자의 모델 목록을 읽습니다 (403 MANAGE AI MODELS없이) 및 제안 된 제공 업체, 어떤 모델을 선택했습니다. 이제 새로운 BFF 노선을 통해 GET /api/ai/models/selectable을 읽습니다. 공급자 선택권을 떨어뜨리고, 공급자 Pinned 대화를 자동차로 움직입니다, 공급자 주문 AIService는 이름에 의해 재 정렬 대신 조직의 우선 순위를 보냅니다.

  5. · InitializerService

    Org alias domains에 대한 마이그레이션, 플랫폼 org의 두 씨앗

    계정 만들기 **************** 및 플랫폼 org 씨 (is top level) with kamouniverse.com (기본, 이전을 수행 hardcoded platform.mail.domain) 과 kontak.kamocrm.com (additional, 아니 기본값). 이 커밋의 생산에 직접 적용 — 이 서비스 DB에 대한 수동 실행, 배포되지 않음 - 그래서 테이블 이미 존재; 이것은 다음 신선한 환경 또는 재 실행에 대한 기록의 소스입니다. kamo-shared-library 범프 1.6.2 ...에 대한 ***********

  6. · EmailService

    Org alias domains의 composer's alias-domain 디폴트 읽기

    ****************는 1개의 hardcoded 도메인을 이용했습니다 (platform.mail.domain, kamouniverse.com) 합성 send-as 기본으로, 플랫폼에서만 org *********** 지원하다 OrgAliasDomainRepository 대신: 어떤 org는 alias의 수를 등록할 수 있습니다 도메인은 이제 회원의 기본에 대한 send-as identity로 제공 mailbox, org의 default-flagged 행과 함께 여전히 prepended 작곡가의 기본적으로 kamouniverse.com이었다. kamo-shared-library 범프 1.6.2 ...에 대한 ***********

  7. · kamo-shared-library

    Org alias domains 추가, 플랫폼 메일 도메인의 per-org 양식

    Single hardcoded platform.mail.domain (kamouniverse.com)을 일반화하고 플랫폼 org에서만) 테이블에 어떤 org든지 줄의 어떤 수를 붙들 수 있습니다 in. EmailService's SendableMailboxService는 각 도메인을 제공하는 것을 읽습니다. 각 회원의 1 차 우편함에 정체성을 보내기 전에 동일한 메커니즘.

  8. · SecurityService

    AI kill 스위치는 누구든지 그 권리를 보유할 수 있습니다

  9. · kamo-internal

    AI 플랫폼 서비스 및 AI Kill Switch 플랫폼 권리

  10. · kamo-internal

    AI Workforce 앱과 4권; 앱-미러 가드가 다시 Java를 읽습니다

  11. · AIService

    1개의 노선표는 각 AIService 노선을 호출할 수 있는 결정

  12. · kamo-shared-library

    새로운 서비스를 위한 개인 inbox 접두사, LOS webhook worker는 opt-in입니다

  13. · kamo-shared-library

    Redis에 대한 서비스 로그는 사용자 이름과 암호로 한 경우

  14. · kamo-shared-library

    콘솔 및 모든 서비스에 대한 하나의 좌석 규칙은 그것을 시행

    해결자는 조직과 구성원을 읽었으며 열 수 없습니다. 자신의 거래, 그래서 좌석은 스레드에 올바르게 결정되지 persistence context (AI WebSocket) 및 실패는 정말 열려 의 대신 unexpectedRollbackException 과거 캐치.

  15. · KlusterServices

    Mail rspamd로 Redis로 로그인

    rspamd는 비밀 mail/rspamd-redis-auth에서 암호를 읽었습니다. 로컬.d/redis.conf. 파드 이득 fsGroup 11333: 이미지는 11333:11333로 실행 그리고 루트:root 0440 비밀 파일은 구성 부하에 denied 지방 권한입니다.

  16. · kamo-shared-library

    AI 플랫폼 서비스 및 킬 스위치 권리, 스위치의 열

  17. · KlusterServices

    플랫폼, rspamd 및 운영자를위한 ACL 사용자 (기본 여전히 개방)

  18. · kamo-shared-library

    보기, 감독, 승인 및 AI 인력 관리 (329-332)

  19. · KlusterServices

    KAMO 계정의 워크로드 당 하나의 로그인, kamo svc 옆에

  20. · kamo-shared-library

    AI Workforce 응용 프로그램, PHI 경계 이상 및 결코 자동

  21. · kamo-internal

    게시 된 응용 프로그램을 선택하는 방법 질문

    "이 응용 프로그램"(설정 → 기능 → CRM → 공급 업체 및 제품) 지금 채팅 옆에 세 가지 선택을 운반, 그들이 말하는 카드의 각 쌍 이름: - 유형: 정상 (단계 당 몇몇 관련 질문) 또는 Squeeze (단계 당 1개의 질문 스크린은, 각 일반 단어에서 설명했습니다. - 연락처 정보 : 처음 시작 (이름, 이메일 및 전화, 그들은 현재 저장 입력, 그래서 포기 응용 프로그램은 여전히 리드입니다) 또는 마지막 (첫 번째 대출, 전송하기 전에 연락처 세부 사항; 그 때까지 저장 아무것도). - 필드 : 전체 또는 기본 (첫 번째 통화 필요 만). 첫 번째 화면을 다시 그리는 것 외에도 라이브 미리보기, 섹션 주문 (contact) visibly slides to the end) 그리고 빌커가 만나는 것 - 얼마나 많은 질문, 그리고 지도가 저장될 때. 대화 상자는 `md`이므로 양측에 적합합니다. 기존 PUT의 선택 여행 ... / 신청 (securityservice d345869), 공급업체 리스트를 통해 라운드 트립, 대화 상자가 다시 열릴 때 미리 채워집니다. 라이브 페이지를 다시 시작 "저장 변경" / "신청 설정 저장" 오히려 다시 게시보다, 그것의 행 아이콘은 설정 슬라이더 오히려 채팅 버블보다, 채팅보다 더 많은 것을 엽니 다.

  22. · kamo-apps

    Lender의 레이아웃 선택 — 짜기, 먼저 연락, 기본

    Mortgage 응용 프로그램은 이제 제품을 발표 한대로 (설정 → 기능 → CRM → 이 응용 프로그램을 게시): - 유형. NORMAL는 앞에 5개의 그룹된 단계입니다. SQUEEZE는 하나의 질문을 스크린 당: 당신이 어디에 있는 눈썹, 전시에 있는 질문 얼굴, 그것이 의미하고 왜 그것은 물어, 그 후에 하나 이름 * 필드는 하나의 대답의 일부일 때만 화면을 공유합니다 (이름, 주소, 대리인 및 그들의 회사). 선택 이동을 뒤로 beat; 키보드는 화살표를 선택하고 Enter로 이동합니다. 레일 필 자주 묻는 질문 - 연락처 START 차용자가 먼저 묻고 납을 구합니다. 현재는 이름과 이메일이 있습니다. - 보이지 않는 증명 작업 뒤에, 같은 전송 버튼 필요 — 다음을 통해 그 리드에 각 나중에 답변 추가 토큰과 최종은 두 번째를 피하는 것보다 완료합니다. 사이트 맵 접촉 질문 옆에 이렇게 말합니다. LAST는 다만 전에 접촉합니다 동의 및 양식이 전송 될 때까지 아무 것도 저장되지 않습니다. - 분야. BASIC는 이름, 이메일, 전화, 목적, 가정이 어떻게 사용될지, 유지합니다 국가 및 우편, 가격 또는 가치, 첫 지불액 또는 균형, 및 신용. 도움말 텍스트는 독자가 아무것도 알고있다 : 첫 지불액, 신용 점수, HOA, 세금, 보험, 대출 프로그램 및 재산 유형은 각각 설명 자주 묻는 질문 unanswered yes/no 질문은 null을 체재합니다 (skipped 또는 아직 아닙니다) 도달) 대신에 도착 "no". 또한 수정, 오늘 모두 살고: 동의 단락은 대출 ("당신은 귀하의 명시적 서면 동의를 제공합니다" — 기능으로 전달 ICU 인수는 아무것도 렌더링), 영수증의 "A 사본은 그 방법에있다 ." 같은 방법을 떨어졌다. 동의 리드 인 더 이상 시작하지 않고 더 낮은 케이스 ". Proxies: ****** ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** (POST) 및 /progress/{token} (PUT), X-Forwarded-For 처리를 제출하십시오. 레이아웃 및 진행 종료점을 위해 보안 서비스 d345869가 필요합니다. 더 오래된 백엔드 양식은 그룹화, 전체, 연락처 우선 양식 및 첫 번째 초기 저장 404s 한 번 및 중지.

  23. · kamo-internal

    세션 탭은 Guacamole의 아이콘을 착용 중지

    세션 탭은 Guacamole의 문서이므로 <link rel="icon" href="images/logo-64.png"> 탭을 소유하고, 회원들은 회사의 컴퓨터를 열어 아이콘을 아이콘으로 전환합니다. 제3자 Kamo의 기원에 탭을 유지하고 세션을 튀기는 것은 유지 조직의 아이콘; 게이트웨이는 X-Frame-Options를 가진 모든 컴퓨터.* 경로를 대답합니다: DENY, 그래서 사용할 수 없습니다. 대신 두 파일에 대한 게이트웨이 답변. ICON은 HOST와 SOMETIMES의 DECIDED입니다. 아이콘 요청은 브라우저가 제3자에게 렌더링하는 동안 일반 이미지 GET입니다. 문서. 그것은 세션과 토큰이 아니므로 호스트는 유일한 신호가 있습니다. 이름 * 조직의 컴퓨터.<domain>는 완전한 대답입니다. 공유 플랫폼 호스트 그것은 아닙니다: 배치로 PLATFORM을 이름을 호스트에 의해 해결. tsx 이미 말한다 — " 이는 아무도. 그래서 플랫폼 호스트는 조직에 의존하고 unbranded glyph를 가져옵니다. 도메인이 아직 호스트를 공유하지 않는 모든 조직, 및 그림 KamoCRM의 마크 테넌트의 탭은 흰색 라벨이 예방하는 것이 정확한 일입니다. 여기에서, 일에서 indistinguishable. 그것은 또한 정확한 대답에서 indistinguishable 입니다 KamoCRM의 자신의 회원, 왜 그에 대한 예외가 발생하지 않는 이유. 아무것도 없다 자신의 아이콘을 얻기 위해 조직의 변경 : 컴퓨터 호스트가 살고있는 순간, 호스트 이름과 경로가 해결합니다. glyph는 슬레이트에 일반 모니터 개요, 전혀 브랜드, 두 크기 Guacamole 선언문 조직의 자신의 아이콘이 해결 된 별명으로 -> config.json -> favicon 세트, 동일 chain DynamicMetaLoader 용도, 그리고 각 실패는 glyph로 돌아갑니다: favicon는 페이지에 실패하지 않고 잘못된 브랜드가 브랜드보다 악화됩니다. Kamo의 ROUTE LIVES는 호스팅 컴퓨터에서 GATEWAY의 연구가 아닙니다. Traefik 실행 AllowCrossNamespace와 AllowExternalNameServices는 false의 기본값으로 두 가지를 사용하므로 IngressRoute는 kamowebinternal-service에 도달 할 수 없으며, flag 중 하나를 켜는 것은 한 favicon에 도달하기 위해 클러스터 넓은 변화. 인증서는 이미이 네임스페이스에서 발행됩니다. 그래서 루트는 서비스 옆에 앉아 그것을 전달하고 CI는 코드로 적용. themePublicBase는 이렇게 버킷의 레이아웃이 한 번 작성되었습니다. Theme.tsx는 "use client"와 서버는 동일한 모양을 필요로했습니다.

  24. · kamo-internal

    CRM 시장에서, 리드 페이지에, 그리고 회원 프로필에

    - 시장 : "Arive"는 MLOS 드롭다운에 가입하고 대화 상자를 구성합니다. 4개의 Zapier 걸이 (쓰기 전용, 가면), Arive → Kamo 주소 Zaps로 붙여 넣기, 단계 → 상태 맵, 지도-creation 및 stage-push switch, 설정 가이드 및 연결 활동 로그. 구성은 이제 허용 목록입니다 : 구성 할 수없는 공급자 더 이상 사용하지 않는 활성화 버튼을 가져옵니다. - 리드 페이지: LosHeaderActions는 각 공급자의 상태를 렌더링 — MeridianLink unchanged; Arive create → 대기 (약 15 분 후에, 와 확인) → 단계로 Arive에서 열고 Arive 리드를 변환합니다. 그리고 sync-problem 칩. pending link re-reads 시장 설정 10 s 그래서 다시로드없이 "Arive에서 열기"로 전환합니다. - 프로필 : Lender credentials 카드는 다시 저장합니다 (그것은 이후 수 없습니다 단면도 재건, c20bac57). 각 시장 행은 자체에 편집합니다. MeridianLink 사용자 이름 + 비밀, 회원의 Arive 로그인 이메일. - MarketConfig.mlosProvider는 bare 문자열이 아닌 공급자 조합입니다. 명세: ****** **********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

  25. · SecurityService

    레이아웃 선택 및 접촉 세부 사항 저장

    출판 대화 상자는 이제 공공 모기지 응용 프로그램이 스스로 놓는 방법을 선택합니다. 밖으로 (kamo-shared-library ac83bea1): NORMAL 또는 SQUEEZE의 접촉 세부사항 START 또는 LAST, FULL 또는 BASIC 질문. - PUT ***********는 신청이 걸립니다 배치, applicationContactStep 및 applicationFieldSet; 누락 된 것은 무엇입니까? 저장, 그래서 페이지를 다시 설정하지 않는. 응답은 그들을 에코. - GET /public/loan-application/{p} 답변 레이아웃 {type, contactStep, fieldSet}, 항상 해결. - POST **************** - START 제품 전용 (404 그렇지 않으면): *** 실패, 제출 IP 예산, 이름 + 이메일 필요. 소스 "Online Loan Application (unfinished)" 및 답변으로 리드 생성 하루 동안 Redis에서 열린 256 비트 토큰은 트랜잭션 내부에 기록되므로 Redis 실패는 중복을 보장하기 보다는 오히려 지도 뒤를 구합니다. - 퓨트 *********** 그 리드에 대한 답변 추가 updateLead (absent = unchanged)를 통해. 토큰은 제품에 경계합니다. - POST /public/loan-application/{p} 진행 중인 토큰 마감 (source "Online Loan Application", 이전에 영수증) 대신 제출 두 번째; 알 수없는 또는 만료 된 토큰 파일 이전으로 새로운 리드. - 납 소유권은 BEFORE updateLead를 대신하여 확인됩니다. 예외 : @Transactional이며 요청 롤백 전용을 표시 할 것입니다. Ratchet baseline: startProgress 과 saveProgress 에 추가된 그들의 이유, 과 byHost (라인없이 81e0756에 의해 메인에 추가 됨, 는 쥐가 적을 왼쪽).

  26. · kamo-shared-library

    발행 된 대출 신청을위한 레이아웃 선택

    LEAD VENDOR PRODUCTS의 3개의 열은, 발행 대화상자에 선택하고 읽습니다 kamo-apps는 공공 모기장을 밖으로 놓기 위해: - APPLICATION LAYOUT NORMAL (그룹 단계) | SQUEEZE (화면당 하나의 질문) - 신청 CONTACT STEP START (첫째로 연락)|LAST - APPLICATION FIELD SET 전체|BASIC @Enumerated, 그래서 ddl-auto CHECK constraint가 값을 동결 세트. Null은 NORMAL / START / FULL로 읽습니다. DTO는 resolved 값; setProductApplication은 옵션으로, 과부하를 얻습니다. null 회원은 "keep"을 의미하며, 이전 서명은 변경되지 않습니다. DDL는 이미 주인으로 클러스터에 적용: ALTER TABLE public.lead vendor products ADD COLUMN if NOT EXISTS application layout varchar(16); ALTER TABLE public.lead vendor products ADD COLUMN if NOT EXISTS application contact step varchar(16); ALTER TABLE public.lead vendor products ADD COLUMN 만약 EXISTS application field set varchar(16);

  27. · InitializerService

    열 및 활동은 Arive 통합 맵을 로그

    ****** ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** (unique), Arive 링크 필드에 lead los links (kind, GUID, 딥 링크, 단계, 종료시, 마지막 오류) 및 los sync events. (으)로부터 모든 무효, backfill 없음; @Order(0) entities 때문에 다운로드 손으로 Yugabyte에 적용 (주사, kamo) 전에 shared-library push; 이것은 단계에 신선한 환경을 유지합니다.

  28. · APIService

    공공 주소 Zapier 게시물 Arive 이벤트

    POST *********** 트리거> 앞으로 SecurityService의 AriveInboundController는 토큰 확인을 소유합니다. 더 보기 쿼리 문자열 (이벤트)는 hop를 건너, 양식 몸 컨테이너 이미 parsed는 그것의 모수에서 재건되고, SecurityService의 상태는 통과됩니다 as-is: Zapier는 오류로 비-2xx 작업을 보여줍니다. Zap을 유지 하는 사람들은 봐. 잘못된 토큰은 결코 가장자리를 떠난다.

  29. · SecurityService

    Zapier를 통한 Arive — 연결, 인바운드 이벤트, 그리고 per-lead 동작

    Arive에 대한 시장은 연결 (4 Zapier Catch Hooks for create-loan, update-loan, update-lead 및 Convert-lead, 그리고 하나의 인바운드 URL 토큰은 해시로 저장됩니다. **************** 활동 로그, 토큰 교체 및 "샘플을 종료"그래서 Zapier는 각 후크의 필드를 배울 수 있습니다. Arive's 방아쇠 포스트로 **************** JSON 또는 form body (Zapier의 기본값), 우리의 crmReferenceId에 의해 인식, Arive GUID, 디스플레이 ID, 또는 - Arive 내부의 리드 변환에 대한 - 차용 전자 메일 인식된 기록은 Arive-wins를 적용합니다; 새로운 단계는 Kamo를 이동합니다 연결의 단계지도를 통해 상태; 알 수없는 기록이 리드 임원으로 회원 Arive 이름에 할당 된 우리의 uid는 다시 보내집니다. 모든 결과가 기록되고 아무것도 침묵 200 응답하지 않습니다. 시장에서 리드 페이지의 생성 / 오픈 파견 : Arive Answer 202 PENDING (그것은 비동기적으로 확인합니다) 과 adds /convert. 회원 맵 자신의 이메일에 자신 (비밀, NMLS 없음, 이메일 당 하나 회원 없음 시장 당). LO-XML은 이제 엔드포인트를 거부합니다. 모든 NULL 패치를 적용하는 대신 공급자.

  30. · kamo-internal

    클라우드에서 코더 세션을 시작하고, 창에 표시

    dev machine에 git checkouts를 나열합니다. (최근에 일했습니다. 회원의 모델과 노력. 기계는 명령을 구축, 와 CCR FORCE BUNDLE=1 그래서 로컬 체크 아웃은 복제보다 오히려 업로드됩니다 GitHub 원격에서 우리는 없습니다. 터미널은 'cloud: true`를 props, title에 나타낸다. bar 및 극대화 된 탭은 터미널 아이콘 (windowIcon)을 통해 클라우드를 그릴 수 있습니다. 아이콘 노드보다 오히려 예언자, 그래서 다시로드를 살아; 에서 재개 끝 명부는 기계의 자신의 표 뒤를 창에 나릅니다.

당신의 우주는 기다리고 있습니다.

몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.

영원히 무료 - 신용 카드 필요 없음