Bản ghi thay đổi
Có gì mới không?
Mọi cải tiến cho nền tảng, khi nó được đưa ra.
· kamo-internal
Dây phụ Nhà cung cấp sự hiện diện của Wrapper
· kamo-internal
Thêm khả năng truy cập nhanhName
· SecurityService
Tự động cài đặt thành viên có sẵn AVAILable khi đăng nhập, thoát ra khi đăng xuất
· MediaService
Thêm phần bổ sung NATSSTOMP cho trạng thái thành viên
· SecurityService
Cập nhật các điểm kết thúc sẵn có để sử dụng tính khả năng lưu «% 1 » Trạng thái
· SecurityService
Thêm bộ công bố khả năng tích hợp cho bản cập nhật trạng thái thành viên
· InitializerService
Thành viên bị rối loạn. Là dễ dàng dùng để status enum
· kamo-shared-library
Thay thế là một điều không thể thay đổi với tính kiên định của MberAvailable Trạng thái
· kamo-asterisk-support
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 secret, the helper: - Queries asteriskcdrdb.cdr for the call's uniqueId before uploading - Parses CLID into callerIdNum and callerIdName - Derives call direction (inbound/outbound) from src/dst vs extension - Includes a cdr{} block in the upload manifest CDR enrichment is opt-in and gracefully degraded: if the DSN is absent or the lookup fails, uploads proceed without caller-ID (existing behaviour). Adds go-sql-driver/mysql v1.7.1; Dockerfile runs go mod tidy to populate go.sum during the Docker build so no local Go installation is needed.
· ConversionService
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 callerIdNum, callerIdName, callDirection, and disposition and passes them through RecordingMetadata so the Recording row is stored with full caller-ID context.
· InitializerService
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 relying on the FreePBX CDR pipeline being available.
· kamo-shared-library
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 the audio file. RecordingMetadata gains matching fields; a backwards-compatible constructor lets existing callers pass null for all four without change.
· kamo-internal
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 and AUTO_BILL were offered. Added COMP to the SubscriptionPaymentMethod union and exposed it as a radio option.
· kamo-internal
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.
· kamo-internal
Hiện nút miền cho chủ sở hữu cấp cao và thành viên hệ thống
· kamo-internal
Hiện nút Đặt Billing cho chủ org mà không có tài khoản
Khi một người chủ org mở trang cá nhân kế hoạch và không có tài khoản hoá đơn tồn tại, hiển thị một dấu ấn khởi động thay vì chung chung "chiến đấu với bạn Tin nhắn "người chủ org". Cái nút gọi cho PST / api/ Security/ac Count/ sau đó nạp lại tài khoản thành công.
· SecurityService
Thêm điểm kết thúc bẫy cho các điểm đã có trước
TIẾNG CÒA * Khởi động giống nhau Thiết lập quyền hạn như là móc câu tạo dướiorg (BillingService . stupForSubOrgCreation) nhưng có thể được gọi vào-demid bởi một người sở hữu org. Điều này xử lý org đã được tạo ra trước khi hóa đơn trả lại và Vì vậy, không bao giờ nhận được một tài khoản + khiếu nại bắt buộc.
· kamo-internal
Chọn
- Thay thế tất cả các chuỗi mã cứng tiếng Anh với t() cuộc gọi quan sóng 3 Thành phần (chat, câu lạc bộ, hỗ trợ, ghi chú, đường ống, dẫn, nav, etc.) -Biểu tượng 3 mảnh ghép vào tin nhắn/en.json (+19 phím) - Sửa giá trị vị trí ở nhà trong en.json (Chào mừng, câu khẩu hiệu, văn bản chân trang, tài khoảnDesc/networkDesc careation) - Sửa văn bản chào mừng di động trên trang.tsx để sử dụng t() thay cho chuỗi cứng - Sửa yêu cầu.ts: tiếng Anh đậm như cơ sở cho tất cả tập tin cục bộ. Các tập tin bị mất tại địa phương (trước-CI) phục vụ tiếng Anh thay vì sụp đổ, và một phần địa phương rơi trở lại tiếng Anh vì thiếu chìa khóa - Cập nhật đi. Name teppi82@ gmail. com
· kamo-register
Đặt tên trên hàng hợp pháp
· kamo-internal
Liên lạc với thành viên. quản lý địa phương
Thêm vào sự quốc tế dựa trên nội bộ kamo không có URL Tiền tố địa phương. Địa phương hoạt động được đọc từ cookie kamo-locale, mà phản chiếu sự ưa thích của thành viên xác thực « lanluage » (đặt qua Phiếu thiết lập vùng trong * Biểu đồ tần xuất Cơ sở dữ liệu: - i18n/locales.ts, i18n/request.ts: 22 địa phương được hỗ trợ tương ứng kamo-zeing - / api/i18n/set-locale: viết cookie kamo-locale - Miền địa phương: đồng bộ cookie đến Mber.language trên tải xác thực đầu tiên - I18nProviders: áp dụng lõi MUI, x-data-grid, x-date-Spers và Máy thích nghi hẹn giờ tới ngôn ngữ hoạt động - sử dụngFormatters: locale-ware date / số / phần trăm trợ giúp thời gian tương đối - Thiết lập miền MyAc CountTab lưu: ghi cookie + r đem lại () khi người dùng thay đổi ngôn ngữ của họ - Các tập lệnh/t: (mô hình quảng cáo kamo) - kịch bản/ thạch cao.ts, *Cẩm bẩm cho Đang tổng hợp từng mảnh khóa vào tin nhắn/en.json Hậu phương: - lời nhắn/en.json được gieo ghép với chung.*, nav.*, auth.* phím + bắt đầu khai thác qua ~67 trang và các thành phần (dashboard, dẫn, Thương mại, thiết lập, tài khoản, liên lạc, thiết lập/phụ kiện, Thành phần/ cấu hình, thành phần/công cụ/ai-chat, etc.) Nhiều tính năng bề mặt vẫn cần có giấy thông hành.
· VOIPService
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/api/api/rest/voicemail 404s), and Asterisk's CDR pipeline is also non-functional here (ODBC DSN misconfig handled separately in KlusterServices). Without these the softphone tabs render empty even when call/VM recordings exist on the imaging side. When provider.getCallHistory or provider.getVoicemails returns nothing, fall back to listing rows from the kamo.recordings table scoped by (providerInstanceId, extension, isVm). Caller-ID metadata isn't carried on Recording today so we leave from/fromNumber blank — the row still plays back through the media-player tool via recordingId. Archive filtering is preserved across both paths so a row archived via the cache stays hidden in the fallback too.
· kamo-shared-library
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 no REST/GraphQL voicemail-message API, and on this install Asterisk's CDR pipeline is also broken (separate ODBC misconfig fix in KlusterServices).
· SecurityService
Tự động hỗ trợ ghế KamoCRM trên sub-org tạo ra; quảng bá-bing-chủ sở hữu kết thúc
Tên Quyền lợi thành viên — sự kết hợp các tính năng qua các cấp dưới hoạt động, cộng với Đường dây nóng miễn phí. Trích dẫn của Redis sẽ nhận được một kết luận: Dự luật mới được lập trình theo hai luồng: - tạo ra tổ chức (sub-org dưới KamoCRM): tự động tạo ra KamoCRM-org Thành viên của người tạo ra nếu vắng mặt, tìm một tài khoản KamoCRM Với thành viên chính, mở tài khoản tự do Mục tiêu là sub-org mới, và đặt vị trí người tạo ra bản quyền và dưới quản lý. - PST * PATES Phát ra một cái mới KamoCRM Tài khoản/ thư mục cho thành viên của một sub-org đã có, tùy chọn Chuyển bằng lái. Hay chỉ chủ sở hữu. Tài khoản các tuyến đường thả là Licensee / có thể ManageSubscription từ Những lá cờ này hiện đang trực tiếp trên SubscriptionMem.
· InitializerService
Thêm ngôn ngữ thành viên + mặc định
Thêm hai cột KHÔNG NULL vào bảng thành viên ủng hộ mục mới Thành viên.language (VARCHAULT 'ENGLISH' và Bộ Nội dung. Các cánh đồng. Hàng ghế còn tồn tại đã được lấp đầy trở lại mặc định vì vậy tùy chọn ép buộc KHÔNG KHÔNG được thỏa mãn mà không có thời gian làm giảm cửa sổ.
· kamo-register
Thêm bước ngôn ngữ, bộ chọn múi giờ quốc gia, cuộn + *** Sửa chữa
- Mới của tôi ngôn ngữ chuẩn bị cho phù thủy, đi ngược lại đất nước Bố trí bước chân. Name với tên bản địa + phê bình tiếng Anh; tiền chọn từ hoa tiêu. - "Nước của tôi" bây giờ thu thập một múi giờ bên cạnh đất nước, mặc định từ & hiện tại Tiếp theo. Cả hai cánh đồng đều cần phải tiến lên. - Cơ thể đăng ký bây giờ gửi ngôn ngữ/thời gian (hơn quốc gia hiện có) đến điểm dừng chân để họ tiếp tục ở thành phố mới. - Câu hỏi an ninh bước nội dung bây giờ có thể di chuyển theo chiều dọc — bước là bước duy nhất không có thùng chứa tràn, nên danh mục dài đẩy câu hỏi thứ ba ra khỏi màn hình. - Sửa: @ info: tooltip Trước khi nghe được. Thay thế 100m định giờ cuộc đua bằng một Name Kết nối với thính giả.
· kamo-internal
Thêm ngôn ngữ + tiền tệ mặc định vào thẻ Thiết lập Vùng
Phiếu Thiết lập Vùng Thành viên Bây giờ phơi bày Ngôn ngữ Sửa đổi được (22 hỗ trợ người dân phản ánh trang web tiếp thị) và tiền tệ mặc định Cùng với Timezone. Cả ba cùng cứu nhau qua Bỏ ra. Chế độ xem hiển thị tên ngôn ngữ mẹ đẻ với tiếng Anh trong ngoặc, cộng với biểu tượng tiền tệ và tên đầy đủ.
· SecurityService
Thành viên bền bỉ ngôn ngữ/ múi giờ/thời gian khi ký
Điểm kết thúc /register bây giờ chấp nhận ngôn ngữ, múi giờ và độ trễ mặc định bên cạnh cánh đồng quốc gia tồn tại. Name và múi giờ trên người dùng mới và áp dụng tất cả bốn lĩnh vực khu vực cho Mới được thành lập, thu hồi tiền tệ mặc định từ quốc gia Bản đồ chính về mức độ kinh tế khi một người không được cung cấp (và quay trở lại USDD).
· kamo-shared-library
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 (SHIPPING/BILLING). Wire the helper into the four adapters whose customer endpoints expose address blocks: - ShopifyCustomerAdapter: default_address goes to both shipping+billing, remaining addresses[] become shipping records - WooCommerceCustomerAdapter: billing block -> BILLING, shipping block -> SHIPPING - BigCommerceCustomerAdapter: addresses[] split by address_type field - MagentoCustomerAdapter: addresses[] split by **************** ids Adapters with no address data in their customer payloads (Ecwid, Wix, Shift4Shop, PrestaShop, OpenCart, Squarespace) continue to compile unchanged.
· kamo-internal
Tên máy điện thoại, địa chỉ, trình quản lý địa chỉ
Giao diện: - // thuật toán/ mới: mỗi phần "Copy from Led" nút + đầu trang "Copy tất cả từ chì" (khi dẫn đầu trong tham số) - Phần tên: tiền tố, đầu tiên, giữa, cuối, hậu tố - Điện thoại Dual ( cá nhân + làm việc) với phần mở rộng và phần mở rộng "B âm" - Phần địa chỉ dùng dạng thức EmbAdress (dòng 1, chi tiết, thành phố, subdivision, bưu điện, quốc gia) với "dùng như hóa đơn quá" toggle (mặc định trên) - Gửi tên lồng nhau/mail/phoneNumbers tải về phía sau - Tài khoản Api: gõ tài khoản, tài khoảnPhoneNumbers, tài khoản kế toán; các phương pháp mới: lấy địa lý, thêm địa lý, cập nhật địa chỉ, xoá địa chỉ, đặt địa chỉ riêng - Tài khoảnView cho biết địa chỉ hàng chính từ danh sách các địa chỉ mới
· SecurityService
Hỗ trợ tên lồng nhau/ email/phoneNumbers + địa điểm quản lý kết thúc
- Bộ quản lý tài khoản chấp nhận tên lồng nhau/ email/phoneNumbers JSON trên PST/PUT - Name - Thêm 5 địa chỉ kết thúc: lấy, PST, PUT, DEERE địa chỉ; pUT / mũ/{id}/ priary - Tóm tắt tài khoản / detail phơi bày đối tượng tên, đối tượng điện thoại di động, chuyển hoặc ghi địa chỉ, con trỏ chính - Bỏ các ghi chú cấp độ tài khoản (Ac Count.notes đã bị gỡ bỏ trước đó)

Vũ trụ của anh đang chờ đợi.
Bắt đầu miễn phí trong vài phút. Thêm sản phẩm bất cứ khi nào bạn sẵn sàng — không di chuyển, không đăng nhập mới.
Miễn phí mãi mãi — không cần thẻ tín dụng