회의 및 급여 통합 추가
회의를위한 Zoom 및 Microsoft 팀, 그리고 10 급여 공급 업체 - ADP 지금 인력, BambooHR, Dayforce, Gusto, Paychex Flex, Paycor, Paylocity, Rippling, UKG, Workday. 새로운 Payroll & HR과 함께 ...
실제 번호와 별도로 앱 및 통합
"Apps & Integrations"는 1 개의 타일 읽기 31 +이었다. 현재 두 개, 각각 예상보다는 재 파생 될 수있는 숫자 : 앱 64 - Forgejo 프로젝트는 `kamo`, ratetack 제외 통합 64 - 작업 클라이언트 코드와 다른 타사 API 통합 카운트는 공급...
표시 얼굴에 홈 헤드 라인을 재설정하고 1 개의 빛 패스
H1는 4개의 효력을 겹쳐 쌓였습니다: 파드 래퍼, 각 선에 쥐 parallax, 라인 하나에 per-character 3D 교체, 그리고 파란색 / 보라색 / 녹색 gradient 라인 2에서 사이클링. 그 색상의 아무도 브랜드 색상, 그리고 두 번째 라인 분할 "Clients, Op...
Org의 실제 배경 조사 및 놀이 순서를 읽으십시오
Bg/1.webp를 위한 영웅 조사하고 그 후에 3개의 구조를 해독했습니다, 그래서 org LOCAL BGS.length의 교체 modulo'd 얼마나 많은 이미지가 실제로 있었는지. 그것은 이제 config.json을 읽습니다 다른 Kamo 표면과 같은, org의 셔플 설정 명예.
Locale-correct 구조화 된 데이터 및 robots.txt 규칙은 아무것도 일치하지 않습니다
모든 BreadcrumbJsonLd 및 ItemList URL은 /en에 하드 코딩되었으므로 구조화되었습니다. /fr/terms의 데이터는 크롤러에게 빵 부스러기 부모가 영어 페이지였다고 말했다. 19 의 URL 15 파일, 금전적 및 hreflang 같은 페이지 관련 기사 그 페이지의...
19개 언어의 수집 세부 페이지
Sync가 완료되었으므로 ~2,400 개의 세부 페이지가 없습니다. English body copy now have real translations and can be indexed. 연구분야 모든 21 지역 전역: 0.0%와 8.8% 사이의 모든 토지 수집 영어와 동일한 값, sw 및...
중지 광고 ta 번역 된 교체로
Key 적용은 번역되지 않습니다. TranslateService는 소스 텍스트를 반환합니다. 공급자는 방향을 지원하지 않습니다 - ProviderRouter 로그 "제공자가 지원하지 않습니다 en->ta" — 그래서 ta는 그것의 가치의 98.4%가 있는 동안 ~99% 중요한 적용을 보...
허브 카드를 로컬라이제이션하고 영어 데이터셋을 삭제
4개의 허브 페이지는 수집을 수입한 클라이언트 성분을 렌더링했습니다 모듈을 직접 가지고, 그래서 모든 카드 - 산업 이름, 통합 taglines, 용어 정의, 경쟁자 요약 - 모든 22에서 영어이었다 주변 크롬도 번역되었습니다. 그것은 또한 의미 클라이언트 번들에서 발송되는 가득 차있는...
대신 수집 페이지를 번역
2,400 개의 인덱스 세부 페이지는 신체 사본이 없기 때문에 인덱스되지 않았습니다. 번역: 경쟁자, 산업, 통합 및 광택은 그들의 prose를 지킵니다 app/lib/**/*.ts에서, 사전은 결코 본 적이 없다, 그래서 /fr/solutions/real-estate 영어 단락의 주위...
Stop canonicalizing 21 번역 현지인 영어
모든 비 영어 페이지는 /en 트윈에 하드 코딩 된 대문자를 수행 — `export const metadata`는 모듈 레벨이므로 로컬에 따라 다를 수 없습니다. 28 페이지는 `canonical를 발송했습니다: *********** 모든 22에 한국어 메시지 번들은 번역된 ~99.5%...
카탈로그에서 add-on 단위를 파생하고, stale 가격을 정확한
저장은 같은 페이지를 풀에 "+$4 /user/month"로 광고했습니다 조직 전체라고. 원인: mapAddOns 일치 addonCode "additional storage" seeder가 EXTRA STORAGE를 쓸 때, 그래서 단위는 결코 불화하지 않고 PricingClient는 ...
Add-ons에 대 한 연락처 판매 목록 가격
PageAddOn.price는 번호를 입력하고 번호 (addon.pricePerUnit)로 구축되었으므로 add-on을 no로 목록 가격 - 기업 협상 된 발행 시스템 - + $ 0으로 렌더링 됨, 그것을 무료 광고. 가격은 이제 모든 소비자를 강제로 무수합니다. - 가격 카드는 접촉 ...
런타임 테마 시트는 Light-mode 기계에 캔버스를 희게
DynamicMetaLoader는 테마를 추가합니다.<domain>/css/globals.css에서 <head>에 <head>에 stylesheet 및 그 파일은 여전히 create-next-app 보일러 플레이트를 운반합니다. :root{--background:#fff}과 선호도-co...
예약에 한함 대신 단계 1에 리드 제출
handleFormSubmit은 ***를 확인하고 단계가 고급 — 그것은 네트워크가 없습니다 자주 묻는 질문 그들은 예약을 완료 갔다. 아직 출판되지 않았습니다. 그들 중 아무도 없었다. 단계 1 지금 POSTs로 /api/webinar/demo-request. 호출은 delibera...
동적 세그먼트 페이지에 500s + 누락 된 locale 키에 대한 fallback
GenerateStaticParams 시도를 가진 세계적인 힘 동적인 만들었습니다 노선을 제거하십시오 DYNAMIC SERVER USAGE를 던지는 on-demand params에 대한 정적 렌더링 locale layout's getMessages() 요청 헤더를 읽습니다. 6개의 노선...
Phase 3+4 - 이미 도착 트래픽을 변환
- changelog (#2 목적지)는 변환 블록을 가져옵니다; 직업은 정직한 노 개방 상태를 보여줍니다 - /subscribe 페이지: 게시물 등록 계획 intent 토지 어딘가 실제 (결제 의도에서 404 달러) - 가격 : live-priced FindYourPlanQuiz, 중간...
관련 내용 모듈 + signup CTA retargeting on programmatic 템플릿
솔루션, 통합, 대안 및 광택 템플릿은 유기 죽은 끝: 내부 관련 링크 및 "시작 무료"CTAs 지적에 대신에 /pricing. - i18n Link를 사용하여 새로운 공유 관련 내용 블록 (card/pill 변형) 그래서 로컬 보존; 모든 관련 링크 화재 관련 클릭 이벤트 아이템으로...
단계 0+1 - 실제 깔때기, 첫 번째 페인트를 차단
- MagneticButton/RippleButton을 통해 데이터-* props를 전달합니다. - 악기 SharedNavigation, 영웅, PreviewBanner, 섹션 CTA; ?ref= 각 등록 링크 - 죽은 삭제 *********** + 16 다른 orphan 성분 - 홈페...
진행중인 탁월한 업무
단계와 헌신적인 as-is 그래서 아무것도 작동하지 나무에서 uncommitted 남아. 4 파일 변경, 72 삽입(+)
Flaky egress에 대한 kubectl 다운로드를 Harden [skip ci]
dl.k8s.io 런너의 egress 간에 실수로 중간 전송을 삭제: 컬: (56) OpenSSL SSL read: 해독 실패 또는 나쁜 기록 맥 그렇지 않으면 녹색 빌드에 배포되지 않습니다. 반복적으로 관찰 kamo-signer-monorepo 및 카모 번역 사전. 추가 --retr...
시동기는 5명의 사용자, 25에 사업에 넣었습니다
/pricing에 게시 된 좌석 캡을 배치 (과 계산기, JSON-LD는 구독과 일치하기 위해 llms.txt summaries를 제공합니다. 카탈로그 : 스타터 25 -> 5 사용자, 비즈니스 100 -> 25 사용자.
호스팅 된 <kamo-chat>로 포크 된 채팅을 대체하십시오. 레거시 프록시 위젯 삭제
Forked AI/live-support React 채팅 교환 (PublicChatWidget + AiChatPanel + LiveSupportPanel + /api/chat/** 서버 프록시 경로) 호스팅, self-theming <kamo-chat> 사용자 정의 요소에서 제공 ***...
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...
정기적인 STOMP 존재 심박수
Redis TTL for public session 존재 그래서 에이전트는 정확한 온라인 상태를 참조하십시오.
라이브 밀리 초 카운트 다운과 활성 제안 배너보기
Home 페이지에 활성 프로모션 서버 측을 Fetches하고 렌더링합니다. HeroOfferBanner는 하위 헤드 라인과 무료 통화 중입니다. 배너는 할인 금액, 기간 및 라이브 카운트 다운을 보여줍니다. *********** at 50ms) 애니메이션 gradient-glow 국경과...
애니메이션 컨트롤을 통해 최소화된 tab 엔트리를 구동
Animate={...} 를 animate={tabControls} 로 바꾸기 생기: tabControls에는 산에 queued 표적이 없습니다, 그래서 단추 체재했습니다 처음 { y : 100 } 위치 (아래 화면). useEffect 추가 명시적으로 y를 시작 위젯State에 key...
Live 읽지 않은 배지 + 새로운 에이전트 메시지에 반송
- 위젯이 최소화되는 동안 LiveSupportPanel 마운트 오프 스크린 유지 (지원 세션이 존재하는 경우) 그래서 STOMP 구독은 살아있고 onUnreadMessage 화재가 들어오는 에이전트 메시지 방문자가 채팅을 찾고 있지 않습니다. - 모든 카운트 변경에 스프링 스케일을 가...
SSR 가드를 제거하여 수분 잡기를 유발합니다. 웹소켓을 위한 드롭 SockJS
- Hero.tsx : ParticleField 주변의 Typeof 창 체크 제거 - 이미 ParticleField ssr:false 그래서 감시는 서버/클라이언트 나무 mismatch (React #418)를 생성했습니다 - LiveSupportPanel.tsx : @stomp/sto...
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...
BoostHydrationWarning 및 수정 깨진 placeholder 이미지 추가
억제HydrationWarning on <html>는 React 오류 #418을 브라우저에 의해 발생시킵니다. extensions (e.g. 번역, 어두운 모드) SSR과 html 속성을 mutating 고객 수화. placehold.co를 사용하여 via.placeholder.com...
SendMessage에 중복 connectStomp 호출 제거
첫 번째 메시지가 새로운 세션을 만들 때, onSessionCreated update props useEffect를 트리거하여 connectStomp를 호출합니다. sendMessage의 인라인 호출 redundant 였고, useEffect 의 splitStomp에 의해 즉시 사망 할...
Repo에서 kamo-capcha-widget node modules 제거
드롭 트랙된 파일 아래 *********** 그래서 나무는 깨끗한 설치 (dependencies는 패키지 잠금에 속합니다, git).
Changelog 링크 및 일일 카운트와 실시간 상태 표시
미리보기 카운트다운 및 signup 복사를 컴팩트 한 "Now LIVE"로 대체하십시오. callout, changelog 링크를 유지, 항상 오늘의 변경 카운트를 표시 API에서 로드 후. locales를 통해 previewBanner 문자열을 업데이트합니다.
Render system event as friendly text in 방문자 지원 채팅
NAME CHANGED 시스템 이벤트는 더 이상 채팅 버블에 JSON을 표시하지 않습니다. 그들은 중심의 italic pill로 표시 ("이름을 {name}로 변경). 다른 시스템 이벤트는 조용히 무시됩니다.
LiveSupportPanel STOMP 핸들러의 Skipors MESSAGE 에코
방문자 메시지는 이제 태그 messageType=VISITOR MESSAGE 로 backend. STOMP 구독에서 이것을 건너 뛰기 그래서 방문자의 자신의 메시지는하지 않습니다 응답을 지원하는 경우 왼쪽에 다시 나타나십시오.