Spec - StorageAutoExpandSweep 이미 존재
Spec는 reuse에 존재하지 않는 서버 중심 양 reconciler를 주장했습니다 저장 자동 폭발 열을 죽은대로 나열했습니다. 둘 다 거짓: 청소는 읽습니다 그날 밤과 사서함 리콘서를 위한 올바른 모델입니다.
디자인 per-mailbox 이메일 청구 및 부가 기능
해당 이용 후기에 달린 코멘트가 없습니다. 그것을 덮는 추가에, 그리고 각 mailbox를 청구하는 속성 그것을 지불해야 그룹. 또한 두 개의 인접한 간격이 작업이 실행됩니다. is primary는 독특합니다. 회원 당, 그래서 두 번째 회원은 mailbox 중지를 주장 누구에게나 정...
Org's alias의 sign-in 화면을 브랜드, 호스트가 아닌
login.kamocrm.com은 호스트가 없는 모든 조직의 로그인 화면입니다. 그것의 자신의. 테마베이스는 그 호스트 이름에서 파생되었다, 그래서 그들 모두이었다 플랫폼의 브랜딩에서 그려진 — 그리고 `?org=`는 수정을 의미하지 않은 모습 org의 DOMAIN을 기록했습니다. 아무...
테마 자산은 해결하는 호스트에서 온다
로그인 화면은 테마에서 조직의 브랜딩을 페인트합니다.<its own domain>. 그 도메인 해결되지 않을 수 있습니다 : org는 존재하고 DNS가 구성되기 전에 서명 할 수 있으므로 브라우저는 존재하지 않는 호스트를 요청하고 화면이 플랫폼에 다시 떨어졌다 로고와 색깔. MinIO...
작업 공간 피커는 각 org의 로고를 보여줍니다
로고에 서있는 두 문자는 한 가지를 나르지 않는 응답을위한 운동이었다. · 이제는 org의 테마가 제공 된 폴더에서 서버 측을 해결했습니다. 그래서 5개의 workspaces 사이에서 선택된 회원은 초기화보다 오히려 인식합니다. 모노그램은 낙하로 유지되며, 형태가 아닌 실제 일입니다:...
Continue stays 한 번의 workspace가 열립니다
이미 수행된 버튼={!selected || submitting}, 하지만 제출은 사실만 요청의 지속 시간. 성공에 페이지 설정 리디렉션, 선택 명확, 그리고 그런 다음 항해하기 전에 600ms를 기다립니다 - 그리고 그 간격에서 마지막으로 이미 다시 활성화했다 "Continue to <...
지출된 토큰만 시작으로 회원을 다시 보냅니다
모든 non-ok 상태가 다시 떨어졌다 " 다시 서명하십시오", 이는 401의 사실 - 하나는 선택 토큰이 정말 사라지는 것을 의미합니다. SecurityService는 이제 503을 답변합니다. sign-in 자체가 실패하고 그것은 TOKEN BACK을 PUT, 그래서 다시 클릭 할 ...
상표와 범위는 ?org=를 가진 표시에서 스크린
login.kamocrm.com은 모든 조직에 대한 로그인 화면입니다. 그 자체의 호스트, 그래서 호스트 이름은 어느 쪽이 서명 할 수 없습니다. 다운로드 do: id 또는 alias에 의해 조직을 지명하고, 브랜딩을 선정하십시오 페인트 및 조직으로 자격 증명과 여행 관련 상품 힌트,...
Auto-login cross-tenant guard를 실제로 실행하십시오
감시는 /"id"\s*:\s*(\d+)/ -- bare 자리에 호스트 org의 ID를 읽습니다. 식민지 후에 곧. SecurityService의 JsSafeLongSerializer는 어떤 것을 씁니다 JSON STRING으로 2^53 이상이며, 모든 org id는 19자리입니다. un...
Sign.pink 찾기를 수정
SignLinkBuilder의 sign.sign.pink라는 재고가 "foreign apex"와 나는 그것으로 그것을 기록했습니다. 그것은 아닙니다: sign.pink는 Kamo 소유입니다 조직 (id 1174321970511380486, "Sign Pink", DNS 인증). 그래서...
작업 공간 선택기 추가
이 이름의 서명에서 조직이 이제 대신 목록으로 돌아옵니다. 수업시간 이것은 클라이언트 반입니다: /api/login는 그 payload를 통해 전달합니다 (No-OTK 체크를 위해, 그렇지 않으면 완벽하게 보고할 것입니다 sign-in as the failure), /api/sessio...
Host-independent tenancy rollout 계획
6 단계, 각각 독립적으로 shippable, 배포를 밀어하기 때문에: 호스트 경로는 단계 6이 제거 될 때까지 작동 유지. 1 단계는 crux이고 첨가물입니다 -- OrgResolutionService, auth 분할 (이 암호는 이미 user.password에 대해 확인, 그래서 ...
디자인 host-independent tenancy
Org identity는 오늘 호스트 이름에서 온다: OrgHostResolver.resolveByFqdn <alias>.<domain>을 (orgId, ProviderId)로 바꾸고 SQL이 필요합니다. od.is dns verified = TRUE입니다. 이것이 새로 만들어진 이유입...
살아있는 상태 가로장의 주위에 환영 패널을 재건하십시오
왼쪽 열은 일반적인 헤드 라인, 보안 platitude 및 더미이었다 주변 장식 (도트 그리드, 부동 orbs, 진동 돌진). 설정하기 하나의 공유 WelcomePanel 구성 요소 : 무게 대조 지스트 잠금, 헤어 라인 규칙, 단선의 오리엔테이션 사본, 그리고 보고하는 monospac...
토큰의 int64 ids를 숫자로 붙이십시오
KToken은 실제 토큰을 확인할 수 없습니다. 네 개의 ids는 int64s이고 Java signer (kamo-shared-library KToken#canonicalForMac)는 각각 원시 `long`로 묶습니다. 그래서 모두 19 자리는 MAC 소재로 이동합니다. 이 클래스는 ...
Animated status plate로 재고 알림을 대체합니다
Inline sign-in 메시지 ("로그인 성공! Redirecting..., "무효 사용자 이름 및 / 또는 암호.")는 MUI의 기본 경고를 사용하여 파스텔 채우기 플러스 일치하는 파스텔 텍스트는 유리 로그인 카드에 대한 일반적인로 읽습니다. StatusMessage는 공식을 변...
Org의 순차 / 셔플 슬라이드 쇼 주문
config.json 이제는 backgroundImageCount와 함께 backgroundOrder를 수행합니다. 모든 진보에 재 랜덤을 끄고 결코 프레임을 반복하지 마십시오. 스크린; absent 열쇠는 각 org가 가지고 있는 무슨입니다 순차적으로 체재합니다. 두 개의 스위퍼 스...
이미지를 사용하지 않는 브라우저를 다운로드 중지
Build 21 puppeteer postinstall fetching chrome-headless-shell - SSL "암호화 실패 또는 나쁜 기록 맥, 같은 flaky-transfer 클래스는 BillingService 빌드 오늘. puppeteer는 개발자가 로컬로 실행되는 *...
MLOS 이름을 가진 Sync AppType/ServiceType 거울
ServiceType.LOS는 MLOS (mortgage, id 14는 ORG FEATURES가 ID를 주장하기 때문에 유지되었습니다) 그리고 Freed LOS 열쇠는 이제 새로운 ID 25에 개인 대출 발행 체계입니다. 이 름 거울은 hasFeature()의 이름으로 일치하므로 백엔드...
로그인 호스트를 전달하므로 복구는 org를 해결할 수 있습니다
비밀번호 복구는 회원의 기본 사서함 주소를 받아들입니다. 1 org 내 계정 이름. 이 프록시는 클러스터에 SecurityService에 도달합니다. DNS, 그래서 호스트는 서비스 이름이며 브라우저의 호스트는 여행해야 X-Forwarded-Host — 유일한 헤더는 백엔드에서 읽습니다...
두 번째 요소에서 중지 된 로그인 완료
SecurityService는 이제 두 번째 요소에 로그인합니다 (§164.312 (d)). 한 번에 세션을 만들었지만 한 번의 키가 표시되어 반환 아직 부족한 도전 토큰 — 세션 nobody는 OTK를 보유하고 있습니다. 무제한. 이 BFF는 oneTimeKey를 무조건으로 예상하므...
Starter/enterprise plan handoff를 받아들이십시오, 승진 부호, 표적 www /subscribe를 나릅니다
kamo-register now whitelists starter|사업|통합과 stashes sp checkout code; 오래된 프로|사업 필터는 조용히 스타터 구매자를 떨어 뜨리고, apex /subscribe URL 308'd 에 www 어쨌든 — www.
분석 분석 추가 + ?registered=1 환영 통지
- 산 분석 root layout의 Analytics 클라이언트 구성 요소: next/script data-domains를 통해 analytics.kamocrm.com에 대한 로더 login.kamocrm.com 만 (사이트는 흰색 라벨; tenant org 도메인이어야한다 감시된 wi...
진행중인 탁월한 업무
단계와 헌신적인 as-is 그래서 아무것도 작동하지 나무에서 uncommitted 남아. 26 파일 변경, 7894 삽입(+), 8 deletions(-)
Flaky egress에 대한 kubectl 다운로드를 Harden [skip ci]
dl.k8s.io 런너의 egress 간에 실수로 중간 전송을 삭제: 컬: (56) OpenSSL SSL read: 해독 실패 또는 나쁜 기록 맥 그렇지 않으면 녹색 빌드에 배포되지 않습니다. 반복적으로 관찰 kamo-signer-monorepo 및 카모 번역 사전. 추가 --retr...
평가판 orgs에 의해 구동되는 pill 위에 TRIAL USE를 보여주십시오
Self-fetches /api/trial-status (SecurityService Public Trial-status 프록시) endpoint, 로그인 호스트에 의해 해결) 그리고 위의 호박 알약을 렌더링 org의 계정이 활성 네이티브 재판에있을 때 전원으로 알약. 실패 숨겨진.
Kamo-login 명예 소프트웨어 auth 로고 + 탭 제목
- DynamicMetaLoader: config.json, 설정 탭에서 소프트웨어 정체 + auth selectors를 읽으십시오 해결 된 이름 (authNameBrandSource)의 제목, 세션 저장에 대한 persist auth-logo 상태 - Brand.ts + ThemeLo...
계정 연결 공지 ?linked=1
등록이 새로운 org에 기존 계정을 연결하면 여기에서 리디렉션됩니다. ?linked=1. "당신은 이미 Kamo 계정을 가지고 - 우리는이 조직을 추가했습니다 그것은. 기존 비밀번호로 로그인하세요. 그리고 이메일을 미리 작성하세요. 기존의 미러 ?email verified 처리.
고전적인 scrollbars로 브라우저에서 볼 수 있는 Stop viewport
Chrome이 레이아웃 선택(non-overlay) 스크롤 바를 사용하는 기계에, login/recover 페이지는 scrollbars flickering 둘 다로 뽑혔습니다. 이름 * 원인: 루트 사용 w-screen (100vw, scrollbar gutter 포함) html/bod...
404 대신 깨진 프레임을 보여주는 드롭 배경 이미지
트랙 실패 배경 이미지로드 및 Swiper carousel에서 필터링, 그래서 불완전하게 규정 된 테마 (예 : optionone, 그 bg/2.webp는 결코 없었다 업로드) 사이클은 빈 슬라이드를 깜박이지 않고 존재하는 이미지 만.
2s intro/loading 애니메이션 화면 제거
Drop showIntro/introComplete 국가, 2s 인트로 타이머 효과, 그리고 브랜딩 초기 회전 로딩 화면. 이제 페이지는 배경으로 직선 + panel-bounce/card-fade 입구, 그래서 배경은 또한 2s 빨리 적재 시작합니다. Function 'Checking ...
패널 bleeds off-page 왼쪽 그래서 그것의 가장자리는 반송에 결코 보여줍니다; 카드 fades ~250ms 빨리
- 웰컴/리커버 패널은 이제 왼쪽 가장자리에서 --welcome-bleed (16rem)를 확장합니다. --welcome-w에 아직도 그 적당한 가장자리로; 안 내용 패딩은 입니다 그래서 텍스트는 넣어. 봄 overshoot는 더 이상 계시할 수 없습니다 패널의 왼쪽 가장자리. - 카드...
Choreographed Entrance - bg 로드 후 패널 스프링, 그 후 카드 페이드
첫 번째 배경 이미지 (OnLoad, with 3s safety fallback)를 기다립니다. 스프링 - 오프 스크린 왼쪽 (물리 봄, 뻣뻣함 300/댐핑 17). 도약에 정착, fade+scale 형태 카드로 이름 * 모바일 (패널 숨겨진) 및 감소 모션 반송 및 퇴색 카드 직접. ...
Pointer parallax (x+y) 환영 패널과 배경 사이
다른 비율과 반대 방향에 포인터를 가진 층 둘 다 framer 스프링을 통해. 배경은 1.12를 확장하고 환영 패널은 크기를 초과합니다 그 오른쪽 가장자리 핀으로 모든 측면에 16px, 그래서 무서운 결코 노출 제품 정보 Existing Ken Burns 배경 애니메이션은 터치 및 스택...
아래쪽에 애니메이션 로고를 이동, 전원에 의해 중심
PoweredByKamo는 선택적인 LogoSlot에 의하여 연출된 중심에 둡니다 고정 된 하단 오른쪽 앵커 내의 알약 (다른 페이지 unaffected). 인기있는 로고는 상단 왼쪽 코너에서 표지판에 슬롯으로 이동하고 복구 페이지; 여전히 모바일에 숨겨진 및 전화 조경은 신속한 회전.
왼쪽 핀 반투명 환영 패널 + 중심 둥근 모양 카드
환영/Recover panel 이제 전체 높이, 왼쪽 가장자리에 플러시, 상단의 반투명 씻기와 광장 코너와 배경 이미지; 모바일에 숨겨진. 애니메이션 로고는 이제 패널 위에 앉아 있습니다. 로그인/복구 형태는 완전히 유리 카드는 나머지 오른쪽 공간에서 중심.
SecurityService 내부 DNS에 프록시 암호 재설정
/api/recover 프록시는 api.kamocrm.com에 기본적으로, Traefik 경로 APIService (Remote Controller 없음) → 404 → "Something이 잘못되었습니다" /reset-password. SecurityService는 이러한 엔드포인트를...
K1m1 (clone+registry+kubeconfig from k1m1, 드롭 k2m1, 간단한 kubectl install)에 마이그레이션
로그인 후 체크 아웃하는 노선 유료 가입
성공적인 우 (수직 또는 자동 로그인) 후, apex-domain을 소비 sp checkout plan 쿠키는 kamo-register에 의해 왼쪽 및 구매자를 리디렉션 상표 /subscribe?plan= 페이지(Stripe checkout) 대신 기본 앱 여행 정보 One-shot :...
Subdomain-tenant org 버킷을 자신의 MinIO 폴더로 해결
getThemePath()는 그들 모두를 위해 apex+tld에 hostname을 감소시켰습니다 주인과 물통 폴더, 그래서 subdomain tenants 같이 gnosia.demo.kamocrm.com 대신 부모 apex의 브랜딩을로드 그들의 자신의. 이제 가장 깊은 별칭 (login...
세션 orgID가 호스트 org와 일치하지 않을 때 수정
자동 로그인은 ***를 허용하고 OTK 포인팅을 축소, 내부의 대상이 아닌.* 호스트가 속한다. stale 또는 cross-org *** 로그인에 표면 쿠키.<host>가 있습니다. 그 호스트의 내부 하위 도메인으로 propagated, 생성 "내 세션은 잘못된 org"symptom입니...
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...
HTML 머리에 org 짧은 이름과 설명을 사용하십시오
DynamicMetaLoader는 이제 "Login - {siteNameShort}"에 document.title을 설정합니다. and writes the org description into the 메타 설명 태그. Static layout.tsx fallback 업데이트; 하드 코딩...
