끝 세부 사항 첫 번째 패스 왼쪽 거친
나인 작은 보정, 각 눈에 보이는 증상. 서랍은 공백 패널의 ~0.4s에 열었습니다 : `loading`는 false를 시작하므로 첫 번째 을 통해 떨어졌다 null 분기 및 빈 프레임을 장착 Crossfade는 골격전 전에 OUT을 재생해야했습니다. 진정한 시작 지금, matchin...
추천 비콘을 중지하고, 방문을 제대로 보고
배송하는 것에 대한 두 가지 보정, 이 기능을 복원 모두이었다 자주 묻는 질문 beacon은 분석 동의 기록에 자체를 지적했다. 즉, 개인 정보 보호 승리는 하나가 아닙니다 : 추천 기록은 파트너가 PAID입니다. 에 대한, 그래서 감소 분석은 번호를 수축하지 않았다, 그것은 방문했다...
Repository 쿼리를 renamed 추적
findVisitorsForCode 및 findTimelineForVisitor는 파생된 찾기를 대체합니다. 이제 id tiebreaker와 NULLS LAST를 수행합니다. 변환 소비자는 findFirstBy... finders that tolerate the duplicate vis...
두 페이지의 추적 읽기 deterministic 확인
두 페이지의 쿼리는 넥타이에 주문, 타이 브레이커없이, 그래서 데이터베이스는 페이지 fetch 당 다른 순서에 묶인 행을 반환하는 것은 자유롭습니다 — 독자 한 줄을 두 번 보여주고 또 다른 숨깁니다. 그것은 드문 넥타이 없습니다 OCCURRED AT는 @CreationTimestamp...
3개의 노선 묶음을 홈페이지로 이동
Lighthouse's 103 KiB 의 "사용되지 않는 자바 스크립트" 라는 4 개의 펑크, 두 개의 근본적으로 100% 사용하지 않는. 그들 중 아무도 홈페이지의 HTML에 나타났습니다 - 그들은 다른 경로의 코드, 로 끌어 <Link> prefetch 때문에 nav 및 footer...
Backdrop 폭을 이름, 그리고 서버에서 테마 구성을 읽으십시오
두 가지 발견, 둘 다 어떤 코드가 말했다. 뒤로프 웨이는 1920 피스를 장식합니다. 149 KB, 장식 그림 412px 전화의 내용 뒤에, 와 함께 `sizes="(최대 폭: 768px) 50vw, 100vw"` 다른 말을 앉아. 원인은 내가 자신을 추가 한 규칙입니다 2 커밋 전...
Referral placeholder의 장소에 있는 추적 부호를 건설하십시오
/marketing/discounts는 ComingSoon 스텁이었다; 그것은 지금 /marketing/tracking, a 이전 경로와 함께 작업 작업 공간은 클라이언트가 기존에 리디렉션으로 유지 책갈피는 여전히 땅. 탭은 "추가 코드". 회원은 코드를 축소하고 페이지는 생성 된 링...
Signup에 대한 마케팅 추천
마케팅 사이트 태그 a 참조 방문자 with kmrt vid 과 kmrt src 에 공유 apex, 그래서 register.<apex> 그들을 읽을 수 있습니다; handleFinish는 둘 다 안으로 보냅니다 요청 몸, ?mrt=에 떨어지는 코드를 때 방문자와 함께 도착 링크는 여전히...
파트너 링크 및 그것을 가져 오는 것을보고
Https://www.<apex>?mrt=<code>를 따르는 방문자 을 얻 2 첫 파티 쿠키 가장자리 미들웨어에서 - 2 년과 코드를 지속하는 opaque GUID 9 일 동안 자체 - 그리고 그 후 열 모든 페이지는 한 번보고됩니다. sendBeacon에 의해 idle에서. 도메인...
추적 된 방문자를 위해 서명 및 org 생성
등록 사이트 이제 마케팅 방문자 GUID 및 추적 코드를 전달 요청 몸 - 헤더가 아닌, 프록시 스트립 쿠키 및 진입 때문에 rewrites X-Forwarded-Host - 및 register()는 signup 신호에 전달합니다. 그들은 존재한다. 대부분의 가입은 수행하지 않고 아무것...
추적 된 조직에 대한 유료 변환 게시
이제 BillingSourceType.PAID가 마케팅.visitor.paid를 게시하는 두 경로, 단 하나의 침묵으로 절반 트래픽을 놓기 때문에 - AccountSubscription (주) 콘솔의 자신의 구독을 처리, ConsumerCheckoutService 스트립 체크 아웃. ...
추적 비콘을 MediaService로 전달
Clones forwardPublicWebinar 오히려 일반적인 운송 () : 그 방법 모든 URI, 헤더 맵 및 몸 길이를 인쇄하여 레벨을 사용하지 않고, 방문자 비콘은 IP와 참조를 수행. API 키는 여기에 속도 제한 및 학대 통제이며, 공상 경계가 아닙니다. 한국어 마케팅 팟...
추적 코드 탭을 시도하고 방문자 비콘을 ingest
MediaService는 이미 다른 마케팅 탭을 백업, 그래서 두 반 모두 걸립니다 추적 코드: 인증된 CRUD 및 통계 표면 /api/media/marketing/tracking, 그리고 APIService의 뒤에 대중적인 소화기 제품 정보 ingest 핸들러는 아무 것도 유효하지 ...
모델 추적 코드, 방문자 및 방문 그들은 가져
회원은 코드, 공유 *** ****** 및 트래킹 코드 탭의 6 총은 실제로 그 링크를 대답 : 독특한 방문자, 방문, 페이지 요청, 가입, 조직 생성 및 지불 계정. 4개의 테이블은 그것을 나릅니다. MARKETING TRACKING CODES는 코드 문자열 자체를 저장합니다. 오히...
Provision MARKETING EVENTS 방문자 변환 신호
마케팅 추적 코드는 Signups, 조직 및 파트너를 적립 지불된 계정 그들의 링크 생성, 그리고 그 세 순간 서비스에 발생 그것은 추적 테이블을 소유하지 않습니다 : SecurityService 게시 마케팅.visitor.signup 및 마케팅.visitor.org-created, 빌...
이미지를 더 열심히 압축하고, 카드를 아직도 잡고, 중복 요청을 드롭
이미지. 페이지의 모든 품질 설정은 단계 아래로 이동, 허용 목록 next.config.ts는 [30, 50]로 이동하여 더 자주 요청할 수 없습니다. 영웅 배경 (LCP) 40 -> 30 21,959 -> 750px rung의 6,635 바이트 단면도 배경막 75 -> 50 영웅 비...
영웅을 분할하고 마지막 두 개의 라이브러리를 페이지
단계 C. Neither GSAP 또는 Framer Motion은 홈페이지에 더 이상 있으며, `home` 메시지 네임스페이스는 더 이상 브라우저로 전송되지 않습니다. JS 241,999 -> 214,135 gzip (15 펑크 -> 13) 문서 53,877 -> 51,797 gzip...
7개의 단면도 정지 hydrating
단계 B. TrustBar, WhatReplacesWhat, HowItWorks, UseCases, 기능, CTAStrip 및 가격은 서버 구성 요소입니다. 그들은 HTML에 렌더링하고 자바 스크립트를 발송하지 않습니다. 클라이언트에 그들을 유지 한 유일한 것은 분석이었다. 이름 * ...
홈페이지에서 애니메이션 실행 시간을 완전히 잡아
수화 작업의 A 단계. Framer Motion은 홈페이지의 eager에서 사라집니다. 번들: 798,723 -> 687,593 바이트 원료, 245,367 -> 209,422 gzip. 즉 35,945 철사에 몇몇 바이트, 측정에 의해 한 36,444의 예측에 대하여 펑크 전손, 그리...
HLS 재생 목록을 immutable 만들고, 그 비용을 말하는 것
재생 목록은 Lighthouse의 캐시 수명 감사의 마지막 항목이었다 — 300s 원래, 그 후 시간, 여전히 보고. 다른 모든 ladder이었다 이미 immutable; 재생 목록은 예외였다, 그리고 1 KiB 그들은이었다 자주 묻는 질문 그들은 지금 년 동안 immutable, 여...
영웅 앞에 8개의 오프 스크린 단면도를 멈출 수 있습니다 페인트
LCP는 4.4 s이고, 그것의 고장은 어디에 말했다: 120의 ms에 첫번째 바이트, 290 ms의 로드 지연, 390 ms 실제로 이미지를 다운로드 — 그리고 그 후에 1,810 ms의 "element 렌더링 지연". 그림은 도착을 완료하고 단순히 할 수 없었다 그려집니다. 홈페이지...
차단 시간의 380ms를 요하는 두 가지 변경, 그리고 조용한 전화
마지막 두 라운드는 87에서 67로 점수를 받았습니다. 총 블록 시간에서 갔다 80 ms에서 460 ms 및 LCP 3.9 s에서 4.4 s. 내 자신의 변화의 두 가지는 그, 그리고 둘 다 동일한 나쁜 이유를 위해 만들었습니다. 실제 수업이기 때문에 첫 번째를 자극하는 이유는 다음과...
빈 구독 힌트를 단축
설명 열은 {No Description} "No description의 장소에 ... 문자열은 hardcoded 영어였다, 그래서 지금에서 온다 dictionary - 메시지 이후 구성 요소에 적용되는 braces와 그(것)들을 ICU placeholder로 파멸될 것입니다.
주문 및 제목 문서 탭
지금 스트립을 읽습니다 Originals | Modify(n) | 수정 | 바인더 | Common | 업로드 및 Common는 이제 라이브러리에 대한 기어 아이콘을 배포합니다. 더 긴 말한다 "시스템". 각 탭은 명시된 `value`를 입력하므로 시각적 주문 ActiveTab을 renu...
Headline 청소를 compositor로 이동하고, 채팅 위젯 오프로드
마지막 라운드에서 왼쪽 두 가지 것들, 두 개는 오히려 수행하기 때문에 각 거래 뭔가. 그대에게 HEADLINE의 LIGHT PASS입니다. 유형 구획에 두번째 배경 층이었습니다, 'background-position'에 의해 이동 - 페인트 속성, 그래서 모든 프레임 랜 메인 스레드...
본문내용 바로가기 주메뉴 바로가기
편집기는 `note로 버퍼를 시드. 내용 ||''', 그 다음에 비해 '' 들어오는 null에 대하여 회원은 수정되지 않았습니다. 2 초 나중에 autosave PATCHed the 빈 몸 위에 주의. 키 입력이 필요 없습니다 - 서버가 decipher가 멸망할 수 없는 내용이 끊어지지...
재시작 대신 암호화 키 유지
생산에 있는 각 주 몸은 읽을 수 있었습니다. NOTES MASTER ENCRYPTION KEY는 어디에서나 설정하지 않고, 배포된 ConfigMap은 수행하지 않습니다. 노트: 모든 블록 - 그래서 메모.master-encryption-key는 빈으로 해결 getUserEncrypti...
자주 묻는 질문
몸이 수식이 아닌 내용으로 돌아올 수 없다는 점 다른, 정확히 어떤 빈 노트는 와이어와 같이 보인다. 클라이언트는 할 수 있었습니다 차이를 말하지 않고 그 사정 - 편집기 - 해결 파괴적인 방법: 그것은 unsaved 편집으로 공백을 대우하고 그것을 위에 autosaved ciphert...
그들을 렌더링 이미지 서버 측, 그리고 브랜드 텍스트 읽기
홈페이지의 모든 배경은 TWICE 다운로드되었습니다. 제품 설명 로컬 `/img/bg/N.webp`를 렌더링 한 다음 org의 테마를 해결했습니다. 마운트의 경로와 소스를 대체 — 그래서 브라우저는 모두 fetched. 에 의해 로컬 bg/2 플러스 100.7 KB를 측정한 사이트 배포...
Org의 색상의 지식 콘솔을 페인트, 고정 보라색
재건은 globals.css 인 --accent-knowledge에서 크롬을 인수했습니다. #8b5cf6로 선언합니다. 그 변수는 조직의 브랜드로 이동하지 않습니다, 그래서 플랫폼의 모든 고객은 그들의 모든 violet 지식 기초를 얻었습니다 팔레트는 - 선택 경계, 초점 링, 기본 버...
모든 텍스트 자산 원료를 제공 한 테마 호스트를 압축
MinIO는 저장된 객체 바이트를 정확히 반환합니다. 협상하지 않습니다. Content-Encoding — 그리고 두 개의 테마 IngressRoutes는 `strip-hsts`를 수행하고 `cors`하지만 압축이 없습니다. 그래서 모든 텍스트 모양의 테마.kamocrm.com 갔다 모...
스타일 시트를 인라인, 그리고 드롭 polyfills 아무것도 도달 할 수 없습니다
두 개의 Lighthouse 발견, 마지막 라운드 이후의 숙박 모두 나는 그들이 접근 할 수없는 결론을 내렸다. 그들은 있었다; 나는 열심히 보이지 않았다 뚱 베어 RENDER-BLOCKING REQUESTS (560 미터). stylesheet는 단지 차단 요청이었다 페이지에 왼쪽과...
이름 이름을 가지고 있지 않은 제어, 4.5:1 아래 텍스트를 들어 올리십시오
세 개의 분리 된 결함, 모두 빌드에 보이지 않는, 유형 체크, lint 런 및 기존 가드 모두. UNNAMED CONTROLS - 전화 레이아웃의 내비게이션 토글은 베어 아이콘, lucide 자신의 <svg aria-hidden>를 표시하고, 단추는 상표를 붙잡지 않습니다, 그래서 ...
배송 중지 1.8 수화 후 크기의 배경의 MB
ThemedBackground는 홈페이지에 남아있는 가장 비싼 것, 그리고 아무도 버그처럼 보입니다. 테마 버킷에서 직선으로 원시 <img>를 렌더링했습니다. 브라우저는 untouched 소스 파일을 받았다 — 606, 646 및 585 KB, WebP, 에 전화에 가득 차있는 해결책....
수화에 대한 접이식 대기를 중지하고로드 창을 취소
홈페이지는 전체 접점이 가능했습니다. Framer Motion 직렬화 `initial` prop into the prerendered HTML as a 인라인 스타일, 그래서 마크 업 <h1>, 복사열, 릴 가늠구멍 및 전체 표백 `opacity: 0`에서 모두 배경 - React가 될...
탐색 타이밍 프로브 제거
그것은 그 일을했다. 답변에 추가 된 질문 - 나머지 지연이 무엇인지 네트워크, 스크립트 또는 페인트 - 발견 된 4 번째 대답을 설정 제거: 11개의 진짜 표본의 맞은편에 ZERO 클라이언트 측 항법이 있었습니다. 모든 것 클릭은 전체 문서 부하, 이는 분석 추적기의 지문 납치 링크 ...
테이블 시작으로 다시 스캔 대신 하나의 후보 블록을 참조
/api/send는 1.8-7.9 s를 대부분의 주소와 단 하나 손가락 ms에 대 한 했다. 로드 문제가 아닙니다 - geolite 쿼리의 모양입니다. getLocation()는 이벤트가 작성되기 전에 대기, 그래서 늦게는 브라우저에 의해 지불되었다 모든 트랙 이벤트 및 마케팅 사이트에...
분석 추적기를 중지 모든 링크하지만 홈
홈페이지를 제외한 모든 페이지는 초가 열리고, 그 이유는 결코 없었습니다. 이 앱의 내비게이션 경로: 서버 우선 순위, prefetch payloads 완전한 (78 펑크 refs, ~57 KB, 68 ms), 모든 내부 href는 locale-aware입니다. <Link> 및 배치된 ...
모든 루트 변경은 스크롤을 상단으로 변경했습니다
<html>는 Tailwind의 `scroll-smooth`를 수행하고 다른 것도 없다. 다음 부드럽게 억제 새로운 경로로 스크롤하는 동안 스크롤하지만 페이지를 선언하는 페이지 만 데이터 속성: *********** 지원하다 **************** 그리고 그것을 발견하지 않는 것...
오른쪽 상단에 비디오 컨트롤을 이동합니다
그들은 프레임이 오른쪽 가장자리를 떼어내는 데 사용되기 때문에 바닥 왼쪽 만 화면을 끄는 제어를 넣을 것이다 viewport. 더 보기 reel는 지금 그것의 란에서 센터로, 그래서 constraint는 사라집니다. 오른쪽 상단은 1 개의 모서리가 chamfer 잎 광장 - 그것은 왼...
실제 내비게이션과 냉간 부하를 측정, 그냥 떨어뜨리지 않는 세션
수정의 5 라운드는 각이 실제 결함을 제거하고 아무도 무엇이 고정되지 않았습니다. 실제로 느꼈다. 모든 진단이 지금까지 밖에서 방해가되었습니다. 비밀번호 ?perf=1 조사는 그것 때문에 그것을 생성한 아무 표본도, 비치하고 있습니다 누군가가 손으로 퍼져 세션을 구동해야합니다. 그래서...
사이트 전체 로딩 경계 단지 이차 페이지 유료
홈페이지를 제외한 모든 페이지는 느리게 느껴집니다. (페이지) subtree - 그리고 뭔가에 나는 거기 넣어. 언제 4fae924 추가 (페이지)/loading.tsx 모든 경로는 역동적이고 역동적 인 루트의 경우 다음 prefetches no more than 가장 가까운 선적 경계...
변경 로그 수를 렌더링, 대신 게시에 새로 고침
모든 방문자는이 번호를 스스로 읽었습니다. PreviewBanner가 공유하는 삶 레이아웃, 그래서 모든 페이지에 /api/changelog/today 수화 후, 대기, 그때 답변에 맞게 성장하고 페이지를 이동. 그 경로 (d3de447)가 예비 자주 묻는 질문 모든 방문자와 같은 값은...
페이지 당 메가바이트를 태우고, 백엔드를 무료로 호출합니다
모든 페이지에 지불 된 두 가지 비용, 둘 다 기자의 자신의 뒤에 의해 발견 i18n 및 needless 백엔드 통화에 대한 hunch. PREFETCH VOLUME - 4fae924의 회귀. 경로의 앞에, a <Link> prefetch는 220 빈 바이트를 돌려, 그래서 prefe...
?perf=1 뒤에 opt-in 항법 타이밍 조사를 추가하십시오
페이지 스위치는 여전히 생산에 느리고, 서버는에서 지배되었습니다 기자의 자신의 기계 : 55-122ms 응답, x-nextjs-cache HIT, prefetch 전체 페이지가 74 펑크 참조로 페이로드를 반환하고 어디서나 리디렉션하지 않고 콘텐츠 페이지에 2개의 Always-anima...
지식베이스를 콘솔로 재구성
네 개의 지식 기반 화면은 앱에서 마지막으로 여전히 오래된 옷을 입었다. 보기, 그리고 그 중 세는 진실하지 않은 것들을 명시. /kb는 핀 행을 보낸 endpoint에서 "Pinned Articles"를 보여주었습니다. 기사는 @JsonIgnore에 의해 밖으로 벗겼습니다 — 단면도...
Enforce is fake, 그리고 unattended signup을 할 수있는 구멍을 닫습니다
1개의 사건의 2개의 반. 등록된 계정, 일회용 주소 확인 공급자는 자동 로그인 세션을 가지고 3 분에서 5 개의 조직을 만들었습니다. forty-two seconds — 4 의 그들 byte-identical "Acme Corp"열은 그들 만에 다릅니다 사이트 맵 system acce...
지식 콘솔이 읽는 것을 시도하고 결코 할 수없는 것을 수정하십시오
4개의 endpoints는 재건된 지식 기초 필요를, 및 API가 3개의 사실이었습니다 주의할 수 없습니다. GET /api/kb/pins는 핀 ROWS의 페이지를 반환하고 KbArticlePin.article은 @JsonIgnore - 그래서 응답은 핀 ID, 회원 ID 및 날짜를 ...
대신에 replayed Capcha payload를 거부
`verifySolution`는 "이 우리가 발행 한 도전에 올바른 솔루션입니다." 그것은 말한다 우리가 이미 그 정확한 솔루션을 허용 한지 여부에 대해 아무것도하지 않았다, 그리고 다른 것은하지 않았다 하나 - 그래서 하나 해결은 전체적인 도전 일생을 위해 재생될 수 있었습니다. 그...
User.is fake를 추가, 유일한 문 순서에 populated 테이블 허용
새로운 `User.isFake` 필드를 미러링합니다. 4개의 문 및 순서는 전체적입니다 마이그레이션 : YugabyteDB는 'ADD COLUMN을 거부 ... 대중화 된 테이블에서 NULL`를 거부 - 거부 전체 문, 단지 offending 항목이 아닙니다 - 그래서 열은 무효 도착,...