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 26, 2026
Fixkamo-internal

Proba de evaluare a modelului principal și fixați ID-ul model org aplicat

- Înlocuiți poarta aplicatăModel.Source cu o sondă directă de /api/security/master-model on mount; r.ok=fals (409) means the org este guvernată de un tip de suc...

kamo·4mo ago
Fixkamo-internal

Gate censorship tab options by applied model constraints

- Hide EDIT MASTER MODEL button when org is governed by a branch type (use appliedModel.source instead of unreliable org context branchTypeID) - Hide ATF fiel...

kamo·4mo ago
Fixkamo-internal

Mark-as-read and message fetch for shared/member mailboxes

Classic mode now loads shared mailbox messages via the correct /messages/{folder} endpoint (was calling the non-existent /conversations endpoint). Fetching a fu...

kamo·4mo ago
FixEmailService

Mark-as-read for shared and member mailboxes

EmailController.setFlags now accepts an optional mailboxId query param and routes through resolveProviderWithMailbox so member-mailbox flags are set against the...

Kamo·4mo ago
FixVOIPService

Use extensionId as external ID, not Relay node id

FreePBX returns the same Relay id (ZXh0ZW5zaW9uOg== = "extension:") for every extension because the id field is not populated. Using it caused all extensions to...

Kamo·4mo ago
FixEmailService

Handle IMAPInputStream in getMessage pentru a preveni ClassCastException

JavaMail poate returna un IMAPInputStream în loc de un string decodat de la part.getContent() atunci când conținutul mesajului nu a fost pre-inventat. ă mulaje ...

Kamo·4mo ago
FixVOIPService

Rescrie toate întrebările/mutările GQL împotriva introspecţiei de schemă live

Verificat fiecare nume de câmp și tip împotriva schema FreePBX 17 reale. Set complet de corecții: Întrebări: - aduceţiAllExtensii: eliminaţi câmpul inexistent ...

Kamo·4mo ago
Fixkamo-internal

Pasează dosarul selectat către ThreadDetailView astfel e-mail:foldere schimbate cu un dosar valid

conversation.folder este întotdeauna nedefinit deoarece Conversația JavaEntity are foldIds (text[]) nu este un câmp de coarde. Acest lucru a cauzat sarcinaThrea...

kamo·4mo ago
FixVOIPService

Numele de câmp GrafQL corect pentru a aduceAsteriskDetails

FreePBX API întoarce "Aţi vrut să spuneţi "AsteriskDetails"? verifică interogarea și accesorul traseului de date în consecință.

Kamo·4mo ago
FixVOIPService

Adăugați antetele XHR/Accept și răspunsul String parsing la clientul GraphQL

Același model ca FreePBXTokenCache: adăugați X-Requested-Cu + Accept: aplicație/json pentru a suprima răspunsurile de redirecționare HTML FreePBX, și comuta toa...

Kamo·4mo ago
Fixkamo-internal

Sincronizează căsuţa poştală dropdown în căsuţa poştală primară la încărcare

Dropdown implicit la primul element listă deoarece selectat Mailbox inițializat fără o cutie poștalăId, ceea ce face ca actualValue să se rezolve la "personal" ...

kamo·4mo ago
FixAPIService

Mărește limita de încărcare a fișierului la 500MB

Primavara Boot implicit capac piese multipart la 1MB, provocând imagini de fundal uploads to fail with 500 in request.getParts(). Potrivire serviciu de securita...

Kamo·4mo ago
Fixkamo-internal

Erori HTTP de suprafață, astfel încât defecțiunile de încărcare sunt vizibile

Consolă silențioasă înlocuită.Avertizare cu o eroare aruncată la starea non-OK, astfel încât utilizatorul vede motivul de eșec real (status + răspuns organism) ...

kamo·4mo ago
FixVOIPService

Adăugaţi antetele Accept+XHR şi răspunsul la coarda brută pentru criteriul final de evaluare

FreePBX returna textul/html când a fost apelat prin cluster DNS deoarece Antet gazdă nu se potrivește cu PBX HOSTNAME configurat. Adăugarea Accept: aplicație/js...

Kamo·4mo ago
Fixkamo-marketing

Drive minimizat-tab intrare prin controale de animație

Comutarea animației = {...} la animație={tabControale} a rupt intrarea animație: tabControale nu are o țintă coadă pe montare, astfel încât butonul a rămas la p...

Kamo·4mo ago
FixVOIPService

Coarde OAuth2 corecte pentru API FreePBX

Domeniul de aplicare FreePBX sunt identificatori de nivel superior: "gql" (toate GraphQL) și "rest" (toate odihnă). Formatul "gql:read" înseamnă GQL pentru un m...

Kamo·4mo ago
FixKlusterServices

Expune portul 8088 direct pe serviciul ClusterIP

Serviciul a avut doar port 80→8088 cartografiere. Servicii interne care utilizează - Nu. (de exemplu, VOIPservice API token cereri) au fost calendarul pentru că...

Kamo·4mo ago
Fixkamo-internal

Trust backend waitingCount, drop client offsets

Platforma în așteptareCount este acum necitit-based (contele SPECIAL TICKET sesiuni cu mesaje mai noi decât ultima vizionare a proprietarului). Când agentul se ...

kamo·4mo ago
FixKlusterServices

Adaugă eșuează2ban-config ConfigHartă pentru k1m1

Referințe de desfășurare eșuează2ban-config ConfigMap (jail.local + asterisc-security.conf) dar nu a existat, blocând pod la Muntele Volume. Setare și prevenire...

Kamo·4mo ago
April 25, 2026
Fixkamo-internal

MarkAsRead după ce agentul trimite atât de ultimele avansuri vizionate

Pe biletele de sprijin, atât mesajele vizitatorilor, cât și ale agenților sunt stocate sub Același membru al sistemului, astfel încât interogarea necitit-conte ...

kamo·4mo ago
Fixkamo-shared-library

Bilete de sprijin au nevoie de numărătoare necitite agnostică a membrilor

Mesajele vizitatorilor de pe biletele de sprijin sunt stocate sub acelaşi sistemMember pe care agentul o autentifică, astfel încât sesiunea CHAT existentă să nu...

Kamo·4mo ago
Fixkamo-internal

Pass folder to chargeThread retry buton

take-uri de încărcareThread (fisier, folder); numai butonul de retrimitere a stării de eroare a trecut firId, ruperea cladirii kamo-interna. Meci de apel la sem...

kamo·4mo ago
Fixkamo-shared-library

Corectează JsonIdentitatea Info proprietate de la 'uniqueId' la 'id'

Entitatea membru declarată @JsonIdentityInfo[property = "uniqueId") dar Câmpul principal principal principal este numit "ID." Jackson aruncat "nu poate găsi o p...

Kamo·4mo ago
Fixkamo-marketing

Eliminați garda SSR care cauzează neconcordanțe de hidratare; picătură SockJS pentru WebSocket nativ

- Ero.tsx: eliminați tipul de verificare a ferestrei în jurul ParticuleField are ssr:fals astfel încât paznicul a produs un server / client nepotrivire copac (...

Kamo·4mo ago
Fixkamo-internal

Indicatoare clare necitite la deschiderea conversației

ThreadDetailView expedies e-mail:folder-changed after markConversationRead reuseste astfel MailButton restabileste insigna inbox invtop conta. ConversațieListVi...

kamo·4mo ago
FixAPIService

Move CORS to Traefik via kamo-middlewares, remove in-app CorsFilter

The CorsFilter @Bean in the Spring app was silently not applying headers after WebConfig.java was removed. CORS is now handled entirely at the Traefik layer by ...

Kamo·4mo ago
Fixkamo-marketing

Use /public/{mainDomain}-{tld} path matching actual MinIO bucket layout

The getThemePath() was generating /domain/{tld}/{split}/kamosite paths that don't exist in MinIO — theme files live in the public bucket under kamocrm-com/, bad...

Kamo·4mo ago
Fixkamo-internal

Break min-w-0 chain to contain email scroll in body column only

Add min-w-0 to outer container and main content flex div so flex children cannot expand to email min-content width, which was causing the page-wide horizontal s...

kamo·4mo ago
Fixkamo-internal

Furnizorii de înaltă peste ToolProviders

Aceeași cauză rădăcină ca ChatWebSocketProvider elevator: SuportTicketWindow apeluri *************** și apeluri ChatBox useUnread().markAsRead(), dar ambele fer...

kamo·4mo ago
Fixkamo-marketing

Adaugă supresieHydrationAvertizare și repara imagini disfuncționale

supresieHydration Warning on <html> previne eroarea de reacție #418 cauzată de browser extensii (ex. traducere, modul închis) atribute mutante html între SSR și...

Kamo·4mo ago
FixKlusterServices

Permite/domeniul/prefixul traseului pe tema IngressRoute pentru CORS

Tema config la tema.kamocrm.com/domeniu/... nu a fost potrivit de regulile de rută existente (numai/public/ și/internă/au fost permise), așa că Traefik a return...

Kamo·4mo ago
FixAPIService

Eliminați antetele duplicate CorsFilter și benzi în amonte CORS în poarta de acces

WebConfig.java a definit o a doua fasole CorsFilter care concurează cu CorsConfig. Java Bean, riscând duplicatul scrie. A şters-o ca să existe doar un singur Co...

Kamo·4mo ago
FixSecurityService

Eliminați duplicatul boabelor de CorsFilter care cauzează header dublu Access-Control-Allow-Origin

Boabele explicite de CorsFilter au cauzat un al doilea filtru CORS alături de primăvară Suport CORS încorporat de securitate (care utilizează CorsConfigurationS...

Kamo·4mo ago
Fixkamo-internal

Elimină declarațiile consolei de depanare.log și adaugă rutele lipsă

Elimină toate depanările temporare adăugate în timpul urmăririi WebSocket de la ChatBox, TicketChat, MemberItem, ChatTool și utilizațiChatWebSocket; adăugați pa...

kamo·4mo ago
Fixkamo-internal

Preveniți antetul mesajului de la extinderea coloanei pe adrese lungi

Copilul flex stânga header a avut nici un min-w-0, atât de lung e-mail de nerupt adresa din From/To/Cc a forțat lățimea de conținut min să crească, târâre antet...

kamo·4mo ago
Fixkamo-internal

Hoist ChatWebSocketProvider deasupra ToolProviders

ToolDock (și ferestrele sale instrument cum ar fi SuportTicketWindow → TicketChat) este montat în interiorul ToolProviders, care stă ABOVE PrezențăWrapper în co...

kamo·4mo ago
Fixkamo-internal

Drop Shadow DOM în e-mail rander atât de deversare-x-auto focuri

Shadow DOM a fost cauza rădăcină. Conținutul de e-mail larg (tabele fixe) în interiorul copacului umbră pictat trecut gazda fără a contribui la cutia gazdei, as...

kamo·4mo ago
Fixkamo-internal

Aliniază calea de import ChatWebSocketContext pentru furnizorul de potrivire

TicketChat și ChatNotificareAscultătorul a importat contextul prin intermediul "@/app/contexts/......" alias în timp ce PrezenţaWrapper (furnizorul) o importă p...

kamo·4mo ago
Fixkamo-internal

Forta umbra gazda de izolare cu stiluri inline + conține: aspect

Clasa pe baza de supraîncărcare-x-auto pe gazda umbră nu a fost câștigătoare fiabil împotriva umbrei ':host { all: iniţial}' resetat, atât de larg e-mail conţin...

kamo·4mo ago
Fixkamo-internal

Derulați conținut de e-mail larg în interiorul umbra DOM, nu în afara

Încercările anterioare de a adăuga supraîncărcare-x-auto la lumina strămoșilor DOM nu a putut prinde conținut de e-mail larg, deoarece umbra copacului vizual re...

kamo·4mo ago
FixEmailService

Utilizați getAstachments () pentru a se potrivi cu tipul de ambalaj boolean

***************** este un ambalaj Boolean, deci Lombok generează getHasAttachments() not isHasAttachments(). Doar acesta din urmă există pentru boolean primitiv...

Kamo·4mo ago
FixMediaService

Extinde scanarea depozitului JPA pentru a include pachetul comercial

Noul librar kamo-împărtășește aduce în *************** care necesită - Nu. (în com.kamo.z.shared. commerce). MediaService doar scanat numodifica.dao.repos, deci...

Kamo·4mo ago
FixMediaService

Restaurare HashMap import în ChatWebSocketController

Refactorul anterior a eliminat importul HashMap dar manerTyping metoda construiește încă un HashMap pentru sarcina utilă eveniment de dactilografiere, cauzând F...

Kamo·4mo ago
Fixkamo-internal

Adăugaţi min-w-0 la e-mail conţinut div atât de supraîncărcat-x-auto incendii

Fără min-w-0, dimensiunea minimă implicită a copilului flex-col:auto se rezolvă conţinut-min, permiţând tabele largi de e-mail extinde div peste coloana lățimea...

kamo·4mo ago
Fixkamo-marketing

Elimină apelul de conectareStomp în message

Atunci când primul mesaj creează o nouă sesiune, onSessionCreated updates recuzită care declanşează utilizareaEffect pentru a apela ConnectStomp. Apelul inline ...

Kamo·4mo ago
FixMediaService

Creează activ consumatorul NAT la crearea sesiunii pentru a preveni pierderea mesajelor

Din episoadele anterioare: trimis /app/chat/subscribe. Cu DeliverPolicy. Nou, orice mesaje publicate înainte de consumatorul există sunt permanent pierdute Nic...

Kamo·4mo ago
Fixkamo-internal

Închide decalajul de reconectare care cauzează mesaje în timp real scăzute

Eliminați ChatBox. Anterior, fiecare reconectare WebSocket declanșat efectul Curățare care a numit unsubscribe(), șters sesiunea din harta abonamentului, și tr...

kamo·4mo ago
FixSecurityService

Permite utilizatorului sistemului să gestioneze branding-ul org și să stabilească logo-ul auth

- Adăugați bypass-ul utilizatorului sistemului ca prim paznic în canManageOrgBranding astfel platforma utilizatorul sistemului are control complet asupra tuturo...

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