Direkt zum Inhalt
KAMOUniverse

Changelog

Was ist neu?

Jede Verbesserung an der Plattform, wie sie geliefert wird.

  1. · kamo-shared-library

    DecisionGate.appliedThreshold entlarvt die tatsächliche Vertrauensbar

    Das Gate im Inneren gilt max(Zentensatzüberschreitung, SicherheitFloor, Bühnenboden), aber Anrufer hatten nur die Pre-Gate-Vermieterwand. angewendetThreshold gibt die wahre bar damit eine Aufzeichnungsentscheidung die Schwelle von IN-EFFECT fortbestehen kann (Prüfer- reproducierbar) statt eines Wertes, den das Tor lautlos erhöht. Additiv; Bewertung() unverändert. DecisionGateTest 14/14 passieren.

  2. · kamo-internal

    Enterprise Materials Arbeitsraum (P0) - Ordner, Suche, Schüttgut, reale Vorschau, geteilte E-Mail-Komponist

    Ersetzt das flache 200-Punkte-Gitter durch einen vollständigen Dokumentenarbeitsplatz gegenüber der vorhandenen Bildgebung Backend (das bereits Ordner, Papierkorb, Freigabe, Geschichte, Schüttgut für MATERIALS unterstützt): - Ordner Sidebar (erschaffen/rename/löschen, Drag-to-folder) + Alle / Trash-Ansichten - Suchen, sortieren, gittert<-"Walben, paginiert 'load more' (entfernt die 200 Kappe) - Bulk auswählen + Bulk Download (ZIP) / E-Mail / bewegen / löschen - rechte Detail-Schublade: reale Vorschau, Inline-Umbenennung + Beschreibung, move-to-folder, internes Teilen (Mitglied, Erlauben, Ablauf) und Aktivitätsgeschichte - E-Mail nutzt den freigegebenen MessageTool-Komponisten nun über das globale Tool:Open (From/mailbox, CC/BCC, Rich Body, Signaturs, Entwürfe) statt eines maßgeschneiderten Formulars - Neue bildgebende Proxy-Routen: Ordner erstellen/[id] umbenennen+delete/move-doc, umbenennen, Beschreibung, Wiederherstellung, Zugangs-Ebene - Entfernt die überholte MaterialLibrary; alle Canva-Funktionen (erschaffen/import/autofill/ Zeitpläne) übergetragen. imgIds als präzise Strings durchgehend behandelt.

  3. · kamo-internal

    Überholung /messages - iframe Rendering, Listenkontextmenü, Threading, Rennen, a11y

    Die Prüfung der /messages Seite Ende-zu-Ende. Berichtete Fragen: - Reply/Reply Alle/Vorwärts-Buttons zeigen jetzt Textbeschriftungen; aus den mehr-Aktionen entfernt Dropdown (sie sind benachbarte Tasten), während die neue Liste Menü hält sie. - Nachrichten-Listen-Zeilen öffnen jetzt das gemeinsame Aktionsmenü auf Rechts-Klick und Touch long-press ************ Reihen gewinnen Fokusring (j/k), Auswahl-Checkbox (x) und Scroll-in-View. - E-Mail macht jetzt in einem sandboxed auto-hohe iframe (srcdoc) statt inline gefährlichSetInnerHTML. Dies isoliert E-Mail CSS/layout, das die Lese-Panel "Bounce" und die Mitte-Drag-Text-Auswahl Verlust, schließt die App-weit CSS-leak, und fügt eine Standard- "externe Bilder blockiert" Tracking-Pixel-Gate. Korrektheit/Bugs: - Komplett-compose Reply/Reply-All jetzt gesetzt In-Reply-To/Referenzen (unified DraftMessage Typ) so Antworten bleiben Threads; Quick-Reply-Threads Referenzen + Eltern-ID, HTML- entweicht dem Körper und sendet aus dem aktiven Shared/Mitglieder-Postfach. - Vorwärts trägt die Original-Anhänge; Antwort/Forward lösen die vollständige Nachricht (Körper für Listenreihen-Aktionen holen) anstatt zu zitieren, was offen ist. - Race Guards (neueste-Gewins) auf loadMessages / Nachricht auswählen / Thread load / Konversationslast; Umfrage nicht mehr yanks gepagedete Benutzer auf Seite 0; WS neu laden gefiltert auf den aktiven Ordner; searchPage setzt auf Abfrageänderung zurück. - ThreadDetail erweitern Zustand-ader-ader-Ansatz durch Ordner+uid (Cross-Collision); markRead nur wenn sie ungelesen sind; retry verwendet die Ordnerrequisite. - Komponieren: bündig getippt-aber-uncommitted Empfänger auf Send/Draft; Anhang Dedupe + 40MB Gesamtkappe + funktionale Updates; lassen Sie den redundanten Client OTK. - Proxy: Vorwärts- und Kacheprüfer für Befestigung/Inline-Streaming; schließen die mehrteilige Ausgräbnis auf bewachten Versorgungswegen. - E-Mail WebSocket: echter Stopp nach max retries, exponential backoff, stable-connection Retry Reset; memoized Kontextwert zu schneiden Verbraucher wieder-Render Churn. Qualität: Unified ************ a11y (aria-labels, ariagepresste, Tastatur-operable Zeilen/Toggles); i18n (Ortnamen, Listendaten, Pager, ICU Plural); entfernte toter Code und Phantom-Tastatur-Shortcut-Einträge.

  4. · kamo-internal

    Instrumenten-Panel-Redesign - Akzent Familien, Mastkopf, Abschnitt-Index nav, einheitliche Glaskarte

    Entwirft die beiden meistbesuchten Landungen in eine genehmigungsförmige Bedienkonsole um. Stiftung - Schalten Sie den bereits gebündelten Geist Sans/Mono ein (wurden von einem Arial Fallback verworfen); Route MUI Typografie durch Geist. - Fügen Sie White-Label-Safe --accent-* Modul-Familie Token, eine Höhenleiter, eine beleuchtete Glas-Oberkante, Operator-Label + .tabulare Utilities und ein --ease-house Token hinzu. Fix --gradient-primary-transparent (war hartcodiert blau - jetzt abgeleitet von --color-primary). Shared FeatureCard (eine Komponente, Tastatur-Korrektur) - Jetzt ein echter Anker (NextLink): Tab/Enter/Mitte-Klick-Arbeit und der Fokus-sichtbare Ring kann endlich feuern. Fügt verwendenReducedMotion Wache, währendInView Eingang auf dem Haus Leichtigkeit, Familie-Akzent beleuchteten Chip, Aufmerksamkeit zählen pip, Gewichtsstufen, und auf Klick Durchfahrt. Beruhigt die pro-Modul-Farbabsicht, die auf Render verworfen wurde. Löscht die gegabelte Inline-Home-Karte. Nach Hause - Masthead (mono kicker + time/name greeting + tabular status strip) ersetzt das org-only Banner; oklab Backdrop ersetzt das Graustufen-multiply Wasserzeichen; genehmigungsförmige zweistufige Startrampe (usage-geordnete primäre + gruppierte Verzeichnis) mit einem "Needs you today" Aufmerksamkeitsstreifen und "Jump back in" (neue NutzungHomeRecent + globaler RecentRouter); adaptive spärliche/leere Zustände; real <h1' + Sehenswürdigkeiten. Einstellungen - Registry-gesteuertes Rechen ersetzt 18 kopierte Zusammenbruchsblöcke: klebrige Abschnitt-Indexschiene + IntersectionObserver scroll-spy + Live-Zählungen, 4 Super-Gruppen, progressive Offenlegung (Personal open, Recent-Aware, Last-Sektion-Restore, Erweiterung/Kollaps alle), SectionHeader-Instrumentenreihen und ein fester Quick Access (korrekt MAX_RECENT-Slice + relative Zeit + Start hier). Bewahrt alle Berechtigungs-/Produktflagg-Tor genau. Cross-cutting: skelett + EmptyState, bevorzugt-reduziierte-Transparenz + reduzierte Bewegungspfade, pro Ort Operator-Label Caps Opt-out. Neue UI-Strings landen im Kamo-Translation-dictionary (en) in einem Begleiter Commit.

  5. · kamo-shared-library

    **************** gezielte Aktualisierung

    Async-Konvertierung (virtuelle Threads) und geplante Sweeps halten eine abgelöste ImgDat; save()/merge() Kaskaden in die OrphanRemoval=true Bildersammlung und wirft 'eine Sammlung mit Kaskade=all-lösch-orphan wurde nicht mehr durch den Besitz verwiesen Entitätsinstanz'. Eine Masse UPDATE von nur die Thumbnail-Spalten vermeidet die Entity-Grafik vollständig und ist sicher vor jedem Thread.

  6. · kamo-internal

    Alle Nachrichten Lese- und Fadenansicht hinzufügen

    Reply All wurde beworben (Keyboard-Shortcut-Label + i18n-Taste) hatte aber keine Handler. Wire it up: neue computeReplyAllRecipients Helfer setzt den Absender ein An und jeden anderen Original-Empfänger in Cc, ohne Selbst- und Entstauber case-unsensibel. Fügt eine Taste, die A-Verknöpfung und einen Kontext-Menner-Eintrag hinzu in MessageBrowser, plus eine Schaltfläche per Nachrichten in ThreadDetailView.

  7. · InitializerService

    Teileinziger Index zur Durchsetzung eines aktiven Abschlusspakets pro Darlehen (eClose Double-close backstop)

    CREATE UNIQUE INDEX uk_mlos_closing_pkg_active_loan ON mlos_closing_package (loan_file_uid) WHERE Status <&gt; 'CANCELLED'. Langlebige Backstop hinter der Assembler In-App idempotency Guard: ein doppeltes aktives Schließungspaket würde Fahren Sie ihre eigene MERS-Registrierung + Finanzierung (ein doppelter Abschluss). ClosingPackage lebt in Share-lib mit nur nicht-einzigartigen @Index-Einträgen und kann nicht ausdrücken partiell-einzigartige Einschränkung über JPA, so ist es handgeschrieben DDL hier (KI besitzt Schema). Idempotent; gilt für den nächsten KI-Lauf.

  8. · MediaService

    Thumbnail geplante Materialien in-process

    Ein kopfloser Sweep kann ConversionServices OTK-Thumnail-Pipeline nicht vorantreiben, also generieren eine Seite-0 PNG Thumbnail via ImageIO direkt nach der Speicherung des Exports Linienmaterialien werden nun wie alle anderen im Gitter wiedergegeben, keine Verfüllung benötigt.

  9. · kamo-internal

    Wiederkehrende Erzeugungspläne UI

    ScheduleManager: Zeitpläne erstellen/list/löschen (Rezept + täglich/wochenweise/monatlich + Stunde/Tag + optionale Auto-Post-Ziele + Beschriftung); gestartet von Materialien, gated auf der Canva autofill (Enterprise) Fähigkeit. + canvaApi + /api/canva/schedules Proxys.

  10. · MediaService

    Geplante Generation - Sweep-Läufe Rezepte auf einer Crence

    - CanvaScheduleController: CRUD für Org-Zeitpläne (Rezept + cadence + Stunde/Tag + optionale soziale Ziele), berechnet nächsterRunAt - CanvaGenerationService: kopflos ************ als Material (In-process ImageService; Miniatur-los bis zum Backfill) - CanvaScheduleSweep: @Scheduled Sweep, atomar pro-Zeitplan Anspruch, erzeugt und best-müfen Auto-Posts das Ergebnis auf die Ziel-sozialen Verbindungen über die unterzeichnete Public-URL Naht

  11. · kamo-shared-library

    CanvaSchedule Entität + Repo (recurring Generation)

    Org-scoped wiederkehrender Zeitplan (Rezept + Kadenz + optionale soziale Ziele) mit eine Atom-Clob-Abfrage, so dass ein MediaService-Sweep jeden fälligen Zeitplan einmal abruft.

  12. · kamo-internal

    Inline-erweiterbare Whisper Transkript auf Softphone Voicemail + Anruf-History-Reihen

    Jede aufgezeichnete Zeile (Voicemail und Anrufhistorie) bekommt ein 'Transcript' umschalten holt das Whisper Transkript der Aufnahme auf Abruf und zeigt es inline, also Mitglieder können es lesen, ohne den Spieler zu öffnen. Cached pro Aufnahme.

  13. · kamo-internal

    Sparen + Wiederverwendung Autofill Rezepte

    TemplateAutofill: "Rezepte Rezepte" Chips laden eine Vorlage + vorgefüllte Mapping; "Speichern als Rezept" besteht auf der aktuellen Vorlage + Feldwerte org-weit. + canvaApi list/save/löschen + /api/canva/recipes proxies.

  14. · MediaService

    Gerettete Autofill-Rezepte CRUD (org-scoped)

    CanvaRecipeController: GET/POST /api/media/canva/recipes + DELETE /{id eine benannte Marke-template + Feld-Mapping speichern/aufweichende Caller's org.

  15. · kamo-shared-library

    CanvaAutofillRecipe Entität + repo (gerettete Autofill Rezepte)

    Org-shared benannte Bindung einer Canva-Markenvorlage zu Feldwerten (literal Text oder ein Materialbild), so dass Stewards eine Standard-Daten-Fusion nachbestellen können.

  16. · kamo-internal

    Material-ID-Feld hinzufügen, um Formular, Details Seite und Importe zu erstellen

    Fämiert ein zunichtbares MaterialId (maxim 40) durch den Lead-Typ, LeadApi (Erstellen + Update-Draht-Anfragen) und das gemeinsame LeadFields-Systemfeld Liste - die sowohl den manuellen Importassistenten als auch den API/Vendor antreibt einnehmen mapping UI (z.B. die herunterladbare CSV-Vorlage). Fügt den Eingang hinzu /leads/new und eine Ansicht/Bearbeiten Zeile auf der Lead-Detail-Seite, verdrahtet mit der Echtzeit-Sweite-Blitzkarte. Etiketten über lead.new.fields / lead.view.fields / lead.view.rows (materialId).

  17. · kamo-internal

    Enterprise autofill UI - Data-Smerge Markenvorlagen

    TemplateAutofill: wählen Sie eine Canva-Markenvorlage, füllen Sie jedes Feld mit buchstäblich text, org/compliance Token (NMLS #, Equal Housing Offenlegung, org name/phone/ Website/Adresse, Mitgliedsname) oder ein Materialbild; Generierung eines datenerfassungsgebundenen entwerfen und importieren Sie es zurück in Materialien. Gated auf der Canva-Autofill (Enterprise) Fähigkeit. + canvaApi Methoden und /api/canva/{brand-templates, ************ Proxys.

  18. · MediaService

    Enterprise autofill - Daten-Smerge Markenvorlagen

    - CanvaApiClient: Markenvorlagen (dataset=non_empty), Datensatz erhalten, Asset-Upload-Arbeitsplätze, Schaffung/Gebeidearbeit schaffen/bekommen - CanvaController: GET /brand-templates, GET /brand-templates/{id'/dataset, POST /autofill löst Bildfelder durch Hochladen der referenzierten MATERIALS Material für Canva als Vermögenswert, dann Daten-Smges; Umfragen zum neuen Design. Canva 403 (keine Autofill-Fähigkeit) Oberflächen als autofill_not_ available.

  19. · SecurityService

    Persist mapped Material ID auf manuellen Import + API Aufnahme

    Beide setDirectFieldOnCreateRequest-Schalter fehlt ein Standard-Fall, so dass unmapped systemFieldPath ist stillschweigend fallen gelassen. Fügen Sie ein MaterialId Fall auf die manuelle Import (LeadImportController) und Hersteller/API-Aufnahme (LeadIntakeController) Disponenten, so dass eine abgebildete Material-ID-Kollene/Feld tatsächlich fortbesteht.

  20. · kamo-shared-library

    Material ID-Feld Ende-zu-Ende in Shared-lib hinzufügen

    Fügt ein zu nullbares, max-40-char MaterialId zum Lead-Unternehmen hinzu (MATERIAL_ID VARCHAR(40)), registriert es in LeadHistoryFieldRegistry (Profile Kategorie) so Änderungen werden auditiert, Threads es durch Erstellen/Update/Lesen DTOs und LeadService erstellen/update (trim + abkürzen bis 40, SpiegelfirmaName), und konserviert es über Basis-Hypotheken-Blei-Konvertierung.

  21. · kamo-internal

    Sozialer Zusammenhang + E-Mail-a-Material + öffentliche Links

    Vertrieb für Marketingmaterialien, auf der neu signierten Public-URL Naht gebaut. - MaterialienApi.publicLink(imgId) + /api/materials/link Proxy - Materialien: "Copy public link" und "Email this material" (heftet die Datei an ein ausgehendes Senden über die vorhandene Multipart /api/email/send, gated on org email) - MaterialPickerDialog (wiederverwendbares Raster über dem MATERIALS-Verbschattung) - SocialComposer: die einst disabled Foto-Taste öffnet jetzt den Picker und befestigt ein Material als Postmedium über seine öffentliche URL (funktioniert für Meta/Telegram/Discord)

  22. · MediaService

    Kurzlebige signierte öffentliche URLs für Marketing-Assets

    Erlaubt sozialen Anbietern (Meta) und E-Mail ein bestimmtes Material für einen begrenzten Fenster ohne Aussetzen der privaten Bildmaterial-Eimer-Eimer. - MaterialUrlSigner: HMAC-SHA256 (platform.enc-key) Token = imgId:orgId:exp, 1h TTL - MaterialsController: POST /api/media/materials/link (auth - mint URL für einen Org-eigene MATERIALS Bild) + GET ************ ed Bytes für ein gültiges Token; org + assoc geprüft). Rides der bestehenden sessionless /api/media/** forward - keine APIService Änderung erforderlich.

  23. · kamo-shared-library

    Erstklassiger Kreditnehmer selbst einreichen Übergang ****************

    DRAFT-APPLICATION_TAKEN für einen Kreditnehmer (eine Leihpartei, kein Betreiber, also nein LOS_TAKE_APPLICATION). Routen durch Übergang() mit einem Zielvorgesteck, dass gewährt NUR die Take-Applikation richtig und eine angeheftet zuStatusId, so dass der Kreditnehmer Vorlage wird eine ordnungsgemäße Pipeline Übergang - State-Maschine Legalität, die hash-chained Meilenstein, die ApplicationSubmission (INITIAL_DISCLOS), und die nachCommit STATUS_CHANGE Ereignis - statt einer stillen Leih-Datei Status Poke. Die Mitgliedschaft des Darlehens wird vom Anrufer überprüft.

  24. · kamo-internal

    Löschen + Vorschau + Import-Datei-zu-Canva

    - ein Material löschen (giert auf MANAGE_MATERIALS) mit Bestätigung - klicken Sie auf ein Miniaturbild, um es in einer Lightbox in der Vorschau - "Eine Datei im Hinblick auf einen PDF/PPTX/image verwandelt sich in ein editierbares Canva-Design (Proxy baut den mehrteiligen Körper wie der Bildgebende Uploader wieder auf)

  25. · MediaService

    Importieren Sie eine Datei in Canva als editierbares Design

    - ************ (Binär-Design-Import) - CanvaController POST /Importe (multipart) - erstellen+poll Import Job . Editor deep-link mit correlation_state für Return-nav - Jetzt nicht genutzter Base64-Import in CanvaOAuthController fallen lassen

  26. · InitializerService

    Migration fügt Aufzeichnungen.transcript TEXT Spalte

  27. · VOIPService

    Zurück Transkript in der Aufnahme von Metadaten für den Softphone Player

  28. · kamo-internal

    Whisper Transkript im Softphone Media Player anzeigen

  29. · ConversionService

    Shared TranscriptionService + generische Endpunkt; VOIP-Aufnahmen transkribieren

    - Extrahieren Sie einen wiederverwendbaren Transkriptions-Service (ffmpeg normalisieren -" whisper-asr) und generische POST /Api/Konversion/Transcribe Endpunkt, der den Meet-Fspezifisch ersetzt Controller. Meet + VOIP teilen sich jetzt einen Transkriptionspfad. - RecordingProcessController: jede fertige VOIP-Aufnahme/Voicemail transkribieren in-process (nicht tödlich auf Ausfall) und speichern Sie das Transkript auf der Aufnahme.

  30. · kamo-shared-library

    Transcript Spalte auf Aufnahme + RecordingMetadata

    Fügt eine TRANSCRIPT TEXT-Spalte zum Recording-Entity hinzu und fädelt ein Transkript ein durch ************ (mit rückwärts-compat Konstrukteure, so dass vorhandene 5- und 9-arg Anrufer nicht betroffen sind). Bevölkert von der Aufnahme-Flow über Whisper abschließen; erstellt durch KI Migration.

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