콘텐츠로 건너뛰기
KAMOUniverse

변경 로그

무슨 일이야?

플랫폼에 대한 모든 개선 사항, 그것이 선적.

  1. · kamo-internal

    Production-grade History + 음성 메일 탭 미디어 플레이어 도구

    역사 탭 (SoftphoneHistoryTab.tsx): - 패널의 스크롤 컨테이너 내부 IntersectionObserver를 통해 무한 스크롤 - 필터 칩: 모든 / 인바운드 / 아웃바운드 / Missed / 녹음 - 화상 진찰 측이 기록 행이 있을 때 기록적인 아이콘 - Per-row overflow 메뉴 (접촉 추가) - 기존의 다이얼패드를 통해 다시 클릭 음성 메일 탭 (SoftphoneVoicemailTab.tsx): - 무한 스크롤, 필터 칩 (모든 / Unread / 오디오가 있습니다) - Per-row Play / 통화 뒤 / 더 많은 작업 - 게임에 자동 표시 - 두 개의 옵션 삭제 대화 상자 : Archive (soft-hide, 모든 사용자) 대 영구적으로 삭제 (VIP VOICEMAIL PERMANENT DELETE에 의해 변경; 그없이 사용자에 대한 비활성화 상태로 돌아갑니다) - no-op-when-zero 감당성 표시 버튼 MediaPlayer 팝업 도구 *************** - 오디오: 합성 파형 작풍 스크러버, click-to-seek, Replay10/Forward10의 재생율 (0.5x-2x), 반복, 양 + mute의 AV 조정에서 명예를 주는 산출 장치 - 영상: 포함되는 viewport, PiP, 풀스크린, 동일한 스크러버 + 통제 - 통화 녹음용 멀티 트랙 선별기 (master + 각 per-channel 다리) - 다운로드 - 두 소스 모드 : voipApi 녹음 (call/VM) 또는 imgId의 이미징 자산 - Multi-instance로 Tool/registry/registrations.ts에 등록 걸이 + 배관: - useSoftphone는 paginated history + voicemails (loadMore, hasMore, isLoading) 및 archive/permanent-delete 동작 노출 - voipApi 이득 조회기록, getRecordingMetadata, archiveVoicemail, paginated getVoicemails - /api/voip proxy는 오디오/비디오/octet-stream body를 통해 전달합니다. *********** intact (버퍼링 없음) - 새로운 *********** DocsService의 새로운 스트리밍 엔드포인트로 전달 - VOIP VOICEMAIL PERMANENT DELETE는 frontend RoleRightType 레지스트리에 추가되어 삭제 UI를 체크합니다

  2. · InitializerService

    기록 공급자 조회 란을 위한 마이그레이션 주자 + VM 아카이브 열

    RECORDINGS.provider instance id (UUID) 및 공급자 external id (VARCHAR(64)) 플러스 합성 idx recordings provider lookup 인덱스 소프트 폰 역사 탭의 대량 조회 엔드포인트에 의해 사용됩니다. 또한 PHONE VOICEMAIL.is archived + date archived를 새 연사 흐름에 추가합니다. 같은 패스의 RECORDINGS / RECORDING EXTS 행을 닦아 - 자연적으로 idempotent (제공자 external id가 여전히 NULL 인 유일한 일치 행 만 일치합니다. 한 번 변환 서비스는 새로운 코드 경로에있지 않습니다). 순서 35 — 후에 *************** (30) 그래서 ALTERs 땅의 앞에 기록 테이블 존재.

  3. · ConversionService

    Persist 공급자InstanceId + 공급자내부에 기록에

    Threads asterisk-support의 X-Phone-Server-Id 및 X-Asterisk-Unique-Id(UnprocessedRecording에서 알레드)를 새로운 RecordingMetadata 필드에 입력하여 이미징 시스템의 호출/voicemail 행은 소스 제공 업체 행에 가입 키가 나옵니다. 성우를 위해 helper는 raw filename basename (e.g. msg0000); 우리는 msg prefix를 스트립하고 0을 선도하므로 저장된 키는 FreePBX의 voicemail REST API가 메시지 ID로 반환됩니다.

  4. · DocsService

    추가 *********** HTTP 범위 지원

    Kamo-internal MediaPlayer 도구에 의해 사용되는 오디오 / 비디오 이미징 자산에 대한 일반적인 스트리밍 엔드 포인트. Reuses ImageService authorization (same as /download/...) but streams with Accept-Ranges + Content-Range so media elements can remove full file.

  5. · VOIPService

    녹음 재생, voicemail 아카이브, paginated voicemail, 역사 enrichment

    - 새로운 기록 미디어 플레이어 도구 창을 위한 마스터 + per-channel tracks 및 metadata를 위한 대량 조회, 범위 흐르는 오디오를 가진 관제사 - CallController.getCallHistory / getVoicemails는 새로운 RecordingLookupService를 통해 각 행을 풍부하게합니다. 단일 왕복, N+1 없음 - PhoneProvider.getVoicemails now takes (memberId, 페이지, 크기); FreePBX는 하나의 fetch, RingCentral 사용 기본 Paging, KamoPBX는 NotSupported 계속 - VOIP VOICEMAIL PERMANENT DELETE - godActive 우회에 의해 VOIP VOICEMAIL PERMANENT VOICEMAIL PERMANENT DELETE에 의해 표시된 음성 메일 아카이브 엔드포인트 및 영구 삭제 - PhoneProvider 이득 getInstanceId() 그래서 컨트롤러는 두 번째 공장 통화없이 기록 조회에 대한 참여 키를 해결할 수 있습니다

  6. · kamo-shared-library

    녹음, 음성 메일 아카이브, MinIO 범위 스트리밍에 키 표시

    - 기록: 공급자InstanceId + 공급자ExternalId를 추가하십시오 공급자 통화history/voicemail는 화상 진찰 자산에 뒤를 젓습니다 - PhoneVoicemail: add isArchived + datesoftphone 목록에서 soft-hide에 대한 - RoleRightType: VOIP VOICEMAIL PERMANENT DELETE 추가 (지구 파괴적인 삭제; 아카이브는 모두 유효합니다) - MinIOStorageService: openRange() + RangeStream so audio/video endpoints를 추가하면 HTTP 범위에 만족할 수 있습니다. - RecordingImagingService: 스레드 공급자 ID + ingest에서 기록 행에 RecordingMetadata를 통해 외부 ID

  7. · kamo-internal

    History 탭 추가 - 검색 및 필터로 paginated Audit timeline

    - LeadHistoryPanel : debounced search, *********** filter, MUI table with pagination, color-coded event chip, 할당/account 필드에 대한 회원 이름 해상도 - leadApi: getLeadHistory() 및 getLeadHistoryFilters() 전체 쿼리-param 지원 - LeadHistoryEntry, LeadHistoryActor, LeadHistoryFieldMeta, LeadHistoryPageResponse, LeadHistoryFilters책임 유형 - 다음.js 프록시 경로는 *********** 및 /filters - LeadViewClient는 역사 탭이 활성화될 때 LeadHistoryPanel을 렌더링합니다

  8. · SecurityService

    GET /{id}/history 및 /{id}/history/filters 엔드포인트 추가

    Paginated, filterable, 일괄 처리 배우 로딩으로 검색 가능한 리드히스토리 엔드포인트 (N+1 없음). 필터 엔드포인트는 지정된 사용 필드, 모든 레지스트리 필드, 명백한 액추에이터 및 모든 이벤트 유형을 반환합니다. 모든 mutating endpoints 이제 호출 회원으로 actor to LeadHistoryService for attribution.

  9. · kamo-shared-library

    Lead-history 감사 로그 추가 - 단체, 등록, 서비스, DTO, LeadService Hooks

    - LeadHistory entity (UUID PK, Plain Long FKs — FK constraints는 납 탈수 / 변환을 허용하도록 함) - LeadHistoryEventType은 인간 읽기 쉬운 상표를 가진 enum - LeadHistoryFieldRegistry : ~55 트랙 리드 필드에 대한 진실의 단일 소스; 필드를 추가 한 줄 - LeadFieldDescriptor 레코드 (키, 라벨, 범주, 추출기) - LeadHistoryService: 스냅샷/diff 파이프라인, *********** paginated+filtered findHistory, 필터 드롭다운을 위한 구별된Fields/Actors - 배열된 ActorDTO를 가진 LeadHistoryDTO; CockroachDB JS 정밀도 안전을 위한 끈으로 일렬로 세워지는 모든 긴 ID - LeadService : 생성, 업데이트, 삭제, 할당, 할당, 할당LeadAccount, unassignLeadAccount에 대한 역사 후크

  10. · SecurityService

    LeadController로 추적하는 Wire LeadHistoryService 배우

  11. · kamo-internal

    리드 계정 할당 UI, 통화 시스템, 할당/새로운 계정 페이지, 설정 통화 필드 추가

  12. · SecurityService

    Lead-account 할당 엔드포인트 추가, CurrencyType의 AccountController 업데이트

  13. · kamo-shared-library

    CurrencyType enum 을 추가, 기본 통화로 CountryType 을 업데이트, Account/Organization 에 통화 추가, LeadService 에 리드 계정 할당 추가

  14. · kamo-internal

    내 계정 페이지 제목의 동적 회원 유형 라벨

    제목은 org-configured를 사용하여 "내 {Member|Team Member} 계정"을 읽습니다. 행동 라벨, 회원 유형이 로드되면 자동으로 전환.

  15. · kamo-internal

    문서 버튼을 DocManager 도구 모음으로 이동

    버튼은 동작 prop을 통해 /doc/manager에서만 사용할 수 있었습니다. DocManager로 모든 논리 (state, handler, DOC TYPES, menu)를 이동 모든 임베디드 인스턴스에 나타납니다. 단순 페이지.tsx 그냥 DocManager를 사용하지 않는 작업 prop.

  16. · kamo-internal

    Mailing Address를 리드 정보 및 1 차 연락처로 3 열 행 이동

  17. · kamo-internal

    국제 지원 - CountrySelect, LanguageSelect, Subdivision 모든 형태의 필드

    - 재사용 가능한 국가 선택 추가 (207 국가, 플래그 아이콘), 언어 선택 (26 언어, 플래그 아이콘), SubdivisionField (미국 국가 드롭다운 플래그; 다른 국가 표시 라벨 텍스트 필드) - 국가 상수 (countries.ts, languages.ts, usStates.ts, timezones.ts) 추가 - 지도보기 세부 탭: per-card in-place 편집 with *********** 필드 - 리드 생성 양식 : 제한된 인라인 목록을 대체하는 전체 국가 / 하위 / 시간대 드롭 다운 - LabelManager 설정: 섹션 8의 기본 언어, CountrySelect+Subdivision 본문 바로가기 - ContactInfoStep(network create wizard): CountrySelect+SubdivisionField 교체 제한 선택 - MyAccountTab: CountrySelect+SubdivisionField 대체 일반 텍스트 필드 - type/leads.ts: 국가 및 하위 영역 추가

  18. · kamo-shared-library

    국제 지원 추가 - 리드 국가 / 보조 / 시간대, Org 언어, CountryType isProvince

    - CountryType: PROVINCE NAMES 세트 추가, isProvince(), getSubdivisionLabel() - 조직 : 언어 추가 (LanguageType) 필드 - 리드: 국가 추가 (CountryType), 하위디비전 (String), 시간대 (TimezoneType) 필드 - *********** 국가, 하위, 시간대 문자열 필드 추가 - LeadService.createLead: 새로운 필드를 처리; org 설정에서 기본 언어 + 국가 - LeadService.updateLead: 새로운 필드를 처리 - *********** 언어 touchedKey 핸들러 추가

  19. · kamo-internal

    ASSIGN LEADS, 에이전트 필터 할당된 옵션, 그리드 컬럼 정리

    - 오른쪽 ASSIGN LEADS 뒤의 Gate 'Un 할당된 리드 에이전트 필터 옵션 - 'All Leads'는 회원이 아닌 정해진 리드를 제외합니다. - 거리, 제품, 소스 열 제거; 제품/출처 필터 드롭다운 제거 - 회사 열을 제거하십시오; 접촉 란은 회사 이름을, 접촉 이름에 다시 떨어뜨립니다 - Vendor 컬럼은 제품 툴팁을 보여줍니다 – Source detail - 날짜 열 하락 주간 접두사, 170px에서 140px에 수축 - DateTimeDisplay: show평일 버퍼 추가 (기본 false)

  20. · kamo-shared-library

    ASSIGN LEADS를 추가하십시오 ( CRM 섹션에서 ID 137)

  21. · kamo-internal

    Assign 추가 /leads/new에 시장 & 할당 단면도에 분야

    - 마운트에 ****************에서 Fetches 활성 팀 멤버 - 알파벳순으로 구분된 부서와 회원 - "Last, First"로 이름을 지정합니다. 첫 번째 옵션은 "Auto Assign / Un 할당"입니다. - 주문 섹션 필드 : 리드 마켓, Assign To, 연락처, 공급 업체, 제품, 전망 유형 (모든 lg = 4) - 지정된User 필드 대신 할당된TeamMemberId를 보내려면 leadApi.ts를 수정합니다. - 납형에 할당된TeamMemberId 추가

  22. · kamo-asterisk-support

    Emit recordedAt + per-file extension in upload manifest

    - 시청자: 모든 방출된 기록은 RecordedAt를, 파생합니다 우리의 관리의 EPOCH 세그먼트 *********** filename, voicemail / 레거시 파일에 대한 mtime 파일로 돌아가기. - Grouper: CallBatch는 FileExtensions[]를 추적합니다. (파일당 하나, 병렬 Files[]) 및 일괄 처리의 전체 RecordedAt (여기 다리 시작). 다리의 정렬 키는 RecordedAt with FinalizedAt as tiebreaker so 마스터 다리는 결정적입니다. - Uploader: 이제는 top-level recordAt 및 per-file을 포함합니다. 확장. ConversionService는 기록 작성을 모두 소모합니다. (date recorded, ffprobe에서 길이) 및 per-leg RecordingExt 행.

  23. · ConversionService

    메타데이터를 이미징에 전달 - ffprobe length + 파싱

    -********** 실행 ffprobe -show entries format=duration 마스터 Opus/WebM에서, ms를 반환합니다. 0 = 알 수없는 (지방이 아닌). - *********** 현재: * 기록 길이를 얻는 주인에 probeDurationMs를 달립니다; * 레코드At에 대한 (kamo-asterisk-support에 의해 중단) 그리고 per-file extension/channel 자료, staging 행에 떨어지기 dateCreated 및 이전의 페이로드에 대한 채널 이름 패싱; * 패스워드 * * * * * * 날짜 기록, lengthMs, 참여확장) RecordingImagingService에 새로운 녹음 + RecordingExt 행을 쓸 수 있습니다.

  24. · kamo-shared-library

    Recording + RecordingExt entities, RecordingImagingService는 그들을 씁니다

    - 새로운 기록체 (UUID id, IMG ID, IS MASTER, IS VM, EXTENSION, MEMBER ID, LENGTH, DATE RECORDED, DATE CREATED [DB-defaulted @CreationTimestamp를 통해]). 최종 음성 메일 당 한 줄 또는 화상이 이미징에 업로드되었습니다. - 새로운 RecordingExt entity (UUID id, RECORDING ID, EXTENSION, MEMBER ID, IS MASTER는 녹음에 참여한 채널당 한 줄; 마스터 다리는 flagged IS MASTER=true, 다른 모든 다리 false입니다. - *********** 이제는 RecordingMetadata가 필요합니다. 번들 (phoneServerInstanceId, dateRecorded, lengthMs, 참여Extensions) 및 persists 기록 + RecordingExt 행 Img/ImgDat와 같은 거래. memberId는 다리 당 해결됩니다 이름 * *********** 에 VOIP 인스턴스를 시작 (보정되지 않을 때).

  25. · kamo-internal

    업데이트 플랫폼 관리 카드는 통합 탭 구조를 일치

    2개의 stale 카드 (Organizations 독립 페이지 + 윤곽)를 가진 대체하십시오 실제 탭과 일치하는 5개의 카드: 일반, 조직, VOIP & SMS의 체계 사용자 및 고급 - 올바른 ?tab = param에 직접 연결.

  26. · kamo-internal

    Full-width 그리드 레이아웃 및 고급 탭에서 동기화 트리거 이동

    - Redesign VOIP & SMS 탭은 전체 콘텐츠 영역 너비를 사용합니다. 파이프라인 통계 상단 행, 녹음 처리 및 글로벌 동기화 일정은 측면에 의해 앉아 lg+ breakpoint에서 2 열 그리드에서 - Pipeline stat 카드는 Zero-state checkmarks 및 오류로 라이브 카운트를 표시합니다. 색깔 기호화; 자동 refresh 각 30s는 subtitle에서 아닙니다 - 글로벌 동기화 카드는 일정 설정, last-sync 타임스탬프 행을 통합합니다. 그리고 수동 방아쇠 1개의 위원회로; header에 있는 enable/paused 칩 - 고급 탭에서 "Force global VOIP sync"를 이동 (바디의 중복 VOIP & SMS에 이미 존재하는); 고급 탭 이제 placeholder 텍스트를 보여줍니다

  27. · kamo-internal

    Merge Organizations into 구성 페이지로 분류되지 않은 탭 nav

    - 조직을 ***********에 탭으로 추가 (일반 · 조직 · VOIP & SMS · 시스템 사용자 · 고급 주문) - 삭제 *********** 독립 페이지 - SettingsStatusWindow에서 플랫폼 관리 nav를 업데이트하여 구성에 하위 항목으로 5 탭을 나열합니까?tab = ... - 모든 탭의 레이아웃 수정 : 일관된 p : {xs : 2, sm : 3} 패딩 그래서 내용이 더 이상 카드 벽으로 실행되지 않습니다 - GeneralTab stat 카드는 아이콘 배경과 더 단단한 타이그래피 리듬을 개선합니다. - 업데이트 SettingsView 제목/분류되지 않은 페이지에 대한 제목

  28. · kamo-marketing

    Add Go logo to BUILT WITH banner

  29. · kamo-internal

    Surface PHONE SERVER ID 에 전화 인스턴스 개요 탭

    연산자 설정 kamo-asterisk-support on the FreePBX host need to paste 일치 VoipProviderInstance UUID 는 helper의 config 파일에 휴대폰 SERVER ID 이제까지 그들은 URL 표시 줄 또는 데이터베이스. /settings/features/phone/{id}에 새로운 "전화 서버 ID"섹션 개요는 읽기 전용 Monospace 필드에 UUID를 표시합니다. 복사 버튼 (CopyableIdField Helper, 또한 미래 유사시 재사용 가능 식별자).

  30. · kamo-internal

    Interaction Center의 Clickable VOIP 확장은 이전 번호를 가진 softphone를 엽니다

당신의 우주는 기다리고 있습니다.

몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.

영원히 무료 - 신용 카드 필요 없음