自分のSTOMPトピックに未読のスナップショットをルート
Voipのすべて。> 1つのトピックに行って、ブラウザの加入者がSMSを再生 到着音を鳴らし、フレームごとにツールウィンドウを開きます。 そこにバッジがリフレッシュ カウントが刻まれたたびにウィンドウをchimeとポップアップします.
Refresh unread badges when a visitor message lands
persistInbound announces its own message (publishRealtimeEvent=false, so a visitor's reply does not render as the owner's), and in doing so also skipped the unr...
ピンカモ共有ライブラリ 1.6.0
図書館は1.6.0に移動し、消費者は1.5.0に滞在しました。 コンシューマーCIビルド 新鮮なクローンから冷たい〜/.m2とci-settings.xmlミラーへのライブラリ Maven セントラルのみ、つまり 1.5.0 はどこからでも取得でき、ビルドは失敗します。 解決する。 開発者の1.5.0 の linger...
会員の可用性から予約可能な時間を回復する
ストレージではなく、可用性が計算されます。 MemberAvailabilityサービス所有 演算:各プレゼンターの宣言されたウィンドウを型の上に展開する 予約 horizon, 既に存在しているウェビナーをサブトラクトし、 カレンダーのすべては、任意の子組織を絞り込み、それから保ちます その長さのウェビナーが内部に収...
サイトのネーミングは任意です
必要だったし、要求が間違っていた。 サイトは誰が選んだのかのヒントです レポートアップ — 彼らがいた5つの面のどれかがわからないメンバー 間違ったサイトが送信するので、何も推測しないと見栄えが良いです サイトがどこにも送信しない限り、どこにも属さない職場 特に、すでにあったところです。 認識されていない名前は、まだ...
バグや拡張ファイル
書記のデフォルトではなく、型は拒否されます: 静かに拡張 バグとして提出されたAIセッションは、決してなかった障害のために狩猟を送信します お問い合わせ それはまた2つが別の仕事であるので任意リスト フィルターです、 異なる重症ではなく.
会員のチャットスレッドにクラスターアラートを配信
/api/internal/alerts/chat の Alertmanager の webhook 受信機、KamoDesktop アラートはダッシュボードの代わりに人に到達します。 BEST-EFFORTの脚です。 メールは、独立して送信された保証されたものです Alertmanager は、未解決のチャットスレ...
クエリの外で検索パターンを構築し、クエリをテストで解析する
likePattern は '%' に '%' を '%' に '%' に '%' に '%' に '%' を '%' に '%' に '%' に ' の ' を ' に '%' に '%' に '%' に ' ' に 存在しない という 'null パラメータを しません。 文字列式に到達し、% と を省略して検...
バグCRUD、スクリーンショット、および1つの可視性のルール
システム バグは 1 つの方向にテナント ラインを渡します。: プラットフォーム 組織は、すべてのテナントが見え、テナントが他人を見ない。 そのルール ************************************************************************************...
社会的メッセージングとカンバを守ろう
SOCIAL MESSAGING は、SocialCredsResolver.resolve で実装されています。 すべてのアダプターおよび両方の方向をカバーするポイント。 資格情報なし Telegram、Meta、Instagram、X、Discordの呼び出しは、すべてのインバウンドで行うことができます webho...
アフィリエイトセールススコアボードエンドポイント
お問い合わせ 組織のトップ10は1つのウィンドウ上で1つのメトリックで、また、呼び出し主自身の 上にないと立っている。 MARKETING TRACKING CODESのカウンタはこれをバックアップできません。 時間の次元無しのロール アップ、および実行中の合計で何もありません 何が起きたかと言う。 窓の真理は行にあ...
PHIを処理するテナントのための不正なミーティング録画
機能が分割されたServiceType.MEETは許可されています。ライブ会議 セルフホストのミートはクラスターを決して残さない - MEETING RECORDING このパイプラインは、すべてのトランスクリプトをに投稿しているため、ブロックされたまま 複数のprovider AI ルータをメールし、すべての参加者に...
パブリックコンフィグは、ホストだけでなく、org id によってアドレス化されます
ミート・サイドカーは、ゲストかどうかを決定するために、orgのミート・コンフィグを見上げる ミーティングパスワードが必要です。 共有ミートのホスト名に尋ねました。 ホストはプラットフォームの組織に解決します。 パスワードは、すべてのゲストのために静かに落ちる要件を持っていた サイトマップ ゲストはセッションがないため...
両方の形状の型の説明を運ぶ
説明は現在レクシカルなドキュメントなので、サービスがプレーンテキストを保存します クライアントをミラーリングし、それを手元に送ります。 実際に使用して下さい。 WebinarTypeDTOは、言葉を望んでいる表面のための説明Plainを獲得します ドキュメントよりも。 公共予約 DTO とスケジュールされたウェビナー...
リレー「クラシックバージョンが保存されました」エディタに
DocsService は WOPI の保存後に docs.classic-saved.{memberId} を公開します。 CLASSIC バージョン; これは、STOMP 上の /topic/docs/saves/{memberId} にそれを置きます アプリが既に保持されているので、Kamo PDFエディタが開き...
Orgチャットポリシーを強化し、2つの穴を閉じる
会話が開始または続行できる3つの場所でポリシーを適用します。 セッションの作成、メンバーの追加、送信パス。 ルームは警察のペアではありません ペア -- 招待ゲートは直接メッセージングゲートです、従って誰かを持って来るかもしれません メッセージを込めたとき、正確にお部屋に、部屋を縮める 2つのブロックされたメンバーが直...
各サポートチャット行にリクエストの顔と名前を入れる
チャット → サポート 行は、すべての行で同じサポート グリフを示したので、 同じ青い円の壁でした。 実際にスキャンする顔は 誰が ASKED をしても、リクエスト者の ID や表示名、写真の列が現在実行されます。 写真はクライアントの左ではなく、ここに解決されます。 難易度:このフィードの他のすべてのアバターは、視...
チケットが移動したときに、リクエストのorg、およびエンドシステムユーザーアクセスの名前
3つのこと、複数のテナントに答えるサポートデスクについてのすべて。 チケットの詳細が「開く」かどうかについて、パービューアの評論者を運びます 共有された共有で解決する、システムユーザーとしてリクエストのorg SupportSystemAccessResolver — マイニング前の同じクラスSecurityServ...
Kamo-shared-library 811db57に対する再構築
プール・アベイラビリティ・リカウントを動かす createLead の修正をピックアップ その後コミットします。 以前は、リードのトランザクションヒットで読み直し YugabyteDBの40001読み取り再起動、トランザクションを中止し、リードを失いました。 黙って、出版を主張した警告の背後にある「決して致命的」でした...
即時にカウントが読み込まれたすべての未読フレームをスタンプ
会員の未読のスナップショットを作成する4つの場所 - REST 読み込み、 メッセージが到着したときに送信されたフレーム、セッションがマークされたときに送信されたフレーム 読み込み、Web チャットの訪問者のメッセージトリガーを 1 つずつ作成します。 手で同じ集計をし、それを無人に送った。 注文しない 別のものに関し...
1つのインサートで不透明のUUIDトークンをミント
createCode はトークン自体を生成します。なので、最初に読み込むことは何もありません。 2つのタブで衝突するのは何もありません。 これにより、古い全装置を取り除きます 必要なシーケンシャルトークン: max(iteration) + 1 読み込み、衝突検出 再試行、およびREQUIRES NEWトランザクション...
新しいリンクでクレジットを移動し、移動した瞬間を記録する
インジェスト ワーカーは、トラフィック バンプ後に reattributeWhileAnonymous を呼び出すようになりました。 レポジトリメソッドはルール全体を運ぶので、ここでチェックするのは何もありません 1 の戻りは信用を本物に動かすためのウィンドウがない。 この訪問者が到着したのをリンクします, 0 彼らは...
リネームされたトラッキングリポジトリのクエリに従ってください
findVisitorsForCode と FindTimelineForVisitor は、派生したファインダーを置き換えます。 id tiebreaker と NULLS LAST を実行します。変換コンシューマーは、 findFirstBy... 投げるのではなく、重複した訪問者行を許容するファインダー。 注文よ...
追跡コードタブをサーブし、訪問者のビーコンを摂取
MediaServiceは他のマーケティングタブを既にバックアップしているため、両方の半分の 追跡コード:認証されたCRUDおよびstatsの表面 /api/media/marketing/tracking、APIServiceの背後にあるパブリックインジェストワーカー エッジ。 インジェストハンドラーは、バリデーシ...
レイジー協会を歩くことなく、パブリックチャットの所有者を解決
getChatSessions はトランザクションの外で実行されるため、訪問者のセッションオーナーに問い合わせる lazy session proxy は、オープン・イン・ビューの滞在期間の長さだけのために働いた — チャットリスト 500 件 変化を常に変化させると、価値のある取引ではありません。 セッションから直接...
OrgのシステムメンバーをWebチャット訪問者として読み続ける
4つの報告された欠陥、1つの原因。 ウィジェットの訪問者はメンバーがいないので、 org's SYSTEM メンバー — 所有者, キューを動作させる人 — チケットのリクエストと著者としてそれらを意味します メッセージ。 - 受け付けポップアップはマーケティングチャットを提供していません。 請求可能なチケットの述語...
共有ライブラリのリードID修正に対する再構築
このサービスは、LeadServiceを介してリードを作成します。 /leads/new:mortgage市場Hibernate 6.2が放出 id 列がいるテーブルに対して、リード (...) を返すと、 UID と ERROR: 列 "lead id" で、このようなリードがすべて死んだ。 インサートの前にidを...
自分のJVMヒープ天井の上にポッドを大きさで分類 [skip ci]
画像は -XX:MaxRAMPercentage=70 -XX:+ で JVM を起動します。 お問い合わせ 単独でheapは容器の限界の70%を取り、事前接触はあらゆる約束を保ちます サイトマップ 非ヒープ — 未処理のメタスペース、コードキャッシュ、スレッドスタック、直接 バッファ — パーセンテージが見えないほど...
パブリックチャットは、カウントなしでページを読み込みます
どちらのサイトも .getContent() を取り、床に合計を落としました。 セッション内のすべてのオブジェクトに同じ捨てられた COUNT を支払います。 会員のチャット履歴の500年代 — 訪問者の履歴が最もエンドポイント 明らかに、露出が同一である場所: 読み出されたミッド会話、 トランザクションが遅くなると、...
JVMをヒープするためのPodのサイズは、既に取り込むことができます
コンテナは1Giの限界を持ち、画像はJVMを起動し、 -XX:MaxRAMPercentage=70 -XX:+AlwaysPreTouch。 ライブ プロセスを読んでください。 MaxHeapSize=752877568 — 718Mi — およびプレタッチは、常駐メモリが追跡することを意味します 後ろにラッギングす...
トピックの作成は、その親ではなく、CREATE SUPPORT TOPICS を取る
ゲートは既に存在していたし、呼び出し人を拒否しました。MANAGE SUPPORTでは、親がいるので、 CREATE SUPPORT TOPICSは、正確にいる間、すべてのエディタで装飾として読みます チェックされる機能。 子供だけをチェックするのは正しい:階層閉鎖は、CREATE SUPPORT TOPICSを呼び...
材料と社会的なタイムラインは、所有権だけでなく、権利を取る
MANAGE MATERIALS と MANAGE SOCIAL MEDIA は、監査および監査で強制的にカウントされます。 .tsxファイルでした。 それらを後ろに 29 所有権をチェックし、権利なし: 6 マテリアルコントローラとSocialTimelineController。 Reads は VIEW MAT...
ミーティングの作成と解決は、それらを名前付ける権利を取ります
/api/meet/create はセッションがあっただけをチェックしました。 すべての組織のメンバーは、組織のプロバイダーとミーティングを作成することができます。 START MEETING は、それが存在していた限り、付与可能で装飾されています。 /api/meet/join-info は同じで、会議のパスコードを...
会議のリマインダーは、自分自身のポップアップではなく、通知です
Sweep は /topic/meet/reminder/{memberId} に bespoke イベントを公開しました。 画面の角に専用のSnackbarが描かれています。 そのポップアップ 通知ベルが移動したことがないと、カードがなかった 書いて、6秒を逃したメンバーは何もなかった に戻る また、メンバーのミュー...
会員自身のトピックに顕著なコースのカウントを中継
NavTop は 2 つのカウントを 1 つのバッジにまとめるので、法的リレーのツイン そして、異なる振る舞いのペアは、メンバークロームを与えるだろう コースのシグネチャや屋台に住んでいた - 3つの可能な最悪の 生きているように見えるので、状態。 DocsService 公開 *******************...
チケットリストは、壊れたインジケータを生き残る
未読のスレッドを読み込み、チケットリスト全体を取り巻く — ページが戻ってきた マーカーがないページよりもはるかに悪い結果である空の、。 お問い合わせ 今すぐガードし、ERRORでガード:警告時に記録された以前のガードと サイレンスは、リリースの「未読な」としてデッドクエリマスカレードをしましょう。 機能を無効にし、...
未読の手段は、リクエストのスポーク、またはチケットがあなたのものになったことを意味します
バッジがカウントされた「ライブチケットは誰も拾われず、私が保持しているもの」 — message-blind は、端末のステータスに達したときだけに落ちました。 お問い合わせ 何もマークされていないリストの上に5に座って、会話を開く いいえ。 今、それが言うことをカウントします。: 彼らのために何かと会話 このページの...
チケットリストはバッジカウントと同じアイテムをマークします
countForMember は、プライベートに構築されたセットを大きさで分類します。そのため、リストに尋ねる方法はありません。 チケットがそれで、その代わりに近似していた - 未読チャットフラグが付けられました メッセージ。 これらは異なる質問です:バッジは、ほとんど仕事のカウントです 誰がピックアップされていない、...
発券した会員様から、チケットはお答えできません
サポートの会話は2つの側面を持っています - 誰かに尋ね、誰かに答える - そして、彼らは異なる人々だったことを強制していません。 会員募集 ACCEPT SUPPORT TICKETS から助けを求めた org は、 ルーティングが心配していた限り、普通のエージェントは、ラウンドロビンはそれらを渡すことができます 自...
型が属するエンドポイントにアウトバウンドアタッチメントを送信する
アダプターの sendImage を経由してすべてのソーシャル 添付ファイルが出てきます。 テレグラムは /sendPhoto です。 PDF または zip が投稿されると拒否されます。 プロバイダは、HTTP レスポンスが語られた後、拒否が長く到着します エージェントのメッセージが出て行くので、顧客に送られた領収書...
チケットリストにアンティーンカウントをスタンプし、キューをライブに保つ
getTickets は、呼び出し側は、呼び出し側のための行ごとのメッセージのカウントを一括読み込み 訪問者行はすでにその方法を読み込んでおり、getTicketDetail は自分自身を計算します 読者のMarkAsReadの土地の前に — そのため、ウィンドウはしばらく到着したものを表示することができます すでにゼ...
1つの会話、多くの手 — 開いている、すべてのメッセージに名前を付け、応答で再オープン
サポートチケットは、誰がサポートしているかだけでなく、誰がサポートしているかによって機能します 現在スタンピングされています。 委託は、仕事が提供され、その人を決定する で表示されているリスト。それは会話にロックされることを意味しなかった。 チケットを開くと、メディアセッションに参加できます。 以前は、開いたエージェ...
オブジェクトのストレージの秘密を宣言 ConfigMap はもはや実行しません
MINIO キーは ConfigMap から minio-app-credentials に移動しました。 秘密, しかし、envFrom その供給は、かつて住んでいるだけに適用されていました 導入 — ここまでコミットしません。 次の CI デプロイはこのマニフェストを反転しました ライブパッチ上に、 ConfigM...
共有されたクレデンシャルを config のデフォルトとして出荷停止
プラットフォームの共有パスワードは、DB PASSWORDのフォールバックとして焼き上げられました。 MINIO ROOT PASSWORD は、このリポジトリとビルドされたイメージに住んでいました。 クラスターマニフェストで。 生産は、DBのデフォルトを使用しないこと — *** 供給 envFrom による DB...
再割り当ては新しいエージェントに到達し、要求者は誰がそこにいるかを言われています
再割り当ては誰にも達しなかった。 assignmentOpenedクライアントが置いたレコード 画面上での会話、サインインでチケットを上げているものの、 プレバイアスエージェントのスタンプがまだ保持されているので、新しいものだけがライブプッシュを取得 彼らが2番目のオンラインであることが起こったし、彼らがいたら何のもの...
ハンドによる割り当ては、Pre TICKETステータスを消費してはならない
assignToAgent と reassignAgent は無条件に ASSIGNED を設定しました。 チャット後の変換は不可能なリクエストです。 PRE TICKET が何もないので、手元で誰かにライブチャットを渡す タイトルを与えられたことができる唯一の方法。 すでにこの自動パスを取得する 右; マニュアルは、...
チケットが手伝ってくれる有効な方
assignToAgent と reassignAgent は、id がメンバーに解決したことだけをチェックしました。 割り当ては、そのメンバーがチケットのチャットセッションに追加するので、別のユーザーからのid 組織は、ビジネスが存在しない顧客との会話を与えられただろう 見れば、オフボードのメンバーは、ライブワークを...
オートアサインはチケットを提供し、それを割り当てません
利用可能なサポートエージェントごとに自動アサインページを作成し、最初の1人に行きます お問い合わせ 「少なくともbusyのエージェントを選ぶ」として実装されました。 オンライン、それは完全に異なる機能である - そして、ここで自己敗退する1、 割り当てられたチケットが請求可能なキューを残しているので、誰も提供されていな...
ウィジェットのチャットのトピックの戦略を実行する
ウェブウィジェットで開いたチャットは、内部にファイルされたものと同じ単位です app, しかし、このパスは、トピックの割り当て戦略を完全にスキップしました — 唯一の これまで試みた代入は、借主自身の融資責任者でした。 だから、一つのトピック 訪問者が開始した場所に応じて2つの方法:アプリ内チャット auto-assi...
サインイン自動オープンハンドオーバーのエンドポイント
GET /sessions/chat/auto-open は、このメンバーのクライアントのチャットの会話を返します。 上げるべき; POST /sessions/{guid}/auto-opened レコードを作った。 耐久財 サポートハンドオーバーの対比、同じ理由で:決定 1つのブラウザタブのセッションストレージでは...