Enrich upload manifests with Asterisk CDR caller-ID data
Adds optional MySQL CDR enrichment so the softphone history tab can display who called (or was called). When ASTERISK_CDR_DSN is configured as a Forgejo repo se...
Parse CDR caller-ID fields from upload manifest
When kamo-asterisk-support includes a cdr{} section in the upload manifest (populated when ASTERISK_CDR_DSN is configured), ConversionService extracts callerIdN...
Add CDR caller-ID columns to recordings table (order 40)
Adds caller_id_num, caller_id_name, call_direction, and call_result columns to the recordings table so the softphone history tab can display who called without ...
Add CDR caller-ID fields to Recording entity
Adds callerIdNum, callerIdName, callDirection, and callResult columns to the Recording entity so kamo-asterisk-support can store Asterisk CDR metadata alongside...
Add COMP payment method option to subscription order wizard
COMP is a valid backend PaymentMethod enum value for complimentary platform-admin grants, but was missing from the frontend type and wizard UI — only INVOICE an...
Show platform kamocrm domain on custom domain entry
Surface the active *.kamocrm.com hostname on the add-domain flow and detect custom domains by excluding kamocrm URLs instead of default-flag alone.
セットアップを表示 請求ボタン なしのアカウントを持つorgの所有者
Orgの所有者が計画ビルティングタブを開き、請求アカウントを開くとき 存在し、ジェネリックの代わりにbootstrapプロンプトを表示 "あなたの連絡先 orgの所有者"メッセージ。 ボタンは POST /api/security/account/ を呼び出します。 boottrap-billing (idempote...
既存のorgsにbootstrap-billingエンドポイントを追加
メニュー 同じトリガー サブオーガニゼーション・ホック(BillingSetupService)としての意図的なセットアップ .setupForSubOrgCreation はオーガナイザーのオーナーがオンデマンドと呼ぶことができます。 課金レファクタの前に作成されたorgsを扱います。 そのため、アカウント+アカウン...
ウェーブ3変換、フォールバック修正、自動翻訳CI
- すべてのハードコードされた英語の文字列をt()の呼び出しを波3を渡して置き換える コンポーネント(チャット、クラブハウス、サポート、メモ、パイプライン、リード、ナビゲーションなど) - メッセージ/en.json (+19 キー) に 3 つのフラグメントをマージします。 - en.json(welcome、tag...
Locale のソースとして、Member.language と次の intl のワイヤ
URLなしでカモインタナル全体で次のインテルベースの国際化を追加します。 locale プレフィックス。 アクティブなロケールは、kamo-locale Cookie から読み込まれます。 認証されたメンバーの「言語設定」をミラーリングします。 地域設定カード************************ インフラ...
Fall back to imaging recordings for call history + voicemails
FreePBX 17 doesn't expose voicemail messages over REST or GraphQL on this install (the GraphQL voiceMail type returns mailbox config, not messages, and /admin/a...
Paginated Recording lookup by (instance, extension, isVm)
Used by the softphone tabs as the canonical source of truth for call recordings and voicemails when the upstream provider can't list them — e.g. FreePBX 17 has ...
サブオーガニ作成のオートプロビジョンKamoCRMシート; 推進ビルリングオーナーエンドポイント
EntitlementService は、サブスクリプションメンバー (アカウントメンバーではなく) を計算する 会員資格 — アクティブ・ライセンシー・サブを横断する機能の連合、プラス 無料ベースライン。 Redis のリスナーが SUBSCRIPTION:<uid> ハンドラを獲得しました。 新しい Billin...
メンバ言語 + default currency カラムを追加
新規をバックアップするメンバーテーブルに2つのNOT NULLカラムを追加 Member.language (VARCHAR DEFAULT 'English') と Member.defaultCurrency (VARCHAR(10) DEFAULT 'USD') フィールド。 既存の行がバックフィルされます デフ...
言語ステップ、国タイムゾーンピッカー、スクロール+ *の修正を追加
- 新しい「私の言語のステップは、国を映すウィザードに調製 ステップのレイアウト。 フラグタイルとして22のマーケティング支援局をリスト ネイティブネーム+英語ツールチップ、navigator.languagesから事前に選択します。 - 「私の国」のステップは、デフォルトで国と一緒にタイムゾーンを収集します ****...
ローカル設定カードに言語 + デフォルト通貨を追加
メンバープロファイルの地域設定カードが編集可能な言語を公開 (22 は、マーケティングサイトをミラーリングするローカルをサポート) および デフォルト通貨 (検索可能なオートコンプリート) 3つすべて一緒に保存 PUT /api/security/members/{id} です。 モードを見ると、ネイティブ言語名が表示...
パーシストメンバーの言語/タイムゾーン/通貨のサインアップ
/register エンドポイントは、言語、タイムゾーン、デフォルト通貨を受け付けます。 既存の国のフィールドと共に。 登録サービスセット 国 新規ユーザのタイムゾーンと、すべての4つの地域フィールドを適用する 新しく作成されたメンバーは、国の通貨からデフォルトの通貨を導きます 1 が供給されていない場合の主流マッピン...
Map external customer address blocks into AccountAddress on pull
Add AdapterAddressMapper helper that converts a JSON address node from any provider into an EmbAddress and attaches it to an Account as a typed AccountAddress (...
/account/new copy-from-lead UX, フルネームフィールド, デュアル電話, アドレス; アカウントレベルのアドレス管理
フロントエンド: - /account/new: セクションごとに「リードからコピー」ボタン+ヘッダ "Copy all from Lead"ボタン(リードId paramの場合) - 名前セクション:プレフィックス、最初、中間、最後、サフィックス - 二重電話(個人+仕事)と延長と「許可テキスト」トグル - EmbA...
ネストされた名前/メール/電話番号+アドレス管理エンドポイントをサポート
- AccountController は POST/PUT でネストされた名前/電子メール/phoneNumbers JSON を受け入れます - POST の初期アドレスは SHIPPING (および BILLING を useAsBillingToo セット) を作成しましたり、第一次ポインタを置きます - 5つ...
制作グレードの履歴+ボイスメールタブとメディアプレーヤーツール
歴史タブ(SoftphoneHistoryTab.tsx): - パネルのスクロールコンテナ内のIntersectionObserverを介して無限スクロール - フィルター チップ: すべて/インバウンド/アウトバウンド/逃された/記録される - イメージング側が記録行列を持っているときに行のアクションの記録アイコン...
レコード提供者向けマイグレーションランナー+ VMアーカイブカラム
RECORDINGS.provider instance id (UUID) とprovider external id (VARCHAR(64)) と、ソフトフォン履歴タブの一括検索エンドポイントで使用される複合idx recordings provider lookup インデックスを追加します。 また、新しいソ...
Persist プロバイダーInstanceId + プロバイダーExternalId で 摂取
新規の RecordingMetadata フィールドに、X-Phone-Server-Id と X-Asterisk-Unique-Id (UnprocessedRecording の読み込み) をスレッド化し、イメージングシステム内のコール/ボイスメール行が、ソースプロバイダの行に戻す。 ボイスメールの場合、ヘル...
HTTP レンジのサポートで **************** を追加
Kamo-internal MediaPlayer ツールによって使用されるオーディオ/ビデオイメージングアセットの一般的なストリーミングエンドポイント。 ImageServiceの許可(/download/... と同じ)を再利用しますが、Accept-Ranges + Content-Range でストリームを流す...
録音再生、ボイスメールアーカイブ、ボイスメール、履歴濃縮
- 新しい録音 一括検索、マスター+チャネル毎のトラックのレンジストリームオーディオ、メディア再生ツールウィンドウのメタデータを備えたコントローラー - CallController.getCallHistory / getVoicemailsは、新しいRecordingLookupServiceを介して撮像録画で各行...
録音、ボイスメールアーカイブ、MinoO範囲のストリーミングに関するプロバイダのルックアップキー
- 録音:providerInstanceId + ProviderExternalId を追加して、プロバイダの呼び出し履歴/ボイスメール行をイメージングアセットに戻します。 - PhoneVoicemail: isArchived + dateArchived をソフトフォンリストからソフトハイド用に追加 - Ro...
履歴タブを追加 — 検索とフィルタを使用して監査タイムラインをペジネーション
- LeadHistoryPanel: バウンスされた検索で粘着フィルタツールバー、**********************************************************************************************************************...
GET /{id}/history と /{id}/history/filters エンドポイントを追加
バッチの俳優のローディング(N+1なし)と、パギン化、濾過、検索可能なリード履歴エンドポイント。 フィルタエンドポイントは、使用されるフィールド、すべてのレジストリフィールド、異なる俳優、およびすべてのイベントタイプを返します。 すべてのミューティングエンドポイントは、コールメンバーを俳優としてLeadHistoryS...
リード履歴の監査ログを追加 — 組織、レジストリ、サービス、DTO、LeadServiceのホック
- リード履歴エンティティティティ(UID PK、プレーンロングFK — リード削除/変換を可能にするFK制約なし) - LeadHistoryEventType 列挙型ラベル - LeadHistoryFieldRegistry:~55の追跡された鉛分野のための真実の単一の源;分野を加えることは1ラインです - Le...
CurrencyType enum を追加し、CountryType を主要な通貨で更新し、アカウント/組織に通貨を追加し、LeadService にリードアカウントの割り当てを追加します
マイアカウントページタイトルの動的メンバータイプラベル
タイトルは「My {Member|Team Member} Account」を org-configured で読み込みます。 アクションラベル、メンバーの型が読み込まれると自動的に切り替えます.
Create Document ボタンを DocManager ツールバーに移動
ボタンは、アクションプロップを介して/doc/managerでのみ使用可能でした。 すべてのロジック(ステート、ハンドラ、DOC TYPES、メニュー)をDocManagerに動かす すべての埋め込みインスタンスに表示されます。 簡略化ページ.tsx へ わずか アクションプロップなしでDocManagerをレンダリン...