常時内部の秘密の比較(タイミングのoracle)
文字列.equals を MessageDigest.isEqual に置換するので、応答レイテンシーは変更できません。 X-Internal-Auth 共有シークレットバイト単位をリークします。 艦隊ワイドスイープの copy-pasted 内部AuthFilter (same は eClose に既に出荷され、 ラ...
常時内部の秘密の比較(タイミングのoracle)
文字列.equals を MessageDigest.isEqual に置換するので、応答レイテンシーは変更できません。 X-Internal-Auth 共有シークレットバイト単位をリークします。 艦隊ワイドスイープの copy-pasted 内部AuthFilter (same は eClose に既に出荷され、 ラ...
常時内部の秘密の比較(タイミングのoracle)
文字列.equals を MessageDigest.isEqual に置換するので、応答レイテンシーは変更できません。 X-Internal-Auth 共有シークレットバイト単位をリークします。 艦隊ワイドスイープの copy-pasted 内部AuthFilter (same は eClose に既に出荷され、 ラ...
再発生成スケジュール UI
ScheduleManager: 作成/リスト/削除のスケジュール(予定+毎日/週単位+) 時間/日+任意自動ポストのターゲット+キャプション);材料、ゲートから始まりました Canvaのオートフィル(エンタープライズ)機能。 + canvaApi + /api/canva/schedulesプロキシ.
スケジュールされた生成 — sweep は、アカデミーでレシピを実行します
- CanvaScheduleController: orgのスケジュールのCRUD (recipe + cadence + 1日 + オプションのソーシャルターゲット)、次の計算RunAt - キャンバス生成 サービス: ヘッドレス メニュー 素材(プロセス内イメージサービス、バックフィルまでサムネイルレス) - C...
CanvaSchedule 実体 + リポ (再発生成)
Org-scoped 再帰スケジュール (recipe + cadence + オプションのソーシャルターゲット) と 原子宣言クエリで、MediaService のスイープが各デューススケジュールを一度実行できるようにします.
ソフトフォンボイスメール+通話履歴行で展開可能なウィスパートランスクリプト
記録された行(ボイスメールと通話履歴)は、「Transcript」のトグルを取得します。 録音のウィスパーのトランスクリプトをオンデマンドで取得し、インラインに表示するので、 プレイヤーを開かずにメンバーを閲覧できます。 記録ごとのキャッシュ.
保存+自動充填レシピを再使用
TemplateAutofill:「保存されたレシピ」チップは、テンプレート+プレフィルドマッピングをロードします。 「レシピとして保存」は、現在のテンプレート+フィールドの値org-wideを主張します。 + canvaApi リスト/保存/削除 + /api/canva/recipes プロキシ.
保存されたオートフィルレシピCRUD(org-scoped)
CanvaRecipeController: GET/POST /api/media/canva/recipes + DELETE /{id} — save/list/soft-delete という名前のブランドテンプレート + フィールドマッピング、スコープ付き コールワーズ org.
CanvaAutofillRecipe 実体 + リポ (保存されたオートフィルのレシピ)
Org-shared は Canva ブランドのテンプレートのバインディングをフィールド値(Liteal)に命名しました。 テキストや材料のイメージ)ので、スチュワードは標準データマージを再実行できます.
/dev/shm 2Gi (ヘッドレスChromeは>=2GBを必要とします) + 6Giのmemの限界
'/dev/shm で '/dev/shm が 少なくとも 2GB' である必要があります。 512Mi、レコーダーのクラッシュループ。 tmpfsを2Giとメモリの制限にダンプ フィットする6Gi。 ジブリが実際に走ったことがない理由です.
フォーム、詳細ページ、およびインポートを作成するためにMaterial ID フィールドを追加します
リードタイプ、リードApi を経由して、無効なMaterialId (最大 40) をスレッド (作成+更新ワイヤ要求)、および共有リードフィールド 手動インポートウィザードとAPI/ベンダーの両方を駆動するリスト intake マッピング UI (さらに、ダウンロード可能な CSV テンプレート)。 入力を追加する ...
ミートシークレット ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
ジブリのfinalize.shは、録画アップロードをMediaServiceに認証します。マッチ MediaService のクラスター *** 値に対して検証します.
要約メールのMediaService内部.auth.secret(mlos-internal-auth)を付与する
メディアサービス -> メールサービス /api/email/templates/send (ミーティング・スモーリ) ニーズ INTERNAL AUTH SECRET は、EmailService の内部.auth.secret と一致します.
エンタープライズオートフィルUI — データマージのブランドテンプレート
TemplateAutofill:Canvaのブランドのテンプレートを選び、各フィールドをリットルで埋めます テキスト、org/compliance トークン(NMLS #、Equal ハウジングの開示、org name/phone/ ウェブサイト/アドレス、メンバー名)、またはマテリアルイメージ。データマージを生成す...
エンタープライズオートフィル — データマージのブランドテンプレート
- CanvaApiClient:リストブランドテンプレート(dataset=non empty)、データセットを取得する アセット・アップ・ロードのジョブ、作成/ウィジェットの自動ジョブ - CanvaController: GET /brand-templates、GET /brand-templates/{id}...
手動輸入+ APIの取入口のPersistによってマッピングされる物質的なID
SetDirectFieldOnCreateRequest はデフォルトケースが不足しているため、 unmapped systemFieldPath はサイレントにドロップされます。 MaterialId ケースを追加 手動インポート (LeadImportController) とベンダー/ API インテーク (L...
共有ライブラリにMaterial ID フィールドエンドツーエンドを追加
リードエンサー (MATERIAL ID) に nullable, max-40-char 素材Id を追加 VARCHAR(40))、LeadHistoryFieldRegistry(プロファイルカテゴリ)に登録 編集は監査され、 Create/Update/Read DTO を通してそれを通します。 LeadSer...
ソーシャルアタッチ+メール素材+パブリックリンク
新規署名されたパブリックURLシーム上に構築されたマーケティング資料の配布。 - MaterialApi.publicLink(imgId)+ /api/materials/linkプロキシ - 資料:「コピー公開リンク」と「この資料をメール」(ファイルに添付) 既存のマルチパート/api/email/send を経...
マーケティングアセットの公開URLを短命署名
ソーシャルプロバイダー(Meta)とEメールがバインドされた特定の材料を受け取りましょう プライベートイメージング素材の Bucket を露出せずにウィンドウ。 - MaterialUrlSigner:HMAC-SHA256(platform.enc-key)トークン = imgId:orgId:exp、1h TTL...
すべてのSSOトークンにデスクトップの両方を含める、選択したものへのディープリンク
各トークンは独自の接続しか行わないので、ブラウザの再利用されたjsonセッション Linux が 'connection が存在しない' を与えた後、もう 1 つ → ウィンドウを開きます。 すべてのトークンで両方の接続を運ぶ; #/client ディープリンクは、ターゲットを選択します.
パイプラインを通した経路借り手は火を通すので、 ************************************************************
patchLoanFileの借り手は(DRAFT->APPLICATION TAKEN) を呼び出します メニュー ではなく、生のupdateLoan ファイルの状態が設定されているので、 提出物はハッシュチェーンパイプラインのマイルストーン、ApplicationSubmissionを生成します (INITIAL D...
一流の借り手自己送金移行****************************
DRAFT→APPLICATION TAKEN 借り手 (ローンパーティー、演算子ではなく、 LOS TAKE アプリケーション スコープ付き述語でtransition() を通したルート テイク・アプリケーションの権利とピントされたtoStatusIdだけを付与するので、借り手 提出は適切なパイプラインの移行になりま...
削除 + プレビュー + インポートファイルからCanva
- 確認で材料(MANAGE MATERIALSでゲート)を削除 - サムネイルをクリックしてライトボックスにプレビューします - 「ファイルをインポート」は、PDF/PPTX/imageを編集可能なCanvaデザインに変換します (プロキシは、画像アップローダーのようなマルチパートボディを再構築)
Canvaにファイルを編集可能な設計としてインポートする
メニュー (バイナリ設計輸入) - CanvaController POST /imports (multipart) → create+poll インポートジョブ → エディタ correlation state とのディープリンク - CanvaOAuthController で Base64 のインポートを未使用...
共有 TranscriptionService + 汎用エンドポイント; VOIP 録画をトランク
- 再使用可能なトランスクリプションを抽出する(ffmpeg は → ウィスパー アサー を正規化します) 一般的な POST /api/conversion/transcribe エンドポイント、 meet 固有の置換 コントローラー。 TalkEnglishのオフライン版をダウンロードし、8000を超える音声ファイ...
記録+記録Metadata上のTranscriptカラム
TRANSCRIPT TEXT カラムをレコードのエンティティティに追加し、トランスクリプトをスレッド メニュー (後方コンパット付き) 既存の5~9argのコータが影響を受けないコンストラクタ。 ポップアップ Whisper によるレコーディング・フィナライズ・フロー。KI のマイグレーションによって作成される.
録画アップロードをラップして、MediaService がコンパイルする
MinIOStorageService.upload は、ingest() がどちらもチェックされている例外をスローします。 キャッチまたは宣言 — isGuest の一番上にブレイクをビルドします。 それを包み、 実行時間例外として再スローするので、失敗したアップロードは@Transactionalに戻ります.
Return-nav JWT 署名を検証します。 tidy トークンが更新されます
- CanvaJwtVerifier: correlation jwt's Ed25519シグネチャをに対して確認する CanvaのJWKS(/connect/keys)、およびaud/exp/type;子供によってキャッシュされるキー。 チェックが失敗すると、手動のインポートに閉じられなかった。 - CanvaTok...
MeetingParticipant.isGuest() (getGuest はコンパイルしません)。 全般的なエンドポイントに transcribe をリセットします
MeetingParticipant exposes isGuest() (primitive boolean getter), getGuest() ではありません。 また、共有 /api/conversion/transcribe でサマリートランク呼び出しを指す.
独自にスケーラブル(HPA、マルチノード)
単一ノード ピンを取除き、1 Pod モデルのキャッシュに転換して下さい従って pods はできます 任意のノードでスケジュールし、HPA(min 1 / max 4, CPU 75%, deliberate)を追加 スケールアップにより、モデルのコールドスタートが遅くなります。 whisper-asr は共有された転...
Guacamoleクライアント接続ステータステキストをKamoDesktopにリブランドする
オーバーライド **************************** なので、 'Guacamoleに接続...'画面(および関連するステータス)は、KamoDesktopを読み込みます.
正しい Guacamole ブランディング マニフェスト バージョン フィールド
マニフェストは guacManifestVersion:1.0 を使用しました。バンドルされた拡張子は guacamoleVersion を使用します。 Guacamole を作った間違ったフィールドは、ブランディングの拡張子を拒否します ('Unable to read) 拡張子)。 guacamoleVersion...
インジェスト、保持/クォータ、貯蔵の使用法、要約のパイプラインを記録する
- MeetRecordingController:内部(X-Internal-Auth)は、jibriをエンドポイントします。 finalize.sh 投稿が録画を終了しました。 - MeetRecordingService: アップロードされた録音をパーオーガニ(ミージメット録画)に、 persists Meeti...
ミーティングのテンプレートプレビュー用のvarsのサンプル
新規ミーティングのテンプレートのsampleVariablesケースを追加して、スチュワード プレビュー UI は現実的なコンテンツをレンダリングします.
会議概要の観音テンプレート
"meeting-summary" トランザクションテンプレートを追加(+ ブランドの HTML を サブジェクト) {{roomName}} と 生 {{summaryHtml}}) で、CANONICAL KEYS で登録します。 オルガごとの種。 ポストミーティングAIサマリー配信で使用 また正しい loader...
SSO プロキシ ルートでダブルアップ ?target を停止する
forwardToApi は既に入って来るクエリ文字列を転送するので、パスを メニュー -> target='linux?target=linux' -> 400 「未知のターゲット」→「SSOリンク生成失敗」 ベアパスを渡します.
Prosody のモデレーター モジュール、ウィスパー ザー、ジブリの録音のアップロード
- Meet-prosody:カスタムプラグインのConfigMapをバージョン管理(キャプチャ) 既存の token verification の no-op オーバーライドは、バンドから作成されました) canonical mod token moderation モジュールを追加します。 メニュー JWT `mo...
ポストミーティングの要約のための記録転写エンドポイント
POST /api/conversion/meet/transcribe(X-Internal-Auth):アップロードされた正規化 新しい添加剤FfmpegServiceヘルパーを介して16kHzモノWAVへの会議録画、 セルフホスト型のウィスパーサーサービスに転送し、{トランスクリプト}を返します。 kamo.se...
スケジュールされた会議のためのカレンダーの統合+実記録の貯蔵のメートル
- calendarIntegrationEnabled:時、予定されているクラブハウス会議も 作成者のカレンダー(既存のカレンダーシステム経由)に追加 認証 /meet/join リンク 参加者のリマインダーは、 バックエンドのスイーパー, ので、重複のアッセンブリーメールなし. - 記録設定:ストレージメーターは、...
MeetingRecording のエンティティティ + キャプチャされた録音のためのリポジトリ
新しいMEETING RECORDINGSテーブル(例えば、会議の ref、部屋、Minoのバケツ/オブジェ キー、 サイズ、期間、キャプチャ/有効期限タイムスタンプ、サマリーステータス) — 親レコード 完成したJibriの録音ファイル、運転の保持/クォータおよびポスト会議のため 要約処理。 次のKamoInitia...
アリアス・オール・ターボパックのコンテンツ・ハッシュ・エクステリア、プリズマだけでなく
前の修正は、aliased @prisma/client-<hash> のみです。ビルドも外部化します。 pg-<hash>(node-postgres、@prisma/adapter-pg)を同じ内容でハッシュ化 ランナーの再解決された pnpm ストアを同様に残すスキーム — 'pg-<hash>' は、すべての ...
CallerSessionResolverのX-***-Tokenヘッダーからセッションを解決
Kamo内部 → APIService BFFパスがX-***-Tokenとしてセッションを転送 ヘッダ, しかし、リゾルバは、X-OTK 属性または *** Cookie のみを読み取ります。 BaseLosController エンドポイント (新しい KamoDesktop SSO を含む) は、セッションと 4...
マーケティングアプリ、設定ハブ、カンバ材料
ファーストクラスのorg-enableアプリをマーケティングし、Canva-poweredを出荷する 材料の経験。 アプリの有効化: - AppType.MARKETINGミラー、Organization.isMarketingゲッター - ゲートマーケティングnav(navRegistry)+権利セクション(per...
PatchLoanFileは、もはやステータスバックドアではありません。 条件のブロック解除は、右上書きが必要です。 明確なカスケード
************************ 状態の変更はパイプラインの状態です マシンの仕事(POST /transitionsは、法的矢印+ 1矢印のロールゲート+を強制します) 開放的なブロック条件ゲート)。 patchLoanFile では、全てのステータス変更を拒否できるようになりました。 借主自身の提出...
マーケティング資料のビデオポスターフレームサムネイル
Canva MP4エクスポート(および任意のビデオアップロード)はDocs PDFパスをスキップし、取得 失敗の代わりに、単一のffmpegポスターフレームサムネイル( thumb p0.png)。 メニュー ビデオカテゴリブランチ メニュー