콘텐츠로 건너뛰기
KAMOUniverse

변경 로그

무슨 일이야?

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

  1. · EmailService

    IMAP/SMTP 백업, 폴더 및 클라우드 스텁에 대한 검색

    AbstractImapBackedCloudProvider로 IMAP/SMTP 위임 패턴을 추출 Zoho, IceWarp, Exchange, Google Workspace 및 Microsoft 365 확장 그것은. 기본 클래스는 MailSender, MailReader, FolderManager 및 구현 EmailImapService, EmailSmtpService, SearchService의 상단에 검색 — 같은 서비스 KamoMail 사용 — 그래서: - SMTP credentials를 가진 어떤 구름 공급자든지를 위한 send/ saveDraft 일. - 모든 폴더 작업 (create / rename / delete / 이동 / setFlags / deleteMessage)는 IMAP를 통해 작동합니다. - SearchService에 위임을 검색합니다. - 가동 및 인라인 cid를 읽으십시오: 연출은 계속 흐르는 것을 통해서 이메일ImapService 파서. 각 콘크리트 공급 업체의 나머지 스텁 – RealtimeNotifier (where 적용 가능한), DomainManager 및 MailboxProvisioner — 정말 필요 공급자 고유 관리 API (Microsoft Graph, Google Admin SDK, Zoho Admin API, EWS, IceWarp admin) 이 코드베이스에 아직 유선되지 않습니다. 각 각 stub는 이제 구현할 API를 naming TODO-style 코멘트를 제공합니다.

  2. · EmailService

    IMAP-backed MailReader 클라우드 프로바이더 스텁

    Zoho, IceWarp, Exchange, Google Workspace 및 Microsoft 365 모든 노출 IMAP, 그래서 각 클라우드 프로바이더 스텁의 MailReader 메소드를 통해 EmailImapService UnsupportedOperationException을 던지는 대신. 이: - IMAP 자격 증명만 할 때 해당 공급자에 대한 읽음 메시지 차단 (오늘 가장 일반적인 배포). - 새로운 contentId/inline 부착 메타데이터 흐름을 균일하게 만듭니다. EmailImapService는 단일 파서입니다. - 인라인 이미지 엔드포인트가 cid: 어떤 공급자를 위한 참고. 나머지 Cloud-provider 메서드 (sending, 폴더 관리, 제공, 도메인 ops)는 여전히 UnsupportedOperationException — 그 필요 공급자 고유 APIs는 여기에서 범위에서 이지 않습니다. 또한 MailContext.toMailCredentials()을 추가합니다. KamoMailReader 어댑터)는 단일 credentials-conversion 헬퍼를 공유합니다.

  3. · kamo-internal

    인라인 cid 렌더링 : 새로운 EmailService endpoint를 통해 이미지

    메시지가 인라인 부품을 노출 할 때 (각 contentId를 운반), 이메일 렌더링가 이제 <img src="cid:..."> 마운트 시간에 참조 *********** 프록시는 이제도 브라우저에서 Cache-Control을 전달하여 fetched 이미지를 캐시합니다. - EmailAttachment (SignTypes 및 로컬 복사본의 경우) MessageBrowser) 콘텐츠Id 및 인라인 필드를 얻습니다. - SanitizedEmailRenderer는 인라인ImageBaseUrl + 인라인ContentIds를 허용합니다. cid: imgs 그것 rewrites known cids and hides the rest, 와 함께 기존의 onerror handler는 여전히 다른 부서진 이미지를 숨깁니다. - sanitizer에서 살았던 전용 cid stripping은 reverted — rewriting는 렌더링 시간에 속합니다. 메시지 컨텍스트가 존재합니다. - ThreadDetailView 및 MessageBrowser의 눈에 보이는 첨부 파일 목록 inline 부품을 필터링하여 임베디드 서명 로고가 더 이상 나타나지 않습니다. 다운로드 가능한 첨부 파일.

  4. · EmailService

    Serve 인라인 이미지 MIME 부품 및 표면 내용 ID 메타데이터

    렌더링 <img src="cid:..."> inline 부품의 폭발로 메시지 UI에서 HTML 몸 참조. - AttachmentInfo는 contentId (각 부류 없이)와 인라인 깃발을 얻습니다. - parseMultipart 및 getAttachment 공유 단일 isAttachmentPart 사전 그리고 recursive walker, 그래서 인라인 부속은 multipart/related 안쪽에 배열했습니다 캡처 (그리고 인덱스는 두 가지 방법을 통해 정렬). 이전의 반복은 부모의 첨부 파일 목록을 overwrote, 또한 배열된 구조에 있는 진짜 부착을 떨어뜨렸습니다. - hasAttachment는 이제 비 인라인 부품으로 구동됩니다. - 서명 로고 없음 더 긴 각 메시지에 paperclip를 점화합니다. - 새로운 endpoint GET *********** 모두에 EmailController 및 SharedMailboxMailController; cid을 통해 해결 parsed AttachmentInfo, Content-Disposition의 일부 스트림: 인라인 그리고 캐시 제어: 개인, max-age=3600.

  5. · KlusterServices

    Price@kamocrm.com 메일박스 및 외부 IMAP NodePort 추가

    - 신규 서비스 메일/dovecot-imap-external (NodePort 30143 -> 143) IMAP는 클러스터 외부에서 $NODE:30143에 도달 할 수 있습니다. - Seed Pricing@kamocrm.com mysql-init에서 신선한 DB 부트 스트랩 mailbox를 recreates; 살아있는 줄은 MySQL에서 이미 존재합니다.

  6. · kamo-internal

    Redesign ChatsList 행 - 우아한 레이아웃, 수평 스크롤, 온라인 도트, 읽지 않은 배지, 관계되는 타임스탬프

  7. · MediaService

    Add GET /sessions/{guid}/members endpoint with display-name priority

    Returns member list with name resolved via usernameAlias → fullName → alias → username, matching the same priority as the chat sessions list. This feeds ChatBox.loadMembers() so the tool window title bar can show the correct preferred name.

  8. · kamo-internal

    Derive and dispatch tool window title from session members

    Adds onMembersChange callback to ChatBox; ChatTool derives the title (single name for 1-on-1, or '<name> (+N more)' for groups) and dispatches tool:title to update the ToolWindowShell title bar dynamically.

  9. · kamo-internal

    Lift search above tab strip, share query across Members and Chats tabs

    Moves the search TextField from MemberList into NavTopPanel above the Tabs. Passes searchQuery as a prop to both MemberList and ChatsList so a single field filters both tabs. ChatsList filters rows by matching any non-self member's name.

  10. · MediaService

    Augment 읽지 않은 메시지보기 ACTIVITY payload와 채팅 목록 업데이트

  11. · kamo-internal

    NATS 읽지 않은 채널을 통해 라이브 채팅 목록 업데이트

  12. · kamo-internal

    상호 작용 센터 패널에 있는 일원/chats를 위한 탭

  13. · kamo-internal

    IntersectionObserver를 통해 가상화 된 무한 스크롤이있는 채팅 목록

  14. · kamo-internal

    그룹 채팅 시작을 위한 MemberList에서 멀티 선택

  15. · kamo-internal

    Avatar stack, title popover, 회원 선택기와 채팅 헤더

  16. · kamo-internal

    드래그 드롭이있는 Composer, 파일럿 칩, 멀티 라인 입력

  17. · kamo-internal

    Avatars, hover 행동 및 표시된 표시가있는 메시지 버블

  18. · kamo-internal

    인라인 부착 렌더링 및 lightbox

  19. · kamo-internal

    세션, 영수증, 첨부 파일에 대한 클라이언트 유형 및 후크

  20. · kamo-internal

    Proxy routes for find-or-create, members, attachments, imaging proxy, mute, revoke

    App/lib/mediaServiceUrl.ts에 공유된 ********** helper를 추출하십시오. 프록시 경로 추가: find-or-create, 회원, 영수증, 첨부 파일 (streaming), mutes, revoke,

  21. · MediaService

    Configmap entries for attachment limits and multipart

  22. · MediaService

    Paged chat list with previews, members, unread counts

    that returns ChatListRowDto rows including last message preview, member summaries, per-session unread counts, and ownLastViewedAt.

  23. · kamo-shared-library

    Add countUnreadAfter(guid, memberId, since) to MediaObjRepository

    Needed by paged chat-list endpoint to compute per-session unread counts when ownLastViewedAt is a LocalDateTime pointer rather than a message UUID.

  24. · MediaService

    Real NATS publisher impl and READ_RECEIPT broadcast

  25. · MediaService

    Per-viewer mute endpoint and message filter

  26. · kamo-shared-library

    Add *********** 에 MediaSessionMuteRepository

  27. · MediaService

    Imaging proxy with HTTP Range support and per-member download tracking

  28. · kamo-shared-library

    Add MediaObjImgDownloadRepository with existsByObjImgIdAndMemberId

    Required by ImagingProxyService (Task 10) to deduplicate per-member download tracking without a full table scan.

  29. · kamo-shared-library

    Add CHAT_ATTACHMENT assoc type with imaging-chat-attachments bucket

  30. · kamo-shared-library

    Service methods for exact-match find/create, member add, mute, revoke, read

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

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

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