プラットフォーム管理UI用のTeamMemberオーナーフラグを***に追加
チームメンバーを格納します。メンバーID、isOrganizationOwnerのログインでRedisセッションでログイン そのため、kamo-internal hasPlatformAdminAccess はトップレベルの org オーナーを満たすことができます パス。 会員 team member から IS OR...
アクセスログ API プロキシでクエリ文字列の重複を停止する
forwardToApi は、着信リクエスト検索文字列を既に追加しています。 エンベディング ?params を生成したパスで malformed URL と Spring がパースページ/サイズに失敗しました (25?page=0,25のような値のNumberFormatException).
必要なDNS CNAMEエイリアスからメールをドロップ
KnownAliases からメールを削除し、検証済み dns と オンボーディング 不要 mail.example.com が必要です。新しいカスタムドメインも自動処理をスキップします。 メールの子エイリアス.
メールなしで必要なサブドメインリストをアライグする
DNS のセットアップ UI および手動ガイドのための一致の SecurityService KnownAliases.
行動ラベリングにおける年齢とATFの名誉セキュリティモデル
API から boolean コンプライアンス リテラルを解析します。 年齢のドロップダウンをビルドする 正規化されたホワイトリストトークンと数値のエイジリアックID; 完全な表示を避ける モデルが未知のトークンだけをリストするときの年齢リスト。 コンテンツフラグを隠すとき アルコール/タバコ/防火具は、応用モデルによ...
応用モデルの正しいソースを修正し、API のコンプライアンスを正規化
BRANCH TYPE と MASTER のリゾルダーのリゾルダーを使って、 BranchTypeID だけ。 応用モデルのFALSE/TRUE準拠文字を正規化 JSONの設定.
応用モデル ソースの解像度とコンプライアンスポリシーの正規化
Expose resolveAppliedModelWithSource は、アクターがアクティブなモデルかどうかを知っています ブランチタイプやマスターフォールバックから来た。 地図 FALSE/TRUE/0/1 準拠 子供のorgのセキュリティモデルを主張するときにNOT ALLOWED/ALLOWEDにリテラル.
テーマ別キャッシュバステーマCSSとアセットの修正
ストア無しで設定をフェッチします。v=themeRevision を globals.css と favicon URL に追加します。 そのため、ブラウザは各条項の後にキャッシュされたテーマをドロップします.
Cleanup の前に globals.css を書く。cleanup async を実行する
再オーダーのprovisionUpdate なので writeConfigFiles (colors, config, manifest) を実行します 背景ファイルクリーンアップの前に。 新鮮な色のためにDBからorgをリロードします。 CleanupExtraBackgrounds を CompletableFt...
コミットされたorg色をMino Globals.cssに適用して下さい
非同期暫定開始時にDBから組織をリロードする writeConfigFiles は PATCH /colors によって保存された色 (Controller スナップショット) を参照します。 屋台はできます)。 Null 安全二次パレット;六角交換マッチ MinIO CSS の 3 および 6 桁の値を引用します。r...
Email provider domains のデフォルトセットがない場合、org domains にフォールバック
KamoMailDomainValidatorは403のorgsのハード フェイリングで、 org domains の DNS-verified ドメインがメールに追加されていない プロバイダードメインレジストリ。 最初のアクティブを使用するフォールバックを追加します。 DNS 検証、トップレベルの org domai...
NavTop の getMemberIdString() を使用して、int64 の精度の損失を防ぐ
getMemberId() は、CockroachDB を JS 番号に変換します。 ID > MAX SAFE INTEGER (例: 1168485658174423046 → ...000) NavTop 会員 ID の使用法を、既に使用している GetMemberIdString() に転換して下さい この目的...
ドメイン API で isDefault として DNS-verified カスタムドメインをマークする
以前は *.kamocrm.com サブドメインがデフォルトでマークされているため、orgs 検証済みのカスタム apex ドメイン (例: kamocrm.com) が常に取得 defaultDomain=null はメールボックスの作成からブロックされました.
Avatar UUID 文字列をメンバー PUT に送信し、parseInt ではなく
Avatar ID は UUID です。 parseInt は、NaN または truncated の値を生成し、メンバーは avatarの更新は、更新後にスキップまたは誤っていました。 文字列 ID を使用する アップロード、Avatar Creator、メンバーシップタブ保存、アカウントタブ選択.
ユーザが org オーナー TeamMember のときにブランディングを許可する
テーマのプロビジョニングとロゴ/背景のアップロードのみチェックされた組織。 スタッフ FK;アプリUIは、組織の所有者をTeamMember.isOrganizationOwnerとして扱います, 違います。 両方と認可を合わせ、アップロードの神モードを許可して下さい 仮説のように.
アバター行を削除する前に、ユーザとメンバーのFKをクリア
それがまだアクティブなユーザーアバターやメンバー固有のオーバーライドだったとき、アバターがDB制約に失敗しました。これにより、ユーザーがストールレコードを削除できないMino blobsが壊れました.
暫定的な HTTP エラーを処理し、プロビジョニング UI をリセットする
ブランディングと背景保存後のPOST /provision-themeを待ってください。 non-202 API エラーを表示し、パネルをクリアします。 投資テーマ提案 背景は websocket の状態がブランディングのようなリセットを保存します.
厳格なDNS検証なしでテーマフォルダホストを解決する
テーマのプロビジョニングは、すべてのドメインに対して必須のisDnsVerifiedです。 デフォルト kamocrm.com サブドメインは非同期作業を開始しません (400, STOMP なし). アクティブなドメインに戻り、{alias}.kamocrm.com に移動します.
POSTの前にSTOMPを接続して、失われた進行を避ける
WebSocketはプロビジョニングが真になったときにのみ始まりました。 同じターンで発射される。非同期のバックエンドは、STOMP の購読前に公開することができる。 org id が既知のときに接続します。 実行が UI をリセットし始めると、 バンプセッションカウンター.
コアNATSのリレーテーマの規定
マッチセキュリティサービスコア公開:Dispatcherで購読する JetStream ではなく、security.theme.provision.* (ストリームのみチャットをカバー).
核心NATSに関するテーマ規定の進捗を公開
JetStream CHAT MESSAGES ストリームはチャット用に構成されています。> のみ、公開 へ******************** 失敗したストリーム検証とUI のこぎり 進行しません。 SupportNotificationService のような Connection.publish を使用します...
セキュリティ org API およびテーマ WS 用の string org ID を使用します
getOrgId() は、数値() で orgID を強制し、int64 の cockroach ID を破損します。 /api/security/org/{id}/* URL (404/failed 保存). getOrgIdString() を追加します。 LabelManager で使用し、テーマのプロビジョニン...
