Adaugă integrarea şedinţei şi a salarizării
Zoom şi Microsoft Teams pentru întâlniri, şi cei zece vânzători de salarizare Forţa de muncă Acum, BambusHR, Dayforce, Gusto, Paychex Flex, Paycor, Paylocity, ...
Numără aplicațiile și integrările separat cu numere reale
"Apps & Integrations" a fost o tigla citind 31+. Este acum doi, fiecare cu un figura care poate fi re-derivată mai degrabă decât estimată: Aplicații 64 Integr...
Resetați titlul de acasă pe o față de afișare și o trecere de lumină
H1 stivuite patru efecte: un ambalaj decolorat, mouse-ul parallax pe fiecare linie, rotaţie 3D per caracter pe linia unu şi un gradient albastru/purpuriu/verde ...
Citeste numarul real de fundal al orgului si joaca ordinea
Eroul a cercetat pentru bg/1.webp și apoi hardcoded trei cadre, astfel încât un org cu mai mult nu le-a arătat și modul de rotație 'd de LOCAL BGS. length indif...
Date structurate locale-corecte, și o regulă robots.txt care se potrivesc nimic
Fiecare Breadcrumb JsonLd și PostList URL a fost hardcoded la /en, astfel încât structura date pe /fr / terms a spus crawlers parintele sau pesmet a fost pagina...
Indexați paginile detaliate de colectare în 19 mai multe limbi
Sincronizarea s-a terminat, deci ~2400 de pagini de detaliu care nu au fost indexate pentru a avea Limba engleză copie corp acum au traduceri reale și pot fi in...
Oprește publicitatea ta ca un supleant tradus
Acoperirea cheie nu este traducerea. TranslateService returnează textul sursă atunci când nici un furnizor nu suporta o directie en->ta" octe-identic la limba...
Localizați cardurile hub și opriți gruparea seturilor de date engleze
Cele patru pagini de hub redate componente client care au importat colectarea module direct și a luat nici o recuzită, astfel încât fiecare nume de carte de ind...
Tradu paginile de colectare în loc să le ascunzi
Paginile de detaliu 2400 nu au fost indexate deoarece exemplarul lor nu are traducere: concurenți, industrii, integrări și glosar păstrează proza lor în app/lib...
Nu mai canonicaliza 21 de localuri traduse în limba engleză
Fiecare pagină ne-engleză a purtat un canonic hardcoded la /en twin 28 de pagini expediate canonice: ***************** la toate 22 localuri. Pachetele de mesa...
Derivați unitatea adăugată din catalog și corectați prețurile vechi
Add-on de stocare promovat ca "+4 $ / utilizator / lună" pentru o piscină aceeași pagină numit la nivel de organizație. Cauza: hartaAddOns potrivire addonCode "...
Render Contact Vânzări pentru add-on-uri cu nici un preț listă
PageAddOn.price a fost tastat cu numărul și construit cu numărul (addon.pricePerUnit), astfel încât o adăugare cu nu lista de preț Preţul este acum cu adevărat...
Opriți foaia temă runtime albirea panza pe mașini de modul de lumină
DynamicMetaLoader adaugă tema. <domeniu>/css/globals.css la <head> după propria noastră foaie de stil, și că fișierul poartă încă crea-următoarea aplicație caza...
Trimiteți plumbul la pasul 1 în loc de numai pe rezervare
manerFormSubmit verificat *** și a avansat pasul Apel la toate, astfel încât datele de contact un vizitator tastat au fost doar vreodată persistat dacă Au cont...
500s pe paginile dinamic-segment + ro refren pentru cheile locale lipsă
Îndepărtarea rutelor globale dinamice de forţă cu încercarea de a generaParamsStatic redare statică pentru paramele la cerere, care aruncă DYNAMIC SERVER USAGE ...
Faza 3+4
- changelog (#2 destinatie) primeste un bloc de conversie; carierele arata starea onesta de nedeschidere - /subscrie pagina: plan post-înregistrare terenuri de ...
Module legate de conținut + înscriere CTA redirecționare pe șabloane programmatice
Soluţiile, integrările, alternativele şi modelele glosare au fost organice fundături: nu există legături interne legate și CTA "Start free" care indică la /pret...
Faza 0+1 instrument pâlnie reală, debloca prima vopsea
- date forward-* recuzita prin MagneticButton/RippleButton (evenimentele nu au ajuns niciodată la DOM) - instrument SharedNavigation, Hero, PreviewBanner, secţi...
Comite o lucrare remarcabilă în curs
Înscenat și angajat ca-este astfel încât nimic nu este lăsat neangajat în copacul de lucru. 4 fișiere schimbate, 72 inserții(+)
Harden download kubectl împotriva egress fulg [skip ci]
dL.k8s.io peste ieşirea alergătorului scade intermitent la mijlocul transferului: curl: (56) OpenSSL SSL read: decriptare eșuată sau înregistrare proastă mac ca...
Starter plafonat la 5 utilizatori, Afaceri la 25
Repoziționează capacele de scaune publicate pe /preturi (și calculatorul, JSON-LD oferte, și rezumate llms.txt) pentru a se potrivi cu abonamentul catalog: Star...
Înlocuiți chat-ul cu gazduit <kamo-chat> încorporat; ștergeți widget proxy moștenit
Schimbă chat-ul de reactivare al AI/suport viu (PublicChatWidget + AiChatPanel + LiveSupportPanel + traseele proxy ale serverului /api/chat/**) pentru cei găzdu...
Distinguish actively-translating vs queued messages
The translation queue was already sequential, but every queued bubble rendered "Translating…". Now the single in-flight message shows "Translating…" with a puls...
Show error icon when a message fails to translate
When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders an AlertTriangle icon in red with tooltip "F...
Stream translations newest-first for visitor history
When the visitor lands on a non-English locale and the support chat has existing English messages, every bubble flagged needsTranslation by the backend now show...
Auto-translate visitor and agent messages
Live agent replies arriving in a language other than the visitor's URL locale now show a "Translating…" bubble while the TranslateService call resolves, then sw...
Move translations to kamo-translation-dictionary
All 22 locale files move to the centralized kamo-translation-dictionary repo. The CI now clones that repo and copies the kamo-marketing/ folder into messages/ b...
Scope concurrency to build jobs, not Kubernetes deploys
Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...
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.
Arată banner de ofertă activă cu numărătoare inversă de milisecunde live
Fetches activ de promovare server-side pe pagina de start și redă un HeroOfferBanner între linia subheadline și apel gratuit pentru totdeauna. Bannerul arată su...
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...
Insigna necitita live + sari pe noul mesaj agent
- Păstrează LiveSupportPanel montat offscreen în timp ce widget-ul este minimizat (numai atunci când există o sesiune de sprijin) astfel încât abonamentul STOMP...
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 (...
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...
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...
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 ...
Elimină kamo-capcha-widget nod module din repo
Drop fişiere urmărite sub ***************** astfel încât copac meciuri o instalare curată (dependențe aparțin în blocare pachet, nu git).
Arată starea în direct cu link-ul de schimb și numărul zilnic
Înlocuiți numărătoarea inversă a previzualului și copia de înscriere cu un compact "Acum LIVE" Callout, păstrați link-ul de schangelog, și întotdeauna arată ast...
Render system events as friendly text in musafir chat
NUME CHANGED evenimente de sistem nu mai arată JSON brut în balonul de chat; afişează ca o pastilă italiană centrată ("Schimbă numele la {numele}"). Alte evenim...
Skip VIZITOR Mesage ecouri în LiveSupportPanel STOMP handler
Mesajele vizitatorilor sunt acum etichetate mesajType=VISITOR Mesage by the backend. Sari peste acestea în abonamentul STOMP astfel încât mesajele vizitatorilor...
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ă.