Add go-sql-driver/mysql v1.7.1 checksum to go.sum
go mod tidy without source files is a no-op, so the mysql checksum was never added. Generated the correct h1 hashes via a throwaway golang:1.22-alpine container...
AttributeConverter による CountryType のレガシー・オーディナル・ストリングを扱います
DB 行は、元の整数 (例: UNITED STATES の "186") として保存された国でした。 の代わりに、IllegalArgumentException を findAll() に引き起こします。 CountryTypeConverter は、valueOf が失敗したときに元の検索に戻り、 お名前で書きま...
バックグラウンドでtsxを実行することにより、ジョブを即座に翻訳をキャンセル
Forgejo がワークフローを解除すると、bash は任意の前景子を待ちます 信号処理の前に仕上げる — なので、実行中の tsx locale ジョブ ランナーのスロットを保持し、数分のキャンセルをブロックします。 Fix: tsxを&で実行し、$CHILD PIDを待ちます。 bash exitswait()を...
ASTERISK CDR DSN をローカル config.json に移動し、CI/CD シークレットではなく
CDRの資格情報は、各FreePBXサーバーにローカルで、ビジネスにはありません CI/CDパイプライン 演算子は、ASTERISK CDR DSN を直接追加します。 config.json を API KEY と PHONE SERVER ID と一緒に指定します。 config.go フィールド すべてのランタイ...
GetDomainById および check-dns エンドポイントで高まるアクセスを許可
GetDomainBy でトップレベルの org オーナーとシステムメンバーが 403 を獲得しました ログイン そしてそれらのエンドポイントはisUserMemberOfをチェックしたので、検証-dns 直接オーグ。 hasElevatedCrossOrgAccessヘルパーを追加し、メンバーチェックと一緒に適用しま...
Show existing org domain instead of entry form when no custom domain
Fall back to the org's platform subdomain as the display domain so DnsProgressView renders rather than DomainEntryForm when no custom external domain exists. Al...
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...
Surface imaging fallback when provider has no call history
KamoPBXProvider.getCallHistory now returns null instead of throwing **************** so the 501 response no longer bypasses the imaging fallback. The provider c...
Correct account list member/teamMember fallback labels and trigger redeploy
Restore NavPri panel labels and LeadHistory column headers
NavPri: salvage-keys grabbed href URLs as label values and swapped label/description pairs for Accounts, KB, and Notes nav panels. LeadHistoryPanel: MUI bgcolo...
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 domain context when no custom domain is set
Surface the active *.kamocrm.com hostname in the domain entry form so users can see their current platform domain instead of a blank entry screen. Also fixes ve...
Revert "chore(messages): add wave3 translation merge fragments (JSON)"
This reverts commit ****************
Revert "feat(setup-dns): show platform kamocrm domain on custom domain entry"
This reverts commit ****************
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.
Checkpoint translations per chunk and per locale on main
Persist locale JSON after each API chunk so cancellation loses at most one batch. CI translates one locale per process and commits/pushes after each so finished...
Checkpoint translations per chunk and per locale on main
Persist locale JSON after each API chunk so cancellation loses at most one batch. CI translates one locale per process and commits/pushes after each so finished...
Disable Docker BuildKit cache so every pipeline run does a full rebuild
Sets no-cache on both image build steps so npm ci and npm run build always run, even when the source tree is unchanged.
Bust Docker BuildKit cache per commit so npm run build runs every push
Identical checkout trees (e.g. empty commits) reused cached layers and skipped a real Next build. Pass GIT_COMMIT from the workflow and label the image revision...
プライマリメールボックスが割り当てられ、変更、または削除されたときに、メンバーを同期します
メールボックスがKAMO MAIL orgのメンバーに割り当てられた場合、members.email 決して更新されず、EmailCredentialService が IMAP を解決できなかった 会員の資格情報.
重複ルートドメインを防止し、プライマリドメイン表示を修正
ONE DOMAIN PER ORG チェックを誤って .kamocrm.com web-alias ドメインは、複数のルートドメイン(および10)を蓄積するorgを許可します 異なるエイリアスと再試すことで各エイリアスを。 今、すべてのカウント 接尾辞に関係なくトップレベルのドメイン(親はNULL)。 ネットワーク...
会員セキュリティとメンバーのPUTコールをシリアライズし、CockroachDBの競合を回避
同じ `members` 行に 2 つの同時書き込みがシリアライズ可能 分離の対立 — 会員セキュリティは、メンバー間で行を読みます endpoint はそれに書きました(countUpdated を経由して)、1 つのトランザクションを中絶します エラー40001で。 シーケンシャルコールは重複を排除します.
Org作成レイテンシーを削減し、翻訳カスケードの失敗を修正
- 組織管理者:TeamMembersForAllOrgs(完全なorg)を確実に交換する TeamMemberForOrg(単一オーガニゼーション)を確実なテーブルスキャン 〜400ms×N DB 往復 /network/create 送信 がスタック - 組織管理者:メールを移動しますTemplateSeedCli...
ワイドな commit log translations.title から TEXT まで、DB 列にマッチ
列は、アノテーションとDBのVARCHAR(512)で、 長い翻訳タイトルに失敗する翻訳インサート。 DB カラムは 今、ストリング(直接適用)。このアノテーションの変更は、組織を維持します 一貫した.
