Alle eingeloggten Mitglieder Dokument erstellen
Die org Feature Flag Check (isDocsEditor - isDocs - hatFeature DOCS) wurde falsch zurückgegeben, weil Org-Funktionen veraltete Schlüsseltypen verwenden. Die Sch...
Entfernen von Datagrid-Feld-Level-Filtern und Floating-Filter-Reihe
Entstanden alle Spaltenfilter und die Floating-Filter-Eingangszeile, so dass die Grid zeigt nur Spaltenkopf und Datenzeilen an. Auch die Filter entfernt Tool-Pa...
Upload-Button in DocManager Toolbar verschieben
Der Upload-Trigger war nur in der Aktionsrequisite der /doc/manager Seite, macht es unsichtbar, wenn DocManager in andere Seiten eingebettet ist. Bewegt die Upl...
Upload-Optionen in eingebetteten DocManager scrollen lassen
Uploads Tab-Container war überlaufen:hidden, Clipping pro Datei-Optionen (Beschreibung, Ordner, doc-Typ, Zugriffsebene) in Höhe begrenzt eingebettete Kontexte. ...
Beheben Sie 400 Feed-Fehler und fügen Sie Kommunikations-Sub-Tabs mit URL-Params hinzu
Beheben Sie Doppel-?-Fehler in MediaStream, wo feedEndpoint bereits Abfrage enthielt params aber das hol onended ?page=... anstelle von &page=..., was zu einem ...
Machen Sie 'All Leads' zu einem echten Menüpunkt mit Symbolen im Agentenfilter
- Ersetzen Sie Platzhalter leeren Wertelement mit __ALL__ so der Dropdown nie leer angezeigt, wenn All Leads ausgewählt ist - Gruppensymbol zu All Leads und P...
Verbrauch *** Geheimnis so X-Internal-Auth passt nachgelagerten Dienstleistungen
DaemonService -" ConversionService ************ war Rückkehr 401 Unauthorized, weil DaemonService seine Stempel X-Internal-Auth Header von INTERNAL_AUTH_SECRET ...
Verwenden Sie @CreationTimestamp(source=DB) auf ****************
Die DB ist die einzige Wahrheitsquelle für Zeitstempel in dieser Codebasis. Die kanonisches Hibernate-Muster ist @CreationTimestamp(source = SourceType.DB), die...
Lassen Sie DB füllen ************ via @Generated(INSERT)
INSERTs versagten mit: ungültiger Wert in der Spalte "date_created" verstößt gegen nicht-null Einschränkung @ColumnDefault erklärt nur die DB-Seite Standard ...
Drop die [von-internal-custom] _X. catch-all, die Softphone-Anrufe brach
Der Catch-all exten =- _X.,1 in [von-internal-custom] fing jeden ab internes Zifferblatt - Softphones begann zu berichten "Telefon ist nicht registriert" / Anru...
Aktivieren JPA Repos für Handel + E-Mail + dao.repositories Pakete
ConversionService neuer pod CrashLoopBackOff mit dem gleichen Fehler DaemonService Hit früher: Parameter 0 des Konstruktors in ************ erforderlich ein...
Carve /api/voip/recordings/** aus dem Wildcard VOIP Forwarder
Der /api/voip/** catch-all in APIGatewayController beschattete die dediziert VoipRecordingUploadController POST /api/voip/recordings/upload Mapping, wenn Spring...
Schreibe verwaltete Konfigurationsdateien 0644, damit der Sternchen-Daemon sie lesen kann
Die Kamo-Sternung Pod läuft als Root und schreibt auf Host-mounted **************** Sternchen im Inneren FreePBX pod läuft als Benutzer "asterisk" und konnte ni...
Verwenden Sie envsubst-kompatible \${VAR' Syntax in Konfigurationsvorlage + Re-Rendern auf abgestandenen Platzhaltern
Pods waren CrashLoopBackOff mit "Konfigurationsfehler: API_KEY fehlt oder zu kurz" weil die Konfigurationsvorlage wörtlich verwendet __API_KEY__ Marker, die env...
Ungenutzte Watcher-Importe fallen lassen
uploader.go verwendet nur CallBatch (erklärt in grouper.go im selben Paket), nicht etwas von intern/watcher direkt. Go lehnt ungenutzte Importe ab.
Aktivieren JPA Repos für Handel + E-Mail + dao.repositories Pakete
DaemonService stürzte beim Start mit: Parameter 0 des Konstruktors in ************ erforderlich eine Art Bohnen ****************, die nicht gefunden werden ...
MUI v5 Grid Artikelrequisiten mit MUI v6 sx Syntax in VoipSmsTab ersetzen
Capture newExtNumber als final für Lambda Capture in MemberVoipConfigController
newExtNumber wird bedingt innerhalb der if neu zugewiesen (isVoipEnabled && ...) blockieren, die es nicht effektiv endgültig macht. Der TeamMember Sync Block li...
Update OrgThemeProvisionServiceTest für buildConfigJson Beschreibungsparameter
Cast voiceActivityDetection zur Umgehung fehlenden TS DOM-Typ
voiceActivityDetection ist eine gültige WebRTC MediaTrackConstraints Eigenschaft, aber fehlt in der DOM-Lide von TypeScript, was einen Typfehler zur Bauzeit ver...
STUN konfigurieren, damit Browser ICE bidirektional abschließen kann
Zwei-Parteien-Browser-zu-Browser-Anrufe an der SIP-Schicht verbunden, hatte aber keine Audio entweder Richtung. Voicemail (One-way Asterisk - Browser) funktioni...
Live-Audio, der Last-Interrupts übersteht, zentrierte Spinner, Outbound-Ringback
Drei koordinierte Fixes für den In-Call-Audio-Pfad: 1. AbortError auf remoteAudio.play() (sichtbar in der Produktionskonsole als "Die Play() Anfrage wurde d...
Hangup reißt ALLE Live-Sessions herunter, nicht nur die primäre
Self-Call-Rante Fall links eine Sitzung durchgesickert: Wählen Sie Ihre eigene Erweiterung erzeugt eine Outbound-Session, dann schlingt Asterisk den Ruf als Sek...
Sofortiges Verbindungs-Feedback auf Outbound-Ziff
Das gleiche Problem der eingehenden Antwort-Taste hatte: Klicken Call startete die SIP INVITE Hin- und Rückfahrt (1-3 Sekunden), aber die Taste hielt seinen Lee...
Anschlussanimation + Audio, das tatsächlich spielt + Klingelton entsperren
Drei aufeinander abgestimmte Korrekturen für den Inbound-Call-Pfad: 1. Visuelles Feedback beim Akzeptieren. Klicken Antwort links beide Tasten Reaktionsreak...
Mount SoftphoneProvider über ToolDock, so Werkzeugfenster können es lesen
Das Öffnen des Softphone-Popups stürzte die Seite mit "Diese Seite konnte nicht laden" weil Werkzeugfenster in ToolDock einhängen, das in ToolProviders lebt ein...
Verwenden Sie Grid-Größe prop so AV-Panel füllen die Zeile
MUI v7's Grid ist flexbox-basiert, so dass die gridColumn sx, die ich benutzt hatte war ein No-op-Elemente in ihrer natürlichen Breite gerendert und leer gelass...
Migrate abgestandene Klingelton-IDs, um auf Last zu klassieren
Wenn die gespeicherten AV-Einstellungen eines Benutzers auf einen Klingelton verweisen, der nicht mehr existiert im Katalog (z.B. 'classic' aus der Zeit vor dem...
Dialpad-Zifferungen registrieren sich jetzt auf Touch-Geräten
Die Einwahlpad-Buttons genannt e.preventDefault() sowohl aufTouchStart als auch aufTouchEnd. Das stoppt den Browser von der Entlassung der synthetischen Klick-E...
Host Browser SIP WSS auf intern.kamocrm.com (echte Zertifikate)
Browser verweigerten die WebSocket-Verbindung zu ************ mit dem Code 1006, weil Traefik seine selbstsignierte Standard-Zertigung servierte für diesen Host...
Separate Globus-Präsenz für Marketing Live-Chat vs Mitglieder
Öffentliche Chat-Widget-Tickets halten org Platzhalter als requestId; nur verwenden Mediensitzung Präsenz für diese Reihen. Interne und andere Tickets verwenden...
Periodischer STOMP-Präsenz Herzschlag für öffentliche Unterstützung
Refresh Redis TTL für öffentliche Sitzung Präsenz, so dass Agenten sehen genaue Online-Staat.
Globe nutzt Mediensitzungspräsenz für Marketingbesucher
Öffentliche Chat-Sitzung GUIDs in Präsenz-Schnappschuss anfordern; online behandeln, wenn entweder Sitzung oder Requestor Mitglied ist verbunden. Behandeln Schn...
Verfolgen Sie öffentlichen Support-Chat von Session GUID in Redis
Marketing-Besucher nutzen /ws/public-chat-native ohne MitgliedId; Tickets noch verweisen auf das org-Panzer-Mitglied als Antragsteller. Increment PRESENCE_PUBLI...
Wischen Sie nicht Mitgliederzuordnung auf Synchronisation von Anbietern, denen Metadaten fehlen
************ bedingungslos überschrieben PhoneExtension.assignedMemberId mit was auch immer der Anbieter zurückgegeben. FreePBX (und jeder Anbieter, der nicht v...
Anbietername im Ansichtsmodus + eigene Erweiterung im Edit Dropdown anzeigen
Zwei Käfer auf ************ 1. Ansichtsmodus entleert die rohe UUID "Instance 32f520b0-347a-"..., weil die Instanzenliste wurde nur innerhalb handleVoipEdit...
Serialize ExtensionDto.assignedMemberId als String
Überlauft den Safe-Tinteger-Sortiegel von JS (z. 1168485658174423046 Hin- und Rückfahrten als 1168485658174423000 sobald eine JSON-Nummer den Browser trifft). D...
Machen WebRTC config überleben pod Neustart
Der vorherige Ansatz (http_custom.conf mit [allgemeinem] Override) nicht tatsächlich wirksam, weil Asterisk INI Parser nicht ehre mehrere [allgemeine] Abschnitt...
Asterisk integrierten HTTP-Server auf :8089 für WebRTC /ws
Ein chan_pjsip-Transport fährt auf res_http_websocket, die wiederum benötigt, dass der eingebaute HTTP-Server von Asterisk läuft. Die Standard FreePBX 17 instal...
Priorisieren Sie echten Vor-/Nachnamen vor BenutzernameAlias für Anzeige
usernameAlias ist funktional ein Login-Handle (oft gleich Benutzername), nicht ein Display-Name. Echte menschenlesbare Namen leben auf User.name (EmbNameFull). ...
Scope Fügen Sie Lead-Rolle und Fußgänger in den Inhaltsbereich
Das Formular wurde mit minHeight: 100vh in einem Elternteil, das ist bereits calc(100vh - 56px), der eine äußere Scrollleiste erzwingt, auch wenn der Inhalt pas...
Intelligentes Multi-Spalten-Layout für Lead-Formular hinzufügen
Restrukturieren Sie die Seite in ein Top-Level-Raster so Abschnitte horizontal zusammensetzen statt der Dehnung einzelner Felder: - Markt & Zuordnung verwendet...
Verwenden Sie /api/security/members/names für die Namensauflösung vongeordneten Mitgliedern
Die by-department-Endpunkt-Filter nur für aktive Teammitglieder, fehlen Zuweisungen an Mitglieder oder inaktive Mitglieder zu gründen. Wechseln Sie zu /names, k...
Vollbreite Leitungsform und Freigabe für klebrige Fußgänger hinzufügen
Lassen Sie die 1200px max-Breite auf /bles/neu, so dass die Form überspannt den Seitenbereich, und Bump Bottom Polsterung, so dass die klebrige Aktionsleiste ni...
Display-Name mit der richtigen Priorität im by-department endpoint
Priorität: member.usernameAlias - user.name.formatFull() - user.alias . user.username
Hinzufügen fehlendes istDisplayOnIntake-Feld zu FormField-Schnittstelle und neue Feld-literal
Verwenden Sie String-Typ für zugewiesenMemberId, um Präzisionsverlust zu verhindern
Serialisieren Sie Long als String, um JS-Präzisionsverlust auf großen CockroachDB-IDs zu verhindern
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.