チェンジログ
何が新しいの?
プラットフォームのすべての改良 それが出荷される
· SecurityService
RoleRightsSyncServiceを抽出し、sync-rightsエンドポイントを追加
- RoleRightsSyncService: OrgRoleのロール権利同期ロジックを一元化 メニュー テーブル、起動およびオンデマンド - DataLoader: 起動時にロールRightsSyncService.syncAll() に委任 - SecurityRoleController: POST /sync-rights は再起動なしで同期をトリガーします
· kamo-shared-library
役割の権利 DTO を enum 主導し、セキュリティモデルの権利を同期させる
- SecurityRoleDTO.fromOrgRole():すべてのロールレイトを列挙する DB の型の値 一見のように設定 — 新しい権利は NOT SPECIFIED によって自動的に現れます メニュー 同じenum-drivenアプローチ セキュリティモデルのデフォルトロール - OrgRoleRight.type:explicit @Enumerated(EnumType.ORDINAL)アノテーションを追加 -************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************ スタートアップとオンデマンド同期のためのクエリ
· kamo-internal
複数のサポートチケットウィンドウをticketIdの複製で許可する
· kamo-internal
会員タイプのチップを追加し、会員ステータスカードにプロモーション/デモを行い、セッションタイムアウトフィールドを削除
· SecurityService
会員プロモーション/プロモーションのためのPATCH /membership-typeエンドポイントを追加
· kamo-shared-library
ネイティブな updateMemberType を追加し、TeamMemberRow のクエリをメンバーリポジトリに追加する
· kamo-shared-library
Add ALLOW PROMOTING MEMBERS 右 (id 132)
· kamo-internal
PLANNINGからCOMPLETEDステージまでのPOSとESIGの推進
· kamo-shared-library
PLANNINGからCOMPLETEDステージまでのPOSとESIGの推進
· kamo-internal
チケット訪問者の地行で都市とサブディビジョンを表示
"都市、地域、国(IP)" として表示 — null がフィルタリングされるので、 国のデータのみが利用可能な場合、十分に劣化
· MediaService
訪問者の地探査で都市とサブディビジョンを公開
- 都市とサブディビジョンフィールドでジオ結果レコードを拡張する - スイッチサポートTicketService.toDTO()を使用してGeoLookupService(IPレベル 参照) 国のみのジオロケーションリポジトリではなく、都市や サブディビジョンは、マッチングGeoLiteブロックからポップアップします
· kamo-shared-library
訪問者と訪問者を追加サポートTicketDTOにサブビジョン
· kamo-internal
タブ URL を /account ページに追加して、深いリンクとリフレッシュの永続性
タブの状態は、******************************** に同期されますので、リンク 特定のタブの作業と正しいタブは、ページ上で選択されたまま更新します.
· kamo-internal
チケットヘッダで訪問者のフラグ、国、IP を表示
- 訪問者を追加するIpAddress、VisitorCountryCode、VisitorCountryName to SupportTicketDTOタイプ - レンダーフラグ emoji + 国名 + パブリックチャットチケットのticketHeaderのIPアドレス行
· kamo-shared-library
SupportTicketDTOに訪問者のジオフィールドを追加する
· MediaService
訪問者のフラグとサポートチケットヘッダの場所を表示
- PublicChatVisitorRepository と GeoLiteLocationRepository を SupportTicketService に注入する - 訪問者をポップアップ表示するIpAddress、VisitorCountryCode、toDTO()のVisitorCountryNameは、ジオ検索を介して - GeoLookupService は、セッション作成時にビジターのcountryCode を既に表示しています
· kamo-marketing
LiveSupportPanelでネイティブWebSocketをSTOMP/SockJSに置き換える
- @stomp/stompjs と sockjs-client パッケージを追加 - 代わりにSockJS + STOMPを介してメディア.{domain}/ws/public-chatに接続します 間違ったホストと間違ったプロトコルであったapi.{domain} への未加工WebSocket - STOMPが接続した後、 /topic/chat/session/{guid} を購読し、 /app/chat/subscribe 経由でバックエンドに NATS JetStream リレーをアクティブに通知 - エージェントの応答が流れます: MediaController -> NATS -> チャットWebSocketController -> STOMPブローカー -> リアルタイムで訪問者のLiveSupportPanel
· MediaService
STOMP/NATS 経由でエンドツーエンドのパブリックチャットをリアルタイムに修正
- PublicChatWebSocketInterceptorから内部Auth要件を削除 訪問者はセッショントークンのみで直接接続できます - 訪問者の displayName を ChatMessageDto の senderName に含めて下さい チケットチャットでメッセージングしている人を見る - NATSサブスクリプションから転送されたSTOMPメッセージマップに送信者名を含める そのため、エージェントと訪問者の両方がリアルタイムメッセージで送信者名を参照
· kamo-shared-library
SenderName を ChatMessageDto に追加してチャットの表示名をサポート
· kamo-internal
NEW TICKET NATS通知の自動オープンサポートチケットポップアップ
新しいサポートチケットが到着すると、バックエンドはNEW TICKETを送信します。 PENDING COUNT に加えて、STOMP メッセージ。 サポート数Context ツール:open をディスパッチすることで、チケットチャットウィンドウがポップアップ表示されます。 エージェントが /support にナビゲートしなくても自動的に動作します.
· kamo-marketing
アニメーションヒーロー、タイムライン、CTA で /contact-confirmed ページを追加
専用のプレミアムでコンタクトフォームにインライン成功メッセージを置き換える 確認ページ: パーティクルバーストでSVGチェックマークをアニメーション化、「Happensとは」 次’ 3ステップのタイムライン, そして「あなたを待つ」CTAカード. 全23個のローカルファイル 新しい連絡先で更新されたi18nキーを確認します.
· kamo-internal
Org設定セクション(タイムゾーン、年齢req、コンテンツフラグ、説明、alias)を追加します。 プレビュー/AddDomainボタンを削除します
· kamo-internal
再設計 LabelManager — インラインセクション編集、壊れた保存の修正、既読のみのデフォルト
LabelManager.tsx をパーセクション読み取り/編集パターンで書き換えます。 壊れた保存を修正 ボタン (validateForm は、連絡先/会社フィールドが決してポップアップされていないため保存をブロックしました) API から。 グローバルなフォームの送信、検証フォーム、エラーの状態、プレビューモード、および scattered ボタンを保存します。 各セクションでは、マウント時に API からデータを読み込み、クリーン表示 デフォルトで読み取り専用行で、インライン編集/保存/キャンセルフローを持っています。 全7セクション (会社情報、ブランディング、背景画像、連絡先情報、カスタムラベル、ソーシャルリンク) クロスフィールド検証ブロックなしで独立して保存します.
· EmailService
カモメールドメインバリデータを追加して、クロステナントメールアドレスをブロック
カモメールドメインValidatorコンポーネントを導入し、サービスレイヤーでチェックします。 送信されたメールドメインが org の検証済みのデフォルトドメインにマッチするかどうか カモメールがアクティブプロバイダーであるとき。 MailboxProvisioningService に注入される、 AliasServiceとSharedMailboxServiceは、任意のプロビジョニングが発生する前に呼び出されます。 ドメインが一致しない場合、403 FORBIDDENを返します.
· kamo-internal
メールボックス、エイリアス、共有メールボックス作成のKamoMailドメイン制限を強化
カモメールがメールプロバイダである場合、メンバーはメールボックスのみを作成できます。 org の検証済みのデフォルトドメインを使用して、エイリアス、共有メールボックス。 3つの独立したレイヤーで強化: フロントエンドUI(プレフィックス+ロックドメイン) ドメインがない場合、無効な状態を入力すると、Next.js プロキシ (parallel プロバイダー) + 転送前のセキュリティドメインチェック、Javaサービスレイヤー.
· kamo-marketing
動的ロゴ拡張のためのconfig.jsonからlogoFullExtを読みます
· kamo-register
Config.json から LogoFullExt を読みます。site.webmanifest パスを favicon サブディレクトリに固定します
· kamo-login
動的ロゴ拡張のためのconfig.jsonからlogoFullExtを読みます
· kamo-internal
Orgテーマのプロビジョニング — WebSocketホック、プロビジョニングパネル、LabelManager配線、DNSトリガー、bgリサイズ、テーマコンテクスト
· MediaService
Relay NATS theme provision progress to STOMP WebSocket
