WebSocketハンドシェイクで短命のotkを受け入れます
メディアサービスと同じ変更: kamo-internal は、*** セッション ID を動かす ブラウザのJavaScriptから、セッションをオフし、すべてのWebSocket URLをオフ (`?***=<128-hex id>`、Trefikのアクセスログでフルに記録) POST /api/generate-o...
死んだドメインをキャッチし、死んだメールボックスは、チェックを貫く
キャンペーン 8781b848 は 667 のバウンスと 1,258 の失敗で終了しました。 3つのギャップ 既存の適格性エンジンはそれらを通してそれらを可能にしました: - DomainMailCheck は、A と AAAA を 1 つの JNDI 呼び出しで尋ね、ANY クエリを送信します。 クラスターのリゾル...
IMAP/SMTP接続テストはネットワークプローブとして使用できません
POST /api/email/member-imap/test と /{id}/imap/test はどのホストに接続し、どのホストにも移植します。 caller は、生の例外メッセージを送信し、返します。 認証されたメンバーは、 クラスター・インテルナル・インフラストラクチャー — Redis、別のPod、Kube...
エイリアス、ドメイン、パーソナルメールボックスの管理者アクションは、管理権を必要とします
メールエイリアスにcreate/delete, **************************** ドメインの送信, と******************** は、個人的に必要なメールボックスに、 セッション — org は既に存在していますが、それ以上は呼び出し主がいたかどうかを尋ねました 電子メールアカウン...
会員のメールボックスとエイリアスは、自分の組織内でのみ読みやすくなります
GET ******************** は、HttpServletRequest をまったく受け止めませんでした。 パスのどこにでもチェック — GET ******************************************************************************...
カレンダーのエクスポートやインポートは、呼び出し主が実際に開くことができるものでなければなりません
GET /export/calendar/{id} と POST /import/{calendarId} は、カレンダーの UUID を単独で取りました — いいえ HttpServletRequest では、セッション、org やメンバーのチェックは全くありません。 認証されたメンバー 組織は、アップロードされた ...
SearchService はインジェクションコンストラクタをマークするので、サービスが開始されます
9809d4b は SearchService を 2 番目のコンストラクタ (クロック、テスト用) に与えました。 どれもマークされているので、春は決して選びませんでした。 constructor と pod は起動時に "デフォルトコンストラクタなし 見つかりました。(ExchangeProvider経由) ユニッ...
クエリを調べ、開いているメールボックスのすべてのメールアクション
/messagesの2つの問題は、サービスで固定されています。 検索が機能しませんでした。 インデックスパスは、すべてのヒットでClassCastExceptionを投げる (Instant -> Timestamp, Podログで表示), そのため、すべての検索が戻りました オペレータを離れ、無料のテキストを探して...
共有メールボックス ************************ は管理権を必要としています
******************** に /api/email/shared-mailboxes のみ必要 セッション — 認証されたメンバーは、共有メールボックスを作成したり、削除したり、自分自身を付与したりすることができます。 (または誰) 与えられたものにアクセスし、SharedMailboxMailCont...
OAuth ステートトークンはサーバー側のレコードで、ブラウザのハンドをバックブロックするわけではありません
/api/email/oauth/callback and **********************************************************************************************************************************...
A オーバーライドからコールアが送信する可能性があるアドレスでなければなりません
POST /api/email/send はリクエストを受け取りました。getFromAddress() はヘッダから、SMTP ***********************************************************************************************...
ユーザ名と共有メールボックスのアクセス名をテキストとして
GET と POST /api/email/aliases (と /aliases/member/{id}) と GET と POST ************************ は、その長いメンバーが、自分自身で答えた 与えられたJSON番号として、ByMemberId が出てきます。 会員 ID は 2^53...
カレンダー/連絡先の統合を保存し、保存された資格情報を削除したりしないでください
コンタクトインテグレーションのCertificateJsonは、送信された保存のどれかに置き換えられました。 org CalDAV/CardDAV タブは、全てを送信します 4つのサーバーフィールド(空 - それらは保存されているものを示すことはありません)Appleまたはカスタムサーバーの保存ごとに、 [保存] を押...
共有メールボックスのアクセスリストは、独自の組織内でのみ読みやすくなります
メニュー アクセスを読む************ 任意のメールボックス ID の行。 他のアクセス操作(更新、削除、付与、変更)はメールボックスをロードし、拒否します。 別の組織からの1つ。この1つはそうでなかったので、ANY組織のセッションでは、誰がアクセス権を持っているかをリストすることができます UUID の他の...
ドリップから受け取る人は、
エンジンは、パスの開始時に読み込まれるコピーから、最大200人まで移動します。 毎回使用した時間に古い秒。 一方、メンバーは誰かを外すことができます, ドリップをアーカイブ, または追加 初めての方。 エンジンはコピー全体を保存したので、ただ終了しただけ ACTIVEに書き戻し、その人がDRIPを取得しました。 実行が...
メールボックスの付与を解除し、アプリがリフレッシュできず、再接続が必要なとしましょう
KamoのプラットフォームアプリでMicrosoft 365を接続しました。プラットフォームアプリは その後、オフに切り替えると、orgは独自の登録がありません。 それから決議者 クライアントが見つからず、リフレッシュは空白の client id と Microsoft で行っていました。 回答 AADSTS90014...
拒否されたリクエストは、キャンペーンの呼び出しだけでなく、
2a72597 は、Bad の代わりに、メンバーの文章をキャンペーン コントローラーにしました。 お問い合わせ 同じ損失は、EmailService の他のどこにも起こり、拒否します。 responseStatusException を使って: - 連絡先: contactRestController は "VIEW...
拒否されたキャンペーンコールは、「悪いリクエスト」ではなく、理由を言います
CampaignService は、ResponseStatusException が文を運ぶことを拒否します。 会員専用(退会前のキャンペーンを利用する) キャンペーンは再開できます。 「スケジュール、送信、またはパユースキャンペーンは不可 アーカイブ。 最初にキャンセルします。」と、キャンペーンコントローラーが再閲...
ビルドされたダイジェストを解決する際に OCI のイメージインデックスを承諾 [skip ci]
画像は OCI の画像インデックスとして押し込まれているので、単一のレジストリを要求する 画像マニフェストは404にのみ答え、消化は空に戻り、チェック 失敗しました。 インデックスタイプを受け入れると、Pods レポートのダイジェストを返します.
同じコミットを再構築すると、古い消化器にポッドを残します [skip ci]
ロールアウトステップは、比較することによって、同じコミットを再構築を検出しようとしました デプロイメントのイメージリファレンスは、`set image` の前後です。 「適用マニフェスト」 既にk8s/deployment.yaml (イメージ:latest)を加えました、従って参照 常に変更され、再起動は消火されず、...
キャンペーンを「リスタート読み取りが必要」で失敗させない
バルクprovider行(ホスト、送信ウィンドウ、ウォームアップ、キャンペーンオーディエンス)は、呼び出し元内部で読み込まれました 長い取引。 キャンペーンは、行のオーディエンスを自身のトランザクションに書き込むことで、 独自のトランザクションで、行を返して返します: YugabyteDBの書き込み地 Clock-un...
組織の所有者は、オプトアウトリストを開くことができます
展開する日に誰もいないため、 MANAGE EMAIL OPT OUTS にのみゲートされたリストは、組織に表示されません。 所有者は、セッションのチームメンバーのblobから読み、その後、レコードを、SecurityServiceの受容体とコミッションコントローラが行うため、暗黙的に保持します.
設定ページの上部にある送信者の名前
ロゴでは、名前はaltテキストであり、その下に再び書かれていません。 1つなしで、名前はヘッダーです。 見ました。2回読みました.
オプトアウトリストは、組織の書籍からの連絡先のみの名前です
会員の個人的なアドレス帳は彼らのものです。 org-wideオプトアウトリストは、個人連絡先が誰かを含むものを見るための方法ではありません.
すべてのキャンペーンは、org の一括送信機として送信され、そこから一時停止しません
キャンペーン自身の from email/from name は読みません: From は、常にアドレスと名前です。 [設定] > [電子メール] > [バルク電子メール送信] (org's NoReply) で、聴衆が何であるか。 なし 自分のうちにキャンペーンが間違っているのは何もないので、FROM OFF REL...
作成の代わりにワンアドレスごとのキャンペーンインデックスのスタートアップチェック
Eメールサービスが起動するたびに、クリエイティブ・ユニク・インデックスを実行しました。 このクラスターのDDL "schema versionの不一致"の約15分、あまりにもすべてのサービス 1つのサービスの各展開を危険にさらします。 インデックスが作成されました スキーマの変更が行われるKamoInitializer...
プロバイダーのblob、配信レポート、テスト送信への修正のレビュー
プロバイダーの blob は、常に独自のトランザクションで書かれています。 ロッククエリは最初のステートメントと失われたロックレースが取得することができます 呼び出し元にトランザクションが開いている場合でも。 参照ヘッダーのない配達レポートは、メールにのみマッチします プラットホームのリレーを通して送られるorg;そ...
プラットフォームのリレーから、受信者に失敗するのではなく、キャンペーンを一時停止することを拒否する
受信者が連絡を取れるのに失敗するので、一度から キャンペーンがアドレスに送信できない問題を修正しました。 送信パス 受取人が請求される前に、一括で1回からチェックします。 SENDING から PAUSED へのキャンペーンを、受信者に触れずに動かします。 ウォームアップに対してカウントされたものは何もありません。 ...
プラットフォームのリレーは、どこでも1つのホストとポートチェックによって認識されます
ホストとポートでリレーにマッチしたからオフドメインを取り出しながら ウォームアップの配信追跡とテストは、ホストが一致したアドバイスを送信します 単独で、別のポートにリレーのホストで保存されたプロバイダは 2ヶ所に中継し、3番目にはない。 プラットフォームRelayProperties.isRelay 今は両方を取り、唯...
ライブキャンペーンの進捗は、すべてのレプリカでブラウザに到達します
STOMP ブローカーは 1 Pod と進捗ごとに受信されます。 pod はディスパッチリースを保持するか、または配達レポートを受け取ったので、ブラウザ 他のポッドでは、キャンペーンのカウンターがまだスタンドを見ました。 現在進行中です NATSに公開され、各Podがキャンペーントピックに配信されます ephemera...
Smtpの封筒の送信機はアドレスからのベールに置きます
キャンペーンメールは、表示名を「From」と「リレー」で取得できるようになりました。 MAIL FROMが判断した独自の送信元ドメインのみを受け付けます。 mail.smtp.from は From の bare アドレスから設定されますので、 envelope 輸送のデフォルトに残っているのではなく、明示的に記述され...
未記入のメーリングアドレスは送信ブロックがなくなりました
assertSendable は、スケジュールを拒否したり、物理的にせずにキャンペーンを送信したりすることを拒否しました メールアドレス org のアドレスは、ファイルに 1 つがある場合、フッターに残っています。 電子メールが誰もいないとき。 法律が要求するもの 送信者は、送信者の責任であり、製品内のゲートではありま...
ホールデムの招待状は、ホールデムを再生する権利にゲートされます
HOLDEM INVITEは、ゲートやウンティングマップのいずれにもなかったため、出荷 正確にキャッチするために存在するテストをungatedし、失敗しました.
送信者の表示名で行が破綻してしまうとヘッダが起動できない
ジャカルタメールは表示名にコンマ、引用符、非ASCIIをエンコードしますが、 生のCR/LFを通すので、表示されているように制御文字を平らにします アドレスを構築する前にスペースへ.
NoReplyレコーダー名はコンストラクタスプリングを使用する必要があります
2つ、テストの2つ、およびマーク付きスプリングピックのどちらも どちらも: コンテキストは "No default constructor が見つかりませんでした" で失敗し、 EmailSmtpService とそのサービス全体がダウンします。 ユニットテスト コンストラクタを直接呼び、それを見ることができませんでし...
テンプレートロゴはライブテーマのホストから来ています
resolveLogoUrls は org 初のドメインからロゴ URL を作成しました。 state なので、 org はまだドメインを設定すると、 ロゴ URL が なかった とりあえず、インライン化されず、受信トレイの壊れた状態に達しました。 今、使用 OrgLinkHosts.liveRootDomain、プラ...
間違ったポッドが誰も到達した通知
ここでブローカーは、SimpleBroker — in-heap, per pod, no リレー — と、この 展開は2つのレプリカを実行します。 MemberNotificationServiceが直接公開 ConvertAndSend を使っているので、通知は Pod がその WebSocket を持たせたポッド...
最後の2つの耐久性のある消費者はキューになり、連絡先の同期はすべてのPodに達します
郵便リレーは、4つのNATSサブスクリプションの1つです。 明白な耐久は正確に1の加入者を認めます、従って2のレプリカはです [SUB-90012] で拒否し、単に聞いていません。 残りの3: MessageIndexer は 1 Pod にバインドしました。もう 1 つは 40 回と記録しました "push ind...
バルクマーク読み取りはそれ自体をアナウンスするので、 navバッジはそれに従います
シングルメッセージエンドポイントは、移動するメールボックスイベントを常に公開しています nav バッジは他のタブをリロードします。 3つのバッチエンドポイント — フラグ、 移動、削除 — メールボックスを変更し、誰も言ってはいけません。 従って1つのメッセージは未読のカウントを更新し、10および印を選ぶことを読みま...
すべてのPodはメールボックスのプッシュを中継するので、未読バッジは再び移動します
ブラウザのメールリレーは、メンバーの後に名前付けたDURABLE NATSコンシューマーをバインド (メールアドレス: 耐久の押しの消費者は丁度1つの加入者を認めます、従って 2つのレプリカをバインドする2番目のポッドは拒否されました — [サブ90012] 消費者はすでにサブスクリプションに拘束されています — ...
会議のリンクを変更することがあります
updateEvent はタイトル、説明、場所、色、タイムゾーン、深部を休止 link, and drop meetingUrl — なので、既にあったコールバックにリンクを追加しました。 API で予約され、サイレントに廃棄されました。 createForMember は 常にフィールドを書いています。これは、そのよ...
設定PUTは言及しなかったすべての設定をリセットしました
「リピート音が保存されない時」と報告しました。 保存しました。 それから 次に、メンバーのタッチが再びオフになっていることを好みます。設定ページ 静時間調整で読み込まれたPUTは、ページを開けると十分でした。 ボディは、MemberNotificationPreference にバインドされ、エンティティティティは表...
ミーティングリンクは、読み取りだけでなく、設定できます
meetingUrl は、イベントDto とミーティングの実体にありました。 ダイアログが存在している限り、何も書き込むことはできません。 イベントリクエスト フィールドを運びなかったし、applicationEditableFields はそれをコピーしなかったので、 プラットフォーム上のライターは、MeetInvi...
参加リンクは、その受信トレイだけでなく、ゲストのカレンダーに到達します
招待状は、html の体内でのミーティングリンクを運び、他にはない。 月曜日に受け入れられ、金曜日にカレンダーを開いたゲストは、方法がなかった 電子メールを見つけるために戻らない会議に。 buildVEvent が書いた **************** と URL なし すべてのiCalendarクライアントがそのよ...
ブラウザだけでなく、電話のメールボックスを見る
IMAP IDLEリスナーは、メッセージの到着に気付いた唯一のことです。 最終的にMediaServiceに尋ねるものであるメール.inbox.<addr>を公開します。 電話をバズします。 これらのリスナーはブラウザのサブスクライブで始まりました 最後のタブが進むと、メールWebSocketとクローズしたので、メール...
今レンダーするデニアルブロックをプレビューするバグ・スタタスを与えます
SystemBugStatusEmail は2つの条件ブロックをプレレンダーし、管理者のプレビューは 両方供給するため。 存在しないプレースホルダーではなく、現在と空 画面上で同じように見えるWARN nobody読み取りと空白としてレンダリング 意図的に空にして、本物的に欠落した変数を隠すブロック.
カタログバンプは、それを失敗するのではなく、スイープを空に
両方ともスイープを読みます すでにログと運ぶキャッチの中に座って依存します なので、ユガバイトの衝突はエラーとして解釈されることはありません。 "0 mailboxes, 0 のメッセージが調べられた, 0 のリンクされた" を報告し、静かに見える 朝ごはん これは、スイープの自分自身のために、失敗がここに取ることがで...
タグではなく、ダイジェストによるデプロイを生成
前のコミットは `set image` をサイレント no-op として停止します。 これは、 結果: ロールアウト後、タグはレジストリでダイジェストに解決され、 実行中のPodはそれに対してチェックされます。 Podが画像を実行していない場合、この実行 生成されたビルドは、レポートの成功の代わりに失敗します。 タグ...
同じコミットの再構築は何も展開し、成功を報告しました
この画像はコミット SHA でタグ付けされます。 同一の画像参照。 `kubectl set image` は何も変更しません。 デプロイメントは触れず、「ロールアウト状態」はすぐに反対に成功します OLD Pod と、このパイプラインは何もデプロイした成功したデプロイを報告します。 サービスが再構築されなければなら...
