우리의 가격은 카탈로그에서 옵니다, 다시 입력될 수 없습니다
비교 페이지는 $ 29 스타터 및 $ 64 비즈니스에서 KamoCRM을 해독 카탈로그는 $ 34 및 $ 72에서 판매했습니다. Nine 파일, forty-two 언급, 그리고 build was green the whole time — the price in prose 이다 다만 pros...
좌석 당 우리의 자신의 가격을 인용하십시오, 사용자 당 아닙니다
경쟁 업체 페이지는 KamoCRM 단위로 판매하지 않습니다. - "$29/user/month Starter, $64/user/month Business" - 경쟁자를 설명하는 동일한 페이지에 사용자당 우리의 좌석 당 읽습니다 지금; 그들의 것은 그것 가격을 정확하게 좌우됩니다, 비교의 ...
해당 이용 후기에 달린 코멘트가 없습니다
세 개의 상부 낙하 계획은 상속을 수행하지 않기 때문에 냉간 구조에 - 신선한 배포가 첫 번째 revalidate까지 봉사하는 것은 - Starter "5 석까지"를 보여주고 다른 것도 없습니다. 지금 저장으로 한 번에 무료, 독자는 스타터를 배울 수있는 방법이 없습니다. 사업 및 기...
1개의 저장 관용, 좌석은 사용자를, 멈추고 prose
저장은 각 계획에 좌석 당 4개 GB입니다. 카드는 특별한 케이스가 필요하지 않습니다. 반복을 멈추십시오: ladderFeatures는 이미 1에 층의 델타를 보여줍니다 아래에서 네 개의 행을 똑같게 만드는 것은 스타터에서 줄을 제거하는 것입니다. 사업 및 기업. 기업은 조직을 위해 ...
녹색 텍스트를 입력하고 좌석 당 저장을 전환
관련 기사 나는 단지 단단한 gradient 단추를 마지막으로 고정하고 녹색 잉크를 떠났습니다 Green-tinted 표면에서 실제로 나쁜 것을 읽는 것은 일입니다. 감사합니다. 모든 악센트 쌍: 모든 8은 녹색에 녹색이고, 3는 outright 실패했습니다 - 3.61 : 1의 추가 ...
스타터는 5 석, 비즈니스는 25
나는이 권리를 가지고, 그 후 나쁜 소원에 그것을 반전 25 / 100. 볼륨 할인 밴드 (스타터 11-25, 비즈니스 26-50, 51-100) 좌석 삐걱거리는 줄과 제목에 대해 아무것도 말하지 않는다. 나는 그것을 증거로 대우했습니다 천장은 더 높았고, 1개의 주위 artifact...
Plan card show what tier add, 아니 모든 그것 있다
모든 포함 된 기능에 나열 된 카드 - 16 무료, 30 스타터, 52 온 비즈니스, 기업에 57. 야생의 4 카드 적절 한 높이, 각 벽의 텍스트, 그리고 비교 테이블의 주변 완성 복원 사이 직접 underneath 앉아. 계획은 누적이므로 카드가 "무엇인지 이것은 저를 더 싼 것을...
빌드를 깨우기 - 내가 발생하지 않는 청소
c8ec175는 빈 재건을 의미한다. 그것은 하지 않았다: `git commit --allow-empty` PERMITS 빈 결과, 그것은 하나 강제하지 않습니다 - 그것은 여전히 커밋 인덱스, 그리고이 공유 체크 아웃 다른 세션의 PreviewBanner. tsx 및 globals.c...
Rebuild to pick up the early-bird offer copy
The dictionary change landed after the last build, and messages/ is pulled at build time.
좌석 헤드 라인은 기본적으로 천장이 아닌
이 카드는 플랜.maxSeats에서 "최대 5 사용자"를 인쇄했습니다. feature list reading “Users (25)” 과 비교 열 독서 25 - 동일 카드는 5의 요인에 의해 자체에 동의. maxSeats는 잘못된 소스입니다. 아무것도 그것을 시행, AccountSubs...
이 페이지는 스스로를 피하고, 계산기는 사용자 당 이메일을 청구
잘못된 계획이라는 배지를 포함. 4개의 각 좌석 단위는 안으로 포함됩니다 사업 및 기업, 배지가 FIRST ID를 포함 InPlanIds에 대하여 가장 낮은 층보다 오히려 - 그래서 그것은 "Environment+에 포함, 전송 $59 비즈니스가 수행 될 때 판매에 문의하는 스타터 리더...
Give the phone add-ons a phone icon
PER_EXTENSION already renders as "extension/month" - addOnUnitLabel handles it and needs no change. The icon map does: it is keyed on the lowercased catalog cod...
Per-mailbox add-on는 사용자 당 가격이 아닙니다
PER MAILBOX는 기본 암으로 떨어졌다, 그래서 공공 가격 페이지 이메일에 대한 "/user/month"로 두 개의 전자 메일 애드온 광고 가격. PER EXTENSION은 PBX 애드온 랜딩을 앞두고 있습니다.
Alias 폴더에서 플랫폼의 브랜드 읽기
테마 폴더는 hostname에서 파생되었습니다. - kamocrm.com은 kamocrm-com이되었습니다. - 도메인이 선택되었을 때까지 브랜드가 작성된 곳 조직의 별명은 폴더를 명명했습니다. 그 폴더는 여전히 존재한다 (이전보다 움직여 이동) 하지만 아무것도 더 많은 것, 그래서이...
상단 배너에서 헤드 라인을 드롭
Kamo없이 "당신의 사업을 즐기는 것은 실수입니다." 고정 최고에서 보고로 배너. 변경 전에 확인 된 라이브 — 실행 팟 제공 그것은 내부 `.preview-banner-headline`. 배당자는 그것으로 간다. 두 구문 사이 분리기이며, 헤드 라인은 "|"의 앞면에서, 모바일 `...
회원의 방문을 자신의 링크로 계산
자신의 추적 링크가 가장 일반적 인 것을 확인하는 회원 어떤 코드를 이제 얻을, 그리고 그것은 쓸모 보다 더 악화: 그것은 번호를 팽창 그들은 측정, 그것은 방문자의 실제 전망에서 indistinguishable 서랍, 그리고 그것은 영구 방문자 쿠키를 유지 하 고 나중에 방문 다시 계...
추가 요금에 센트를 표시하십시오
추가 저장은 10 GB 블록 당 $ 2.50이며 카탈로그는 다음과 같습니다. 숫자 — 그래서 2.50는 2.5로 도착하고 카드로 곧 렌더링 "+$2.5", 이는 가격보다 오타처럼 보입니다. 센트가 존재하는 유일한 형식. unconditional toFixed(2)는 고정되어 있습니다....
인용 표에 있는 headline를 놓으십시오
배너 라인 주위에 인용, 요청으로 — 하지만 CSS에서 렌더링 (`open-quote`/`close-quote` against `quotes: auto`) 오히려 타입보다 문자열, 두 가지 이유. 파이프 라인은 이미 "previewBanner.headline"을 19 지역으로 번역했습...
Dictionary에 대하여 e67f59b를 재건하십시오 그것을 필요로 합니다
e67f59b renamed 미리보기Banner.now 라이브 -> previewBanner.headline 및 푸시 매칭 kamo-translation-dictionary commit (f4627d31) 전에. 회사연혁 단계는 실행 시간에 dictionary unpinned를, 그래서...
현재 LIVE 배지를 거래하여 헤드 라인에 숨겨져 있었습니다
상단 배너는 6-character 알약으로 주도 - 경계, 상부, 진동 - 그 후 실제 메시지를 넣어. 지금 알약은 메시지를 자체로 운반 : "카모가 없는 사업은 실수입니다." 배지 크롬의 아무도는 그 생존. 전체 문장의 1px 상자 읽기 버튼으로, `text-transform: up...
"매년 청구"의 연간 비율을 인용
홈페이지 카드는 카탈로그 및 인쇄에서 월별 요금을 읽습니다. "매년 청구"라고 말하는 라인 위, 그래서 스타터 광고 $34 및 비즈니스 연간 약속이 $28 및 $59일 때 $72. PagePlan.annualPrice는 이미 1 년 동안 per-user/month 그림, 그래서 동일한 ...
모든 응답을 압축, 그냥 문서
server-nonce.js는 `identity`를 위해 업스트림을 요청하므로 HTML은 스탬프 될 수 있습니다. decompress/recompress 왕복 없는 CSP nonce로, 그 후에 밖으로 길에 recompresses. HTML에서만 구현되었습니다. 제품정보 다른 모든 것 ...
배수는 idle 기간 당 1개의 품목을 실행합니다
4 개의 구성 요소가 수행하기 전에 조용한 이동하기 위해 그들의 일 - 토스트 / 일관성 번들, 스크롤 크롬, 터치 대상 스윕과 추천 비콘 — 각 호출 requestIdleCallback 자체. 각각은 그 자신과 잘못에 맞았습니다. 함께: 브라우저는 콜러 당 유휴 기간을 끄지 않습니다,...
관찰자에서 스크롤 위치를 읽으십시오. 레이아웃
Nav의 scrolled/at-top 상태는 스크롤 핸들러에서 읽었습니다. window.scrollY, 그리고 그 핸들러가 동시에 호출되는 마운트 효과 React의 커밋 단계에서. 스크롤을 읽으십시오. 첫 번째 페인트 전에 자리에 레이아웃을 계산하는 브라우저 일어난, 정확하게 강제적인 ...
Build-time brotli로 정적 자산
덩어리 펑크는 반응-dom이며, 나는 그것을 concluding하기 전에 제대로 검사 아무것도: 그것은 생산 건축 ( dev 감적 없음, 및 profiling 걸이입니다 `injectProfilingHooks`와 `markComponentRenderStarted`는 모두 absent입니...
사용하지 않는 preconnect를 삭제하고 brotli의 565 ms를 수정했습니다
두 가지 발견과 두 번째 사람이 내렸다. 문서 모음 1,259 ms WRAPPER의 BECAUSE. 라이브 사이트에 대한 측정 : HTML은 정적 동안 ~900 ms에 응답 자산은 59ms에 응답했습니다. 차이는 `zlib.brotliCompress`라고 불립니다. QUALITY 1...
헤드 라인의 swept 밴드를 다시 넣어
정확히 그것이었다 — 동일한 2 층 기온변화도, 동일한 120deg 밴드, 동일 9s/1.1s 타이밍 및 easing - 작곡 패스에서 제거 한 후. 비용이 정확하고 가치는 적색하기 때문에 떠나는 것보다 : 그것은 합성할 수없는이 페이지의 한 애니메이션입니다. text-clipped ...
Compositor에 각 반복 애니메이션을 이동합니다
모든 26 요소 Lighthouse는 "avoid non-composited Animation"에 나열되었습니다. 4개의 장소에 있는 동일한 실수: 페인트 재산을 animating. 관련 기사 Chrome via getAnimations(), 이는 감사가 검사하는 것을 정확히보고. 바...
"소리가 허용되지 않습니다"의 침묵 버전을 잡아
아직까지. 배포된 사이트에 대한 테스트 탭 - 투 - 플레이 실패 모드 muted fallback은 커버하지 않았다. 거절된 `play()` 거부, 그리고 이미 처리되었습니다. 조용한 실패는 악화 : 브라우저가 약속을 해결하고, `paused : false`와 건강한 보고서 ready...
Microservice 조사는 64+, 30+를 읽습니다
숫자는 지금 64+ 서비스입니다. 5개의 untranslated 표면은 아직도 30+ 주장했습니다: 홈페이지의 기술 응답 FAQ JSON-LD (검색은 무엇입니까? 결과 인용), 약 및 보안 페이지 메타 데이터 설명, 모두 llms 파일, 그것은 두 번 등장. 번역된 복사본 — 기능 ...
회색 펄스 대신 릴의 여전히 표시
Public/img/hero-still.webp - 1280x720를 추가하고, aperture의 16/9을 일치시킵니다. 정확히 — 그리고 영웅이 누군가가 플레이 할 때까지 보여줍니다. 이 또한 버그를 수정 탭 투 플레이 변경 도입 및 나는 놓쳤다. 더 보기 <video> 요소는 `...
63 HTTP 요청 아래로 22
Request-budget 보고서를 구현합니다. 같은 방법을 측정했다 — 디버깅 프로토콜에 크롬, 모바일 에뮬레이션, 여섯 번째 창. 63 요청 -> 22 4,936 KB -> 830 KB REEL은 TAP-TO-PLAY이며, 모든 DEVICE에서 SOUND를 시작합니다. Auto...
추천 파라미터는 ?discount=이며, 토큰은 UUID입니다
회원 공유 링크는 ****************입니다. 그것은 ?mrt=<memberId>.<iteration>, 모든 공유 URL에서 실제 회원 ID를 넣어 회원이 .1에서 계산하여 다른 캠페인에 대해 알아볼 수 있습니다. validator 변경 모양과 함께 — UUID 패턴 대신 ...
릴은 hls.js를 사용하지 않고 휴대폰이 지불되었습니다
Chasing "make fewer HTTP request"는 두 가지 실제 일을 찾았고 두 번째는 훨씬 그것에 지도한 감사 보다는 더 큰. HLS 범위 NOBODY WAS 태킹. HeroStage는 요소가 될 때 기본 HLS를 선택합니다. 그것을보고, 사파리 케이스와 같은 의견 fr...
런너의 이동 corruption를 통해 Retry npm ci
빌드가 실패했습니다: npm 오류 코드 ERR SSL CIPHER OPERATION FAILED ossl gcm stream update:cipher 작동 실패 그것은 GCM 인증 태그 mismatch - 바이트가 변경되었다, TLS 거부 그들, npm 낙태. lockfile 또는 ...
모든 콘솔 오류 및 DevTools 문제 해결
대신 디버깅 프로토콜을 통해 Chrome과 진단, Lighthouse의 오류에 대해 정확히 수집하고 검사 조직 감사 수집 : Runtime.consoleAPICalled, Runtime.exception 자위, Log.entryAdded, 네트워크 로드 실패 및 감사.issueAdded...
엄격한 역학을 가진 진짜 per-request CSP nonce를 시험하십시오
스크립트-src에 대한 나머지 높은 발견을 모두 삭제: 'unsafe-inline'하나와 "host Allowlists는 자주 우회 할 수 있습니다". 'strict-dynamic'로만 비만 맑음, 다음 중 하나를 공급할 수 없습니다. prerendered 페이지 — nonce는 응답...
신뢰할 수 있는 유형, path-scope 스크립트 허용 목록 강화
Trusted Types 지시어로 "No Content-Security-Policy 헤더를 지우지 않음 찾을 수 있습니다" 이동에 의해 찾기-신뢰 형-에 대 한 시행 정책. 이것은 두 번째 추측보다 오히려 증거입니다. 배송 방법 먼저 콘솔은 ZERO Trusted Types 위반으로 ...
콘솔을 청소하고 정적 렌더링을 복원 I broke
콘솔에서 세 가지, 다른 두보다 훨씬 더 큰. 더 큰 하나. "Fetch failed로드"라인을 미리 표시 페이로드, 그리고 그것은 222 바이트의 벌거벗은 경로 트리 없음 세그먼트 또는 펑크 참고. 빌드의 노선 테이블은 왜 말했다 : 74 노선은 ●에서 ƒ로 갔다. 나는 2 개의 커...
Trusted Types 정책은 다음/script에 의해 거절되었습니다
보고서 전용 콘솔은 두 개의 위반을 보여주고, 그들 중 하나는 정책이었다 성분의 자신의 일: 이 문서는 'TrustedScript' 할당을 요구합니다. 이 스크립트 요소는 TrustedScript 할당 없이 수정. 즉, 다음/script입니다. 그것은 단지 인라인 스크립트를 방출하지...
CSP 및 COOP 시행; 신뢰할 수있는 유형 보고서 전용
다시 땅 보안 헤더 내가 그들을 아래로 사이트했다 후, minus 그것을 한 지시어, 빌드 가드를 추가하면 다시 일어날 수 없습니다. BROKE. `require-trusted-types-for 'script'`는 정책이 있는 경우에만 유효합니다. `default`는 첫번째 DOM 싱...
"feat(security): CSP, COOP 및 신뢰할 수 있는 유형 시행"
이 뒤틀림 ****** ***************************************************************************************************************************************************...
CSP, COOP 및 신뢰할 수있는 유형 강화
신뢰와 안전 감사의 세 가지 헤더를 추가, 플러스 Referrer-Policy 및 권한 정책. 본 방침의 모든 기원은 사이트가 실제로 추측보다로드하는 것에서 - 채팅 위젯 번들 theme.kamocrm.com에 (웹소켓을 미디어에 엽니 다. 그리고 api를 호출합니다. 그리고 capch...
모든 스크롤 프레임에 문서를 다시 측정
홈페이지에서 두 개의 스크롤 청취자는 이벤트 당 `scrollHeight`를 읽습니다. 그것은 레이아웃 쿼리, 그리고이 페이지는 반복적으로 만들 수있는 최악의 장소: 그것의 섹션 사용 `content-visibility: 자동`, 그래서 지속적으로 잘못된 스크롤 레이아웃과 깨끗 한 것에...
휴대폰에 드롭 백 드롭 필터
홈페이지는 `backdrop-filter: blur(20px)`를 수행하는 94 요소입니다. 모든 것 하나는 그려진 모든 것을 읽는 것을 가지고 있는 분리되는 compositing 층입니다 뒤에 그것은 장치 해결책에 gaussian blur를 달고, 그 중 4개는 안으로 있습니다 sti...
Footer와 클라이언트에서 스크롤 크롬을 가져 가라
세 가지 변화, 페이지가 판단되는 창에서 모든 제거 작업. `(pages)/layout.tsx`는 `"use client"`를 수행하며, 아무 상태도 필요하지 않습니다. 효과, 핸들러 없음, 함께 구성된 세 요소. 지시어는 잘못된 방향으로 로드 베어링 : 클라이언트 경계를 배치하여 모...
LCP 엘리먼트의 3개의 리소스를 중지
LCP 고장은 남은 시간이며, 두 개의 로딩 하위 부분입니다. 자원 부하 지연의 270 ms, 로드 내구의 500 ms — 우선 문제, 크기 문제가 아닙니다. 요소는 영웅 배경, AVIF의 14.8 KB, 그리고 그것은 44ms의 캐시에서 봉사합니다. 무엇 그것은 준수, 모든 주장 높은...
고정 위치 배너는 스크롤 구동 표시를 사용할 수 없습니다
프레임 스윕에서 떨어지는, 그것은 중요하기 전에 잡았다. 관련 링크 `animation-timeline`으로 구동되는 `.reveal`에 입구 애니메이션: view()` - 스크롤러를 통해 요소의 자신의 진행. 관련된 쿼리 확인 배너는 '위치 : 고정'이므로 아무도 입력하지 않습니다 :...
Gsap 제거, 홈페이지에서 두 번째 애니메이션 실행 시간
Framer는 chunk Lighthouse라는 이름이었습니다. GSAP는 그것을하지 않았기 때문에 "사용되지 않는 JavaScript" 밖에 떨어지는 정도로 늦은 도착하지만 69 KB입니다. 자신의 펑크와 그것은 모든 홈페이지 부하에 흠뻑 취하고, 이유 평평하게 빛나는 가치: Home...
플랫폼은 YugabyteDB, CockroachDB를 실행합니다
성능 작업과 관련된 - 홈페이지의 인라인을 읽는 동안 발견 페이로드, 문자열이 FAQ 답변에서 설정. CockroachDB는 2026-08-12의 함대에서 은퇴했으며 플랫폼이 실행되었습니다. 유가바이트DB 7 개의 공개 문은 여전히 이름을 붙이고, 그들은 사건이 아닙니다. 언급 : 2...