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...
Rezolvarea următor.js dinamic traseu melc conflict ('id' vs "market Id')
Combină [marketId] director în [id] pentru rutele API comerciale. Next.js necesită toate segmentele dinamice la același nivel cale pentru a utiliza același nume...
Rezolvați erori de tip Script în filele conductei întreprinderii
- Asigurați parametrul coloanelor toCSV opțional cu auto-deviare de la tastele obiectului - Fix downloadBlob apel în AchizițiiTab (număr greșit arg, lipsă ambal...
Trece pe piață propunerii la bord, angajamente, și componente de acțiune rapidă
Remove duplicate session timeout fields from session types
Aligns with SecurityService change that removes createdAt/expiresIn from Redis session records and tokenExpiration from session info responses. - user-info/rou...
Remove duplicate session timeout system from Redis records
Session expiry is now managed solely by the Redis key TTL. The internal createdAt/expiresIn fields stored inside the Redis value have been removed — they formed...
Update internal layout and styles
- Make main wrapper background transparent so home page fixed background is not covered - Include latest adjustments to automation, security access, and account...
Handle optional effectiveDate and processedAt in DateTimeDisplay
Type error: string | undefined not assignable to string | number | Date. Add null checks before passing to DateTimeDisplay, show em-dash when absent.
Align Commerce submenu with actual Commerce page tabs
- Rename Domain Configuration to Engagement Types - Add Rental Assets, Vendors, Subscription Plans - Update tab param to engagement-types for consistency - Labe...
Advanced datagrids fill 100% of content area
- SettingsView: tab content wrapper overflow hidden, motion.div flex chain so tab content gets bounded height and grids can expand. - PipelineRentalAssetsTab:...
Resilient probes so cluster stays up when one node is offline
- Liveness: tcpSocket on 4222 (do not depend on JetStream meta leader) - Readiness: initialDelay 90s, period 15s, failureThreshold 10 so k0m1+k1m1 can form qu...
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ă.