仕様を修正 — StorageAutoExpandSweep は既に存在する
仕様は、サーバー主導の量が再使用するために存在し、 ストレージの自動展開列をデッドとしてリストしました。 両方 false: sweep は読み込みます それらを夜に、メールボックスのコンシラーの正しいモデルです.
電子メールの請求とアドオンのgatingをデザインする
シートではなくメールボックスによるビルズメール、ゲートプロバイダの選択 それをカバーするアドオンに、各メールボックスを課金に属性を付けます 支払うべきグループ。 また、作業が実行される2つの隣接するギャップをカバー:is primaryはユニークです 会員のみで、メールボックスを主張する2番目のメンバーは、 誰にでも...
ホストではなく、org のエイリアスからサインイン画面をブランディング
login.kamocrm.comは、ホストを持たないすべての組織のサインイン画面です お問い合わせ テーマベースは、そのホスト名から派生しました。 プラットフォームのブランド化で塗装 — と `?org=` の修正を意図したルックアップ 誰が持っていないホルダが持っていないorgのDOMAINを記録しました。 フォ...
テーマアセットは、解決するホストから来る
サインイン画面は、テーマから組織のブランドをペイントします。<独自のドメイン>。 そのドメイン DNS が構成される前に、org が存在し、署名することができるので、 ブラウザは存在しないホストを要求し、画面がプラットフォームのに戻りました ロゴとカラー。 MINIOは、すべてのテーマからすべてのバケット全体を提供し...
ワークスペースピッカーは、各orgのロゴを示しています
ロゴに立っている2文字が1つを運ぶという応答の回避策でした。 それは、 これで、org のテーマが暫定されたフォルダからサーバー側を解決しました。 初期を解読するのではなく、5つのワークスペースから選ぶメンバー。 モノグラムはフォールバックとして滞在し、それは正式ではなく、実際のものです:何も org がロゴをアップ...
ワークスペースが開いていると、常に障害者に滞在
既に実施しているボタンは無効です={!selected ||提出} ですが、提出は正しかった リクエストの期間のため。 成功すると、ページがリダイレクトされ、選択をクリアし、 その後、ナビゲートする前に600msを待ちます - そして、そのギャップでは、ついにすでに再使用可能だった "Continue to <org>...
共有トークンのみで、メンバーが開始に戻ります
いずれの非OK状態が「再びサインインしてください」に戻ってき、これは唯一の真の401 — 1 選択トークンが本当になくなっている状態です。 SecurityService は 503 に応答します。 サインイン自体が失敗し、トークンバックをカットするので、もう一度クリックすると期待されます 仕事; 開始するメンバーがま...
ブランドと範囲 ?org= のサインイン画面
login.kamocrm.com は、すべての組織のサインイン画面です。 ホスト名は、そのホスト名が署名していると言えるわけではありません。 ?org= do: id または alias によって組織名をつけ、ブランディングを選択します。 塗料, 彼らがいる組織としての資格情報と旅行 チェックする。 クレデンシャル...
自動ログインのクロステナントガードを実際に実行させます
ガードは /"id"\s*:\s*(\d+)/ でホストの org の id を読みます。 コロンの直後に。 SecurityService の JsSafeLongSerializer がどんなものでも書きます JSON STRING として 2^53 を上回ると、ここですべての org id は 19 桁 1.17...
Sign.pink の検索を修正
SignLinkBuilder の Sign.sign.pink が "foreign" をフォールバック apex を 1 つとして記録しました。 ではありません:sign.pinkはカモ所有 組織(id 1174321970511380486、"Sign Pink"、DNS-verified)。 そのため、ドメイ...
ワークスペースピッカーを追加
組織の名前が存在しないというサインインは、リストではなくリストに戻ってくる セッション これはクライアントの半分です: /api/login はペイロードを通したパス (no-OTK チェックのため、そうしないと完全に良い報告します) 失敗としてサインイン)、/api/session/select は選択を中継し、植物...
ホスト独立したテナントロールアウトを計画する
デプロイをプッシュするので、それぞれ独立して出荷可能な6つのフェーズ: ホストパスは、Phase 6 が削除するまでの動作を維持します。 フェーズ 1 は crux で、添加剤 -- OrgResolutionService、auth です スプリット(パスワードはusers.passwordに対して既にチェックされ...
デザインホスト独立テナント
Orgアイデンティティは今日のホスト名から来ます: OrgHostResolver.resolveByFqdn <alias>.<domain> を (orgId, ProviderId) に変換し、その SQL は要求します。 od.is dns verified = TRUE. ドキュメント その1つの述語は、...
ライブステータスレールの周りのウェルカムパネルを再構築
左側の列は、一般的な見出し、セキュリティの緯度と山でした 周囲の装飾(ドットグリッド、フローティングオーブ、パルスダッシュ)。 それを取り替えて下さい 1つの共有ウェルカムパネルコンポーネント:重量コントラストジェストロックアップ、ヘアライン ルール、オリエンテーションのコピーの単一行、およびレポートするモノスペース化...
トークンのint64 IDを数字ではなく、数字として保持
KTokenは実際のトークンを検証できませんでした。 運ぶ4つの ID は int64s で、Java マーカー (kamo-shared-library KToken#canonicalForMac) は、それぞれに生の `long` として追加します。 19 桁は MAC 素材に行きます。 このクラスは、過去のラウ...
在庫アラートをアニメーションステータスプレートに置き換える
インラインサインインメッセージ(ログイン成功) リダイレクト...「無効」 ユーザー名および/またはパスワード。") は、MUI のデフォルトアラートを使用しており、パステルはプラス パステルテキストのマッチングは、ガラスのログインカードに対してジェネリックとして読みます。 StatusMessageは、その式を反転...
Orgのシーケンシャル/シャッフルのスライドショーの注文を Honour
config.json では、背景画像カウントとともに背景順を処理します。 事前にシャッフル再ランダム化し、フレームを繰り返すことはありません 画面; 不在なキーは、すべてのorgが持っていたものですシーケンシャルを維持します。 2つのスイパー画面はクロスフェードを維持しますが、自分のタイマーを駆動します shuff...
画像が使用しないブラウザのダウンロードを停止する
ビルド 21 は puppeteer のpostinstall で失敗しました chrome-headless-shell — SSL 「復号化失敗しました または悪いレコード mac は、BillingService ビルドを今日取った同じフルキートランスファークラスです。 puppeteer は開発者がローカルで...
MLOSの名前でAppType/ServiceTypeミラーを同期
ServiceType.LOS は MLOS になりました (ORG FEATURES が id を主張するので、 id 14 を保持) 無料のLOSキーは、新しいID 25に個人的な融資オリジネーションシステムです。 お問い合わせ ミラーは hasFeature() の名前で一致しているので、バックエンド列を追跡する...
ログインホストを転送して、回復はorgを解決できます
パスワードの回復は、メンバーのプライマリメールボックスアドレスのみを受け入れます。 1 つの org 内のアカウント名。 このプロキシは、クラスターのセキュリティサービスにリーチ DNS なので、ホストはサービス名で、ブラウザのホストは旅行する必要があります。 X-Forwarded-Host — バックエンドが読み込...
2番目の要因で停止したログインを完了
SecurityService は 2 番目のファクター (§164.312(d)) でログインをゲートします。 1つが owed はセッションを作成しますが、ワンタイムキーを保持し、 代わりに、短命チャレンジトークン — 誰もOTKを保持していないセッション 到達不能。 このBFFは、無条件に1TimeKeyを期待...
スターター/エンタープライズプランのハンドオフを受け入れ、プロモーションコード、ターゲットwww /subscribeを運ぶ
kamo-register はホワイトリストのスターターになりました。|事業紹介|エントリーとスタッシュsp checkout code; 古いプロ|ビジネスフィルターはサイレントにスターターバイヤーを落とし、apex /subscribe URL 308'd から www へ 直接 www へ.
アナリティクスの追加 + ?registered=1 歓迎通知
- マウント分析 ルートレイアウトの Analytics クライアントコンポーネント: next/script analytics.kamocrm.com の loader は、データドメインでスコープ付け login.kamocrm.com のみ (サイトはホワイトラベル付きです。テナントドメインは必須です) 決して...
進行中の優れた仕事をコミットする
ステージングとコミットしているのは、作業ツリーにコミットされていないままです。 ファイルの変更、7894 インサート(+)、8 削除(-)
Kubectlのダウンロードをフラッキ・エグレッシにハードン [skip ci]
dl.k8s.io オーバー ランナーのエグレッション 断続的にミッドトランスファーをドロップ: curl: (56) OpenSSL SSL read: 復号化が失敗したか、悪いレコードマック それ以外の緑のビルドでデプロイが失敗する。 繰り返し観察 kamo-signer-monorepoとkamo-transla...
トライアルオーガニゼーションのためにパワードバイ上のTRIAL使用だけピルを表示
セルフフェッチ /api/trial-status (SecurityService の公開試用統計へのプロキシ) エンドポイントは、ログインホストによって解決されます)、および上のアンバーの丸薬をレンダリングします orgのアカウントがアクティブなネイティブトライアルにあるときにパワードバイピル。 失敗 隠されて開く...
Kamo-loginはソフトウェアのauthのロゴ+タブのタイトルを敬います
- DynamicMetaLoader: config.json からソフトウェア ID + auth セレクタを読み込み、タブを設定 解決された名前(authNameBrandSource)、persist auth-logo state から sessionStorage - Brand.ts + ThemeLog...
?linked=1でアカウントリンク通知を表示する
既存のアカウントを新しいorgに登録すると、ここにリダイレクトします。 ?linked=1. "あなたはすでにカモアカウントを持っている - 私たちは、この組織を追加しました お問い合わせ 既存のパスワードでサインインし、メールを埋めます。 既存のミラー ?email verified の処理.
ブラウザ上でビューポートシェーキングを古典的なスクロールバーで停止
Chrome がレイアウト消費 (非オーバーレイ) スクロールバーを使用するマシンで、 ログイン/回復ページは、両方のスクロールバーをflickeringで忘れました。 ログイン 原因: 根はw-screen (100vw、スクロールバーの溝を含む)を使用しました html/body がオーバーフローロックがなかったと...
壊れたフレームを表示する代わりに404の背景画像をドロップする
失敗した背景画像のロードを追跡し、スイパーカルセルからそれらをフィルタリング, なので、完全に暫定されたテーマ(例えば、bg/2.webp は決してなかった) アップロード) 空白のスライドをフラッシュするのではなく、存在する画像だけをサイクルします.
2sイントロ/ローディングアニメーション画面を削除します
低下 showIntro/introComplete 状態、2s のイントロのタイマーの効果および決められた 早いリターンローディング スクリーン。 このページは、背景に直接レンダリングされます + パネル・バウンス/カード・フェード・エントランスなので、背景も2秒間早く読み込みます。 機能的な「Checking se...
パネル bleeds はページを去りました従って端は決して bounce で示しません; カードはすぐに ~250ms 衰退します
- 歓迎/回復パネルは左の端から-welcome-bleed (16rem)を拡張します --welcome-w にまだピン留めされた右の端を使って; 内部のコンテンツのパディングはあります つまり、テキストが置くように補正されます。 ばねのオーバーシュートはもはや明らかにできません パネルの左端。 - カードは完全に...
振り付けられた入口 — bg の負荷の後でパネルのばねは、そしてカード衰退します
最初の背景画像(onLoad、3秒の安全フォールバック)を待ってから、 オフスクリーン左から歓迎/回復パネルをバウンス(物理スプリング、 剛さ 300/低下17)。 バウンスではフォームカードをfade+scaleに決済します。 場所。 モバイル(パネル非表示)と減少モーションはバウンスをスキップし、フェード 直接カー...
歓迎パネルと背景のポインターのパララックス(x+y)
どちらのレイヤーも異なるレートと反対方向のポインタで漂流します 板ばねを使って。 背景は1.12をスケールアップし、ウェルカムパネルは特大 16px は右側の端がピン留めされたので、ドリフトは決して露出しません エッジ。 既存のKen Burnsの背景アニメーションは無接触で下にスタックします。 好ましい感情の下で障害...
アニメーションロゴを右下に移動し、パワードバイピルを中心とする
PowerByKamo はオプションのロゴを獲得します。Slot は、直接上を中心とする 固定右下アンカー内の丸薬(他のページは影響しません)。 アニメーション ロゴは、左上隅からサインインのスロットに移動し、回復します ページ; 携帯電話や携帯電話のランドスケープ中にまだ非表示 プロンプトを回転.
左ピンの半透明の歓迎のパネル+中心にされた円形の形態カード
歓迎/回復パネルは今フル高さ、左端に洗い流します、上の 半透明の洗浄と角の角で背景画像。モバイルに隠されている。 パネルの上に浮かび上がるロゴ。 ログイン/回復フォームは、フルラウンド 左側のスペースにガラスカードを中央に.
セキュリティサービス内部DNSへのプロキシパスワードリセット
/api/recover プロキシは api.kamocrm.com にデフォルトで設定され、Trefik がルーティング APIService(コントローラを回復しない) → 404 → "Somethingは間違っていた" /reset-password の一覧です。 SecurityService は、これらのエ...
ログイン後のチェックアウトに有料サインアップ
成功したauth(マニュアルまたは自動ログイン)の後、 apex-domainを消費します sp checkout plan Cookie は、kamo-register によって残され、買い手をへリダイレクトします。 デフォルトアプリの代わりに /subscribe?plan= ページ(Stripe checkout...
サブドメインテナント org バケットを MinIO フォルダーに解決
getThemePath() は、それらの両方のホスト名を apex+tld に減らしました ホストやバケットフォルダなど、サブドメインのテナント gnosia.demo.kamocrm.com は、代わりに親 apex のブランディングをロードしました 自分で。 今、最も深いエイリアスだけをドロップ (ログイン/登録...
セッション orgID がホスト org と一致しないときのRefuse
auto-login は、任意の *** を受け入れ、それを指す OTK を minted、 どのディレクトリも内部です。* ホストは所属しています。 ログイン時に面したステープルまたはクロスオーグ***クッキー。<host>は そのホストの内部サブドメインに伝播され、 "my session は 間違った org" ...
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}" に設定します。 org の説明をメタの説明タグに書きます。 静的 layout.tsx フォールバック更新。ハードコードされた KamoCRM OG/Twitter メタデータを削除します.
