リアクト・イージー・クロップ・フォト・エディタを追加して、登録画面にアップロード
Kamo-internal's AvatarManager から PhotoCropDialog をミラーリングします。 - ファイル選択直後にcropダイアログが開きます - ドラッグ、スクロールまたはスライダ(1〜5×)によるズーム - アーチ型オーバーレイガイドは、トリミングされた領域を示しています - キャンバ...
/api/geoip のルートおよびワイヤー国の自動検出を加えて下さい
クライアント IP を SecurityService GeoLite2 のルックアップにプロキシし、 ページの読み込みに自動的にFormMyCountryで検出された国.
Add GET /api/security/geoip/me for client IP country lookup
Reads real client IP from X-Forwarded-For / X-Real-IP headers, does a GeoLite2 lookup, and returns { country_code, country_name }. Used by kamo-register's count...
SP6はウィザードのリファクタを登録します。 - 個人情報を分割し、実際の登録APIを追加します
- FormName (name フィールド) と FormAvatar (Avatar Creator ジェネレーターと 13+ の生成/アップロード/スキップ モード) で FormPersonalInfo を置換します。 - FormRecoveryEnforcementを削除(フローから削除された回復フィールド...
SP5 migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Add KamoCRMAgeReqUpdateRunner (order 10) — conditional idempotent UPDATE on startup; WHERE clause checks old value so re-runs are no-ops. Errors are swallowed s...
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token gene...
メール認証を追加 トークンエンティティ + リポ + User.alias/emailVerified + UserRepo クエリ; バンプ 1.4.0 (SP4)
Add SP4 email_verification_tokens DDL + User alias/email_verified columns
電話 + セキュリティに関する質問(SP3)のアカウント設定ページを追加
API配線で****************を追加 セキュリティサービス /api/account/* 全3拠点で nav を同期.
/recoverページ(SP3)にワイヤ実際のAPI呼び出し
FakeSubmit() をrecoveryApi 呼び出しで置き換えます。 SMS OTPを追加 フェーズ、シードメール入力、新しいパスワードステップ、トークンランディングの確認 ?token= URL パラメータで.
Add AccountSettingsController + Service for phone + security questions (SP3)
Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).
Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)
Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPSer...
Add InternalAuthFilter + POST /api/bulktext/send for service-to-service SMS (SP3)
リカバリーエンティティティ + リポジトリを追加します。1.3.0(SP3)にバンプ
パスワードリセットトークンを追加, SmsOtp, RecoverySession, AccountVerificationCode SP3の回復の流れのための対応するリポジトリを持つJPAの組織.
Add SecurityQuestionCatalog enum + sq1/2/3 + seedPhraseHashをユーザーに(SP3)
Add SP3 recovery table DDL + User column additions to SchemaCleanupRunner
ブラウザのバックエンド・レンダリング・モーダル(SP2)によるルートプレビュー
EmailTemplateBrowser は、プレビューモジュールを直接所有しているので、 管理者は行レベルのプレビューリクエストを傍受する必要はありません。 編集モードにリダイレクトします.
実際の API への HTTP 電子メールTemplateEdit
TemplateApi.get から水素化し、templateApi.update 経由で保存します。 カテゴリー dropdown は、インラインのカテゴリ作成の手頃な価格の API 主導です。 変数 picker は変数Contracts.ts (REQUIRED の宣言契約) から読み込みます。 テンプレートキー...
Wire EmailTemplateBrowser を API に + System Defaults タブを追加する
TemplateApi.list() 呼び出しでモックデータの~140行を置き換えます。 コンテンツ 5番目のタブ「システムデフォルト」は、トップレベルの管理とレンダリングのみ表示されます response.systemTemplates から カテゴリApi.list() から入力されたカテゴリフィルタ。 すべての行...
メールを追加するTemplatePreview modal
行アクションプレビューで開きます。 templateApi.preview(); でバックエンドレンダリング スタイル分離のためのサンドボックスされたiframeに表示された結果。 マッチする 使用を送る正確なコードパスなので、プレビューは受信者の受信者です。 SP2の一部.
TemplateApi +カテゴリApi +変数Contracts クライアントモジュールを追加
SP1の/api/email/templates/*および************************を包みます 型付きTypeScriptヘルパーでエンドポイント。 変数ContractsはSP1のミラーを映します TemplateKeys Javadoc なので、エディタの変数ピッカーが宣言されている REQU...
Wire EmailTemplateSeedClient into ****************
Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...
Add EmailTemplateCategoryController REST endpoints
**************** CRUD. Delete response includes reassignedCount — the number of templates that became uncategorized as a result of removing the category. Sessio...
Add EmailTemplateController REST endpoints + DTOs
Exposes /api/email/templates/* CRUD + preview + duplicate + reset-to-default + service-to-service /send + /seed-org/{orgId}. Top-level orgs (no parent) addition...
サービスツーサービスエンドポイントに内部AuthFilter を追加
/api/email/templates/send の X-Internal-Auth ヘッダーを有効化し、 /api/email/templates/seed-org/* パス。 他のパスはこのフィルターをバイパスします (ユーザセッションのauthはそれらを処理します)。 シークレットはINTERNAL AUTH ...
メールを追加するテンプレートカテゴリのCRUD
サービスのレイヤーで強制される org ごとのケースインセンティブな名前の独自性 (DBの部分的なユニークなインデックスにマッチ) 削除 nulls カテゴリ id カテゴリ行を削除する前に影響を受けるテンプレート。 SP1の部分.
Add EmailTemplateService — CRUD + シード + デフォルトへのリセット
トランザクションメールのコアオーケストレーター。 sendToUser はテンプレートを解決します。 対象となる/body をレンダーし、組織から org のプライマリドメインを選択します。 ドメイン, そして、電子メールSmtpService に noReply@{org.domain} を from-address...
NoReplySenderService を 'NoReply@{domain}' のアドレスから追加
アドレスからトランザクション電子メールのための真理の単一ソース。 受け入れる ドメイン文字列、小文字を正規化し、「NoReply@<domain>」を返します。 発信者は、org のドメインを解決しなければなりません(Organization.domains の検索または 同様に)それを渡して下さい。 SP1の部分.
{{var}} 置換用の TemplateRenderer を追加
Stateless regex ベースのレンダラー。 vars が空の文字列を置換し、 属性のテンプレートキー + orgId で WARN ログを出力します。 HTMLエスケープなし v1 — 値がサーバー制御です。 SP1の部分.
Add EmailTemplateSeedRunner for SYSTEM + per-org seeding
Runs at @Order(20) on KamoInitializerService startup. Loads canonical templates from kamo-shared-library resources; upserts SYSTEM rows (no clobber); backfills ...
Add partial unique indexes + CHECK constraints for email_templates
Hibernate ddl-auto can't generate partial unique indexes or computed-CHECK constraints. This commit adds them via the existing idempotent DDL runner pattern aft...
CanonicalTemplateLoader + CanonicalTemplateレコードを追加
3つのREQUIREDテンプレート(WELCOME, PASSWORD RESET)を読みます。 EMAIL VERIFICATION のクラスパスリソースから メニュー によって消費される KamoInitializerシステム・ロー・シード向けサービス SP1の部分.
WELCOME、PASSWORD RESET、EMAIL VERIFICATION 用のcanonical HTML + JSONを追加
システム行のソース・オブ・ツルスコンテンツ。 KamoInitializerServiceでロード CanonicalTemplateLoader と UPSERTed の起動をメール templates に送信します。 SP1の部分.
メールテンプレートのエンティティティ + リポジトリを追加
テンプレートごとの1つのシステム列を格納 key(org id NULL, is system TRUE)プラス template key ごとの org ごとの 1 つのクローン。 ソフトリファレンス org id/category id. データベース ドライブタイムスタンプ、ボディブロックやタグのJSONB。 リ...
EmailTemplateCategory 実体 + リポジトリを追加
電子メールテンプレートのOrg-scopedカテゴリ。 ソフトBIGINT org id(FKなし) 既存のパターンにマッチします。 ケース・インセンティブ・ネーム・パー・オーガニゼーション KamoInitializerService に追加された部分インデックス経由で強制されます。 SP1の部分.
Add TemplateStatus enum + TemplateKeys 取引テンプレートの定数
REQUIRED/CUSTOM/ARCHIVED のライフサイクル状態と 3 を宣言 必要なテンプレートキー(WELCOME、PASSWORD RESET、EMAIL VERIFICATION)。 各 REQUIRED テンプレートの変数契約は、Javadoc として記述されています。 定数クラス、SP3、SP4 の呼...
Seed KamoCRM with ALL_WORK_ELIGIBLE on fresh installs
The createOrg() helper applies this single argument to both ageReqTypeMember and ageReqTypeTeamMember; consistent with platform convention. Pairs with KamoCRMAg...
Add one-time runner to migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Conditional idempotent UPDATE runs on service startup; WHERE clause checks the expected old value so re-runs are no-ops. Errors are logged and swallowed — start...
Add カモCRMバックリンクから/welcomeランディングページ
実際の meet.{domain} のランディングページは、歓迎/インデックスです。 html — 静的 前のフローを処理するnginxによって直接提供されるHTMLページ (表示名/部屋のキャプチャ、検証、JWTとのミートへのリダイレクト) パワードByKamo React コンポーネントは WelcomePage....
インテグレーションロゴ+正確な/インテグレーションメタデータ
インテグレーションページとハブは、ベンダーのロゴを表示できるようになりました(既存のロゴを使用する) **************************** ウェブサイトのアセット TechStackBannerは既に使用しています。 ストールのマーケティング言語の削除 /integrations サブタイトル、OG...
すべてのホームページリストプロバイダに/integrationsを拡大
/integrationsページを実際の統合と関連付ける ホームページ(TechStackBanner) Add 28新しい統合ページマッチング 製品が実際に提供するもの: 音声と電話: - RingCentral(音声への再分類) - FreePBX(近日公開、リクエスト駆動) SMS: - トゥリオ - ヴォナ...
ホーム Mortgageブローカー業界ページを追加
/solutions/mortgage-brokersの新産業ソリューションページ 仲介業者および融資先 正直なプラットフォームをフォロー: コアCRM + comms + docs + 借り手と紹介パートナーに適用されるAI 関係の層、mortgage固有の機能性(LOSの統合、 クレジットプル、レートシートの自動化...
Add 92 SEOページ — 業界、統合、用語集
SEOコンテンツ拡張計画の層1を実装: 3つの新しいコンテンツ 92の新しいクロール可能なURLと3ハブページを合計したサブシステム。 1. /solutions — 36 業界のランディングページ 不動産、代理店、専門サービス、金融サービス、法律、 保険、フィットネススタジオ、サロン、スパ、ホームサービス、清掃 サ...