Saved autofill 레시피 CRUD (org-scoped)
CanvaRecipeController: GET/POST /api/media/canva/recipes + DELETE /{id} — save/list/soft-delete 브랜드 템플릿 + 필드 매핑, 범위 콜러의 org.
CanvaAutofillRecipe entity + repo (자동 채우기 요리법)
Org-shared는 Canva 브랜드 템플릿의 바인딩을 필드 값 (literal 텍스트 또는 재료 이미지), 그래서 stewards 표준 데이터-머지를 다시 실행할 수 있습니다.
/dev/shm 2Gi (헤드리스 크롬 필요 >=2GB) + 6Gi mem 한계
Jibri 's 10-config init aborts 와 '/dev/shm 해야 적어도 2GB' shm 이다 512Mi, 기록병 충돌. tmpfs를 2Gi 및 메모리 제한으로 밀어 그것을 적합하는 6Gi. 이것은 왜 지브리가 실제로 실행되지 않았습니다.
Material ID 필드를 추가하여 양식, 세부 페이지 및 가져오기
Lead type을 통해 nullable materialId(최대 40) 스레드, LeadApi (+ 갱신 철사 요구를 창조하십시오), 및 공유된 LeadFields 체계 분야 목록 - 수동 수입 마법사와 API/vendor 모두 구동 intake mapping UI (다운로드 가능한 ...
대회 - secrets **************** 지브리 레코딩 ingest
Jibri finalize.sh는 MediaService에 기록 업로드를 인증; 일치 cluster *** value MediaService가 유효하다.
MediaService internal.auth.secret (mlos-internal-auth) 요약 이메일
MediaService -> 이메일서비스 /api/email/templates/send (meeting-summary) 필요 INTERNAL AUTH SECRET는 EmailService의 internal.auth.secret과 일치합니다.
Enterprise autofill UI – 데이터-머지 브랜드 템플릿
TemplateAutofill: Canva 상표 템플렛을, 리터럴을 가진 각 분야 채우십시오 텍스트, org/compliance 토큰 (NMLS #, Equal 주택 공개, org 이름/전화/ 웹 사이트/주소, 회원 이름), 또는 자료 이미지; 생성된 자료 디자인 및 재료로 다시 가져 ...
Enterprise autofill – 데이터-머지 브랜드 템플릿
- CanvaApiClient : 목록 브랜드 템플릿 (dataset=non empty), 데이터 세트를 얻을, 자산 업로드 작업, create/get autofill 작업 - CanvaController: GET /brand-templates, GET /brand-templates/{...
수동 수입 + API intake에 Persist mapped 물자 ID
SetDirectFieldOnCreateRequest 스위치 모두 기본 케이스가 부족하므로 unmapped systemFieldPath는 조용히 떨어졌다. materialId 케이스를 수동 포트 (LeadImportController) 및 공급 업체 / API 입구 (LeadIntake...
자료 ID 필드를 공유lib에서 엔드 투 엔드 추가
무수, max-40-char materialId를 Lead entity(MATERIAL ID)에 추가합니다. VARCHAR(40)), LeadHistoryFieldRegistry (프로필 카테고리)에 등록 그래서 편집은 감사, 생성 / 업데이트 / 읽기 DTO를 통해 스레드 LeadSe...
소셜 첨부 + 이메일-a-material + 공공 링크
새로운 서명 된 공개 URL 솔기에 내장 된 마케팅 자료에 대한 배포. - 자료Api.publicLink(imgId) + /api/materials/link 프록시 - 재료 : "Copy public link"및 "이메일이 자료"(파일을 첨부) outbound는 기존의 multipar...
Short-lived는 마케팅 자산에 대한 공개 URL을 서명했습니다
소셜 제공 업체 (Meta) 및 이메일은 경계에 대한 특정 자료를 fetch 개인 이미징 물질 버킷을 폭발하지 않고 창. - MaterialUrlSigner: HMAC-SHA256 (platform.enc-key) 토큰 = imgId:orgId:exp, 1h TTL - Material...
모든 SSO 토큰에 바탕을 둘 다 포함, 선택된 것에 깊은 링크
각 토큰은 자체 연결 만 수행하므로 브라우저의 재사용 된 json 세션 다른 하나가 부족 -> Linux가 '연결이 존재하지 않는 후 Windows를 엽니 다'. 모든 토큰에 두 개의 연결을 운반합니다. #/client deep-link는 대상을 선택합니다.
Route 차입자는 파이프라인을 통해 제출합니다. *********** (오름 #3)
patchLoanFile의 차용기 제출 (DRAFT->APPLICATION TAKEN) 지금 전화 *************** 대신 raw updateLoan 파일 상태 설정, 그래서 제출은 hash-chained 파이프라인 이정표, ApplicationSubmission를 생성합니다....
일류 차용자 자기 보조 전환 ***********
DRAFT→APPLICATION TAKEN for a renter (운전 파티, 연산자가 아니라, LOS TAKE APPLICATION). 전환을 통해 경로() 범위의 사전 테이크-application 권리와 pinned toStatusId, 그래서 납세자 제출은 적절한 파이프라인 전환...
삭제 + 미리보기 + import-file-to-Canva
- 확인을 가진 MANAGE MATERIALS에 물자 (gated - lightbox에서 미리보기 thumbnail을 클릭하십시오 - "파일을 수정"은 PDF/PPTX/image를 편집할 수 있는 Canva 디자인로 변환합니다. (proxy는 이미징 로더와 같은 멀티 파트 바디를 재구성...
편집 가능한 디자인으로 Canva에 파일을 가져 오기
-********** (기본 디자인 가져 오기) - CanvaController POST /imports (다중) → create+poll 가져 오기 작업 → 편집기 return-nav를 위한 correlation state를 가진 깊은 연결 - CanvaOAuthController에서...
공유 TranscriptionService + 일반적인 엔드포인트; transcribe VOIP 녹음
- 재사용 가능한 TranscriptionService (ffmpeg normalize -> whisper-asr) 및 일반 POST /api/conversion/transcribe endpoint, meet-specific 교체 관제사. Meet + VOIP는 이제 하나의 비문 경로를...
기록 + RecordingMetadata에 Transcript 열
TRANSCRIPT TEXT 열을 기록하는 기관과 스레드에 추가 ********* (backwards-compat로) 기존 5-와 9-arg 콜러를 구성하는 구성 요소입니다. 에 의해 Populated Whisper를 통해 흐름을 녹화; KI 마이그레이션에 의해 생성.
Wrap recording upload 그래서 MediaService 컴파일
MinIOStorageService.upload는 ingest()가 없는 체크한 예외를 던졌습니다. 붙지 않고 선언 - isGuest 수정의 상단에 휴식. 그것을 포장하고 런타임 예외로 되돌아가기 때문에 @Transactional을 다시 업로드합니다.
Return-nav JWT 서명 확인; tidy 토큰 새로 고침
- CanvaJwtVerifier : correlation jwt의 Ed25519 서명을 확인 Canva의 JWKS (/connect/keys), 플러스 aud/exp/type; 아이에 의해 캐시된 열쇠. Return-nav는 이제 인증이 실패한 경우 수동 수입에 닫힙니다. - Canv...
MeetingParticipant.isGuest() (was getGuest는 컴파일되지 않습니다); 일반적인 endpoint에 transcribe를 다시 설정하십시오
MeetingParticipant 노출 isGuest() (primitive boolean getter), getGuest(). 또한 공유 /api/conversion/transcribe에서 요약을 호출합니다.
독립적으로 확장 가능 (HPA, 멀티 노드)
단일 노드 핀을 제거하고 per-pod 모델 캐시로 전환하십시오. 그래서 pods는 할 수 있습니다. 노드의 일정은 HPA (min 1 / max 4, CPU 75%, deliberate Scale-up 주어진 느린 모형 찬 별). whisper-asr는 공유된 transcription...
Rebrand Guacamole 클라이언트 연결 상태 텍스트 KamoDesktop
더 보기 *********** 그래서 'Guacamole에 연결 ...'화면 (및 관련 상태)은 KamoDesktop을 읽습니다.
Correct Guacamole 브랜딩 현 버전 필드
Manifest 사용된 guacManifestVersion:1.0; 묶인 연장 사용 guacamoleVersion. 잘못 된 필드는 Guacamole이 브랜딩 확장을 거부합니다 ('읽을 수없는 확장). guacamoleVersion 사용: 1.5.5.
기록 ingest, 유지 / 할당, 저장 사용, 요약 파이프라인
- MeetRecordingController: 내부 (X-Internal-Auth) ingest endpoints 지브리 finalize.sh 게시물은 기록을 완료했습니다. - MeetRecordingService: org MinIO (임시-메트 기록)에 업로드 기록, persists...
Meeting-summary 템플릿 미리보기에 대한 샘플 vars
새 모임-summary 템플릿에 대한 sampleVariables 케이스를 추가하므로 스튜어드 미리보기 UI는 현실적인 콘텐츠를 렌더링합니다.
Meeting-summary canonical 템플릿
"meeting-summary" 거래 템플릿 추가 (subject + 브랜드 HTML with {{roomName}} 및 원시 {{summaryHtml}})을 등록하여 CANONICAL KEYS에 등록하십시오. org 당 씨. 에 의해 사용하는 post-meeting AI 요약 배달. ...
SSO 프록시 경로에 더블 appending 중지
forwardToApi는 이미 들어오는 쿼리 문자열을 전달하므로 경로를 통과합니다. ?target= 생성 **************** -> target='linux?target=linux' -> 400 'Unknown target' -> 'SSO 링크 생성 실패'. 베어 경로.
Prosody Moderator 모듈, whisper-asr, 지브리 기록 업로드
- Meet-prosody : 버전 제어 사용자 정의 플러그인 ConfigMap (캡쳐스 기존의 token verification no-op override는 out-of-band를 만들었습니다. canonical mod token moderation 모듈을 추가하여 활성화 ******...
Post-meeting summaries를 위한 기록 transcription endpoint
POST /api/conversion/meet/transcribe (X-Internal-Auth): 업로드를 정상화 새로운 첨가제 FfmpegService 도우미를 통해 16kHz 모노 WAV에 녹음, 자체 호스팅 된 whisper-asr 서비스에 전달하고 { transcript}를 반...
일정한 회의를 위한 달력 통합 + 진짜 기록 저장 미터
- CalendarIntegrationEnabled : 때, 예정된 클럽 하우스 회의도 작성자의 달력 (현재 달력 시스템을 통해)에 추가 /meet/join 링크. 참가자의 알림은 처리됩니다. backend 스위퍼, 그래서 중복 출석 이메일. - 기록 설정: 저장 미터는 지금 REAL ...
MeetingRecording entity + 캡처 된 기록 보관소
새로운 MEETING RECORDINGS 테이블 (org, 회의 ref, 방, MinIO Bucket/object 키, 크기, 기간, 캡처/expiry 타임스탬프, 요약 상태) - 부모 기록 완료된 Jibri 기록 파일을 위해, 유지/쿼타를 몰고 포스트 meeting 요약 처리. 테이블...
CallerSessionResolver의 X-***-Token 헤더에서 세션을 해결
Kamo 내부 -> APIService BFF 경로는 X-***-Token으로 세션을 전달합니다. 헤더, 그러나 해결자는 X-OTK 속성 또는 *** 쿠키를 읽는다. BaseLosController 엔드포인트 (새로운 KamoDesktop SSO 포함)는 세션이 없으며 401'd가 없습...
마케팅 앱, 설정 허브, Canva 재료
마케팅을 일류의 org-enable 응용 프로그램을 만들고 Canva-powered를 발송 재료 경험. App 지원: - AppType.MARKETING 거울, Organization.isMarketing getter - 게이트 마케팅 nav (navRegistry) + 권리 섹션 (...
PatchLoanFile은 더 이상 상태 backdoor가 없습니다. 조건을 차단하지 않으면 올바른 결과를 덮습니다. clear cascades
*********** 상태 변화는 파이프라인 국가입니다 기계의 직업 (POST /transitions는 법적인 화살 + 화살 역할 문 +를 강제합니다 개방형 게이트). patchLoanFile은 이제 EVERY 상태 변경을 거부합니다. 차용자의 자신의 제출을 제외하고 (DRAFT->AP...
비디오 포스터 프레임 썸네일 마케팅 자료
Canva MP4 수출 (모든 비디오 업로드) Docs PDF 경로를 건너 뛰고 실패 대신에 단일 ffmpeg 포스터 프레임 thumbnail ( thumb p0.png). -********** 비디오 카테고리 지점 -**********
Canva는 OAuth + 디자인 / 내보내기 연결
- CanvaApiClient: PKCE, 토큰 교환/refresh/revoke, 사용자, 디자인 (create/list), 수출 일, 바이트 fetch - CanvaTokenService: 암호화된 토큰(PlatformSecretCipher), Single-flight proactiv...
부분 상태 PATCH는 조용히 차단 깃발을 삭제할 수 없습니다; 기본 명예를 짓는 템플렛; 투입 후에 발행
**************** 불린 -> Boolean 그래서 PATCH 그 OMITS 이 필드는 명시된 false로 구별됩니다. LoanConditionService.업데이트 현재 null 가드 *************** (부분 업데이트 e.g. 의 제목 더 이상 그들을 닦아), 그...
Canva 통합 + 마케팅으로 org-enable 앱
-********** — 플랫폼 Canva Connect 클라이언트 등록 - ImageAssocType.MATERIALS(13, Imaging-materials) - org 마케팅 자산 버킷 -********** 아래 ServiceType.MARKETING - ServiceType.MA...
Enable Guacamole json-auth SSO + KamoDesktop 브랜드
- JSON SECRET KEY (선택 사항) 공유 데스크톱 sso 비밀에서 guacamole에서 번들 guacamole-auth-json 확장 신 SSO 링크에 대한 검증. - kamo-branding extension (title=KamoDesktop, kamocrm 로고 + fav...
God-only KamoDesktop 아이콘 (Linux + Windows) 자동 연결 세션
두 개의 nav 아이콘은 Analytics를 왼쪽으로, 오직 신-eligible 회원(isGod 추가 NavGateContext). SecurityService의 짧은 라이브 SSO 링크와 개방 새로운 창의 KamoDesktop Gateway는 인스턴스에 자동 연결됩니다. 자주 묻는 질...
KamoDesktop SSO env 직접 + 와이어 guac-sso 추적 k8s 배포
- @Value는 KAMO GUAC SIGNING KEY / DESKTOP PASSWORD를 직접 읽습니다 (런타임 application.yml는 configmap-mounted이므로 속성 간접은 바인딩되지 않습니다. - 옵션 guac-sso secretRef를 k8s/deploymen...
KamoDesktop SSO 토큰 엔드포인트
감사합니다. (god-eligible only) 분 5 분 guacamole-auth-json 토큰 (HMAC-SHA256 + AES-128-CBC, 확장 당 와이어 형식) 및 KamoDesktop에 대한 자동 로그인 + 자동 연결 URL을 반환 게이트웨이 로그인 키 + RDP 암호는 ...
Org-scoped 룸 이름, 룸 이름 형식, 달력 카모 회의, 시작 알림; i18n 설정
- useMeeting/MeetingDialog: 룸 이름은 이제 org 토큰에 의해 네임스페이스입니다. 그래서 두 orgs는 같은 Prosody 회의에 결코 collide 할 수 없으며 org의 명예 RoomNameFormat (RANDOM 대 DISPLAY NAME RANDOM 회원...
