Migrate verbleibenden Hexchat:open Versand zu tool:focus in HexHeadGroup
Chat UIpolitur - Primärfarben-Seditierung, Emoji-Eingang, rund senden btn, Hex-Statusfarben
- Abteilung Tabs und Chatbox-Header verwenden --color-primary statt hardcod green - Emoji-Picker-Taste bewegt innerhalb Chat-Eingabefeld rechts ausgerichtet - S...
Verbesserungen des Chatsystems - Bearbeitungsdrehung, Hex-Maske-Rotation, Farben, maximize-minimieren
- Bearbeitung (Backspace/Lösch) vs. Eingabe eingeben, um Rückwärtsdrehungen auszulösen - Drehen Hex Clip-Maske zusammen mit Grenze während der Eingabe / Redakti...
***-Sitzung nicht ungültig machen, wenn sie zur neuen OTK-Sitzung passt
Die Validierung Route war das Löschen der bestehenden *** Sitzung von Redis bevor Sie den OTK nachschlagen. Wenn der OTK auf die gleiche Sitzung zeigte, die Suc...
Nehmen Sie *** von query param für Cross-Subdomain WebSocket auth
Lesen Sie *** ID von ?***= Abfrageparameter zuerst, zurückfallen auf Cookie. Dies ermöglicht das Frontend auf intern.kamocrm.com zu authentifizieren WebSocket V...
Pass *** ID als Abfrageparam für Cross-Subdomain WebSocket auth
Anstatt sich auf Cross-Domain-Cookies zu verlassen (die nicht quer arbeiten subdomains), die *** Cookie-Client-Seite lesen und als Abfrage übergeben Parameter b...
*** Cookie-Domain auf .kamocrm.com für Cross-Subdomain-Sharing setzen
Cookie wurde ohne explizite Domain gesetzt, so dass es gesendet werden an media.kamocrm.com für WebSocket Authentifizierung.
*** Cookie-Domain auf .kamocrm.com für Cross-Subdomain-Sharing setzen
Das *** Cookie wurde ohne eine explizite Domain gesetzt, die standardmäßig intern.kamocrm.com. Dies verhinderte, dass das Cookie an media.kamocrm.com während We...
Abgestandene NATS-Verbraucherbindung mit einzigartigem Verbraucher-Reprot
- Extraktion Message Handler in createNatsMessageHandler() Methode - Wieder versuchen Logik mit eindeutigem Verbrauchernamen hinzufügen, wenn "Verbraucher berei...
Behebung von Chat-Messaging, Präsenz-Tracking und Auto-Open-Probleme
- Beheben Sie Nachrichten, die nicht durch erneutes NATS-Abonnement empfangen werden, mit eindeutigem Verbrauchername, wenn "Verbraucher bereits gebunden" Feh...
Resolve MUI Icons geben Fehler und teilen Sie einzelne STOMP WebSocket-Verbindung
- Tsconfig-Pfade überschreiben für @mui/icons-material, um defekten ESM zu umgehen exportiert in v7.3.1, die auf die Nicht-Existenz ./esm/index.d.ts hinweisen...
Verwenden Sie ref für memberPanelOpen in openChat, um abgestandene Schließung zu verhindern
Wenn ein Benutzer öffnet das Mitgliedsfeld, klickt ein Mitglied zum Chatten, dann schließt das Panel vor der async-Session API-Aufruf zurückkehrt, das Chat-Fens...
Entfernen Sie gezwungen WebSocket-Header von Medien Middleware
Traefik v3 behandelt WebSocket Upgrade/Connection Header nativ. Entfernen Sie gezwungene Header, die nicht-WebSocket API-Anfragen brach.
Route MediaService Verkehr durch Traefik am Hafen 443
- MEDIASERVICE_URL env var für Cluster-Internen Service-Zugang hinzufügen - Beheben getMediaServiceBaseUrl in 9 API-Routen zur Verwendung von env var first - We...
Route WebSocket durch Traefik auf Port 443
- service.yaml: fix Port 80-8443 zum eigentlichen Listenport von pod - ingressroute.yaml: Verwendungsschema https + Port 8443 für Backend - serverstransport.yam...
Handelsbohnen von der Verfügbarkeit des Repositorys abhängig machen
************ zu EngagementLifecycle hinzufügen und CommerceService so dass sie nur laden, wenn Commerce-Repositories sind gescannt. Verhindert UnzufriedenDepend...
Systemkonto zu allen NATS-Konfiguren hinzufügen
Hinzufügen von $SYS-Konto mit Admin-Cedentials zu k0m1, k1m1 und k2m1 NATS konfiguriert. Ermöglicht nats CLI Cluster Management Operationen (Penerentfernung, St...
Cluster-interne DNS für NATS-Verbindung verwenden
Änderung der voreingestellten NATS URL von WireGuard IPs (100.64.x) auf nats.kamo.svc.cluster.local für den lokalen Server. Remote-Knoten (k0m1, k2m1) bleiben a...
App Starten erlauben, wenn NATS nicht verfügbar ist
Entfernen @ConditionalOnBean von jetStream() und fügen Sie @Nullable hinzu Verbindungsparameter. Wenn natsConnection() null zurückgibt (NATS) unerreichbar), Spr...
stat Karten neu bestellen, um Tab zu bestellen
Kommunikation - Docs - Offene Aufgaben . Geschichte
Entfernen layout.tsx, behebt docCount/historyCount-Typ-Fehler
- Löschen layout.tsx, die falsch hinzugefügt wurde (würde die gesamte Website betreffen) - Revert page.tsx wrapper div (nicht benötigt) - Verschieben gradienten...
Verwenden Sie pro Benutzer Session Timeout für *** Cookie maxAge auf validate
Aktualisieren PipelineOrdersTab Anbieter-Feldnamen, um Backend DTOs zu entsprechen
Geändert v.uid, v.name . v.companyName und ausgewähltVendorId von Nummer zu String, um sich mit CommerceMarketVendor DTO auszurichten.
Entfernen Sie Number() cast on getMarketVendors Call (jetzt nimmt String)
Align TypeScript Typen mit Backend DTOs für Commerce-Märkte
Der CommerceMarkt, CommerceMarketVendor und VendorKategorie TypeScript Schnittstellen verwendete falsche Feldnamen (uid/name vs id/title, Name vs companyName, w...
Pipeline-Märkte nicht laden und Marktmanager Layout Abstand
Pipeline zeigte "No Commerce-Märkte konfiguriert", weil getPOSConfig() nie zurückgegeben das Marktfeld. Jetzt holt Märkte von commerceMarketApi direkt. Auch fes...
Resolve 'u.map ist keine Funktion' auf POS-Einstellungen und aktualisieren Commerce nv
- Defensive Array Extraktion in commerceMarketApi (getMarkets, getVendorCategories, getMarketVendors, seedVendorCategories) hinzufügen, um verpackte API-Antwort...
Resolve Next.js dynamische Route Schnecke Konflikt ('id' vs 'marketId')
Merge [marketId] Verzeichnis in [id] für Commerce-Märkte API-Routen. Next.js benötigt alle dynamischen Segmente auf der gleichen Pfadebene, um die der Name des ...
Behebung von TypScript-Fehlern in Enterprise-Pipeline-Tabs
- ToCSV-Säre Parameter optional mit Auto-Derivat von Objektschlüsseln - Beheben DownloadBlob Anruf in ProcurementTab (falsche Argumentzahl, fehlender Blob Wrapp...
Pass-Märkte Requisite zu Armaturenbrett, Engagements und Quick-Aktions-Komponenten
Entfernen Sie doppelte Session-Zeitaussüchte-Felder aus Session-Typen
Ärdert mit SecurityService Änderung, die createdAt/expiresIn entfernt Redis Sitzungsaufzeichnungen und TokenExpiration von Session Info Antworten. - user-info/...
Entfernen Sie doppeltes Session-Zeitausitiersystem von Redis-Rekorden
Session Ablauf wird nun ausschließlich von der Redis-Schlüssel TTL verwaltet. Die interne createdAt/expiresIn Felder, die innerhalb des Redis-Wertes gespeichert...
Aktualisieren Sie internes Layout und Stile
- Machen Sie Haupt-Wrapper Hintergrund transparent, so Homepage fixer Hintergrund ist nicht abgedeckt - Fügen Sie die neuesten Anpassungen an Automatisierung, S...
Behandeln optional effektives Date und verarbeitetIm DateTimeDisplay
Typfehler: string | undedefined nicht zuschungsfähig String | Zahl | Datum. Fügen Sie Null-Checks vor der Verabschiedung zu DateTimeDisplay, zeigen em-dash, wen...
Align Commerce Untermenü mit aktuellen Commerce-Seiten-Tabs
- Domain-Konfiguration in Verlobungstypen umbenennen - Mietvermögen, Anbieter, Abonnement-Pläne hinzufügen - Tab param auf Engagement-Typen für Konsistenz aktua...
Fortgeschrittene Datagrids füllen 100% des Inhaltsbereichs
- EinstellungenAnsicht: Tab Inhalt Wrapper Überlauf versteckt, motion.div flex Kette so Tab-Inhalte wird begrenzte Höhe und Gitter können sich erweitern. - Pi...
Belastbare Sonden, so Cluster bleibt oben, wenn ein Knoten offline ist
- Liveness: tcpSocket auf 4222 (abhängig vom JetStream Meta Leader) - Bereitschaft: initialDelay 90s, period 15s, AusfallThreshold 10 so k0m1+k1m1 kann Quorum...
Wie, was Sie sehen Versand?
Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.