변경 로그
무슨 일이야?
플랫폼에 대한 모든 개선 사항, 그것이 선적.
· kamo-shared-library
12월Gate.applied Threshold는 실제 신뢰 막대를 노출
내부의 게이트는 최대 (정밀한 override, safetyFloor, 층)를 적용합니다 그러나 콜러는 사전 게이트 테넌트 벽 만있었습니다. 적용분야 Threshold가 true를 반환합니다. bar so a decision-of-record can persist the threshold-IN-EFFECT (examiner- 대신 값의 문이 조용히 상승합니다. 첨가물; 평가 () 견적 요청 DecisionGateTest 14/14 통행.
· kamo-internal
엔터프라이즈 재료 작업 공간 (P0) - 폴더, 검색, 대량, 실제 미리보기, 공유 이메일 작곡가
기존 이미징을 통해 전체 문서 작업 공간과 평면 200-item 그리드를 교체 백엔드 ( 이미 폴더, 쓰레기, 공유, 역사, 재료에 대 한 대량): - 폴더 사이드바 (create/rename/delete, 드래그-투-폴더) + 모든 / 쓰레기 전망 - 검색, 정렬, 그리드<->list toggle, paginated 'load more' (200 캡 제거) - 대량 선택 + 대량 다운로드 (ZIP) / 이메일 / 이동 / 삭제 - 오른쪽 세부 서랍 : 실제 미리보기, 인라인 이름 + 설명, 이동 폴더, 내부 공유 (회원, 허용 편집, 만료) 및 활동 기록 - 지금 이메일을 통해 공유 MessageTool 작곡가를 재사용:open event (/mailbox, CC/BCC, 부유 한 몸, 서명, 초안) 대신 스포크 형태로 - 새로운 이미징 프록시 경로: 폴더 생성/[id] rename+delete/move-doc, rename, 설명, 복원, 액세스 레벨 - superseded MaterialsLibrary 제거; 모든 Canva 기능 (create/import/autofill/ 일정) 수행. imgIds는 정확한 문자열로 처리됩니다.
· kamo-internal
Overhaul /messages - iframe 렌더링, 목록 컨텍스트 메뉴, 스레드, 레이스, a11y
/messages 페이지 종료의 감사를 실시합니다. 관련 문제: - 대답/Reply All/Forward 단추는 지금 원본 상표를 보여줍니다; 더 많은 활동에서 제거했습니다 새로운 목록 메뉴가 유지하면서 dropdown (they're 인접한 버튼). - Message-list rows now open the shared action menu on right-click and touch 긴 압박 *************** 행을 얻다 포커스 링 (j/k), 선택 체크 박스 (x), 스크롤 - into-view. - 이메일은 inline 대신 sandboxed 자동 높이 iframe (srcdoc)에 렌더링됩니다. 위험한 설정InnerHTML. 이 이메일 CSS/layout, 이는 수정 읽기-pane "bounce"와 중간 드래그 텍스트 선택 손실, app-wide 닫기 CSS-leak은 기본 "외부 이미지 차단" 트래킹 픽셀 게이트를 추가합니다. Correctness/벌레: - Full-compose 대답/Reply-All는 지금 In-Reply-To/References (unified DraftMessage를 놓습니다 유형) 이렇게 replies는 실을 꿰었습니다; 퀵 리턴 실 참고 + 부모 id, HTML- 몸을 탈출하고 활성 공유 / 회원 메일 박스에서 보냅니다. - 앞으로는 본래 부착을 나릅니다; 대답/forward는 가득 차있는 메시지를 해결합니다 (list-row 행동에 대한 신체) 대신 모든 것을 열지. - Race guards (latest-wins) loadMessages / 메시지 선택 / 스레드로드 / 대화 짐; poll no longer yanks pagesd users to page 0; WS reload filtered 활성 폴더에; SearchPage는 쿼리 변경에 재설정합니다. - ThreadDetail 확장 상태는 folder+uid (크로스 폴더 충돌); markRead 읽을 때만; retry는 폴더 버퍼를 사용합니다. - Compose: Send/Draft에 넘치는 typed-but-uncommitted 수신자; 부착 dedupe + 40MB 집계 모자 + 기능 업데이트; 과다한 클라이언트 OTK를 떨어지십시오. - 프록시 : 부착 / 인라인 스트리밍을위한 운송 범위 + 캐싱 유효성 검사기; 닫기 보호된 보호 경로에 multipart carve-out. - 이메일 WebSocket : 최대 retries, exponential backoff, 안정적인 연결 후 실시간 중지 retry 리셋; 소비자 re-render churn를 삭감하는 memoized 컨텍스트 값. 질: 통일되는 **************** a11y (아리아 상표, aria-pressed, keyboard-operable rows/toggles); i18n (폴더 이름, 날짜 목록, pagers, ICU 복수); 죽은 코드와 팬텀 키보드 단축키 항목을 제거.
· kamo-internal
악기 패널 재설계 - 악센트 가족, 마스트헤드, 섹션 인덱스 네브, 통합 유리 카드
Redesigns two most-visited landings into the permission-shaped 연산자의 콘솔. - 연혁 - 이미 번드 지스트 산 / 모노 (아날의 가을에 의해 해체); 지스트를 통해 MUI 타이그래피 경로. - White-label-safe --accent-* module-family 토큰, 고각 사다리, lit-glass top-edge, 연산자-Label + .tabular utilities 및 --ease-house 토큰을 추가하십시오. 수정 --gradient-primary-transparent (그들은 --color-primary에서 파생 된 블루 →를 하드 코딩). Shared FeatureCard (한 구성 요소, 키보드 정확한) - 이제 실제 앵커 (NextLink) : 탭 / 엔터 / 중간 클릭 작업 및 초점 가능 링은 마침내 화재 할 수 있습니다. useReducedMotion 가드를 추가, whileInView 입구에 집에 쉽게, 가족 집중 lit 칩, 주의 수 핍, 무게 층, 과 onClick passthrough. 렌더링에 discarded 된 per-module 색상 의도. 포크 된 인라인 홈 카드를 삭제합니다. (주) - 마스트헤드 (mono kicker + time/name 인사 + tabular status strip)은 org-only 배너를 대체합니다. oklab 백드롭은 회색 스케일 다중 워터 마크를 대체합니다. 허가 모양 2 층 발사 패드 (사용 주문형 1 차 + 그룹 디렉토리)와 "오늘"주의 스트립과 "Jump back in"(새 useHomeRecent + global LastRouteTracker); 적응형 sparse/empty states; 실제 <1> 랜드 마크. 지원하다 - 레지스트리 구동 렌더링은 18 복사 파스드 궤멸 블록을 대체합니다. 끈적한 섹션 인덱스 레일 + IntersectionObserver scroll-spy + 라이브 카운트, 4 슈퍼 그룹, 진보적 인 공개 (Personal open, 최근 인식, 마지막 섹션 복원, 확장 / 컬럼 모두), SectionHeader 악기 행 및 고정 빠른 액세스 (correct MAX RECENT 슬라이스 + 상대 시간 + 시작). 모든 권한/제품 플랩 게이트를 정확히 보존합니다. Cross-cutting: skeleton + EmptyState, 선호-reduced-transparency + 감소 모션 경로, per-locale 연산자-Label caps opt-out. 새로운 UI 문자열 토지 kamo-translation-dictionary (en) 동반자에.
· kamo-shared-library
*********** 대상 업데이트
Async 변환 (virtual thread) 및 예정된 청소는 분리된 ImgDat를 붙듭니다; save()/merge()는 orphanRemoval=true 이미지 수집 및 던지기로 나뉩니다. 'cacade=all-delete-orphan 컬렉션은 더 이상 자신의 작품에 의해 참조되지 않았습니다. entity 인스턴스 다만 엄밀한 란의 대량 UPDATE는 법인 도표를 피합니다 완전히 모든 실에서 안전합니다.
· kamo-internal
자주 묻는 질문 모든 메시지 판과 스레드보기
이름 * 모두 광고되었습니다 (keyboard-shortcut 상표 + i18n 열쇠) 그러나 아니 핸들러. 그것을 위로 타십시오: 새로운 computeReplyAllRecipients 돕는 사람에 있는 sender를 뒀습니다 Cc에서 다른 모든 고유의 수신자, 자기를 제외하고, de-duping 케이스 민감하게. 버튼 추가, `a` 단축키 및 context-menu 항목 MessageBrowser에서 ThreadDetailView의 per-message 버튼을 추가합니다.
· InitializerService
Partial-unique 인덱스는 대출당 하나의 활성 닫는 패키지를 enforcing (eClose double-close backstop)
CREATE UNIQUE INDEX 영국 mlos closing pkg active loan mlos closing package에 대하여 (loan file uid) WHERE 상태 <> 'CANCELLED'. 뒤에 튼튼한 backstop Assemblyr의 in-app idempotency guard : 중복 활성 폐쇄 패키지는 자신의 MERS 등록 + 자금을 구동 (두 배 닫습니다). 회사연혁 un-unique @Index 항목과 공유lib의 삶은 표현할 수 없습니다. JPA를 통해 부분적인 제약, 그래서 여기에 손으로 쓴 DDL입니다 (KI owns 스키마). Idempotent; 다음 KI 실행에 적용됩니다.
· MediaService
Thumbnail 예정된 재료 처리
Headless 청소는 ConversionService의 OTK thumbnail 파이프라인을 몰 수 없습니다, 그래서 수출을 저장 한 후 ImageIO를 통해 페이지-0 PNG thumbnail을 생성합니다. — 예정된 자료는 이제 다른 어떤 것과 같이 격자에서 렌더링, 필요 없음.
· kamo-internal
Recurring 세대 일정 UI
ScheduleManager: create/list/delete 스케줄(recipe + daily/weekly/monthly + 시간/일 + 선택적인 자동 포스트 표적 + caption); 물자에서 발사해, gated Canva autofill (Enterprise) 기능에. + canvaApi + /api/canva/schedules 프록시.
· MediaService
Scheduled generation — cadence의 스윕 실행법
- CanvaScheduleController : org 일정에 대한 CRUD (recipe + cadence + 시간 / 일 + 선택적 소셜 타겟), computes nextRunAt - CanvaGeneration의 특징 서비스: headless ***********로 물자 (공정 ImageService에서; backfill까지 thumbnail-less) - CanvaScheduleSweep : @Scheduled Cleaning, atomic per-schedule 주장, 생성 및 best-effort auto-posts 결과 대상 사회 연결 공개URL 솔름 서명
· kamo-shared-library
CanvaSchedule entity + 재포 (수입 세대)
Org-scoped recurring schedule (recipe + cadence + 선택적 소셜 대상) atomic-claim 쿼리 그래서 MediaService 스윕은 한 번씩 진행됩니다.
· kamo-internal
인라인 확장 가능한 Whisper transcript on softphone voicemail + call-history row
각 기록된 행(voicemail and call history)은 'Transcript' toggle를 가져옵니다. 수요에 대한 기록의 Whisper 성적을 파악하고 인라인을 보여줍니다. 회원은 플레이어를 열지 않고 읽을 수 있습니다. 기록 당 예약.
· kamo-internal
저장 + 재사용 autofill 조리법
TemplateAutofill : "SavedRecipes"칩은 템플릿 + 사전 작성 된 매핑을로드합니다. " 조리법으로 저장"은 현재 템플릿 + 필드 값 org-wide를 주장합니다. + canvaApi list/save/delete + /api/canva/recipes 프록시.
· MediaService
Saved autofill 레시피 CRUD (org-scoped)
CanvaRecipeController: GET/POST /api/media/canva/recipes + DELETE /{id} — save/list/soft-delete 브랜드 템플릿 + 필드 매핑, 범위 콜러의 org.
· kamo-shared-library
CanvaAutofillRecipe entity + repo (자동 채우기 요리법)
Org-shared는 Canva 브랜드 템플릿의 바인딩을 필드 값 (literal 텍스트 또는 재료 이미지), 그래서 stewards 표준 데이터-머지를 다시 실행할 수 있습니다.
· kamo-internal
Material ID 필드를 추가하여 양식, 세부 페이지 및 가져오기
Lead type을 통해 nullable materialId(최대 40) 스레드, LeadApi (+ 갱신 철사 요구를 창조하십시오), 및 공유된 LeadFields 체계 분야 목록 - 수동 수입 마법사와 API/vendor 모두 구동 intake mapping UI (다운로드 가능한 CSV 템플릿 플러스). 입력을 추가 /leads/new와 지도 세부사항 페이지에 전망/edit 줄, 타전하는 realtime pane-flash 지도. 리드를 통해 라벨.new.fields / 리드.view.fields / 리드.view.rows (materialId).
· kamo-internal
Enterprise autofill UI – 데이터-머지 브랜드 템플릿
TemplateAutofill: Canva 상표 템플렛을, 리터럴을 가진 각 분야 채우십시오 텍스트, org/compliance 토큰 (NMLS #, Equal 주택 공개, org 이름/전화/ 웹 사이트/주소, 회원 이름), 또는 자료 이미지; 생성된 자료 디자인 및 재료로 다시 가져 오기. Canva `autofill`에 덧붙였다. (Enterprise) 기능. + canvaApi 방법 및 /api/canva/{brand-templates, *************** 프록시.
· MediaService
Enterprise autofill – 데이터-머지 브랜드 템플릿
- CanvaApiClient : 목록 브랜드 템플릿 (dataset=non empty), 데이터 세트를 얻을, 자산 업로드 작업, create/get autofill 작업 - CanvaController: GET /brand-templates, GET /brand-templates/{id}/dataset, POST /autofill — 참조된 자료를 업로드하여 이미지 필드를 해결 자산으로 Canva에 재료, 그 후 데이터-머지; 새로운 디자인에 대한 설문 조사. Canva 403 (자동 충전 기능 없음) 표면 autofill not available.
· SecurityService
수동 수입 + API intake에 Persist mapped 물자 ID
SetDirectFieldOnCreateRequest 스위치 모두 기본 케이스가 부족하므로 unmapped systemFieldPath는 조용히 떨어졌다. materialId 케이스를 수동 포트 (LeadImportController) 및 공급 업체 / API 입구 (LeadIntakeController) 파견자 그래서 mapped 물자 ID 란/장 실제로 persists.
· kamo-shared-library
자료 ID 필드를 공유lib에서 엔드 투 엔드 추가
무수, max-40-char materialId를 Lead entity(MATERIAL ID)에 추가합니다. VARCHAR(40)), LeadHistoryFieldRegistry (프로필 카테고리)에 등록 그래서 편집은 감사, 생성 / 업데이트 / 읽기 DTO를 통해 스레드 LeadService create/update (trim + truncate ~ 40, 미러링 회사명), base<->mortgage 리드 변환을 통해 보존합니다.
· kamo-internal
소셜 첨부 + 이메일-a-material + 공공 링크
새로운 서명 된 공개 URL 솔기에 내장 된 마케팅 자료에 대한 배포. - 자료Api.publicLink(imgId) + /api/materials/link 프록시 - 재료 : "Copy public link"및 "이메일이 자료"(파일을 첨부) outbound는 기존의 multipart /api/email/send를 통해 보내, org 이메일에 게이트) - MaterialPickerDialog (물자 assoc에 재사용 가능한 그리드) - SocialComposer : 한 번의 사진 버튼을 지금 픽업 및 첨부 공공 URL을 통해 게시물 미디어로 자료 (Meta/Telegram/Discord의 작품)
· MediaService
Short-lived는 마케팅 자산에 대한 공개 URL을 서명했습니다
소셜 제공 업체 (Meta) 및 이메일은 경계에 대한 특정 자료를 fetch 개인 이미징 물질 버킷을 폭발하지 않고 창. - MaterialUrlSigner: HMAC-SHA256 (platform.enc-key) 토큰 = imgId:orgId:exp, 1h TTL - MaterialsController: POST /api/media/materials/link (auth → 최소 URL) org 소유물 이미지) + GET *********** (우편 → 유효한 토큰을 위한 바이트를 제공합니다; org + assoccheck). 현재 라이드 sessionless /api/media/** forward - APIService 변경 필요 없음.
· kamo-shared-library
일류 차용자 자기 보조 전환 ***********
DRAFT→APPLICATION TAKEN for a renter (운전 파티, 연산자가 아니라, LOS TAKE APPLICATION). 전환을 통해 경로() 범위의 사전 테이크-application 권리와 pinned toStatusId, 그래서 납세자 제출은 적절한 파이프라인 전환 - 국가 기계 법적, hash-chained 이정표, ApplicationSubmission (INITIAL DISCLOSURE) 및 afterCommit STATUS CHANGE 이벤트 — 침묵하는 대출 파일 상태 poke 대신. Loan-party 회원은 콜러에 의해 확인됩니다.
· kamo-internal
삭제 + 미리보기 + import-file-to-Canva
- 확인을 가진 MANAGE MATERIALS에 물자 (gated - lightbox에서 미리보기 thumbnail을 클릭하십시오 - "파일을 수정"은 PDF/PPTX/image를 편집할 수 있는 Canva 디자인로 변환합니다. (proxy는 이미징 로더와 같은 멀티 파트 바디를 재구성합니다)
· MediaService
편집 가능한 디자인으로 Canva에 파일을 가져 오기
-********** (기본 디자인 가져 오기) - CanvaController POST /imports (다중) → create+poll 가져 오기 작업 → 편집기 return-nav를 위한 correlation state를 가진 깊은 연결 - CanvaOAuthController에서 이제 사용하지 않는 Base64 가져 오기
· InitializerService
Migration adds.transcript TEXT 열
· VOIPService
소프트폰 플레이어의 metadata를 기록하는 transcript
· kamo-internal
소프트 폰 미디어 플레이어의 Whisper 성적표
· ConversionService
공유 TranscriptionService + 일반적인 엔드포인트; transcribe VOIP 녹음
- 재사용 가능한 TranscriptionService (ffmpeg normalize -> whisper-asr) 및 일반 POST /api/conversion/transcribe endpoint, meet-specific 교체 관제사. Meet + VOIP는 이제 하나의 비문 경로를 공유합니다. - RecordingProcessController: 각 완성되는 VOIP 기록/voicemail in-process (비파탈 on failure) 및 기록에 대한 성적표를 저장합니다.
· kamo-shared-library
기록 + RecordingMetadata에 Transcript 열
TRANSCRIPT TEXT 열을 기록하는 기관과 스레드에 추가 ********* (backwards-compat로) 기존 5-와 9-arg 콜러를 구성하는 구성 요소입니다. 에 의해 Populated Whisper를 통해 흐름을 녹화; KI 마이그레이션에 의해 생성.

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