Direkt zum Inhalt
KAMOUniverse

Changelog

Was ist neu?

Jede Verbesserung an der Plattform, wie sie geliefert wird.

  1. · EmailService

    IMAP/SMTP-Backed Senden, Ordner und Suche nach Cloud Stubs

    Extrahieren Sie das IMAP/SMTP-Delegationsmuster in AbstractImapBackedCloudProvider und haben Zoho, IceWarp, Exchange, Google Workspace und Microsoft 365 erweitern es. Die Basisklasse implementiert MailSender, MailReader, FolderManager und SearchProvider auf EmailImapService, EmailSmtpService und SearchService Die gleichen Dienste, die KamoMail nutzt, so: - sende / saveDraft Arbeit für jeden Cloud-Provider mit SMTP-Anmeldeinformationen. - Alle Ordneroperationen (erschaffen / umbenennen / löschen / verschieben / setFlags / deleteMessage) Arbeit über IMAP. - Suchdelegierte zum bestehenden SearchService. - Lesen Operationen und Inline-zid: Rendering weiterhin durch die geteilt EmailImapService Parser. Die restlichen Stubs in jedem Betonanbieter - RealtimeNotifier (wobei anwendbar), DomainManager und MailboxProvisioner - wirklich need Provider-native Admin APIs (Microsoft Graph, Google Admin SDK, Zoho Admin API, EWS, IceWarp Admin), die noch nicht in diese Codebasis verdrahtet sind. Jeder stub trägt nun einen Kommentar im TODO-Stil, der die API benennt, die sie implementieren würde.

  2. · EmailService

    IMAP-unterstützter MailReader für die Cloud-Provider stubs

    Zoho, IceWarp, Exchange, Google Workspace und Microsoft 365 setzen IMAP aus, so verdrahten jeden Cloud-Provider stub MailReader Methoden durch EmailImapService anstatt UnsupportedOperationException zu werfen. Dies: - Entsperrt das Lesen von Nachrichten auf diesen Anbietern, wenn nur IMAP-Anmeldeinformationen sind konfiguriert (der häufigste Einsatz heute). - Macht den neuen ContentId/Inline-Anhängetadaten einheitlich quer jeder Anbieter, da EmailImapService der einzelne Parser ist. - Erleichtert die Inline-Image-Endpunkt-Credit-Referenzen für jeden Anbieter. Die restlichen Cloud-Anbieter-Methoden (Senden, Ordnerverwaltung, Bereitstellung, domain ops) sind immer noch nicht unterstütztOperationException . die Provider-native APIs und sind hier nicht in Reichweite. Fügt auch MailContext.toMailCredentials() so Anbieter (und die bestehenden KamoMailReader-Adapter) teilen Sie sich einen einzigen Anmeldehilfe-Hilfe.

  3. · kamo-internal

    Inline-Ziteden anzeigen: Bilder über den neuen EmailService Endpunkt

    Wenn eine Nachricht inline Teile aussetzt (jeder mit einem ContentId), die E-Mail Renderer schreibt jetzt <img src="cid:"..." Referenzen zur Zeit auf ****************, welcher der Proxy nun auch weiterleitet Cache-Control auf, so dass der Browser das abgeholte Bild cakt. - E-Mail-Anhänger (sowohl in Konversationsarten als auch in der lokalen Kopie in MessageBrowser) gewinnt ContentId- und Inline-Felder. - SanitizedEmailRenderer akzeptiert inlineImageBaseUrl + inlineContentIds; auf cid: imgs es neu schreibt bekannte cids und versteckt den Rest, mit dem bestehenden onerror-Handler versteckt immer noch jedes andere kaputte Bild. - Die dedizierte cid Stripping, die in der Desinfektionsmittel lebte wird umgedreht Rewriting gehört zur Renderzeit, wo der Nachrichtenkontext existiert. - Die Liste der sichtbaren Anhänge in ThreadDetailView und MessageBrowser Filter aus Inline-Teile, so dass eingebettete Signatur-Logos nicht mehr erscheinen als Downloadbare Anhänge.

  4. · EmailService

    Inline-Image MIME Teile und Oberflächen-Content-ID-Metadaten servieren

    Render <img src="cid:""" in den Nachrichten UI, indem die Inline-Teile freigelegt werden dass die HTML-Körperreferenzen. - AttachmentInfo gewinnt ContentId (ohne Winkelwinkel) und Inline-Flag. - parseMultipart und getAttachment share a single isAttachmentPart predicate und ein rekursiver Walker, so Inline-Teile im Inneren multipart / verwandt verschachtelt werden erfasst (und ihre Indizes bleiben über die beiden Methoden ausgerichtet). Zuvor überschrieben die Rekursion die Anhangliste der Eltern, die fiel auch reale Anhänge in verschachtelten Strukturen. - hatAnhänger wird jetzt nur noch von Nicht-Inline-Teilen angetrieben - Signatur-Logos nicht länger leuchten die Büroklammer auf jeder Nachricht. - Neuer Endpunkt GET **************** auf beiden EmailController und SharedMailboxMailController; löst cid über die parsed AttachmentInfo, streamt den Part mit Content-Disposition: inline und Cache-Control: privat, max-age=3600.

  5. · KlusterServices

    Hinzufügen pricing@kamocrm.com Mailbox und externe IMAP NodePort

    - Neuer Service mail/dovecot-imap-external (NodePort 30143 - 143) so IMAP ist von außerhalb des Clusters auf $NODE:30143 zu erreichen. - Seed pricing@kamocrm.com in mysql-init so eine frische DB Bootstrap erstellt die Mailbox neu; die Live-Reihe ist bereits in MySQL vorhanden.

  6. · kamo-internal

    Redesign ChatsList Reihen - elegantes Layout, keine horizontale Schriftrolle, Online-Darts, ungelesene Plakette, relative Zeitstempel

  7. · MediaService

    GET /sessions/{guid'/members endpoint mit Anzeige-Name-Priorität hinzufügen

    Gibt Mitgliederliste mit aufgelöstem Namen via usernameAlias . fullName . alias . username, Die gleiche Priorität wie die Chat-Sitzungen-Liste. Dies füttert ChatBox.loadMembers() so die Titelleiste des Werkzeugfensters kann den richtigen bevorzugten Namen anzeigen.

  8. · kamo-internal

    Der- und Versandwerkzeugfenstertitel von Session-Mitgliedern

    Fügt onMembersChange Callback zu ChatBox hinzu; ChatTool leitet den Titel (Einzelname für 1-on-1, oder '<name' (+N mehr) für Gruppen) und Versand tool:title zur Aktualisierung der ToolWindowShell Titelleiste dynamisch.

  9. · kamo-internal

    Liftsuche über Tab-Streifen, teilen Abfrage über Mitglieder und Chats Tabs

    Bewegt die Suche TextFeld von MemberList in NavTopPanel über die Registerkarten. Passiert SearchQuery als Requisite für MemberList und ChatsList so ein einzelnes Feld Filtert beide Registerkarten. ChatsList filtert Zeilen, indem es den Namen eines Nicht-Selbst-Mitglieds abgleicht.

  10. · MediaService

    Augment ungelesene Sendung mit ACTIVITY-Nläge für Chats-Listen-Updates

  11. · kamo-internal

    Live-Chats-Liste Updates über NATS ungelesenen Kanal

  12. · kamo-internal

    Tabs für Mitglieder/Chats im Interaktion Center Panel

  13. · kamo-internal

    Chats Liste mit unendlichem Scrollen, virtualisiert über IntersectionObserver

  14. · kamo-internal

    Multi-select in MemberList für Gruppen-Chats

  15. · kamo-internal

    Chat Header mit Avatar Stack, Titel Popover und Mitglied Picker

  16. · kamo-internal

    Komponist mit Drag-Drop, anhängigen Befestigungschips, Multiline-Eingang

  17. · kamo-internal

    Nachrichtenblase mit Avataren, Schwebaktionen und gesehenem Indikator

  18. · kamo-internal

    Inline-Anbau-Rendering und Lightbox

  19. · kamo-internal

    Kundentypen und Haken für Sitzungen, Quittungen, Anhänge

  20. · kamo-internal

    Proxy-Routen für find-or-create, Mitglieder, Anhänge, bildgebende Proxy, stumm, widerrufen

    Extrahieren geteilt ************ Hilfeer zu app/lib/mediaServiceUrl.ts. Proxy-Routen hinzufügen: find-or-create, Mitglieder, Quittungen, Anhänge (Streaming), mutes, widerrufen,

  21. · MediaService

    Configmap Einträge für Anhängelimits und mehrteilig

  22. · MediaService

    Geseitete Chatliste mit Vorschauen, Mitglieder, ungelesene Zähler

    das liefert ChatListRowDto Zeilen einschließlich letzter Nachrichtenvorschau, Mitglied Zusammenfassungen, ungelesene Zählungen pro Sitzung und besitzenLastViewedAt.

  23. · kamo-shared-library

    CountUnreadAfter(guid, memberId, since) zu MediaObjRepository hinzufügen

    Benötigt durch Paged Chat-Liste Endpunkt, um pro Sitzung ungelesene Zählungen berechnen wenn ownLastViewedAt ist ein LocalDateTime-Zeiger und nicht eine Nachricht UUID.

  24. · MediaService

    Echter NATS-Publisher impl und READ_RECEIPT-Sendung

  25. · MediaService

    Per-Viewer stumm Endpunkt und Nachrichtenfilter

  26. · kamo-shared-library

    ************ zu MediaSessionMuteRepository hinzufügen

  27. · MediaService

    Imaging Proxy mit HTTP Range Unterstützung und per-member Download-Tracking

  28. · kamo-shared-library

    MediaObjImgDownloadRepository mit existen hinzufügenByObjImgIdAndMemberId

    Erforderlich von ImagingProxyService (Task 10) zu deduplicate pro Mitglied Download Tracking ohne vollständigen Tabellenscan.

  29. · kamo-shared-library

    CHAT_ATTACHMENT assoc Typ mit Bild-Chat-Antachments Eimer hinzufügen

  30. · kamo-shared-library

    Servicemethoden für exact-match find/create, member add, stumm stumm, widerrufen, lesen

Euer Universum wartet.

Fügen Sie Produkte hinzu, wann immer Sie möchten – keine Migration, keine neuen Anmeldungen.

Für immer kostenlos – keine Kreditkarte erforderlich