Schimbare live jurnal

Să vedem ce construim în timp real. Fiecare caracteristică, fix și îmbunătățire expediate pe platforma.

17,933
Total modificări
4,614
Caracteristici
4,543
Reparaţii
32
Proiecte
Filtru după proiect
Toate proiectele17,933AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,523TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,579kamo-login319kamo-marketing585kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
Filtru după tip
Toate tipurileBuild24CI523Chore670Docs226Feature4,614Fix4,543Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
April 27, 2026
Fixkamo-internal

Afișează butonul Creare document către toți membrii conectați

Verificare de pavilion org (isDocsEditor → isDocs → hasFeature DOCS) a revenit fals deoarece caracteristicile org folosesc tipuri de chei depreciate. Butonul es...

kamo·4mo ago
Fixkamo-internal

Elimină filtrele de nivel de câmp Datagrid și rândul de filtrare plutitoare

Dezactivează toate filtrele de coloană și rândul de intrare plutitor filtru astfel încât grilă indică numai antetele coloanei și rândurile de date. De asemenea,...

kamo·4mo ago
Fixkamo-internal

Mută butonul de încărcare în bara de unelte DocManager

Declanșatorul de încărcare a fost doar în /doc / pagina managerului de acțiuni prop, face invizibil atunci când DocManager este încorporat în alte pagini. Mutat...

kamo·4mo ago
Fixkamo-internal

Permite opţiunilor de upload pentru a derula în DockManager încorporat

Uploads file container a fost supraîncărcat: ascunse, tăiere opţiuni per fişier (descriere, folder, tip doctor, nivel de acces) în înălțime contexte integrate. ...

kamo·4mo ago
Fixkamo-internal

Fix 400 eroare de alimentare și adăugați sub-tabe de comunicații cu parametri URL

Fix dublu-? bug în MediaStream unde feedEndpoint conținea deja interogare params, but the put appended ?page=... in loc de &page=..., causing a URL-ul malformat...

kamo·4mo ago
Fixkamo-internal

Asigurați 'Toate conduce' un element de meniu real cu icoane în filtru agent

- Inlocuiti elementul cu valoarea goala a ocupantului cu ALL asa ca scaderea niciodată nu arată gol atunci când All Leads este selectat - Adăugați pictogram...

kamo·4mo ago
FixDaemonService

Consuma *** secret astfel X-Normal-Auth se potrivește serviciilor din aval

DaemonService -> Servicii de conversie A fost un accident. Revenind 401 Neautorizat pentru că DaemonService a fost ștanțare sale Antet X-Non-Auth de la INTERN A...

Kamo·4mo ago
Fixkamo-shared-library

Use @CreationTimestamp(source=DB) on ****************

The DB is the single source of truth for timestamps in this codebase. The canonical Hibernate pattern is @CreationTimestamp(source = SourceType.DB), which makes...

Kamo·4mo ago
Fixkamo-shared-library

Let DB fill **************** via @Generated(INSERT)

INSERTs were failing with: null value in column "date_created" violates not-null constraint @ColumnDefault only declares the DB-side default for new rows; Hi...

Kamo·4mo ago
Fixkamo-asterisk-support

Drop the [from-internal-custom] _X. catch-all that broke softphone calls

The catch-all exten => _X.,1 in [from-internal-custom] was intercepting every internal dial — softphones started reporting "phone is not registered" / calls wou...

Kamo·4mo ago
FixConversionService

Enable JPA repos for commerce + email + dao.repositories packages

ConversionService new pod CrashLoopBackOff with the same error DaemonService hit earlier: Parameter 0 of constructor in **************** required a bean of ...

Kamo·4mo ago
FixAPIService

Carve /api/voip/recordings/** out of the wildcard VOIP forwarder

The /api/voip/** catch-all in APIGatewayController was shadowing the dedicated VoipRecordingUploadController POST /api/voip/recordings/upload mapping when Sprin...

Kamo·4mo ago
Fixkamo-asterisk-support

Write managed config files 0644 so the asterisk daemon can read them

The kamo-asterisk-support pod runs as root and writes to host-mounted **************** Asterisk inside the FreePBX pod runs as user "asterisk" and could not rea...

Kamo·4mo ago
Fixkamo-asterisk-support

Utilizați envsubst-compatibil \$ {VAR} sintaxă în șablon config + re-render on stay placeholders

Pods au fost CrashLoopBackOff cu "erori config: API KEY lipsește sau prea scurt" deoarece șablonul de configurare folosit literal API KEY markeri care envsu...

Kamo·4mo ago
Fixkamo-asterisk-support

Drop unused watcher import

uploader.go only uses CallBatch (declared in grouper.go in the same package), not anything from internal/watcher directly. Go rejects unused imports.

Kamo·4mo ago
FixDaemonService

Activează repo-urile JPA pentru comerț + pachete e-mail + dao.repozitoare

Serviciul Daemon s-a prăbuşit la pornire cu: Parametrul 0 al constructorului în ************* necesare Un bob de fasole care nu poate fi găsit. Un serviciu rec...

Kamo·4mo ago
FixVOIPService

Capture newExtNumber as final for lambda capture in MemberVoipConfigController

newExtNumber este realocat condiționat în interiorul dacă (este VoipEnabled & ...) Bloc, ceea ce nu face în mod eficient final. Blocul de sincronizare TeamMembe...

Kamo·4mo ago
Fixkamo-internal

Voce CastActivityDetecție pentru a ocoli tipul TS DOM lipsă

voiceActivityDetection is a valid WebRTC MediaTrackConstraints property, but este absent din lib-ul DOM TypeScript, cauzând o eroare de tip la timpul de constru...

kamo·4mo ago
April 26, 2026
FixKlusterServices

Configurează STUN astfel încât browserul ICE să poată completa bidirecțional

Apeluri de la browser la browser, conectate la stratul SIP, dar nu audio în ambele direcţii. Căsuţa vocală (în sens unic Asterisk → browser) a funcţionat deoare...

Kamo·4mo ago
Fixkamo-internal

Audio live care supraviețuiește sarcinii-întrerupe, spinner centrat, outbound ringback

Trei soluții coordonate pentru calea audio în apel: 1. AbandoneazăError pe telecomandaAudio.play() (vizibil în consola de producție ca "Cererea play () a fost ...

kamo·4mo ago
Fixkamo-internal

Hangup tears down ALL live sessions, not just the primary

Self-call edge case left a session leaked: dialing your own extension creates an outbound session, then Asterisk loops the call back as a second inbound session...

kamo·4mo ago
Fixkamo-internal

Instant connecting feedback on outbound dial

Same problem the inbound Answer button had: clicking Call kicked off the SIP INVITE round-trip (1-3 seconds) but the button kept its idle "Call" appearance the ...

kamo·4mo ago
Fixkamo-internal

Conectare animație + audio care joacă de fapt + ton de apel deblocare

Trei soluții coordonate pentru calea de intrare: 1. Feedback vizual în timp ce acceptă. Faceți clic pe răspuns stânga ambele butoane cu aspect receptiv, dar ne...

kamo·4mo ago
Fixkamo-internal

Mount SoftphoneProvider de mai sus ToolDock astfel încât ferestrele unelte pot citi

Deschiderea Softphone popup prăbușit pagina cu "Această pagină nu a putut încărca" deoarece ferestre de unelte monta în interiorul ToolDock, care trăiește în To...

kamo·4mo ago
Fixkamo-internal

Use Grid size prop so AV panels umple randul

Grila MUI v7 e bazată pe flexbox, aşa că reţeaua Column sx pe care o foloseam a fost un nu-op spaţiul din dreapta. Trecerea la suportul de dimensiune suport (d...

kamo·4mo ago
Fixkamo-internal

ID-uri migrate de ton de apel vechi pentru a implicit pe sarcină

Dacă preferinţele unui utilizator salvat AV referinţă un ton de apel care nu mai există în catalog (de exemplu, "clasic" înainte de catalog a fost împodobit), f...

kamo·4mo ago
Fixkamo-internal

Digitale dialpad înregistrează acum pe dispozitive tactile

Butonii dialpad numit e.preventDefault() în ambele peTouchStart și Pe TouchEnd. Asta oprește browserul să tragă evenimentul de clic sintetic care urmeaza o atin...

kamo·4mo ago
FixKlusterServices

Browser gazdă SIP WSS pe intern.kamocrm.com (cert real)

Browser-ii au refuzat conexiunea WebSocket la ************* cu cod închis 1006 pentru că Traefik îşi servea certificatul implicit autosemnat pentru acel nume ga...

Kamo·4mo ago
Fixkamo-internal

Prezenta glob separat pentru marketing live chat vs membri

Public Bilete widget chat păstrați org placeholder ca solicitantId; utilizați numai prezența sesiunii media pentru aceste rânduri. Membru intern și alte bilete ...

kamo·4mo ago
Fixkamo-marketing

Ritmul cardiac periodic al prezenţei STOMP pentru sprijinul public

Refresh Redis TTL pentru prezenţa în sesiune publică astfel încât agenţii să vadă starea corectă online.

Kamo·4mo ago
Fixkamo-internal

Globe folosește prezența sesiunilor media pentru vizitatorii de marketing

Solicitați sesiune de chat public GUID-uri în prezența instantaneu; tratați on-line dacă oricare este conectată sesiunea sau membrul solicitant. Se manipulează ...

kamo·4mo ago
FixMediaService

Urmăriți chat-ul de suport public prin sesiune GUID în Redis

Vizitatorii de marketing folosesc /ws/public-chat-nativ fără membruId; bilete încă se referă la membrul titular de org ca solicitant. PRESENCE PUBLIC tastele ST...

Kamo·4mo ago
FixVOIPService

Nu ștergeți atribuirea membrilor pe sincronizare de la furnizorii care lipsesc metadate

Nu-ţi face griji. suprascris necondiţionat TelefonExtensie.un membru desemnatId cu orice furnizor returnat. FreePBX (și orice furnizor care nu urmărește care me...

Kamo·4mo ago
Fixkamo-internal

Arată numele furnizorului în modul vizual + extensia proprie în editarea dropdown

Doi gândaci pe aici. 1. Modul de vizualizare a aruncat UUID brut lista de cazuri a fost încărcată doar în interiorul mâneruluiVoipEdit(). Cazuri de încărcare ...

kamo·4mo ago
Fixkamo-shared-library

Serialize ExtensieDto.atribuit membreId ca un șir

deversează gama de informații privind siguranța JS (de exemplu, 1168485658174423046) ca 116848565817443000 odată ce un număr JSON atinge browserul). Frontul dej...

Kamo·4mo ago
FixKlusterServices

Faceți configurarea WebRTC supraviețui repornire pod

Abordarea anterioară (http custom.conf cu [general] suprascriere) nu a De fapt, să-şi facă efectul pentru că Asterisk's INI parser nu onorează mai multe Secţiun...

Kamo·4mo ago
FixKlusterServices

Activează serverul Asterisk integrat HTTP pe :8089 pentru WebRTC /ws

A chan pjsip care, la rândul său, necesită serverul Asterisk încorporat HTTP pentru a fi difuzate. ă implicit FreePBX 17 instala nave cu acel server dezactivat...

Kamo·4mo ago
FixSecurityService

Prioritizează numele real primul/ultimul peste numele de utilizator Alias pentru afișare

numele de utilizator Alias este un mâner de autentificare funcțional (de multe ori egal cu numele de utilizator); nu este un nume de afișare. Numele real citit ...

Kamo·4mo ago
Fixkamo-internal

Domeniul de aplicare Adăugați sulul de plumb și footer în zona sa de conținut

Formularul a fost folosind minHeight: 100vh în interiorul unui părinte care este deja calc (100vh - 56px), forțând o bară exterioară de defilare chiar și atunci...

kamo·4mo ago
Fixkamo-internal

Layout inteligent multi-coloană pentru formularul Add Lead

Restructurați pagina într-o rețea de nivel superior astfel încât secțiunile să compună orizontal în loc să se întindă câmpuri individuale: - Piata & Detaliu fo...

kamo·4mo ago
Fixkamo-internal

Utilizare /api/securitate/membri/denumiri pentru rezoluția numelui membrului desemnat

Filtrele de evaluare a obiectivului de la distanță numai pentru membrii activi ai echipei, lipsă sarcinile membrilor de bază sau ale membrilor inactivi. Comută ...

kamo·4mo ago
Fixkamo-internal

Lăţime completă Adaugă formă de plumb şi clearance-ul pentru picior lipicios

Picătură 1200px max-lățime pe /lide/nou astfel încât forma se întinde zona de pagină, și bumping de fund astfel încât bara de acțiune lipicios nu se mai suprapu...

kamo·4mo ago
FixSecurityService

Rezolvaţi numele de afişare cu prioritate corectă în cadrul obiectivului de evaluare a departamentului

Prioritate: membru.username Alias → utilizator.name.formatFull() → utilizator.alias → utilizator.username

Kamo·4mo ago

Ca ceea ce vezi de transport maritim?

Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.

Pornește gratuit pentru totdeaunaVezi prețurile