Use inline style for icon colors to prevent CSS specificity override
sx-generated color classes were being overridden by Tab card context styles. Switching color to inline style prop ensures icons always render with the correct c...
Add kamo.commerce.enabled=true to k8s configmap
This is the file the CI pipeline actually applies (k8s/configmap.yaml). Required for CommerceService and EngagementLifecycle to load under the new @ConditionalO...
Add KAMO_COMMERCE_ENABLED=true to k8s configmap
Required for CommerceService and EngagementLifecycle to load now that they use @ConditionalOnProperty instead of @ConditionalOnBean.
Adaugă meciIfMissing=fals to ConditionalOnProperty for commerce beans
Explică că Serviciul de Comerţ şi Ciclul de Viaţă al Angajamentului sunt dezactivat în mod implicit atunci când kamo.commerce.enabled nu este setat. Orice servi...
Enable commerce beans via kamo.commerce.enabled property
CommerceService and EngagementLifecycle now use @ConditionalOnProperty instead of @ConditionalOnBean. Set kamo.commerce.enabled=true so they load in SecuritySer...
Înlocuire condiţionatăOnBean cu condiţionalOnProperty for CommerceService
*************** este evaluat înainte de primăvară Datele JPA înregistrează boabele de depozit definite de utilizator, făcându-le nesigure. Înlocuiţi cu ********...
Prevent overflow:hidden on tab card from clipping status widget
Move overflow:hidden from the Card to the Tabs wrapper Box so scrollable tabs are contained but the right-aligned status/substatus widget remains fully visible.
Correct hexhead geometry, z-index layering, and viewport clamping
- Fix axialToPixel to use flat-top hex formula (was pointy-top) so honeycomb aligns flat-edge to flat-edge as the hex SVG shape requires - Fix generateRing to...
Use Next.js client-side navigation for all MUI Link components
MUI Link without component={NextLink} renders as a plain <a> tag, causing full page reloads that reset all React state including tool windows. Added component={...
Replace window.location hard navigations with router.push/refresh
All window.location.href, window.location.assign(), and window.location.reload() calls in page components caused full page reloads, wiping all React state inclu...
Move ToolDock above auth gate to prevent tool window wipe on navigation
PresenceWrapper switches its component tree structure when auth resolves (Fragment > children → ChatWebSocketProvider > PresenceProvider > children). This unmou...
Eliminați efectele secundare de pe setWindows updates, adăugați ambalajul lipsăAroundDock expediții
Aplicați bara de instrumente și modificările de căutare în modul de chat încorporat
ChatBox este întotdeauna redat în modul încorporat prin ChatTool. Mută bara de instrumente pentru controlul apelurilor cu câmp de căutare și buton de defilare-j...
Actualizează selectorii HexHeadGroup de la data-chatbox-root la data-tool-wind
Sistemul de ferestre instrument folosește date-instrument- fereastră pe ToolWindowShell, dar HexHeadGroup a fost încă interogat date-chatbox-root pentru detecta...
Migrate hexchat rămase:deschidere expediere la instrument:focus în HexHeadGroup
Chat UL poloneză - colorare primară, intrare emoji interior, rotund trimite btn, hex starea culori
- Departament tab-uri și chatbox header utilizare - culoare primar în loc de verde hardcoded - Butonul picker Emoji mutat în interiorul câmpului de intrare chat...
Îmbunătățiri ale sistemului de chat - editare rotire, rotație masca hex, culori, maximizare-minimizare
- Detectează editarea (backspace/delete) vs tastarea în intrare pentru a declanșa invers HexHead spin - Rotire hex clip masca, împreună cu frontiera în timpul t...
Nu invalida sesiunea *** atunci când se potrivește cu noua sesiune OTK
Calea de validare a fost ștergerea sesiunii *** existente de la Redis înainte de a căuta OTK. Când OTK a indicat aceeași sesiune, "Sesiunea nu a fost găsită sau...
Acceptaţi *** de la interogare param pentru Cross-subdomeniu WebSocket auth
Citește *** ID-ul de la ? *** = parametru de interogare primul, care se încadrează înapoi la Prăjitură. Acest lucru permite frontend pe intern.kamocrm.com să au...
Pass *** ID ca param de interogare pentru Cross-subdomeniu WebSocket auth
În loc să se bazeze pe cookie-uri cross-domeniu (care nu funcționează peste subdomenii), citiți cookie-ul *** client-side și treceți-l ca o interogare parametru...
Setează domeniul cookie la .kamocrm.com pentru partajarea cross-subdomeniu
Cookie a fost setat fără domeniu explicit, împiedicându-l să fie trimis la media.kamocrm.com pentru autentificare WebSocket.
Setează domeniul cookie la .kamocrm.com pentru partajarea cross-subdomeniu
Cookie-ul *** a fost setat fără un domeniu explicit, implicit internal.kamocrm.com Acest lucru a împiedicat trimiterea cookie-ului la media.kamocrm.com în timpu...
Manipula vechi NATS consumator obligatoriu cu retry unic de consum
- Extragerea handler mesaj în crearea metoda NatsMessageHandler() - Adăugați logica retry cu numele unic de consumator atunci când "Consumator deja legat" eroar...
Rezolvați mesajele de chat, urmărirea prezenței și problemele auto-deschise
- Remedierea mesajelor care nu sunt primite prin retrimiterea abonamentului NATS cu unicitate denumirea consumatorului atunci când apare eroarea "Consumator dej...
Rezolvați eroarea de tip IMA și partajați conexiunea STOMP WebSocket
- Adăugaţi tsconfig căi de suprascriere pentru @mui/icons-material pentru a ocoli ESM stricat exporturile în v7.3.1 care indică faptul că nu există ./esm/index....
Utilizați ref pentru membruPanelOpen în openChat pentru a preveni închiderea vechi
Când un utilizator deschide panoul membru, face clic pe un membru pentru a vorbi, apoi închide Panoul înainte de sesiunea Async API apel se întoarce, fereastra ...
Remove forced WebSocket headers from media middleware
Traefik v3 handles WebSocket Upgrade/Connection headers natively. Remove forced headers that broke non-WebSocket API requests.
Traseu MediaService trafic prin Traefik pe portul 443
- Adăugaţi MEDIASERVICE URL env var pentru accesul la servicii interne - Fix getMediaServiceBaseUrl în 9 rute API pentru a utiliza mai întâi env var - WebSocket...
Traseu WebSocket prin Traefik pe portul 443
- service.yaml: fix port 80→8443 pentru a potrivi portul de ascultare real pod - ingressroute.yaml: sistem de utilizare https + port 8443 pentru suport - server...
Asigurați fasolea comercială condiționată de disponibilitatea depozitului
Adaugă ***************** la logodnă Ciclul de viață și CommerceService astfel încât acestea să încarce doar atunci când registrele comerciale sunt Scanat. Preve...
Add system account to all NATS configs
Add $SYS account with admin credentials to k0m1, k1m1, and k2m1 NATS configs. Enables nats CLI cluster management operations (peer removal, step-down, etc.) for...
Utilizați DNS intern-cluster pentru conectarea NATS
Schimbă URL- ul NATS implicit de la IP-uri WireGuard (100.64.x.x) la nats.kamo.svc.cluster.local pentru serverul local. Noduri la distanță (k0m1, k2m1) rămân pe...
Permite pornirea aplicației atunci când NATS nu este disponibil
Eliminați @ConditionalOnBean din jetStream() și adăugați @Nullable la Parametrul conexiunii. Când natsConnection () întoarce nul (NATS Imposibil), Primăvara nu ...
Reordonare carduri de stat pentru a potrivi comanda fila
Comunicare → Docuri → Sarcini deschise → Istoric
Elimină layout.tsx, fix docCount/historyCount Erori de tip
- Șterge layout.tsx care a fost adăugat incorect (ar afecta întregul site) - Restaurare page.tsx ambalaj div (nu este necesar) - Mutaţi fundalul gradient înapoi...
Manipulează expirarea cookie-ului (401) și extensia TTL determinată de server
Utilizați timeout sesiune per utilizator pentru *** cookie maxAge on valid
Actualizează numele vânzătorului PipelineOrdersTab pentru a se potrivi cu DTO-urile suportului
Schimbat v.uid → v.id, v.name → v.companyName, și selectatVendorId tip de la număr la șir la alinierea cu CommerceMarketVendor DTO.
Eliminați numărul() distribuit pe apelul pentru MarketVendors (acum ia șir)
Aliniază tipurile de tip de Script cu DTO-uri de suport pentru piețele comerciale
TradeMarket, CommerceMarketVendor, și VendorCategory TipScript interfețe utilizate nume de câmp greșite (uid/name vs id/titlu, name vs companieName, websiteUrl ...
Piețele de conducte care nu se încarcă și distanța dintre dispunerea administratorului de piață
Conducta a arătat "Nicio piață comercială configurată" deoarece GET POSConfig() nu a returnat niciodată terenul pieţelor. Acum aduce piețele de la comerțMarketA...
Rezolva "u.map nu este o funcție" pe setările POS și actualizarea Commerce nav
- Adaugati extractia array-ului defensiv in comertMarketApi (getMarkets, getVendorCategories, getMarketVendor, seedVendorCategories) pentru a manipula raspunsur...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
