セキュリティモデルポリシーのコンプライアンスウィザード
- ブランチタイプAPIは、アルコール/タバコ/防火具のポリシーをウィザード状態にマップします - 動的コンプライアンスのステップ:モデルがすべてのATFおよび年齢を固定するときのnavからの省略 - MEMBER SELECTまたは複数の年齢オプションの場合のみ、年齢とATF制御 - レビューは、ユーザーが求めたフィ...
変更ログリンクと毎日のカウントでライブ状態を表示
プレビューカウントダウンとサインアップコピーをコンパクトな「Now LIVE」で置き換える callout は変更ログ リンクを保ち、今日の変更カウントを常に表示します ロード後の API から。 ローカルでPreviewBanner文字列を更新します.
すべてのブートでロールレイトシンクサービス完全に自己ヒーリングを作る
RoleRightTypeの追加または削除は、再び実行する必要がある KamoInitializerService. syncAll() は、すべての起動時に 3 つのフェーズを実行します。 1。 ヒール制約 - チェックの制約をすべての右ベアリングに落とします テーブルは2つのupsert-required固有の制...
プラットフォーム管理の設定を追加 — org プランの助成金、イベント、プランのカタログ
- /settings/platform の下の新しいページ( hasPlatformAdminAccess によって保護される): - /organization - 理由で、すべてのorg、助成金/修正/再生COMP計画をリスト - /events — 監査フィード*************************...
プラットフォーム管理者+コンプリートプラン付与サービスを追加
- PlatformAdminController(/api/billing/platform) (クラスレベル@PlatformAdmin) - GET /orgs、GET /orgs/{orgId} - POST /orgs/{orgId}/grants, PATCH|DELETE /orgs/{orgId}/gr...
Seed Organization.isTopLevel for kamocrm and OWNER UNLIMITED セルフコンプリートプラン
- DataLoader:ドロップ組織 createOrg の type arg、kamocrm の set は TopLevel=true です。 - KamoCRMAgeReqUpdateRunner +テスト:IS TOP LEVEL = TRUEではなく、TYPEで一致 - 組織タイプRemovalRunner...
Add Organization.isTopLevel、PaymentMethod.COMP、COMP *イベントタイプ;組織を削除 タイプ enum
- 組織: プラットフォーム所有者の識別のための `isTopLevel` フラグでデッド `type` フィールドを置き換える - PaymentMethod: 無料のプラットフォーム管理者付与(ストライプなし)に COMP を追加 - サブスクリプションイベントタイプ: COMP GRANTED, COMP REV...
会員制覇者支援権の賭けとデュアルモードチケットビュー
- NavTop:サポートボタンを任意のサポート権利(エージェントまたはメンバー)に表示 - サポートボタン:各ドロップダウン項目を右にゲート — チケットを作成/表示、 Webinar をリクエストし、右が保持されたときにのみ表示されるマイウェビナー - SupportTicketListTab: デュアルモード —...
会員制支援権の追加 (133-136)
非エージェントメンバーの4つの新しいサポートスコープの権限を追加します。 メニュー - CREATE SUPPORT TICKET(クリエイト)(134) - 質問 WEBINAR(135) - VIEW MY スケジュールD WEBINARS (136)
右ボタンを SecurityRoleManager に追加して、トップレベルの orgs に追加します
ボタンは、組織.hasParent が false の場合のみ表示されます。 コール POST /api/security/roles/sync-rights はロールテーブルをリロードします.
RoleRightsSyncServiceを抽出し、sync-rightsエンドポイントを追加
- RoleRightsSyncService: OrgRoleのロール権利同期ロジックを一元化 メニュー テーブル、起動およびオンデマンド - DataLoader: 起動時にロールRightsSyncService.syncAll() に委任 - SecurityRoleController: POST /sync...
役割の権利 DTO を enum 主導し、セキュリティモデルの権利を同期させる
- SecurityRoleDTO.fromOrgRole():すべてのロールレイトを列挙する DB の型の値 一見のように設定 — 新しい権利は NOT SPECIFIED によって自動的に現れます メニュー 同じenum-drivenアプローチ セキュリティモデルのデフォルトロール - OrgRoleRight.t...
ネイティブな updateMemberType を追加し、TeamMemberRow のクエリをメンバーリポジトリに追加する
チケット訪問者の地行で都市とサブディビジョンを表示
"都市、地域、国(IP)" として表示 — null がフィルタリングされるので、 国のデータのみが利用可能な場合、十分に劣化
訪問者の地探査で都市とサブディビジョンを公開
- 都市とサブディビジョンフィールドでジオ結果レコードを拡張する - スイッチサポートTicketService.toDTO()を使用してGeoLookupService(IPレベル 参照) 国のみのジオロケーションリポジトリではなく、都市や サブディビジョンは、マッチングGeoLiteブロックからポップアップします
タブ URL を /account ページに追加して、深いリンクとリフレッシュの永続性
タブの状態は、******************************** に同期されますので、リンク 特定のタブの作業と正しいタブは、ページ上で選択されたまま更新します.
チケットヘッダで訪問者のフラグ、国、IP を表示
- 訪問者を追加するIpAddress、VisitorCountryCode、VisitorCountryName to SupportTicketDTOタイプ - レンダーフラグ emoji + 国名 + パブリックチャットチケットのticketHeaderのIPアドレス行
訪問者のフラグとサポートチケットヘッダの場所を表示
- PublicChatVisitorRepository と GeoLiteLocationRepository を SupportTicketService に注入する - 訪問者をポップアップ表示するIpAddress、VisitorCountryCode、toDTO()のVisitorCountryNameは、...
LiveSupportPanelでネイティブWebSocketをSTOMP/SockJSに置き換える
- @stomp/stompjs と sockjs-client パッケージを追加 - 代わりにSockJS + STOMPを介してメディア.{domain}/ws/public-chatに接続します 間違ったホストと間違ったプロトコルであったapi.{domain} への未加工WebSocket - STOMPが接続...
STOMP/NATS 経由でエンドツーエンドのパブリックチャットをリアルタイムに修正
- PublicChatWebSocketInterceptorから内部Auth要件を削除 訪問者はセッショントークンのみで直接接続できます - 訪問者の displayName を ChatMessageDto の senderName に含めて下さい チケットチャットでメッセージングしている人を見る - NATSサ...
NEW TICKET NATS通知の自動オープンサポートチケットポップアップ
新しいサポートチケットが到着すると、バックエンドはNEW TICKETを送信します。 PENDING COUNT に加えて、STOMP メッセージ。 サポート数Context ツール:open をディスパッチすることで、チケットチャットウィンドウがポップアップ表示されます。 エージェントが /support にナビゲー...
アニメーションヒーロー、タイムライン、CTA で /contact-confirmed ページを追加
専用のプレミアムでコンタクトフォームにインライン成功メッセージを置き換える 確認ページ: パーティクルバーストでSVGチェックマークをアニメーション化、「Happensとは」 次’ 3ステップのタイムライン, そして「あなたを待つ」CTAカード. 全23個のローカルファイル 新しい連絡先で更新されたi18nキーを確認し...
Org設定セクション(タイムゾーン、年齢req、コンテンツフラグ、説明、alias)を追加します。 プレビュー/AddDomainボタンを削除します
再設計 LabelManager — インラインセクション編集、壊れた保存の修正、既読のみのデフォルト
LabelManager.tsx をパーセクション読み取り/編集パターンで書き換えます。 壊れた保存を修正 ボタン (validateForm は、連絡先/会社フィールドが決してポップアップされていないため保存をブロックしました) API から。 グローバルなフォームの送信、検証フォーム、エラーの状態、プレビューモード...
カモメールドメインバリデータを追加して、クロステナントメールアドレスをブロック
カモメールドメインValidatorコンポーネントを導入し、サービスレイヤーでチェックします。 送信されたメールドメインが org の検証済みのデフォルトドメインにマッチするかどうか カモメールがアクティブプロバイダーであるとき。 MailboxProvisioningService に注入される、 AliasServ...
メールボックス、エイリアス、共有メールボックス作成のKamoMailドメイン制限を強化
カモメールがメールプロバイダである場合、メンバーはメールボックスのみを作成できます。 org の検証済みのデフォルトドメインを使用して、エイリアス、共有メールボックス。 3つの独立したレイヤーで強化: フロントエンドUI(プレフィックス+ロックドメイン) ドメインがない場合、無効な状態を入力すると、Next.js プロ...