Fix 計画レビューの問題 - チャットのバックアップ、メッセージ受信ハンドラ
OpenToolでuserIdの重複排除を追加して、重複したチャットウィンドウを防ぎます。 Add chat:チャット通知でメッセージ受信リスナー リスナー チャットの自動復元を最小限に抑えます。 残りの git add -A の使用を修正しました.
ツールウィンドウシステム用の実装プランを追加
アドレス レビュー 発見: hexchat: オープン 移行, 呼び出し開始 リスナー、SVG グラデーション 外部オブジェクト アプローチ、可変幅ドック ポジション、埋め込まれたチャットボックスアニメーションストリッピング、完全な通貨 表、プログラマモデ、デッドコード除去のASCIIテーブル.
Fix specテーブルの矛盾移行言語
既存のファイルテーブルから「(または薄いラッパーとして保存)」ヘッジを削除します。 約束されたフル置換の移行戦略と整列する.
アドレス ツールウィンドウシステムのためのスペックレビュー検索
ToolComponentPropsインターフェイス、イベント詳細タイプ、チャットマイグレーションを追加 戦略、HexHead クリック動作、ソフトフォン幅ソーシング、計算機 キーボードフォーカス管理、式パーサーアプローチ、minSizeサポート、 アニメーション状態を終了し、AuthoratedToolWrapper...
ツールウィンドウシステム設計スペックの追加
チャットウィンドウを一般的なプラグインベースのツールウィンドウに再構築するための仕様 ToolRegistry、計算機ツール、およびソフトフォン抽出システム.
チャットインジケーターとヘックスヘッドスピンでタイピング対編集を区別
- フラグの編集を含むWebSocketタイピングプロトコルを拡張する - 他のユーザがタイピングしているときの HexHead は時計回り、編集するとき反時計回りを回します - チャットインジケータテキストは「入力...」と「編集...」をそれに応じて示します - sendTypingIndicator はフル WS...
チャットUI研磨 - プライマリカラーテーマ、入力中の emoji、ラウンド送信btn、六角ステータスカラー
- 部署タブとチャットボックスヘッダーは、ハードコードされた緑色の代わりに --color-primary を使用します - Emojiピッカーボタンは、チャット入力フィールドを右揃えに動かしました - ボタンを送ります flexShrink:0 楕円形にスケリングを防ぐため - HexHead のボーダー: オンライ...
チャットシステムの改善 - 編集スピン、六角マスクの回転、色、最大最小化
- 編集(バックスペース/削除)と入力を検知して後方ヘックスヘッドスピンをトリガー - hex クリップマスクをタイピング/編集中に境界線とともに回転させる(アバターは直立的にとどまります) - 部署のタイトルヘッダーとチャットボックスのタイトルバーを#22c55eに変更(オンライングリーン) - 最大化された状態から...
永続的な最小限のチャット、絵文字ピッカー、UIの改善によるチャットシステムの強化
- 復元時にメッセージが再ロードされないため、ヘックスヘッドに最小限に抑えられたときにチャットボックスをマウントしておく - 2秒のアイドルタイムアウトでHexHeadスピニングアニメーションにタイピング/編集インジケータを接続 - 検索テキストボックスの境界線(rgba(148, 163, 184, 0.6)に一致す...
新しいOTKセッションと一致したときに無効にしないでください***セッション
有効なルートは、Redis から既存の *** セッションを削除しました OTKを見る前に。 OTK が同じセッションを指していたとき、 "Sessionが見つからなかったり、期限が切れたりしない"と、検索結果が失敗します。 今だけ IDが新しいIDと異なる場合、古いセッションを無効化します.
クエリパラメータから、クロスサブドメインWebSocket authを受け付けます
?***= クエリパラメータから ID を読みます。 クッキー。 これは、内部のフロントエンドを可能にします.kamocrm.com 認証する WebSocketは、クロスドメインクッキーなしでmedia.kamocrm.comに接続します。 インターセプターはRedisに対して直接セッションを検証します.
パス*** IDは、クロスサブドメインWebSocketのauthのクエリパラメータとして
クロスドメインのクッキーに依存するのではなく(全体で動作しない) subdomains) は、*** クッキー クライアント側を読んで、クエリとして渡します。 media.kamocrm.com WebSocket に接続するときのパラメーター.
"fix: set **** Cookie ドメインを .kamocrm.com にクロスサブドメイン共有を変換します。"
コミットを変換する メニュー
"fix: set **** Cookie ドメインを .kamocrm.com にクロスサブドメイン共有を変換します。"
コミットを変換する メニュー
Cookie ドメインを .kamocrm.com にクロスサブドメイン共有を設定する
クッキーは明示的なドメインなしで設定されました。 webSocket認証用のmedia.kamocrm.comへ.
Cookie ドメインを .kamocrm.com にクロスサブドメイン共有を設定する
*** クッキーは明示的なドメインなしで設定されました, デフォルトでは、 内部.kamocrm.com. これにより、クッキーが送信されないように webSocketハンドシェイク中にmedia.kamocrm.com、すべてのWS接続を引き起こします 「有効な *** クッキーが見つかりません」で拒否する.
独自の消費者再試行によるNATSコンシューマーバインディングの処理
- createNatsMessageHandler() メソッドにメッセージハンドラーを抽出する - 「Consumerは既にバインドした」時に、独自のコンシューマー名でリトリーロジックを追加 サーバの再起動後にエラーが発生します - 動詞デバッグロギングをクリーンアップ
チャットのメッセージング、プレゼンストラッキング、自動オープンの問題の解決
- ユニークなNATSサブスクリプションを再試行することで受信されていないメッセージを修正 "Consumer既にバインドした"エラーが発生した場合のコンシューマー名 - STOMP 接続で即時のハートビートを送信することにより、オフラインの状態を修正し、 接続後のバルクプレゼンスを再取得 - 冗長を避けるためにセッシ...
MUI アイコンの型エラーを解決し、単一の STOMP WebSocket 接続を共有する
- tsconfig パスを @mui/icons-material に追加して、壊れた ESM をバイパスします。 ./esm/index.d.ts 以外の点の v7.3.1 でエクスポート - ChatWebSocketContext を作成して、単一のSTOMPクライアントをアプリ全体に共有 PresenceWr...
Add WebSocket認証を経由***クッキーハンドシェイクインターセプター
Handhakeに***クッキーを読み込むWebSocketAuthInterceptorを追加, KSessionService でセッションを解決し、memberId/orgId を格納する WebSocket セッション属性。 STOMP CONNECTでプリンシパルを設定する ダウンストリームプレゼンスと通知機...
Web Audio APIでチャット効果を追加
UseChatSounds を lazy AudioContext の初期化で作成 ブラウザの自動再生の承諾。 ワイヤアウトゴイングとタイピングはチャットボックスに聞こえます。 notificationsounds.com(CC Attribution)からロイヤリティフリーのサウンドをダウンロードしてください.
チャットメッセージバブルにスケールポップアップを追加
春ベースのスケールポップ効果でアニメーションする新しいメッセージ チャットで読み込まれた履歴メッセージは即座にレンダリングを開きます。 システムメッセージ 変更されていないまま。 期待する感情のアクセシビリティ設定.
階段閉鎖を防ぐための openChat でメンバーパネルを開くための ref を使用する
ユーザーがメンバーパネルを開くと、メンバーをクリックしてチャットし、閉じます。 async session API 呼び出しが返される前のパネル、チャットウィンドウは パネルがまだ開いているかのように500pxオフセットで置かれる。 お問い合わせ openChat がメンバーをキャプチャしたので、呼び出し時にクロージャ...
Remove forced WebSocket headers from media middleware
Traefik v3 handles WebSocket Upgrade/Connection headers natively. Remove forced headers that broke non-WebSocket API requests.
ポートのTraefikによるRoute MediaServiceトラフィック 443
- クラスター内部サービスアクセス用の MEDIASERVICE URL env var を追加 - 最初に env var を使用する 9 API ルートで getMediaServiceBaseUrl を修正 - WebSocketのホックはTrefikによってmedia.kamocrm.com:443に接続します...
ポートのTraefikによるルートWebSocket 443
- service.yaml:podの実際のリスニングポートに合わせてポート80→8443を修正 - ingressroute.yaml: バックエンドのスキーム https + port 8443 を使用する - servertransport.yaml: バックエンド TLS の証明書に insecureSkipV...
リポジトリの可用性でコマース豆の状態を作る
Add ******************** に婚約 ライフサイクル そして CommerceService コマースリポジトリがいるときにのみ読み込みます スキャン。 UnsatisfiedDependencyExceptionをサービスで防いで下さい com.kamo をスキャンする MediaService ...
Add system account to all NATS configs
Add $SYS account with admin credentials to k0m1, k1m1, and k2m1 NATS configs. Enables nats CLI cluster management operations (peer removal, step-down, etc.) for...
NATS接続用のクラスター内部DNSを使用する
デフォルトNATS URLをWireGuard IP(100.64.x.x)から変更 nats.kamo.svc.cluster.local ローカルサーバ リモートノード (k0m1、k2m1)はWireGuard IPに残ります.
NATSが利用できなくなったときにアプリ起動を許可する
JetStream() から @ConditionalOnBean を削除し、@Nullable を 接続パラメータ。 natsConnection() が null を返すとき (NATS) unreachable)、ばねはUnsatisfiedDependencyExceptionと衝突しません.
Layout.tsx を削除し、docCount/historyCount タイプのエラーを修正
- 誤って追加されたレイアウトを削除(サイト全体に影響を与える) - page.tsx のラッパー div をリバート (不要) - グラデーションの背景をLeadViewClientのルートコンテナに移動 - 型のエラーを修正: docCount と HistoryCount は LeadInsights には存在し...
リファクタリードビュー:オーバーフローを修正し、コンムカードでスコアを交換し、レイアウトを追加
- flex制約チェーンマッチングパイプラインパターンでreview.tsxを追加 - オーバーフローのバグを修正:使用********************の階層 代わりに、アプリシェルのアカウントがなかった100vh - 鉛スコアカードおよびスコアの傾向のチャートを取除いて下さい(そして依存性をrechartsし...