共有ミートホスト上のテナントは、そのようにペイントされ、構成されています
Meet.kamocrm.com では、ホスト名は、すべての組織のプラットフォームです 自分のドメインがないと、ページ上の何も言わない側車は、 所属する部屋の組織。 サイドカーは部屋を解決しました(o<org id>-...) ?org= 483ac9c 以降, しかし, 何も渡さ: - overrides.js と...
タブのタイトルは、組織の独自のフォルダも読みます
title.html は、部屋のページに SSI-included され、最も静的/ に近い ページ, 404, oauth, オフライン, ダイヤルイン情報, プレハブ, ホワイトボード). そのスクリプトはまだ ホスト名からテーマフォルダを派生させるので、 meet.makeitpopsigns.com ですべて ...
エイリアスフォルダからテナントのロビーをペイントし、アップロードしたロゴ
Meet.makeitpopsigns.com すべてのロゴ、背景、スタイルシート、favicon 404'd。 サイドカーは、ホストの組織がミーティングの設定を解決しましたが、 どのFOLDERブランドが住むか尋ねなかったので、ロビーは1つに戻りました ホスト名から派生する: makeitpopsigns-com. ...
タグではなく、ダイジェストによるデプロイを生成
前のコミットは、 `set image` をサイレント no-op と停止します。 これは、 結果: ロールアウト後、タグはレジストリでダイジェストに解決され、 実行中のPodはそれに対してチェックされます。 Podが画像を実行していない場合、この実行 生成されたビルドは、レポートの成功の代わりに失敗します。 タグが...
同じコミットの再構築は何も展開し、成功を報告しました
この画像はコミット SHA でタグ付けされます。 同一の画像参照。 `kubectl set image` は何も変更しません。 デプロイメントは触れず、「ロールアウト状態」はすぐに反対に成功します OLD Pod と、このパイプラインは何もデプロイした成功したデプロイを報告します。 サービスが再構築されなければなら...
古いポッドが何をやっていたか、ロールアウトフィニッシュしてみましょう
デプロイは、各サービスの唯一のPodを、リクエストをキャッチするために何も交換しました フライト 車両全体に適用される3つの設定: - プロセスがSIGTERMを見る前に、プレストップスリープ10秒。 Kubernetesは、そのPodからPodを削除します EndpointSlice と信号を同時に、Traefik...
ロビーは、ミーティングオーナーのブランドを着用します
オーバーレイは、ブラウザのホスト名からテーマフォルダを誘導しました。 共有される プラットフォームのテナントであるホストを満たすので、CSS、favicon、ロゴ 最初に読み込まれた塗料は、加茂CRMの会議に参加していたものでした。 自分のドメインがないのは、決して2番目のチャンスはなかった。 サイドカーは既に部屋が...
メンバーのアイデンティティと、そのorgはタブ間で漏れを止めます
meet.<platform> は、各組織のホストなしで共有され、 localStorage は オリジン 署名されたメンバーの名前、Eメール、アバターが書かれているので、その2つのタブは 2つの組織は、お互いを上回る:最後に読み込まれた組織は、アイデンティティBOTHタブを決定しました ほかの人の名前を示す会議に出席...
この画像が実際に失敗したところにあるnpm ciをリトライする
ビルドは 2026-08-15 以降全てのプッシュで失敗し、コードではありません。 ログは、ERR SSL CIPHER OPERATION FAILEDとnpm ciダイイングを示しています。 ossl gcm stream update — AES-GCM タグの不一致、つまり TLS が検出する ペイロードはトラ...
共有ミートホストの組織へのスコープルーム
お部屋の隔離はHOSTでした。 org B のメンバーは、*** を表示できませんでした。 ミートのクッキー。<org-A-domain> なので、 org A's の部屋名がそれらを得たことを知っている どこでも。 自分のドメインのない組織を1つから提供 共有ミートホストの終了:すべてのメンバーのクッキーが有効である...
スライドショーの上のコラムは90%、50%ではないです
ハーフの強度は、参加列を通して写真のあまり多くを聞かせて、 プレビューペイン。 どちらも90%のカラーなので、背景 競合するのではなく、それらの背後にある素晴らしいテクスチャとして読みます 制御。 アバターとビデオプレビューは影響を受けません。 背景だけで.
スライドショーは、それらの上に座ってのではなく、両方の列をカバーしました
#preview は無位置の plain flex アイテムなので、スライドショーレイヤー — z-index 0 - 背景に塗装され、悪化し、上 その中のメンバーアバター。 プレビュー 列は現在位置: 相対的かつ z-index 1 にリフト スライドショーが上がっている間、両方の列の下に写真を置く。 両列は、色混...
Orgロゴを、参加列の80%にサイズする
参加画面は、40pxの高さのブランディングロゴを、ObjectFit でキャプチャしました。 含まれているので、300px の列の中に文字箱をレンダリングし、見ました ソースイメージに関係なく、 明示的な 80% の幅を与え、 代わりに、オートの高さは、パッド付きコンテンツルールをオーバーライドする 直接子供を100%...
ブラウザは、すべてのデプロイ後にステープルアプリのバンドルを維持しました
index.html は、これまでビルドされていないハードコードされた `libs/app.bundle.min.js?v=139` を出荷しました。 変更すると、バンドルファイル名は安定しており、nginxはCache-Controlをまったく送信しません。 ブラウザをデプロイすると、以前のJSを無期限に実行し続ける...
アバターフォールバックURLは解決できませんでした
アバタールックアップキャッチブロックの両方が構築 メニュー アバターは固定に移動しました、 ドメインに依存しない `platform/` 接頭辞 (SecurityService AvatarObjectPaths) は、 ユーザーの写真は、所属するすべてのorgから解決する必要がありました。 404s 無条件 — 4...
Colibri-ws プロキシは常に 502'd — nginx はソルバー無し
/colibri-ws/<jvb-id>/ は、キャプチャグループから上流をビルドします。 nginx は、そのような名前をリクエスト時に解決し、解決者がいるときだけ解決します。 設定されているので、すべてのリクエストは「解決しない」で解決する **************** と 502 を返します。 橋チャネルは静...
死んだアバター URL は、初期の代わりに永久的な壊れたイメージをレンダリングしました
ストレージから写真が欠落している参加者は、壊れた画像のアイコンを表示 呼び出しの他の誰もが、永遠に - それは初期に劣化しません。 アップストリームは loadableAvatarUrl を無条件にレンダリングできます。 getFirstLoadableAvatarUrl() が正常にプリロードされた後だけ設定しま...
Kubectlのダウンロードをフラッキ・エグレッシにハードン [skip ci]
dl.k8s.io オーバー ランナーのエグレッション 断続的にミッドトランスファーをドロップ: curl: (56) OpenSSL SSL read: 復号化が失敗したか、悪いレコードマック それ以外の緑のビルドでデプロイが失敗する。 繰り返し観察 kamo-signer-monorepoとkamo-transla...
JWT-forgeホールを閉じて、ゲストの参加を固定し、「カモとサインイン」を追加します
- サイドカー /api/auth/jwt: メンバーのアイデンティティ(id/name/email/org)を由来する リクエストボディではなく、サーバー側の***セッション。 以前は誰ができるか 任意のアイデンティティを POST + モデレータ:true と有効な Prosody JWT を取得する あらゆる部屋...
JWTの有効期限を5分から24時間延長
新しい参加者が参加または会議に参加すると、ProsodyはJWTを再検証します 状態の変更。 5分間の有効期限で、プレゼンターのJWTが期限切れ 「残念なことに、何かが間違っていた」と、 再接続ループ。 JWTは既にシングルユース(消費中) XMPP auth なので、長い有効期限が安全です.
JWTリダイレクト後のReduxディスパッチによるフォースセットアバター
JWT のアバターの遅延負荷パイプラインはサイレントに失敗します disableThirdPartyRequests を無効にします。 今三層アプローチ: 1。 Avatar.tsx mapStateToPropsが参加者に戻って落ちます。avatarURL 2. branding/overrides.js は、リ...
Avatarコンポーネントのフォールバックとして、参加者のavatarURLを直接使用
LoadableAvatarUrlパイプライン(プレロードチェック→setLoadableAvatarUrl) disabledThirdPartyRequests と、URL の設定は行いません。 CONNECTION ESTABLISHEDの前にアバターをクリアする遅延ロードフロー。 Avatar コンポーネント...
エキストラCockroachDB JSON.parse が精度を失う前の文字列としての ID
CockroachDB ユニーク rowid() ID (例:1161936315562426374) 超過 JavaScriptの数値。MAX SAFE INTEGER (9007199254740991)。 JSON.parse(ジェイソン・パース) 1161936315562426374は116193631556...
ハッシュから構築する代わりに、SecureService API からアバター URL をフェッチ
セッションハッシュからの静的URL構造が404/500を返す Avatar Creator SVG は、予想される MinIO パスに常に保存されていないためです。 サイドカーは、SecurityService API からアバター URL を取得します。 (GET /api/security/members/{id...
アバター URL を直接、プレロードチェックなしで設定し、サイドカーのロギングを追加
GetFirstLoadableAvatarUrl のプリロードチェックは失敗しました テーマ CDN URL は、ブラウザの内部からプリロードできませんでした disabledThirdPartyRequests を使用したセキュリティコンテキスト。 URL を設定する setLoadableAvatarUrl を経...
ロゴ バリアント レース条件, defaultLobbyEnabled 無視, whoCanRecord が config に渡されない
- org config がロードされるまで、overrides.js でロゴUrl 解像度をデファリングして防ぎます 間違ったロゴの変形を点滅させる(SIMPLE対FULL) - orgの設定後に火kamo-branding-loadedイベントが適用されるので、Reactコンポーネント 正しいロゴで再レンダリング ...
DisableThirdPartyRequests が true で、仮想背景設定レイアウトを再設計したときにアバター写真を許可します
JWT文脈からのアバターURLは、サードパーティのテーマCDN URLではなく、サードパーティのリクエストです。 disableThirdPartyRequests ガードは、読み込みを防止し、初期のフォールバックを引き起こしていました。 また、左にビデオプレビュー(280x160)を表示する仮想背景タブを再編成 右側...
ウェルカムページスタイリングにマッチするページを閉じる
・フェード/スケールアニメーションによる背景スライドショー(8秒間隔) - 15%の第一次色の上敷+勾配の大気上敷 - ガラス形態カード(rgba(255,255,255,0.75)、blu(14px)) - テキストは、orgテーマCSSから --color-primaryを使用します - ロゴは、CSSフィルタを使...
ブランドのクローズページと正しいアバターURL構築
- ページを閉じる(close.html, close2.html)は、orgの背景画像を使用します。 ロゴ、ファビコン、ガラス成形スタイリング、ウェルカムページ - 「会議に参加していただきありがとうございます!」と密接にメッセージを変更しました。 - 完全な相対パスを使用するためにサイドカーのアバターのURLの構造...
二重 org ロゴの透かしのサイズおよび埋め込まれたダイアログの白のテキストを強制して下さい
- 二重透かしベース寸法(7x32 → 142x64) variables.scss - base.scs の .leftwatermark の最大制約 (140x70 → 280x140) - 埋め込まれたダイアログのtextareaの白い色を強制し、explicit CSSの上書きによってボタンのアイコンをコピ...
KamoMeetでOTKのauthの失敗とログインリダイレクトの問題を解決
- Redis のキーは、バリデーション otk (欠落しない * 接頭辞で、すべての OTK 検証が失敗する原因) で調べます。 - マップセキュリティサービスセッションフィールド名を正しく(memberID→memberId、ユーザー名Alias→displayName、memberEmail→email) - セ...
ミーティングのネイティブログインダイアログを、KamoMeet auth 用にリダイレクトする org ポータルで置き換える
KamoMeetは、OTK → JWT認証を独占的に使用しています。 ミートのアウスミドルウェアのとき 通常、ユーザ名/パスワードのログインダイアログが表示されます。 orgの内部にリダイレクトします。 代わりにポータル。 これにより、認証されたユーザーにXMPPログインプロンプトが混在しなくなります.
株式の削除 仮想背景を満たし、org レベルの背景のみを使用する
- 定数からハードコードされた IMAGES 配列を削除 (7 株式 出会いの背景) - VirtualBackgroundsコンポーネントは、動的ブランディング背景を直接使用 フォールバック無しでストック画像 — orgs は自分の背景をコントロール - 代わりに空のブランディングを返すために/api/brandin...
ミートのネイティブ・ダイナミック・ブランディング・システムで仮想背景を生成
期待するMeetのorgの背景を返す /api/brandingエンドポイントを追加しました フォーマット。 config で DynamicBrandingUrl を設定すると、ネイティブで fetches の背景を満たす スタートアップ racy applyVirtualBackgrounds Redux ディスパ...
すべてのページの読み込みにすぐに、org CSS/favicon をロードし、800px に設定の幅を広げ、すべてのダイアログでダークテキスト/アイコンを強制し、ビデオプレビューを縮小
1. ブランディング: loadThemeAssets() は auth の流れの前に FIRST を実行します。 org CSS (--navpri, --color-primary), favicon, ロゴデータが設定されている OTK→JWTリダイレクト中でも。 前のテーマローディングは、 OTK の戻りステー...
オーバーライド、設定ダイアログレイアウト、およびソース変更による名前ロックを表示
- PreMeetingScreen:左側の列の背景色(--navpri/-color-primary Fallback)のCSS変数カスケードを使用します。 - PreMeetingScreen:マウントとブランディングロードイベントにorgテーマPathからfaviconオーバーライドを追加 - DialogWit...
読み込み専用 名前 オーバーライド より積極的なので ミートは上書きできません
ミートはウィンドウを交換できます。 ブートストラップで完全に設定し、クリア 読み込み専用 名前 フラグ。 window.config に Object.defineProperty trap を追加 再注入 readOnly Name=true は、すべての再割り当てに使用されます。 また延長します 10〜15秒の間隔...
ロゴやorgカラーレンダリングなど、非同期ブランドのロードイベントを聴く
PreMeetingScreen、透かし、ウェルカムページが読み込まれました window. KAMO MEET BRANDING はレンダー時にデータを欠落させます。 初期マウント後の async loadBranding() が完成しました。 イベントの追加 リレンダーをトリガーする「kamo-branding-...
設定ダイアログの品質の問題を解決する — 高さ、タブのオーバーフロー、およびホワイトオンホワイトテキスト
修正された560pxの高さを85vh maxで自動に変えるので、コンテンツはそのままにフィットします。 スクロールバー。 タブバーにflexWrap を追加して、クリップの代わりにラップをタブします。 ダークバリュー(#1a1a1a1a1a)で白のテーマパレットカラー(#FFFF)をオーバーライド #333) ダイアロ...
任意のテーマアセットをロードする前に、OTK FIRST を検証して expiry を防ぐ
ROOT CAUSE: branding/overrides.js は org config, CSS, favicon をロードしました OTKの有効化 これらのネットワークリクエストは10秒以上かかります。 認証 → 401 → セッションなし/ JWT を期限切れに OTK を引き起こします。 今度は OTK ...
設定オーバーライド+ DOMの変異のオブザーバーによる表示名を適切にロックする
名前が認証されたユーザーにロックされていることを確認する3層のアプローチ: 1. localStorage フラグ 'kamo-meet-authenticated' は OTK→JWT リダイレクトを存続させます 2. リダイレクト後、オーバーライドする window.config.readOnlyName=true...
ミートのネイティブ読み取り専用で表示名をロックする 認証されたユーザーのための名前設定
- Sidecar config.js では、ユーザが Cookie を持っているときに readOnlyName:true を設定できるようになりました。 またはページの URL の JWT (参照先/cookie ヘッダーで検出) - nginx は Cookie と Referenceer ヘッダーを confi...
OTK セッションから Prosody JWT を生成し、適切なモデレータの ?jwt= でリダイレクトします
OTKの流れ: 1. サイドカーでOTKを検証→セッション(memberId、displayNameなど) 2. 表示名を localStorage に保存 3. /api/auth/jwt を呼び出して、署名された Prosody JWT をモデレータ=true で生成します。 4. ?otk=xxx から ?jwt...
Org nav色をプレミーティングの左の列全体に適用するだけでなく、ツールバーストリップ
ターゲット.premeeting-screen(フルハイトコンテナ)とそのコンテンツ 生成されたクラス名の代わりに子をパネルします。 また、インメットをカバー ツールボックスとフィルムストリップのサイドバー.
既定のユーザの既定の画面に表示名入力をロックする
認証されたメンバー(OTK経由)は、その名を事前に入力し、 locked — インプットは、ポインタが無効になっているポインタからのみ読み込みます。 MutationObserver は、Meet のレンダーの後にもロックが適用されることを確認します。 画面を動的に囲む。 匿名/ゲストのユーザーは、まだ編集できます お...
Config.js の 相対的な BOSH/WS URL を使用して、 OTK auth を name プレフィルで追加し、 nav 色の org CSS をロードします
3つの修正: 1. config.js BOSH URL はクラスター内部アドレスから相対的に変更されます。 /http-bind(Prosodyへのnginxプロキシ)。 WebSocket はホストヘッダーを使用します。 2. branding/overrides.js は URL パラメータから OTK を検証し...
Nginx SSI を有効にし、不足している HTML をコピーするには、ファイル (head.html, base.html, fonts.html, body.html, plugin.head.html) が含まれます
ミートミートミートは、nginx Server Side Includesを使用して、からindex.htmlを構成します。 複数の部分的なHTMLファイル。 SSIが有効でなく、ファイルを含む このページは空白の画面としてレンダリングされます.