Materialien und die soziale Zeitleiste nehmen Rechte, nicht nur Eigentum
MANAGE_MATERIALS und MANAGE_SOCIAL_MEDIA gezählt als im Audit und jeder Website war eine .tsx-Datei. Dahinter 29 Endpunkte überprüften Eigentum und kein Recht: ...
Die Meeting-Erinnerung ist eine Benachrichtigung, kein Popup für sich
Der Sweep veröffentlichte eine maßgeschneiderte Veranstaltung auf /topic/meet/reminder/{memberId' dass eine eigene Snackbar in der Ecke des Bildschirms zog. Das...
Die Ticketliste überlebt einen defekten Indikator
Die ungelesene Lektüre warf und nahm die ganze Ticketliste mit - die Seite kam zurück leer, was ein viel schlimmeres Ergebnis ist als eine Seite ohne Markierung...
Die Ticketliste markiert die gleichen Gegenstände, die das Abzeichen zählt
countForMember Größe ein Set gebaut es privat, so dass die Liste hatte keine Möglichkeit zu fragen welche Tickets waren in ihm und näherte sich statt - es marki...
Ein Ticket kann nie von dem Mitglied beantwortet werden, das es angehoben hat
Ein Support-Gespräch hat zwei Seiten - jemand fragt und jemand antwortet . und nichts erzwungen, dass sie unterschiedliche Menschen waren. Ein Mitglied hält ACC...
Senden Sie eine ausgehende Anlage an den Endpunkt, zu dem sein Typ gehört
Jede soziale Bindung ging durch die Adapter sendImage, die auf Telegram ist /sendPhoto. Ein PDF oder ein dort gepostetes Reißgerät wird von der Provider, und di...
Das Objekt-Speichergeheimnis erklären, das die ConfigMap nicht mehr trägt
Der MinIO-Schlüssel wurde aus der ConfigMap in die Minio-App-Credentials verschoben geheim, aber das envFrom, dass liefert es immer nur auf die Live-Bestätigung...
Stoppen Sie den Versand eines gemeinsamen Anmeldedaten als Konfigurations-Standard
Das gemeinsame Passwort der Plattform wurde als Fallback für DB_PASSWORD und MINIO_ROOT_PASSWORD, so lebte es in diesem Repo und im gebauten Bild sowie in der G...
Zuordnung von Hand darf den PRE_TICKET Status nicht verbrauchen
weisungToAgent und reassignAgent setzen ASSIGNED bedingungslos, die leise gemacht eine Chat-Anfrage, die nachträglich nicht konvertiert werden kann - convertPre...
Validieren, wen ein Ticket per Hand ausgehändigt werden darf
Zuweisung von "ToAgent" und ReassignAgent überprüft nur, dass die ID zu einem Mitglied gelöst. Zuordnung fügt dieses Mitglied der Chat-Sitzung des Tickets hinzu...
Auto Assignment bietet das Ticket, es nicht zuweisen
Auto Zuordnung Seiten jeder verfügbare Support-Agent und geht an die erste, die akzeptiert. Es wurde als "sehelich wählen Sie die am wenigsten belebte Agent, de...
Führen Sie die Strategie des Themas für Widget-Chats zu
Ein Chat im Web-Widget geöffnet ist die gleiche Einheit der Arbeit wie ein innerhalb der eingereicht App, aber dieser Weg übersprungen die Zuweisungsstrategie d...
Setzen Sie auch den Sitzungstyp auf den Aktivitätsrahmen
Die ungelesene/ACTIVITY-Sendung wird für jeden Sitzungstyp veröffentlicht und enthält keine Hinweis darauf. Die Chats Liste, mit nichts zu gehen, tippte eine un...
Sagen Sie dem Kunden, welche Art von Gespräch eine Nachricht eingetroffen ist
Jedes Mitglied einer Mediensitzung erhält die eingehende Mitteilung und Die Zuweisung eines Support-Tickets macht den Agenten zu einem Mitglied der Sitzung dies...
Ein Live-Chat wird durch das Popup behauptet, nie zugeordnet
Routing-Chat-Anfragen durch Round-Robin war das falsche Modell und es brach die Sache, die es beheben sollte. Ein zugewiesenes Ticket lässt die andienbare Warte...
Stop-Zuordnung Fehler zerstören das Ticket, das sie ausgelöst
Routing ein neues Ticket lief innerhalb der Schöpfungstransaktion, so dass alles, was es getroffen rollte das Ticket zurück mit ihm und das Mitglied um Hilfe bi...
Routen Sie eine Chat-Anfrage durch die Zuordnungsstrategie des Themas
Eine Support-Chat-Anfrage wird als PRE_TICKET eingereicht, und erstellenTicket übersprungen Zuweisung für diese direkt. Der Wächter wurde für das Web-Chat-Widge...
Hören Sie auf, das gemeinsame *** TTL für untätige Benutzer zu erneuern
Dieser Dienst behält seine eigene Kopie von KSessionService, und es rutschte die TTL auf jede Lektüre. Gating SecurityService allein also nichts repariert: kamo...
Scheitern Sie einen toten Upload in Minuten, anstatt es für eine Stunde zu halten
connectionUploadTimeout ist die tolerierte SILENCE zwischen den Lesesen, kein Budget für die ganze Übertragung. Setzen Sie es auf eine Stunde zu "passen Traefik...
Stoppen Sie Tomcat 60s Verbindung Timeout Tötung eines langen Uploads
Ein 2 GiB Chat-Anhang scheiterte nach fast vier Minuten erfolgreicher Übertragung mit MultipartException Verpackung eine nackte SocketTimeoutException, und das ...
Nennen Sie den echten Kakerlaken-Dialekt, und Bericht Agent Förderfähigkeit ehrlich
Catch OptimisticLockException, der Typ 40001 tatsächlich wickelt als
Runde 3 Rezension fix: hibernate-core's **************** testet LockAcquisitionException (was SQLState 40001 konvertiert) gegen vier spezifische Typen in der Re...
Fangen Sie die Ausnahme-Typ der Anspruch Konflikt tatsächlich wirft
Runde 2 Review-Fix: die Aussage-Ebene 40001 (der häufige Fall, erkannt innen ausführenUpdate() anstatt auf Commit) Oberflächen als ************ via Hibernate's ...
Rückkehr 409 auf jedem verlorenen Anspruch Rennen, fügen Manager Anspruch Weg
Runde 1 Review-Fixes für den Annahme-Popup-Anspruch Endpoint: - eine gewöhnliche verlorene Rasse (Loser isClaimableBy bereits falsche Post-Commit) jetzt erhöh...
Scannen Sie die E-Mail-Repositories DepartmentService jetzt benötigt
MediaService CrashGeschöpft auf jedem Pod seit Shared-lib 1.5.0: DepartmentService ist ein @Service, also baut die Wildcard @ComponentScan("com.kamo") es hier, ...
Akzeptieren Sie den Timeline-Provider-Filter als wiederholte Params
Der Web-Client hat ?providers=facebook,x als CSV-Wert gesendet. Ein Komma in einer Abfrage VALUE muss als %2C reisen, und ein Hop, der wieder kodiert, macht das...
Senden von E-Mails mit verpasster Botschaft an das Benutzerkonto, nicht an die Mailbox der Org
Die Anzeige gab es, um zu sagen "Sie haben eine Nachricht warten, melden Sie sich an und lesen Sie es", und es wurde geliefert in den Briefkasten diese Organisa...
Geben Sie jedem Agenten ein Live-Abzeichen statt eines Besitzers eine ungelesene Zählung
Das novi badge und /support?tab=tickets beantworteten verschiedene Fragen. Die Seite listet jedes Ticket in der Org auf; die Plakette zählte ungelesene Chat-Nac...
Drop Client SENDs zu bewachten Themen, und reparieren Sie den Build bei HEAD
ZWEI THINGS, die beide MediaService-Hauptverkehr vom Versand abhalten. 1. main nicht kompilieren. MediaController:1361 Anrufe ****************, das nicht ex...
Kündigen Sie eine Nachricht einmal an, wenn sie ganz ist
Beide Anrufer, die den Aufbau einer Nachricht zu beenden, nachdem die Zeile gespeichert ist jetzt sagen createMessage nicht ankündigen: MediaController befestig...
Speichern über die Dedup-Pipeline statt eines Objekts pro Upload
Bein schrieben ihr eigenes "<imgId&<fileName"-Objekt auf jeden Upload, unter Umgehung der Content-Addressed Store komplett - das gleiche Logo-draft.png dreimal ...
Scannen Sie die geteilten MFA-Repositories
MfaEnrollmentService ist ein @Service in kamo-shared-Bibliothek, also die Wildcard @ComponentScan("com.kamo") in dieser Anwendung konstruiert es, ob oder nicht ...
Harden Sie die kubectl Download gegen schuppige Egress [skip ci]
dl.k8s.io über den Ausschritt des Läufers fällt zeitweise mitten im Transfer: Curl: (56) OpenSSL SSL_read: Entschlüsselung fehlgeschlagen oder schlechtem Reko...
Montieren Sie die Live-Pro-Host-Cert statt der abgelaufenen Wildcard-Geheimnis
Der Zertifikate-Converter init-Container baute seinen PKCS12-Schleimstore aus Wildcard-kamocrm-com, ein Vermächtnis Multi-SAN-Geheimnis, das zertifiziert-Manage...
Reject Cross-Or-Vertriebsmitarbeiter; Widen Bootstrap Cache Busting
SalesAgentId wurde von der Anfrage-Stelle ungeprüft beharrt, so ein Cross-Orgie oder dangling Agent id könnte auf einer WebChatIntegration gespeichert werden. E...
Nicht-ACTIVE-Mitglieder von Chat-Beteiligung & Routing ausschließen
Ein nicht-ACTIVE ************ Mitglied darf nicht erscheinen, wie, oder gezielt wie, ein Live-Chat-Teilnehmer. Gate jeden Chat-Pfad auf der Shared-lib *********...
Resolve Public-Chat-System Mitglied pro-Ort (Drop hardcoded snadjafinia alias)
Erstellen Sie UnterstützungSession, erstellen SiePublicTicket und die Benachrichtigung des Besitzers Helfer alle lösten das "Systemmitglied" der Org über einen ...
Hören Sie auf, Nachrichteninhalte in verpasste Nachrichten-E-Mails zu stecken
Entfernen Sie messagePreview-Berechnen, das Ledger PREVIEW schreiben, und die messagePreview Vorlagenvariable; drop the includePreview-Einstellung. E-Mails trag...
Beharrlich geplante Material-Daumen-Flagge über gezielte Aktualisierung
Dieselbe Loslösungs-Waisen-Removie-Problem als Konversions-Pipeline: der kopflose Sweep hielt eine abgelöste ImgDat und speichern()/merge() in die Bildersammlun...
Wrap-Aufnahme-Upload so MediaService kompiliert
MinIOStorageService.upload wirft eine geprüfte Ausnahme, die ingest() weder gefangen noch erklärt - Baupause auf der isGest fix. Wrap it und Rethrow als Runtime...
MeetingParticipant.isGuest() (war getGund, wird nicht kompilieren); Repoint-Transkription zu generischem Endpunkt
MeetingParticipant-Belarven isGuest() (primitive boolean getter), not getGuest(). weisen Sie auch auf den zusammenfassenden Transkriptaufruf auf den Shared /api...
Beharrliche eingeladene Teilnehmer, erzwingen MANAGE_MEET_SETTINGS, Drop Double-invite Pfad
- erstellenMeting: eingeladene Mitglieder sind numerische Schneeflocken-IDs, nicht UUID Strings Route sie durch longToUUID wie der Schöpfer. Zuvor UUID.fromSt...
Verwenden Sie Cluster MinIO Service DNS; Drop deprecated WireGuard/CGNAT IPs und pensionierte k2m1/k0m1
NATS CREATE Event nach Transaktions-Verpflichtung veröffentlichen, um Image-Anhängerennen zu beheben
Die NATS-Nachricht wurde im Inneren des @Transactional Body veröffentlicht, was bedeutete Empfänger könnten das CREATE-Ereignis erhalten und das Bild über /imag...
Serialisieren Sie Anhänge in WS-Relais und Nachrichtenverlauf; erlauben Sie nur Anhängesendungen
Drei Fehler behoben: 1. ChatSessionSubscriptionManager baute die STOMP messageMap manuell und Anhänge weglassen, sourceLanguageId, readMemberId, msgIdLastVi...
Beheben Sie NPE in getChatSessions von Map.of() ablehnen null nextcoder
java.util.Map.of() wirft NullPointerException, wenn nextcoder ist null (keine Seiten mehr). Ersetzen Sie mit HashMap, die Null-Werte akzeptiert. Auch wickeln Si...
Fix Upload 500 (missing EmbRecordState) und leere Chats Registerkarte (Timestempel-Besetzung)
Defekt A: ChatAttachmentService.upload weggelassen ************ verursacht eine NOT NULL Verletzung auf imgs.is_active. Der Standard-RepState wurde hinzugefügt....
BenutzernameAlias über User.name in memberDisplayName
Schaltet die Namepriorität an: Member.usernameAlias . User.name . User. Enthaltet auch den Paged-Qury-Depesch-Fix von der vorherigen Commit.
Verwenden Sie split Erste/Nach-Abfragen für Chat-Sessions Seited-Endpunkt
Adressen leere Chats Registerkarte durch Versand an ************
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.