ラベル保存のfaviconsを再生します。 sniffの実質のロゴのタイプ
config/css/manifest を書いたので、 しかし、決してファビコンを再生しません。これらはプロビジョナースによってのみ生成されました。 ログイン 完全なプロビジョニングが空のファビコン/セットを持っていたので、すべてのカモ site (login/internal/register) は favicon ...
Orgフォルダが欠けているときにテンプレートからシードglobals.css
org の css/globals.css を複製する しかし、そのオブジェクトは一度だけ存在する 完全からコピーしました デフォルトテンプレート。 config+logos だけでも org が 見つかりましたので、 threw NoSuchKeyとorgのglobals.cssをダウンロード - すべてのKamoサ...
実際の拡張子で完全なロゴを表示し、ハードコードされていない.svg
ブランディングタブは、マウント上のロゴフル.svgとしてロゴフルUrlを構築し、無視します orgのロゴFullExt。 png/jpg/etc. としてアップロードされた完全なロゴは、 MinIO の logo-full.{ext} なので .svg URL 404'd は壊れたイメージをレンダリングしました (ロゴ...
新しく発行されたcertsが提供されるように、TLSStoreすべてのループをリフレッシュ
update tls store() は、スタートアップと共有ストレージのインポートでのみ実行されるため、 cert-manager (HTTP-01) が tls-* の秘密で新しく発行された証明書は、 しかし、次の自動証明書の再起動までTLSStoreに追加してはならない — Traefik デフォルトで自己署名し...
リダイレクトのみのルートをバックエンドに指定するので、 Traefik v3 では、
Traefik v3 は、サービスで IngressRoute ルータを無効にします: [] とき allowEmptyServices がオフ(ここにある)ので、ドメインアグノスティック HTTP->HTTPSリダイレクトルータが「無効」となった(サービスは存在しない) ポート 80 はまだテナントドメインの 404...
すべてのHTTPホストをHTTPS +ゲート自動認証にリアルタイムにリダイレクト
カスタム org ドメイン (例: login.sign.pink) を返す Traefik の bare プレーン HTTP 上で "404 ページが見つかりません": 唯一のポート-80 リダイレクト ルーター *.kamocrm.comにハードコードされ、************************ デプロイ...
事前標識.pink + www.sign.pink STATIC DOMAINS
sign.pink は新しい apex ドメイン (consumer e-signature ブランド / ホワイトラベル) です。 カモテナント合同会社 前面の apex + www なので、 Let's Encrypt の cert が存在します。 最初の HTTPS トラフィック; *.sign.pink サブド...
サイレントに失敗するのではなく、持続的な変換 error
テンプレートと通常のアップロードコンバージョンパイプラインの両方を嚥下 Docs 変換の失敗(のみを緩めて下さい)は、記録無しでis converted=falseを残します そのため、docマネージャは、誤解を招く「変換されない文書」を示した Docsの変換が壊れたときにすべてのドキュメント。 今、失敗の理由は Im...
Docker Pruner ステージで npm でターボをインストールします。 ピン pnpm; .dockerignore を追加します
Pruner ステージ は `pnpm は、package.json が存在する前に -g ターボ` を追加します。 corepack は pnpm 11 をつかみ、 "global bin ディレクトリ /pnpm/bin で失敗しました。 PATH(パス) `npm install -gターボ` (canonica...
新しいモノレポ + モバイルファースト電子署名アプリ
Turborepo + pnpmワークスペースモノレポハウジング再使用可能な電子署名パッケージ kamo-internalから抽出され、新しく、超磨かれたkamo-signerアプリ — 二次会サイン体験(デザイナー/オーサリング・サイド・ステイ) カモ・インテルナル パッケージ: - @kamo/esign-cor...
フル幅のエンタープライズはライブプレビューで書き直します
LoanProductForm はハードコードされた単一の狭い列(maxWidth:880)でした どこでも英語。 オファーページと同じエンタープライズパターンを使用します。 レイアウト: - パン粉、背部矢、親切なバッジが付いている全幅の勾配ヘッダー - 下の単一のコラムのlg+の2列の格子(6fr/6fr) - ...
ライブプレビューペイン付き2列レイアウト
新しくなったページは、ワイドスクリーンの背が高い狭い列でした。 ビューポート。 左(5fr)と左(5fr)のフォームでCSS Gridを使うようになりました。 オペレータとして更新する右(7fr)上のライブ「オファープレビュー」ペイン タイプ。 小さな画面に単列(< lg)。 形態の側面: - アイコン付きセクション...
2列ワークスペース + ライブプレビューとして新しいページを再設計
あなたは、完全な不動産、近代、研磨を求めた - 最後のリファクタは、 完全に幅の貝の中の単一のコラムの形態、正確に広いです あなたが既に与えられている半ページの空のキャンバスの批評家。 このリライトの使用 スペース。 lg+ スクリーンのレイアウト: - 上部のフル幅製品ピッカー(ランチピン選択;その取得 自分のカー...
ポーランドの新しいオファーページ — 空の状態、LOC バッジ、カスタム条件
オファーページが以前のリファクタの後に行われた3つのUXギャップ: 1. 空の州。 市場がまだロアン製品がないとき、使用されるドロップダウン サイレントに空のレンダリングをし、オペレータは何をすべきかはわかりませんでした。 詳しくはこちら ヒーローの空の状態(icon、見出し、割賦のプライマー)に置換 と LOC, ...
レート、APR、原産手数料のオーバーライド
LoanOfferCreateRequest は 3 つのオプション フィールド — InterestRateBpsOverride, aprBpsOverride, オリジネーションFeeAmountOverride. createDraft はそれらをいつ適用します セットし、そうでなければプロダクト スナップショ...
デフォルト空 STRIPE CONNECT WEBHOOK SECRET なので KamoLOS ブーツ
Configmap はデフォルトなしで**************** を参照しました、 そのため、Java レベルに達する前に Spring のプレースホルダーのリゾルバーが投げられます。 ************ 既に値を扱う************ 任意として。 Stripe Connect webhook でも...
共有lib LoanRepository → PersonalLoanRepositoryの名前を追跡する
LoanRepository から PersonalLoanRepository へ全てのインポートとフィールドタイプを更新 20カモロソースファイル+ 1テスト(Lombok-injectedフィールド名はそのままにとどまります) ローンリポジトリ — 変更されたタイプのみ。 きれいにして下さい。 起動時にBean...
ファイル名 LoanRepository → PersonalLoanRepository
Spring Data JPA は、インターフェイスからリポジトリの Bean 名を導き出します。 @Repository("...") 修飾子の値ではなく、シンプルなクラス名なので、 前の回避策は、実際には関係のない衝突を防ぐことができませんでした mortgageリポジトリ(********************...
/commerce/personal-loans/new エントリー + ポーランド市場スコープオファーページを追加
QuickActionsBar "New Loanオファー" は /commerce/personal-loans/new で指しています しかし、そのようなページが存在しないので、Next.jsは動的[loanId]ページに移動しました。 融資ID="new" と "Loan が見つかりません。 これは、欠落したエン...
10ページにわたるフル幅のエンタープライズポリッシュ
現代的な企業パターンを採用します(勾配ヘッダー+パン粉+ 背部矢+全高さの屈曲の貝+ライト グレーのカード分けられた内容 キャンバス) kamo-internalで他の場所で使用されて、すべての前のmaxWidthを取除きます 制約(720/960/980/1080/1100px)なので、ページは空き領域を埋めます。 ...
トリガーを再構築し、名前を変更した個人ローンのエンティティティティをピックアップ
761019bのSecurityServiceイメージは、共有lib d14dc54の前に構築されました (個人ローアン法人をJPA名「個人ローアン」に改称) mortgageアプリで重複したLoan-entityコリジョンを解決します。 ビルドを再実行すると、名前が変更された共有ライブラリのjarをピックアップして、...
コマースタイプ&エンゲージメントピッカーでPersonAL LOANSを公開
PERSONAL LOANS を COMMERCE TYPES と EngagementType リストに追加して、 KamoLOS パーソナルローン市場は、市場/新しい市場から作成できます。 市場/編集ページ、QuickActionsBar(/commerce/personal-loans/new で表す) rout...
Loan/LoanRepositoryの衝突をmortgageアプリで避ける
KamoInitializerService は 2 つの @Entity クラスの名前で起動できませんでした。 'Loan' と 'LoanRepository' という名前の2つのリポジトリクラスが両方望んでいました 同じ JPA の実体名、同じ物理テーブル 'loans' を登録し、 同じばねの豆 'loanRe...
T6+T7 フロントエンドポリッシュ+ orgレポート+オートペイUI
フロントエンド研磨(T6): - 新しい lib/format.ts: locale-aware Intlヘルパー — formatCurrency/ formatDate/formatDateTime/formatPercentBps. ハードコードを交換 toLocaleString() + スライス(0,10) ...
Tier 6 + 7 + 9 + 10 — フロントエンド研磨、orgレポート、OpenAPI、JaCoCo
T6(フロントエンド研磨): - 新しい /lib/format.ts: locale-aware フォーマット通貨 / formatDate / formatDateTime/formatPercentBps は、国際 API 経由で (ハードコード) toLocaleString + スライス(0,10) パターン...
層 4 — LoanPaymentPosting サービスユニットテスト
支払い投稿の心をカバーする6つのモックリポジトリユニットテスト: メニュー $ 100の支払い 融資 $25 手数料 / $50 利息 / 大規模な主残高 → 正確 25/50/25 Reg Z ごとの料金/利益/主要な配分。 メニュー インフォメーション 支払い→ ACTIVE + D0を受け取る未来日付の融資。 ...
層 5 コンプライアンス バッチ
- OfacSanctionsService:Jaro-Winklerのfuzzyマッチ@≥0.92は一致します パス。 表面類似点のスコアを押します。 los.ofac.fuzzy-threshold で構成可能。 - AdverseActionNoticeService:ECOA §1002.9に準拠したPDFジェ...
LoanChargeOffReasonCode (IRS 1099-C box 6) + 監査検索
- IRC §6050Pごとの新しいLoanChargeOffReasonCode enum(A BANKRUPTCY.H OTHER) - Loan.chargeOffReasonCodeカラム -**************** マルチフィルタ@レギュレータサブポエナのクエリ (loanId / 種類 / 俳優タイ...
層 3 セキュリティ + 層 8 バグのクリーンアップ バッチ
T3 — Security: - New RateLimitFilter (Bucket4j): 1000/min per IP for webhooks, 10/min per session for offer accept/decoder/rescind, 60/min general. Register...
メニュー
※**************** で、既存の機能を再活性化 重複した行を作成する代わりに、PAUSEDの計画は、パユースした行を孤立させます.
Tier 2 — Hikari + RestTemplate timeouts + Stripe SDK + Redis cache
- RestClientConfig: single shared RestTemplate bean with 5s connect / 30s read timeouts. MediaServiceClient / NotificationDispatchService / OfacSanctionsSer...
/api/los プロキシ HMAC-signs アイデンティティヘッダ
When LOS_PROXY_HMAC_SECRET env var is set, the proxy now computes **************** secret) and sends X-Proxy-Signature + X-Proxy-Timestamp alongside the X-Org-I...
層 1 重大な是正パス
T1.1 ストライプ分散戦略: TREASURY(スタブ)では、SDKのアップグレードが必要 生 HTTP) / CONNECTED ACCOUNT (transfer.create — SDK 28.2.0で動作します) /マニュアル。 デフォルト CONNECTED ACCOUNT 経由**************...
ページのリポのクエリ + countByStatus のホットパス
- LoanRepository: countByStatus / countByOrganization 統計 + Page<Loan> findByStatus(...) / メニュー メニュー ******************************************************** - L...
強制電子メールリンクは、キャプチャフェーズナビゲーションを介してクリックします
レポートは、メールプレビューのリンクをサイレントに何もしていないクリックします。 ホバーはURLを表示し、コンソールのエラーは表示されませんが、ナビゲーションは決して消火しません。 クリックを飲み込む上流リスナーの指紋ポイント ブラウザが動作する可能性がある前に、voidDefault を使用します。 キャプチャフェ...
Org-side融資詳細ページ+調整/約束API
- losApi:手動調整、waiveFee、promiseToPay -************************ フルオーガニゼーションページ ※4枚の残高カード(現、原本、利息、次期) *手動調整フォーム(CREDIT/DEBIT、必要な理由) — 呼び出し /api/los/adjustments/マニュ...
Final batch — compliance, packets, adjustments, Grafana, tests
Compliance: - MlaCheckService — Military Lending Act covered-borrower lookup against DoD MDC single-record query. Returns NotCovered if unconfigured so dev ...
P2バッチ — 保守性、テスト、年末税、実際のストライプID
観察性: - クラスパスのマイクロメータ-registry-prometheus - /actuator/prometheus は管理構成によって露出しました(ローカル+ k8s configmap両方) - LoanMetricsサービス メニュー los charge off total、 los disburse...
LoanOrgStripeConnect + Loan 税/accrual フィールド + ホットインデックス
- 新しい LoanOrgStripeConnect のエンティティティティ (一対一、stripeConnectedAccountId を保持) + オンボーディング機能を接続する + リポジトリ - Loan: stripeCustomerId(orgの接続されたアカウントでレイジー作成)、 lastAccrual...
ネイティブ target= blank が新しいタブを開き、window.open をドロップします
前の修正は、クリックと呼び出された window.open() を解釈しましたが、 ポップアップブロッカーやエクステンションは、直接からでもwindow.openをブロックできます。 ハンドラをクリックすると、リンクは静かに開くことができません。 ネイティブアンカークリック target=" blank" ではブロック...
P1 フロントエンド — チャージオフキュー + 監査タイムライン
- losApi:chargeOffQueue/確認ChargeOff/監査ByLoan メニュー D120 レビュー キュー ページ; org ユーザー 各ローンのレビュー, 理由を追加します。, クリック 確認 → POST /api/los/charge-off /{id}/confirm. は、 LoanCha...
P1 バッチ — webhooks は状態、crons、商取引の縦を進めます
お金の動き(コアP1): - LoanPaymentPostingService: markSucceedAndPost/markFailed/ markReturnedAndReverse/マークDisbursementSucceed/マークDrawDisbursed。 割り当て順序は締めました: 手数料 → 興味 ...
ローン・エンゲージメント Uid → ロング + 発信オーダー
エンゲージメントがBaseEntity(Long PK)を継承するので、エンゲージメントが向上 賃金は長くなければなりません。 UUID — これは既存の AgreementDTO/WorkOrderDTO と一致しています。 ロングエンゲージメントのパターン。 約束はUUID(BaseUuidEntity)にとどまり...
P0硬化 — フォーム、セッションの解決、支払い方法
フォーム(org-side): メニュー /{productUid} 編集ページ - 新しい LoanProductForm:基本/価格設定/制限/条件/コンプライアンス セクション、親切なフィールド(インストールとLOC)、宣言書 テンプレート UID、許可されたステートコード メニュー プロダクト 選択(この市場か...
P0 硬化 — Stripe Connect エンドポイント + PDF フラットテン
- EsignClient インポートの修正: EsignGenericEnvelopeRepository / EsignSignatureRepository .esign.repos で .esign ルートではなく - 新しいStripeConnectController POST メニュー org のカスタム...
KamoLOS → KamoMLOS コメント参照
/Next.js/KamoLOSプロジェクト(申込者の流れ)の名前を変更しました KamoMLOS では、KamoLOS の名前を新しいものに再利用できるようにしました。 パーソナルローンサービス これらはコメントのみの更新です。 - MortgageAppController.java(LOSサービスアカウントコメン...
サブドメインマップのコメントを更新 カモロS → カモMLOS
/Next.js/KamoLOSプロジェクトがKamoMLOS(Kamo Mortgage)に改名されました ローンの起源システム)。 KamoLOS の名前が使われています。 新しいパーソナルローンサービス。 myloan.* サブドメインはまだマップへ モーゲージ申請者の流れ(現 カモモモモモモモモモロ)。 Ka...
/api/los/* プロキシルート → k8s DNS 経由のカモラス
/api/billing/[[...path] をミラーリング BillingService プロキシ: - *** セッションは、Redisを介して解決しました。 X-Org-Id + X-Member-Id転送 - /api/los/webhooks/* セッション auth をスキップ (Stripe のシグネチ...
PERSONAL LOANS コマースタイプフロントエンドを追加
- エンゲージメントタイプラベル:エンゲージメントを拡張する タイプ ユニオン + 語彙 - MarketCardGrid:PERSONAL LOANSカラー(#14b8a6)+ランドマークアイコン+カウンター - 市場の詳細ページ:新しいタブ(融資製品/オファー/アクティブローン/ 状態の規則) CommerceTy...
