공유-library @Lob LONGVARCHAR 수정에 대한 재건
Hibernate의 PostgreSQL 방언은 getLong()를 통해 OID로 @Lob String 칼럼을 읽습니다. Affects 메모, 연락처, 달력, OAuth 토큰, IMAP 암호, 이메일 캠페인 몸, webhook 비밀, Canva 및 소셜 자격.
YugabyteDB의 포인트 및 PostgreSQLDialect 사용
CockroachDB는 YugabyteDB에 의해 대체되었습니다. 연결 문자열에서 이동 cockroachdb-public:26257 yb-tserver-service:5433, 그리고 Hibernate 방언 ...에서 *********** 에 PostgreSQLDialect.
KSessionService에서 CRLF 종료
이전의 커밋은 LF로 파일을 다시로드하고 15 라인 변경을 577-line 전체 파일 diff. 내용이 변경되지 않습니다. 이것은 다시 종료합니다. 역사는 정직하고 동시 편집은 모든 선에 충돌하지 않습니다.
공유 중지 *** idle 사용자를위한 TTL
이 서비스는 KSessionService의 자체 사본을 유지하고 TTL을 slid합니다. 모든 읽기. Gating SecurityService 혼자 따라서 고정 아무것도: kamo-internal 포인트 라이브 채팅, 존재 및 지원 표면이 서비스 및 새로 고침 키보드에서 아무도로 실행을...
BLAKE3-only 주장을 받아들이십시오 그래서 dedup는 올려주기 보다는 더 빠릅니다
링크 endpoint 모두 hashes 요구. 브라우저에는 빠른 SHA3-256가 없습니다. 이미 358 MB 파일을 가지고 ~20 초에 대한 18.8 두 번째 업로드 — 회원 오랫동안 기다려야 할 것은 아무것도 변경하지 않았다. sha3256는 지금 선택적입니다: 공급해, 아직도 가...
다시 업로드하지 않고 이미 저장된 파일을 첨부
3 명의 동료에게 2 GB 비디오를 전달하는 3 개의 전체 업로드. 제품 정보 1개의 객체로 나눌 수 있지만, 각 전송이 완료된 후만 thrown away — 회원은 모든 바이트에 대해 지불, 세 번, 사본을 생성 이미 플랫폼. 두 개의 엔드 포인트는 모든 바이트 이동 전에 정착. /...
한 시간 동안 그것을 잡고 대신 분에 죽은 업로드 실패
connectionUploadTimeout는 읽기 사이의 tolerated SILENCE이며 예산이 없습니다. 전체 이동. 1 시간에서 'match Traefik'로 설정하면 두 개의 혼동됩니다. 업로드는 500 MB의 2 GB 파일과 sat 거기에서 중지, 요청 스레드를 들고 Half...
Tomcat의 60s 연결 타임 아웃이 긴 업로드를 죽이는 중지
2 GiB 채팅 첨부 파일이 거의 4 분 후에 실패했습니다. MultipartException은 bare SocketTimeoutException을 감싸고 회원이 되었습니다. 'Internal Server Error'에 대해서 Tomcat의 disableUploadTimeout def...
스토리지로 스트리밍하여 3 GiB 첨부 파일을 수락
file.getBytes()는 이 큰 업로드를 표시할 수 없습니다. - Java 배열은 단지 중지합니다. 위 2 GiB — 그래서 모든 첨부 파일을 과거에 죽은 OutOfMemoryError에 상관없이 힙의 1 GB는 파일 스프링을 저장하기 위해 1 GB 할당을 필요로했습니다. 디스크에...
Catch OptimisticLockException, 유형 40001 실제로 포장
라운드 3 검토 수정: hibernate-core의 **************** 테스트 LockAcquisitionException (무엇 SQLState 40001 로 변환) 에 대하여 순서에 있는 특정한 유형, 어떤 일반 LockAcquisitionException satisfie...
예외 유형의 충돌을 실제로 던져
라운드 2 검토 수정 : 문 레벨 40001 (일반적인 경우, 감지 내부 executeUpdate() 오히려 커밋에서) 표면 ****** ***********************************************************************************...
Mirror Maven Central and retry, 그래서 하나의 나쁜 바이트는 빌드를 죽이는 중지
시작 수정이 발송되지 않았습니다. 빌드는 "Tag mismatch"로 byte-buddy를 해결했습니다. 누락된 artifact와 같은 것을 읽는 것은 그러나 이 다운로드에 의하여 손상된 mid-transfer입니다 runner의 링크. 그 단지에 대한 아무것도 - DocsService...
반환 409 모든 손실 청구 레이스에, 추가 관리자 청구 경로
라운드 1 리뷰는 수락 팝업 청구 엔드 포인트에 대한 수정 : - 일반 분실 레이스 (loser's isClaimableBy already false post-commit) 이제 TicketAlreadyCl 대상Exception (409) 대신 400 - 티켓 자체 우승자가 idempo...
이메일 저장소 DepartmentService가 필요합니다
MediaService CrashLooped on every pod since shared-lib 1.5.0: 부서서비스는 @Service, 그래서 와일드카드 @ComponentScan("com.kamo")는 이지 여부를 확인 서비스 접촉 부, 그리고 그것은 MailboxReposito...
GET /types/{typeId}/slots 그래서 설정 편집기를 나열할 수 있습니다 슬롯
설정 UI는 항상이 경로를 fetched, 하지만 POST/PUT/DELETE는 mapped, 그래서 Availability 슬롯 탭은 405 및 렌더링 빈. 이름 * /slots/available 이 필터링 없이 타입의 모든 활성 슬롯을 반환 사전 예약 통지 또는 어린이 제한 - 관리...
반복된 params로 timeline 공급자 여과기를 받아들이십시오
웹 클라이언트가 전송 ?providers=facebook,x 한 CSV 값으로. 자주 묻는 질문 VALUE는 %2C로 여행하고, 다시 인코딩은 %252C로 전환; 우리는 한 번 디코드, 더 이상 존재하지 않는 comma에 분할, 전체 필터는 단일 실행 토큰 "Facebook%2Cx". ...
사용자 계정으로 missed-message 이메일 보내기, org mailbox
이 통지는 "당신은 메시지 대기, 로그인 및 그것을 읽었다"고 말했다, 그리고 그것은 mailbox에 전달 된이 조직은 회원 할당 — 그들은 단지 도달 할 수 로그인. 그것을 볼 수없는 사람은 사람을 위해이었다. Recipient 해결책은 지금 사용자 계정 주소 혼자 있습니다; Mem...
모든 대리인에게 읽지 않은 조사 대신에 살아있는 배지를 주십시오
Nav 배지 및 /support?tab=tickets는 다른 질문에 답했습니다. 사이트 맵 org의 모든 티켓 목록; 배지 카운트 읽지 않은 채팅 메시지 정확히 하나의 회원, 해결 된 org 소유자, 및 게시 support.agent.{ownerId} 각 브라우저가 자신의 회원 ID에 ...
Drop 클라이언트는 주제를 보호하고 HEAD에서 빌드를 복구
TWO THINGS, 배송에서 MediaService 메인을 중지합니다. 1. 주는 컴파일하지 않습니다. MediaController:1361 통화 **************** 존재하지 않는: SupportTicketService에 대한 방법은 **************** 90d4...
법적 책임 조사 및 감시 per-member SUBSCRIBEs
법적.패키지.> -> -> ****** ******************************************************************************************************************************************...
한 번 메시지를 발표, 때 전체
행이 저장 된 후 메시지를 마무리하는 두 개의 호출기는 이제 말 createMessage가 발표되지 않음 : MediaController는 이미지 및 출판물을 첨부합니다. Article Author HTML PHP Post Tag Tags Video WordPress 결혼 김사랑 노무현...
업로드 당 한 객체 대신 dedup 파이프라인을 통해 첨부
첨부파일은 자신의 "<imgId>/<fileName>" 객체를 모든 업로드, 우회 content-addressed store 전적으로 — 같은 Logo-draft.png는 한 번에 3 번 첨부 대화는 3개의 목표를 점유했습니다. 지금은 공유 ImgDat로 해시를 업로드, 그래서 동일 내...
통합된 이미징 버킷을 위한 재건
Kamo-shared-library 3045cc3: ImageAssocType.getBucket()을 지금 반환 "imaging" 각 협회에 대 한 물통, 그래서 deduplicated 파일은 한 번 저장 됩니다. 관련 상품 객체는 이 목록의 앞에 migrated 있었습니다. 공유 라이...
STOMP에 릴레이 SecurityService 플랫폼 이벤트
SecurityService는 플랫폼 관리자 표면을 소유합니다 - 시스템 구성, DNS 프로비저닝, 상거래 동기화 — 하지만 WebSocket 엔드포인트가 없습니다, 그래서 모든 화면 그것에 의해 뒷받침은 아무것도 말하지 않고 대신 타이머에 새로 고침 : 닫히는 로난 트레이너 탭 매 4...
Kamo-shared-library 8f3c1ec에 대한 재건
Intake-pool 수정을 선택합니다. LeadService.createLead는 이제 가장 잘 알려진 리드를 플래그합니다. requireAssignment 그래서 수입된 지도는 countAssignablePool에 의해 계산됩니다 그리고 받아들여질 수 있습니다. shared-lib는...
예약 단계 전에 데모 리드 캡처
마케팅 사이트 데모 양식 수집 이름, 이메일, 회사, 회사 크기, 산업 및 메시지, 다음 누구에게도 알리지 않고 스케줄링에 고급. 지도 창조는 단지 안쪽으로 살았습니다 *********** 그래서 예약을 완료하지 않은 모든 방문자 — 모든 방문자 해당 이용 후기에 달린 코멘트가 없습니다...
Zoom 및 Microsoft 팀과의 회의 제공 업체 요약
회의는 Kamo Meets by Construction — MeetService가 미팅룸에 참석했습니다. 이름과 다른 아무것도. 이것은 요약 및 두 개의 원격 제공 업체를 소개합니다. 뒤로. meet/provider 거울 이메일 공급자 층: MeetingProviderResolver는...
Persist MediaService PHI 액세스 트레일 phi access log
채팅 메시지는 Slf4j 기본 작가를 통해 기록되었습니다. §164.312(b) 6년 보존에 대한 14일 로그 스트림의 흔적 의무 - 그리고 "이 대화를 읽으십시오" unanswerable, 로그 이후 스트림은 회원 또는 리소스에 의해 queried 수 없습니다. JpaPhiAcces...
공유 MFA 저장소 스캔
MfaEnrollmentService는 kamo-shared-library의 @서비스이므로 와일드 카드 @ComponentScan("com.kamo") 이 응용 프로그램에서 여부 또는 이지 여부를 구성 서비스는 MFA와 함께해야 할 일이 있습니다. — 그리고 그것의 constructor...
Record chat message reads on the endpoints that return bodies
Sending a message left a row; reading one left nothing. Every chat, support and social thread on the platform renders from a handful of endpoints here, and none...
진행중인 탁월한 업무
단계와 헌신적인 as-is 그래서 아무것도 작동하지 나무에서 uncommitted 남아. 3개의 파일 변경, 353 삽입(+), 4개의 deletions(-)
Flaky egress에 대한 kubectl 다운로드를 Harden [skip ci]
dl.k8s.io 런너의 egress 간에 실수로 중간 전송을 삭제: 컬: (56) OpenSSL SSL read: 해독 실패 또는 나쁜 기록 맥 그렇지 않으면 녹색 빌드에 배포되지 않습니다. 반복적으로 관찰 kamo-signer-monorepo 및 카모 번역 사전. 추가 --retr...
만료 된 와일드카드 비밀 대신 라이브 per-host cert를 마운트
Cert-converter init 컨테이너는 PKCS12 키 저장소를 내장 wildcard-kamocrm-com, 레거시 멀티 산 비밀 cert-manager orphaned 때 그것의 증명서는 per-host 비밀에 repointed. 아무것도 그것을 갱신하고 그것 만료 된 2026...
핸프오프에 인간의 실로 AI 대화를 실시
지원 세션을 생성하거나 재사용하고, AI 성적표를 한 시스템으로 복사 이벤트, 그것을 경로, 그리고 다음에 무슨 일이 있었는지 정직한 방문자를 말한다. Confidentiality는 청중에 의해, 첫번째 통행은 뒤로 얻었습니다. 더 보기 AI의 요약 및 reasonDetail은 방문자...
에이전트-authored outreach를 개방형 차용기 스레드로 허용
AIService의 outreach 파견자 호출. 그것 없이 outbound 경로는 기록된 404에서 종결했습니다 - 문은 접촉을 허가했습니다, 메시지가 구성되었다, 그리고 거기에 그것을 넣어. 소유권은 deliberately를 분할합니다. AIService는 WHETHER에게 터치를...
Cross-org 판매 에이전트를 거부; widen bootstrap 캐시 busting
salesAgentId는 요청 몸에서 unchecked, 그래서 십자가org 또는 dangling 대리인 ID는 WebChatIntegration에 저장될 수 있었습니다. 그것은 안전 만 실패 AIService가 org-scoped lookup으로 에이전트를 다시 읽기 때문에 데이터가되...
채널 + 보고서 LO 가용성 당 판매 에이전트 할당
- WebChatIntegration CRUD 스레드 판매AgentId (null은 할당을 취소) - lo-presence 이제 회원의 가용성Status를 온라인으로 반환하므로 위젯은 bare dot 대신 실제 상태를 보여줄 수 있습니다. Cross-org 조사는 여전히 {online:...
Routing 토큰을 검증, persist LeadUid, 리드 이동에 재 할당 채팅
- createSupportSession는 서명한 routingToken (likeAgentMemberId);를 가지고 갑니다 ChatRoutingTokenCodec + 클러스터 내부.auth.secret을 통해 확인, 시행 token.orgId == org, integration.as...
채팅 참여 및 라우팅의 비 액티브 회원 제외
* * * * * * * * * * * * * * 대상, 라이브 채팅 participant. 공유 -lib의 모든 채팅 경로 *************** 이전 : - DM create / 그룹 find-or-create / add-members 거부 또는 드롭 비 행위 MediaSes...
Snapshot web-chat 통합 지원 방문자 + 티켓
CreateKeyHash (enabled-filtered)에 의해 WebChatIntegration를 해결 부트 스트랩()/AI-prompt resolution)에 한 번 연속 createSupportSession과 스탬프 모두 PublicChatVisitor 웹 사이트 attribut...
Public-chat 부트 스트랩 구성 해결자
내부 GET 추가 *********** 해결 WebChatX-Public-Chat-Key-Hash의 통합 및 해결 design/behavior config (WebChatDefaultConfig.merge를 통해 기본 충전 그래서 통합 행이있는 열쇠는 오늘날의 위젯과 같은 여전히 렌더링...
FCM/APNs credentials를 위한 철사 선택적인 mediaservice-push 비밀
선택 `mediaservice-push`에서 FCM 서비스 계정 JSON + APNs .p8 마운트 /etc/kamo/push에 비밀은 동일한 비밀에서 APNs 열쇠 ID/team ID를 놓습니다. 선택 사항이므로 팟은 비밀이 제공 될 때까지 변경되지 않습니다. 둘 다 senders는 ...
WebChatIntegration CRUD (최소 키 + 통합, org-scoped)
Org-facing 관리 API for the Phase-2 웹 채팅 설정 탭. 으로 create, mints the underlying PublicChatApiKey (사임 키겐 접근 방식) WebChatIntegration 행과 함께 PublicChatKeyController로 원시...
