Jump to content
KAMOUniverse

Changelog

Ada kabar baru.

Setiap perbaikan pada platform, sebagai kapal.

  1. · EmailService

    IMAP / SMTP-backed send, folder, and search for cloud stubs

    Ekstrak pola delegasi IMAP / SMTP ke dalam Pengatur AbstractImrapBackedCloudProvider and have Zoho, IceWarp, Exchange, Google Workspace, and Microsoft 365 extend itu. Kelas dasar menerapkan MailSender, MailReader, FolderManager, dan SearchProvider di atas EmailImpapService, EmailSmtspService, and SearchService - layanan yang sama yang digunakan KamoMail - jadi: Kirim / selamatkan Draft untuk penyedia awan dengan kredensial SMTP. - Semua operasi folder (buat / ubah nama / hapus / pindahkan / setFlags / deleteMessage) bekerja melalui IMAP. - Cari delegasi ke SearchService yang ada. - Baca operasi dan cad inline: render terus mengalir melalui shared EmailIlapService parser. Stubs yang tersisa di setiap penyedia beton - Pencatat waktu alam (dimana dapat diterapkan), DomainManager, dan MailboxProvisioner - benar-benar perlu provider- native admin APIs (Microsoft Graph, Google Admin SDK, Zoho Admin API, EWS, admin IceWarp) yang belum terhubung ke codebase ini. Masing-masing stub sekarang membawa sebuah komentar bergaya TODO- penamaan API yang akan mengimplementasikannya.

  2. · EmailService

    IMAP-backed MailReader untuk stub penyedia awan

    Zoho, IceWarp, Exchange, Google Workspace, dan Microsoft 365 semua mengekspos IMAP, Jadi kaitkan setiap metode penyedia-awan stub MailReader melalui Layanan ImpapService Bukannya melempar Exception Operation Unconvocated. Ini: - Buka blok membaca pesan pada penyedia ketika hanya kredensial IMAP dikonfigurasi (penyebaran paling umum hari ini). - Membuat contentId / inline metadata mengalir secara universal di seluruh setiap penyedia, karena EmailIlapService adalah parser tunggal. - Biarkan inline- gambar titik akhir memecahkan Cid: referensi untuk penyedia apapun. Metode penyedia awan yang tersisa (mengirim, manajemen folder, penyediaan, ops domain) masih Eksepsi Operasional Unconcected - kebutuhan mereka provider-native APIs dan tidak dalam lingkup di sini. Juga menambahkan MailContext.toMailcreations () sehingga penyedia (dan yang ada Adaptor KamoMailReader) berbagi satu credental-converse helper.

  3. · kamo-internal

    Render inline cid: gambar melalui endpoint EmailService baru

    Ketika pesan mengekspos bagian inline (masing-masing membawa contentId), email renderer now rewritten < img src = "Cid:"... > referensi di mount time ke * * * * * * * * * * * * * * yang proxy sekarang juga Selanjutnya Cache-Control pada sehingga browser caches gambar yang diambil. - EmailAttasemen (baik dalam conversationTypes dan salinan lokal di MessageBrowser) memperoleh ruas contentId dan inline. - SanitizeedEmailRenderer menerima inlineImageBaseUrl + inlineContentIds; pada cid: imgs it rewrites known cids dan menyembunyikan sisanya, with the existing handler onerror masih menyembunyikan gambar rusak lainnya. - The berdedikasi cud stripping yang tinggal di sanitzer dikembalikan - menulis ulang milik pada waktu render, dimana isi pesan ada. - Daftar lampiran yang terlihat dalam ThreadDetailView dan MessageBrowser filter keluar bagian inline sehingga logo signature tertanam tidak lagi muncul sebagai lampiran dapat diunduh.

  4. · EmailService

    Layers inline image MIME part and permukaan Content- ID metadata

    Render < img src = "cad:"... > dalam pesan UI dengan mengekspos bagian inline bahwa acuan tubuh HTML. - Lampiran Info memperoleh konsentId (tanpa sudut kurung) dan bendera inline. - bagian Multipart dan getAttasemen berbagi sebuah isstachment part predikat dan sebuah walker rekursif, sehingga bagian inline bersarang di dalam multipart / related ditangkap (dan indiknya tetap sejajar di dua metode). Sebelumnya rekursi menimpa daftar lampiran induk, yang juga menjatuhkan lampiran nyata dalam struktur bersarang. - Hastasemen sekarang didorong oleh bagian non-inline saja - logo tanda tangan tidak lebih lama nyalakan penjepit kertas pada setiap pesan. - New endpoint GET * * * * * * * * * * * * * * * * * * pada keduanya EmailController dan SharedMailboxMailController; menyelesaikan Cid melalui parsed Attachmentment Info, streams the part with Content- Disposition: inline dan Cache- Kontrol: private, max-age = 3600.

  5. · KlusterServices

    Tambahkan harga kotak surat @ kamocrm.com dan luar IMAP NodePort

    - Surat Layanan Baru / dovebot-imap- eksternal (NodePort 30143 - > 143) jadi IMAP dapat dicapai dari luar cluster pada $NODE: 30143. - Harga benih @ kamocrm.com dalam mysql- di dalamnya sehingga bootstrap DB segar membuat kembali kotak surat; baris langsung sudah ada di MySQL.

  6. · kamo-internal

    Merancang baris ChatsList - tata letak elegan, tak ada gulungan horisontal, titik-titik online, lencana tak terbaca, penanda waktu relatif

  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 tidak dibaca disiarkan dengan muatan AKTIVITY untuk pencarian-daftar pemutakhiran

  11. · kamo-internal

    Langsung chats-list pemutakhiran melalui saluran NAS yang belum dibaca

  12. · kamo-internal

    Tab untuk anggota / percakapan dalam panel pusat interaksi

  13. · kamo-internal

    Daftar percakapan dengan gulungan tak terbatas, dibuat secara virtual melalui IntersectionObserver

  14. · kamo-internal

    Pilih Multi- di Daftar Anggota untuk memulai percakapan grup

  15. · kamo-internal

    Header obrolan dengan avatar stack, judul popover, dan anggota picker

  16. · kamo-internal

    Komposer dengan drag-drop, chip lampiran yang tertunda, masukan multi-line

  17. · kamo-internal

    Pesan gelembung dengan avatar, hover aksi, dan terlihat indikator

  18. · kamo-internal

    Render dan lightbox dalam baris

  19. · kamo-internal

    Tipe klien dan kait untuk sesi, penerimaan, lampiran

  20. · kamo-internal

    Rute proxy untuk find-or-create, anggota, lampiran, pencitraan proksi, bisu, mencabut

    Ekstrak bersama * * * * * * * * * * * * pembantu ke app / lib / mediaServiceUr.ts Tambahkan rute proksi: find-or-create, anggota, penerimaan, lampiran (streaming), mutes, batalkan,

  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

    Tambahkan * * * * * * * * * * * * * ke MediaSesionMuteRepositori

  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

Alam semestamu menunggu.

Mulai gratis dalam beberapa menit. Tambahkan produk kapanpun Anda siap — tidak ada migrasi, tidak ada login baru.

Gratis selamanya — tidak diperlukan kartu kredit