チェンジログ
何が新しいの?
プラットフォームのすべての改良 それが出荷される
· kamo-shared-library
7モジュールアクセス権(ID112-118)を追加
ACCESS COMMERCE、VIEW CALENDAR、ACCESS CHAT、ACCESS MAIL、 ACCESS VOIP、VIEW SUPPORT、VIEW アナリティクス
· SecurityService
Pass human-readable expiry time to email verification template
Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template variable.
· kamo-shared-library
電子メールの検証テンプレートの改良 — URL のフォールバック、強制的なテキスト、件名
- コピーペーストフォールバックとしてボタンの下にプレーンテキスト認証リンクを追加します - {{expiryMinutes}} から {{expiryText}} への変換変数 「1440分」ではなく「1日」など、読みやすい形式 - 「 {{orgName}}アカウントに関連付けられているメールを確認する」の対象となる更新
· kamo-internal
テンプレート保存の外側のフレームでフルメールHTMLをシリアル化
- serializeFullEmailHtml はブランドの外のフレームの内部のブロックを包みます (ヘッダーロゴ、タイトル/サブタイトル、コンテンツエリア、フッターロゴ+ org名) 絶対 URL を使用して、メール クライアントはイメージを取得できます - 外枠の設定(ロゴオプション、タイトル、サブタイトル)は保存されます bodyBlocks.outerFrame とテンプレートロードで復元 - handleSave は SerializeFullEmailHtml を使っていますので、メールにマッチしたメールを送信します。 ビルダープレビュー
· SecurityService
Add code-based email verification path to /verify-email endpoint
The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches against the active token for that userId.
· KlusterServices
Add weekly image prune and journal vacuum CronJob for k1m1
CronJob runs every Sunday 3am, privileged, pinned to k1m1. - crictl rmi --prune removes unused container images - nsenter journal vacuum enforces 500MB cap - CI/CD step added to deploy-services workflow
· KlusterServices
Add Docs deploy step to workflow
· kamo-register
検証ページで、各検証/結果の試みの前に必ず***
***は、すべてのアクション(成功または失敗)後にリセットされますので、新鮮な その後の試みごとに解決が必要です.
· kamo-register
/verificationに/resend-verificationページの名前を変更
· kamo-register
ログインリダイレクト用の /resend-verification ページを追加
?email を受け入れるスタンドアローン /resend-verification ルートを作成します。 ?userId クエリ パラメータ、PostCompletionScreen を一貫して再利用 電子メール検証UX。 registerResponse.alias をオプションで作成する ページは登録エイリアスなしで動作します.
· kamo-register
電子メールの検証画面を再設計+メールのバグを修正
- PostCompletionScreen: アニメーションorgの背景とフルページレイアウト, ガラス形態のカード、ロゴ、視覚6桁のコード ボックス、成功/検証された状態 - resendVerification: リクエストボディでメールを渡す (バックエンドはそれを必要とします)
· kamo-register
マッチカモ内部アバターストレージ — 3 サイズ、Mino、別々のアップロードステップ
Crop ダイアログがキャンバス、同一で 3 つの PNG blobs (50/150/350px) を生成 kamo-internal's AvatarManager へ。 登録後 userId を返します。 メニュー (新しいunauthenticatedエンドポイント) emailVerified=false でガードします。 avatarUrl は登録時に送信されなくなりました JSON ボディ。 Avatarアップロード失敗は非致命的なので、登録はまだ完了します.
· SecurityService
Add register-photo endpoint for unauthenticated post-registration avatar upload
POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse against existing accounts. Stores files to MinIO with the same path structure and sized variants as the authenticated /avatars/photo endpoint.
· kamo-login
EMAIL NOT VERIFIED エラーをリッチな認証カードに置き換える
ログインが EMAIL NOT VERIFIED に失敗すると、ログインカードが置換されます。 洗練された「チェックボックス」画面: アニメーション封筒SVG 開口部の折り返しと フローティングスパークル、マスクされたメール表示、30秒のメールボタンを再送 SVGカウントダウンリング、成功/エラー/レートリミットフィードバックアラート、および「戻る」 サインイン すべてのトランジションは、AnimatePresenceをスケーリング+フェードで使用しています。 - app/api/login/route.ts: すべてのバックエンドのエラーフィールドを渡す(単なるメッセージではなく) userId はクライアントに到達します - ******************** の新しいプロキシからセキュリティサービス メニュー - app/page.tsx: EメールVerify カードコンポーネント、emailVerifyState/resendLoading/ resendCooldown/resendStatus の状態、resendVerification コールバック、30秒 クールダウンの使用効果、EMAIL NOT VERIFIED の実行中の検出Login
· kamo-register
AVIFとSVGフォーマットをサポートするフォトアップロードを拡張
画像/ avif と image/svg+xml をファイル入力の受け入れリストに追加し、 検証レグレックス。 ヒントラベルを更新して、すべての6つのフォーマットをリストします。 kamo-internal は既にイメージ/* を受け付けていますので、その変更は必要ありません.
· kamo-register
リアクト・イージー・クロップ・フォト・エディタを追加して、登録画面にアップロード
Kamo-internal's AvatarManager から PhotoCropDialog をミラーリングします。 - ファイル選択直後にcropダイアログが開きます - ドラッグ、スクロールまたはスライダ(1〜5×)によるズーム - アーチ型オーバーレイガイドは、トリミングされた領域を示しています - キャンバスはベース64 avatarUrlとして貯えられた400×400 PNGを作り出します - プレビューのre-cropボタンは保存の後でユーザーが調節することを可能にします
· kamo-register
/api/geoip のルートおよびワイヤー国の自動検出を加えて下さい
クライアント IP を SecurityService GeoLite2 のルックアップにプロキシし、 ページの読み込みに自動的にFormMyCountryで検出された国.
· SecurityService
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 country auto-detection step.
· kamo-register
終わりステップのkamo-capcha-widgetインラインでh***を置き換える
· kamo-register
Add /api/capcha/challengeプロキシルート
· kamo-register
Kamo-capcha-ウィジェットベンダーを追加し、h***パッケージを削除
· kamo-register
SP6はウィザードのリファクタを登録します。 - 個人情報を分割し、実際の登録APIを追加します
- FormName (name フィールド) と FormAvatar (Avatar Creator ジェネレーターと 13+ の生成/アップロード/スキップ モード) で FormPersonalInfo を置換します。 - FormRecoveryEnforcementを削除(フローから削除された回復フィールド) - フォームPassportIDをデュアルフィールドレイアウトに再ファクター:エイリアスは常に表示され、13 +のみ電子メールをメールします。コールバックはウィンドウをグローバルに置き換えます - 型付きregisterApi.tsを追加************************ - Add 電子メールの検証コードエントリとSIGNED INリダイレクト用のPostCompletionScreen - Refactor RegisterFlow: 動的ステップリストは、domainAgeCheck と isUser13Plus に基づいており、handle***Submit を実際の API 呼び出しに置き換え、postCompletionScreen を成功にレンダリングします
· InitializerService
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 so startup is not blocked. Update DataLoader to seed ALL_WORK_ELIGIBLE on fresh installs.
· SecurityService
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token generation/SHA-256 hashing, send/verify/resend flows backed by **************** - Add **************** — alias+email uniqueness checks, User creation, triggers verification email on register - SecurityController: wire RegistrationService into /register endpoint, add EMAIL_NOT_VERIFIED (403) gate on login, add POST /verify-email and POST /register/resend-verification endpoints - Bump kamo-shared-library to 1.4.0
· kamo-shared-library
メール認証を追加 トークンエンティティ + リポ + User.alias/emailVerified + UserRepo クエリ; バンプ 1.4.0 (SP4)
· InitializerService
Add SP4 email_verification_tokens DDL + User alias/email_verified columns
· kamo-marketing
商標の免責事項をフッターの法的テキストに追加する
· kamo-internal
電話 + セキュリティに関する質問(SP3)のアカウント設定ページを追加
API配線で****************を追加 セキュリティサービス /api/account/* 全3拠点で nav を同期.
· kamo-login
/recoverページ(SP3)にワイヤ実際のAPI呼び出し
FakeSubmit() をrecoveryApi 呼び出しで置き換えます。 SMS OTPを追加 フェーズ、シードメール入力、新しいパスワードステップ、トークンランディングの確認 ?token= URL パラメータで.
· kamo-login
/api/recover プロキシ + RecoveryApi クライアント (SP3) を追加
