ライブ・チェンジ・ログ

リアルタイムで構築しているものを見る。 プラットフォーム間で出荷されるすべての機能、修正、改善.

17,933
総変更点
4,614
特徴:
4,543
フィックス
32
プロジェクト
プロジェクトによるフィルタ
すべてのプロジェクト17,933AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,523TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,579kamo-login319kamo-marketing585kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
タイプ別フィルター
すべてのタイプBuild24CI523Chore670Docs226Feature4,614Fix4,543Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
April 26, 2026
Fixkamo-internal

プローブマスターモデルエンドポイントと修正応用モデル org ID

- 直接プローブでapplicationModel.sourceベースゲートを交換 /api/security/master-model マウント; r.ok=false (409) は org を意味します ブランチタイプで管理されている — バックエンドの使用を同一チェック - null を useAppliedM...

kamo·4mo ago
Fixkamo-internal

Gate censorship tab options by applied model constraints

- Hide EDIT MASTER MODEL button when org is governed by a branch type (use appliedModel.source instead of unreliable org context branchTypeID) - Hide ATF fiel...

kamo·4mo ago
Fixkamo-internal

Mark-as-read and message fetch for shared/member mailboxes

Classic mode now loads shared mailbox messages via the correct /messages/{folder} endpoint (was calling the non-existent /conversations endpoint). Fetching a fu...

kamo·4mo ago
FixEmailService

Mark-as-read for shared and member mailboxes

EmailController.setFlags now accepts an optional mailboxId query param and routes through resolveProviderWithMailbox so member-mailbox flags are set against the...

Kamo·4mo ago
FixVOIPService

Use extensionId as external ID, not Relay node id

FreePBX returns the same Relay id (ZXh0ZW5zaW9uOg== = "extension:") for every extension because the id field is not populated. Using it caused all extensions to...

Kamo·4mo ago
FixEmailService

クラスCastException を防ぐため getMessage で IMAPInputStream を扱います

JavaMail は、デコードされた文字列の代わりに IMAPInputStream を返すことができます。 session.getContent() メッセージ内容があらかじめ取得されていない場合 ザ・オブ・ザ・ 直接(String)はparseMultipart()のthrew ClassCastException...

Kamo·4mo ago
FixVOIPService

ライブスキーマのイントロスペクションに対するすべてのGQLクエリ/マイテーションを書き換える

すべてのフィールド名を検証し、実際のFreePBX 17スキーマに対してタイプします。 修正の完全なセット: クエリ: - fetchAllExtensions: 拡張子から存在しない 'voicemail' フィールドを削除 - fetchAllUsers → AllCoreUsers { coreUser { エ...

Kamo·4mo ago
Fixkamo-internal

SelectFolder を YarnDetailView に渡します。メール:folder-changed が有効なフォルダーで消火します

chat.folder は Java ConversationEntity から常に未定義です。 フォルダーの文字列フィールドではなく、folderIds (text[]) を持っています。 この原因の loadThread へ call markConversationRead とメール:folder-changed...

kamo·4mo ago
FixVOIPService

FetchAsteriskDetails への正しい GraphQL フィールド名

FreePBX API は "fetchAsteriskDetails とはどういう意味ですか?" を返します。 クエリとそのデータパスアクセサをそれに応じてチェックします.

Kamo·4mo ago
FixVOIPService

GraphQL クライアントに XHR/Accept ヘッダと String レスポンスの解析を追加

FreePBXTokenCache と同じパターン: X-Requested-With + 受け付け: application/json FreePBXのHTMLリダイレクトレスポンスを抑制し、3つのコールサイトをすべて切り替える (queryOnce, restGet, restPost) から responseEn...

Kamo·4mo ago
Fixkamo-internal

メールボックスのドロップダウンをロード上のプライマリメールボックスに同期

選択したメールボックスが初期化されるため、最初のリスト項目にデフォルトでドロップダウン mailboxId なしで、現在のValue が 'personal' を bare に解決する どのオプションも一致しません。 プライマリから選択したメールボックスを設定します(または) 最初に) メールボックスが読み込まれるアク...

kamo·4mo ago
FixAPIService

アップロードサイズを500MBに上げる

Spring Boot のデフォルトは 1MB の複数の部分を、背景イメージを引き起こします アップロードして500リクエストで失敗します。.getParts()。 マッチセキュリティサービス 既存の 500MB が制限されるため、APIService は大きなファイルアップロードをプロキシできます.

Kamo·4mo ago
Fixkamo-internal

表面 HTTP エラーによりアップロード失敗が見える

サイレントコンソールを非OK状態にスローされたエラーで置き換え、 そのため、実際の失敗の理由(status + response body)が表示される 代わりに、無声にカウントを更新するために進みます。 追加された console.log 新しい画像がキューに入れられ、POSTされている画像の数を追跡します.

kamo·4mo ago
FixVOIPService

Add トークンエンドポイントのAccept+XHRヘッダーと未加工文字列応答解析

FreePBX はクラスター DNS 経由で呼び出されたときにテキスト/html を返しました。 ホストヘッダは、設定された PBX HOSTNAME と一致しなかった。 追加する 受け入れ: application/json と X-Requested-With: XMLHttpRequest は FreePBX を...

Kamo·4mo ago
Fixkamo-marketing

アニメーション制御による最小限のタブエントリをドライブ

Animate={...} を animate={tabControls} に切り替えると、エントリが壊れました アニメーション: tabControls は、マウントにキュートなターゲットを持たないので、ボタンは保持されます。 初期 { y: 100 } 位置 (以下画面). useEffectを追加 explici...

Kamo·4mo ago
FixVOIPService

FreePBX API の OAuth2 スコープ文字列を修正

FreePBX スコープはトップレベルの識別子です: 'gql' (すべての GraphQL) および 'rest' (すべてのREST)。 'gql:read' はモジュールの GQL を意味します。 'read' という名前で、存在しない、無効な scope 400 エラーを引き起こします.

Kamo·4mo ago
FixKlusterServices

ClusterIPサービスで直接露出ポート8088

ポート 80→8088 マッピングのみをサービスにしました。 内部サービスの利用 メニュー (例:VOIPService APIトークン リクエスト) ポート8088がリスナーがなかったため、タイミングアウト クラスタIP.

Kamo·4mo ago
Fixkamo-internal

バックエンドのバックエンド数を信頼し、クライアントのオフセットをドロップ

バックエンドの pendingCount は現在未読ベース (counts Support TICKET session) 所有者のLastViewedよりも新しいメッセージで。 エージェントが開いたとき チケット、MarkAsRead → バックエンド放送 → フロントエンドは新しいを反映しています 自動的にカウント...

kamo·4mo ago
FixKlusterServices

K1m1 の ConfigMap の 行方不明の追加

デプロイメントの参照は2ban-config ConfigMap (jail.local + asterisk-security.conf は存在せず、Podをブロックする マウントボリューム。 FreePBXの起動と防止.

Kamo·4mo ago
April 25, 2026
Fixkamo-internal

MarkAsRead エージェントが送るので、 lastViewed の進歩

サポートチケットでは、訪問者とエージェントメッセージの両方が保存されます。 同じシステムメンバーなので、未読のクエリはメンバーアグノスティックであり、 lastViewedに完全に依存します。 エージェントがマークされていない場合AsRead 以降 送信、独自の返信は、新しい訪問者メッセージとしてカウントされます リス...

kamo·4mo ago
Fixkamo-shared-library

サポートチケットは会員制の未読カウントが必要です

サポートチケットの訪問者メッセージは、同じシステムの下で保存されます会員 エージェントが認証するので、既存のCHATセッションは未読 m.member.id = :memberId を除く — 常に 0 を返す サポートセッション チケットリストのバッジは登場しません。 countAllInSession + cou...

Kamo·4mo ago
Fixkamo-internal

LoadThread 再試行ボタンにフォルダーを渡します

loadThread は (threadId, フォルダ); のみエラー状態のリトライボタン kamo-internal ビルドを破棄して、sreadId を渡しました。 コールにマッチする 署名.

kamo·4mo ago
Fixkamo-shared-library

正しいJsonIdentity 'uniqueId' から 'id' までの情報プロパティ

@JsonIdentityInfo(property = "uniqueId") を宣言したメンバーのエンティティティティ 実際の主キーフィールドは 'id' と呼ばれます。 ジャクソン・スルー "uniqueId" という名前のプロパティが見つかりません。 参照されたメンバー(組織など)、PUT /org/{id} ...

Kamo·4mo ago
Fixkamo-marketing

SSRガードを取り外し、水和不一致を引き起こし、ネイティブWebSocket用のSockJSをドロップ

- Hero.tsx: ParticleFieldの周りのtypeofウィンドウのチェックを削除 — ParticleFieldは既に ssr:false を持っているので、ガードはサーバー/クライアントツリーのミスマッチを生成しました (React #418) - LiveSupportPanel.tsx:sockj...

Kamo·4mo ago
Fixkamo-internal

会話が開いたときに、未読のインジケータをクリア

ThreadDetailView は、マーク変換後にメール:folder-changed をディスパッチできるようになりました。 MailButton は、navtop の受信トレイのバッジカウントを refetches するので成功します。 会話一覧ビュー 選択されたスレッドのunreadCountを最適化的にゼロ化...

kamo·4mo ago
FixAPIService

Move CORS to Traefik via kamo-middlewares, remove in-app CorsFilter

The CorsFilter @Bean in the Spring app was silently not applying headers after WebConfig.java was removed. CORS is now handled entirely at the Traefik layer by ...

Kamo·4mo ago
Fixkamo-marketing

Use /public/{mainDomain}-{tld} path matching actual MinIO bucket layout

The getThemePath() was generating /domain/{tld}/{split}/kamosite paths that don't exist in MinIO — theme files live in the public bucket under kamocrm-com/, bad...

Kamo·4mo ago
Fixkamo-internal

Min-w-0 チェーンを破り、本文列のメールスクロールのみを含む

外の容器および主要な内容の屈曲のdivにmin-w-0を加えて下さい従って屈曲の子供 ページ全体を引き起こしていたメールの最小コンテンツ幅に拡大できません。 水平スクロールバー。 カラム3からオーバーフローxヒデンを削除(マスク) 問題)は冗長w-fullの内部のラッパーを取除きます.

kamo·4mo ago
Fixkamo-internal

ToolProviders上のホイストプロバイダ

ChatWebSocketProviderホイストと同じ根本的な原因: サポートTicketWindow コールコール **************** と ChatBox の呼び出し useUnread().markAsRead() ですが、ツールウィンドウは ToolDock 内でレンダリングします。 ABOVE ...

kamo·4mo ago
Fixkamo-marketing

壊れたプレースホルダー画像を追加し、修正

<html> でspressHydrationWarning は、ブラウザーによる React エラー #418 を防止します。 拡張子 (例: 翻訳、ダークモード) SSR との間の html 属性をミュート クライアントの水和。 placehold.co の placehold.co との.placeholder...

Kamo·4mo ago
FixKlusterServices

/domain/ パスプレフィックスを CORS のテーマ IngressRoute で許可する

Theme.kamocrm.com/domain/ で設定したテーマは、 既存のルートルール(/public///internal/のみ)で、Trefik CORSヘッダなしで503を返し、ブラウザがフェッチを拒否する。 HTTP と HTTPS IngressRoute ルールの両方に PathPrefix('/do...

Kamo·4mo ago
FixAPIService

重複したCorsFilterを削除し、ゲートウェイ内のCORSヘッダーを上流に除去

WebConfig.java は、CortsConfig と競合する第 2 回 CorsFilter ビーンを定義しました。 javaの bean、重複ヘッダーの書き込みを危険にさらす。 削除すると、CorsFilter が 1 つしか存在しません。 Forward() メソッドは、上流から Access-Contr...

Kamo·4mo ago
FixSecurityService

重複したCorsFilterのビーンを削除して、二重Access-Control-Allow-Originヘッダーを引き起こします

Explicit CorsFilterの豆はばねと2番目のCORSフィルターを引き起こしました セキュリティの組み込みの CORS サポート (CorsConfigurationSource を使用する). どちらのフィルタもオリジンパターンを解決し、同じヘッダを書いたり、 複製 'https://www.kamocr...

Kamo·4mo ago
Fixkamo-internal

Debug console.log ステートメントを削除し、不足しているルートを追加します

WebSocket のトレース中に追加されたすべての一時的なデバッグログを削除します。 ChatBox、ticketChat、MemberItem、ChatTool、およびuseChatWebSocketを追加 /help → /support と /settings/member → /settings/team-m...

kamo·4mo ago
Fixkamo-internal

長いアドレスで展開する列からメッセージヘッダーを防止

ヘッダーの左のフレックスの子供はマイナスw-0を持っていなかったので、長い壊れやすいメール From/To/Cc のアドレスは、最小限のコンテンツ幅を強制して成長し、ドラッグします ヘッダー(および列のレイアウト)はより広い。 min-w-0, break-all を追加 アドレス テキスト、/date 行の flex...

kamo·4mo ago
Fixkamo-internal

ToolProvider上のHoist ChatWebSocketProvider

ToolDock(およびサポートTicketWindow→ticketChatのようなツールウィンドウ)は、 ツリーにABOVE PresenceWrapperを座るToolProvidersの内部に取付けられて auth/navigationの変更にアンマウントを避けるため。 ChatWebSocketProvide...

kamo·4mo ago
Fixkamo-internal

メールレンダーでシャドウ DOM をドロップするので、オーバーフローx-auto 火災

Shadow DOMは根本原因でした。 ワイドメールコンテンツ(固定幅表) 影の木の内側は、貢献せずにホストを貼り付けた ホストのレイアウトボックスなので、親ボディラッパーのオーバーフローx-auto オーバーフローを検知し、スクロールバーを生成しません。 明白なdiv +危険なSetInnerHTMLで影の根を置き...

kamo·4mo ago
Fixkamo-internal

一致するプロバイダへのチャットWebSocketContextインポートパスをアライグする

TicketChatとChatNotificationListenerは、コンテキストを経由してインポートしました '@/app/contexts/...' alias while PresenceWrapper (プロバイダ) それをインポートします 相対 '../contexts/...' パスを使って。 Next...

kamo·4mo ago
Fixkamo-internal

強制シャドウのホストは、インラインスタイル+が含まれています:レイアウト

影ホストのクラスベースのオーバーフローx-autoは確実に勝てなかった シャドーに対して ':host { all: 初期値 {' リセット, 広いメール コンテンツ(固定幅表)は、ホストの過去に視覚的に絵画 レイアウトボックスと3列幅の水平スクロールバーを引き起こします。 明示的な幅のインラインスタイル(最も高い著...

kamo·4mo ago
Fixkamo-internal

外部ではなくシャドウ DOM 内の広いメールコンテンツをスクロール

以前の試みは、DOMの先祖を軽くするためにオーバーフローxオートを追加 シャドウツリーの視覚的なため、広いメールコンテンツをキャッチできませんでした ペイントオーバーフローは、ホストのレイアウトボックスには貢献しません。 ホスト 過去に塗られた広いテーブルがコラムの幅にとどまり、打つこと 外側のオーバーフロー-x-hi...

kamo·4mo ago
FixEmailService

GetHasAttachments() を使用して、Boolean のラッパータイプにマッチします

****************は、ボオラン(ワラッパー)なので、ロボク isHasAttachments() ではなく getHasAttachments() を生成します。 後者のみ プリミティブボオランに存在します。 Boolean.TRUE.equals() を使用して安全にハンドルを処理します。 null の...

Kamo·4mo ago
FixMediaService

JPAリポジトリのスキャンを拡大して、コマースパッケージを含める

Kamo-shared-library がリリースされました。 必須条件 メニュー (com.kamo.z.shared.commerce で). MediaServiceはスキャンしたdonotmodify.dao.reposだけなので、 Beanは欠落しました アプリケーションが起動できなかった。 より広いスキャン...

Kamo·4mo ago
FixMediaService

ChatWebSocketControllerでHashMapのインポートを復元する

以前のリファクタは、HashMap のインポートが削除されましたが、 handleTyping メソッドは、タイピングイベントのペイロード用のHashMapをまだ構築します。 Forgejo ビルドで 'cannot find 記号: class HashMap' で失敗します.

Kamo·4mo ago
Fixkamo-internal

Min-w-0 をメール コンテンツ div に追加して、オーバーフローx-auto の火災

Min-w-0 がなければ、flex-col の子のデフォルト min-width:auto は解決します 最小コンテンツ、広いメールテーブルが列を貼り付けたdivを拡張することを可能にします 幅。 外側のオーバーフローx-hiddenは、代わりに拡張されたdivをクリップしました スクロールバーの作成 min-wid...

kamo·4mo ago
Fixkamo-marketing

SendMessageで重複するConnectStompコールを削除します

最初のメッセージが新しいセッションを作成するとき、onSessionCreated の更新 props これは、connectStompを呼び出すためにuseEffectをトリガーします。 sendMessage のインライン呼び出し useEffects のdisconnectStomp によって、冗長ですぐに殺され...

Kamo·4mo ago
FixMediaService

セッション作成時にNATSの消費者を積極的に作成し、メッセージの損失を防ぐ

以前、NATS JetStream プッシュコンシューマーは STOMP クライアントでのみ作成されました。 /app/chat/subscribe を送信しました。 配送ポリシー 新しい、以前に公開されたメッセージ 消費者は永続的に失われた - 訪問者メッセージと名前の変更を引き起こします エージェントが最初に購読さ...

Kamo·4mo ago
Fixkamo-internal

リアルタイムメッセージが低下するギャップを閉じる

サブスクリプション使用から `connected` を削除します。ticketChat のエフェクトの deps は、 チャットボックス。 以前は、すべてのWebSocketがトリガーされたエフェクトを再接続する unsubscribe() と呼ばれる cleanup は、セッションを削除しました。 サブスクリプション...

kamo·4mo ago
FixSecurityService

システムユーザーが org ブランディングを管理し、ロゴ auth を固定することを可能にします

- canManageOrgBranding のプラットホームの最初の監視としてシステム ユーザーバイパスを加えて下さい システム ユーザーはすべての非親のorgs上のフル ブランディング制御を持っています - ロードされた生のorg所有者のみチェックを持っていたアップロードLogoエンドポイントを修正 両方canMa...

Kamo·4mo ago

配送を見るのが好きですか?

これらのアップデートは、自動的にワークスペースに埋め込まれます。 週1回無料スタートし、週1回生育する.

永遠に無料で始める料金を見る