Журнал изменений
Что нового.
Каждое усовершенствование платформы, как только она появится.
· SecurityService
Включить описание формы в config.json
Добавить поле описания для сборкиConfigJson() и пройти org.getDescription(). от writeConfigFiles() так что тематический config.json несет Описание для интерфейсов для использования в метатегах HTML.
· kamo-internal
Цветной список билетов по всему миру через чат
· MediaService
Добавить поиск присутствия запрашивающего агента в списке билетов
· kamo-internal
Добавить Компанию к всплывающему рынку и имя компании
Всплывающее окно (LeadMarketManager): - Радиоуправление "Название компании" / "Только для физических лиц" (обязательно) - Дефолты для запуска на новом рынке; предварительные заполнения для редактирования - Подтверждено и отправлено в качестве включения Компания в запрос на создание / обновление Ведущий Datagrid (LeadManager): - Колонка компании показывает название компании для лидов с рынков компаний - Показывает «No Specified», когда включает в себя «Company=true», но имя пусто - Показать "-" для рынков, где включают Компанию = ложные / нулевые Быстрый поиск (AG Grid QuickFilter) автоматически включает в себя ценности компании. Создайте форму свинца (CreateLeadClient): - Условно предоставляет компании Название текстового поля, когда рынок включает в себя компанию - Поле необязательно (максимум 50 загонов), подключается к отправке полезной нагрузки через leadsApi LeadsApi: компания Имя отображается с помощью CreateLead и UpdateLead запросов
· InitializerService
Добавить в колонку company и company name
LeadCompanyColumnRunner (Order 40) добавляет: - lead markets.include company (BOOLEAN, nullable) - отслеживает, является ли Рынок требует названия компании - leads.company name (VARCHAR(50), nullable) - название магазина Лидирующий уровень, когда рынок включает компанию
· SecurityService
Экспозиция включает Компанию в ответах на впуск-конфигурацию и рыночную конфигурацию
*************************** ************************* Теперь включите флаг компании, чтобы фронтенд знал, показывать ли Название компании по созданию свинца.
· kamo-shared-library
Добавить Компанию в LeadMarket и название компании в Lead
- Предприятие LeadMarket получает include company (Boolean, nullable) - Ведущий субъект получает имя компании (String, max 50, nullable) - LeadMarketDTO, CreateLeadMarketRequest, UpdateLeadMarketRequest включают в себя компанию - LeadDTO несет название компании и включает в себя компанию внутри MarketInfoDTO ********************** название компании Провода LeadMarketService включают Компанию по созданию / обновлению - LeadService переводит имя компании на создание / обновление и сохраняет его в конвертациях типа ипотеки
· kamo-internal
Показать путь типа продаж Add Lead
Добавьте тип продаж и подтип рынка к строке «Добавить в». Форма отражает этикетки, используемые в всплывающих окнах Edit Market **************************** В качестве «Добавление к {Market} (Service > Residential Mortgage)», когда подтип «Добавление к рынку (услуге)», когда устанавливается только родитель, и «Добавление к {Market}», когда тип продаж не установлен.
· kamo-internal
Unified PhoneSdk с поддержкой RingCentral + sip.js (FreePBX)
Крючок софтфона, используемый для создания безоговорочного кольцевого центрального веб-телефона, который бросается на любую форму учетных данных FreePBX, потому что этот SDK жестко закодирован для Формат WSS RingCentral. - Новый интерфейс PhoneSdk определяет агностическую поверхность провайдера (старт, стоп, стоп). **************************** плюс Телефонная сессия с ******************* - RingCentralPhoneSdk обертывает кольцевой центральный веб-телефон, сохраняя существующий Поведение РЦ. - SipJsPhoneSdk обертывает sip.js (UserAgent + Registerer + Inviter/Invitation), прикрепляет удаленное аудио через согласованное одноранговое соединение, поддерживает in-dialog re-INVITE для удержания / удержания и относится к передаче. - createPhoneSdk выбирает адаптер от creds.provider (RING CENTRAL, FREE PBX, KAMO PBX. - UseSoftphone теперь управляет унифицированным SDK и отображает реальную ошибку SDK Ошибка вместо дженерика «Телефон SDK» не удалась инициализировать строку. - Добавлена зависимость sip.js@0.21.2.
· VOIPService
WSS-aware SIP учетные данные для софтфонов браузера
Конечная точка /api/voip/sip/credentials теперь возвращает учетные данные на стороне браузера SIP стек может фактически использовать: транспорт WSS, общественное достояние и URL-адрес wsServers. - SipController разрешает MemberVoipConfig участника, проверяет VOIP включено и назначено расширение, затем маршруты к конкретному члену Пример (не первичный орган). Возвращает описательные 409, когда член Он не настроен, а производит пустые учетные данные. SipInfo получает wsServers для SIP-over-WebSocket; SipCredentials Достижения в результате провайдер, чтобы интерфейс выбрал правильный адаптер SDK (RingCentral WebPhone) SIP.js для FreePBX/KamoPBX - FreePBXProvider выводит SIP-домен из сконфигурированного baseUrl и по умолчанию wsServers to wss://<host>:8089/ws. Преодоление в каждом конкретном случае (sipDomain, sipWsServer, sipWssPort, sipTransport) развертывание с разделением покрытия, когда SIP заканчивается на другом имени хоста или Traefik прекращает TLS в /ws на порту 443. - PhoneProviderFactory анализирует новые дополнительные поля и каналы ConfigJson Запись SipTransportConfig на FreePBXProvider. RingCentralProvider помечает свои учетные данные провайдером = RING CENTRAL.
· KlusterServices
Добавить транспорт WSS WebRTC для софтфонов браузера
Asterisk chan pjsip теперь связывает простой транспорт WebSocket на 0.0.0.0:8089 и Traefik прекращает TLS на **************** (порт 443) kamo-internal может регистрировать софтфоны браузера по существующей wildcard Серт без управления сертами внутри контейнера. - configmap-k1m1.yaml: startup.sh пишет pjsip.transports custom.conf WS transport и pjsip.endpoint custom post.conf с webrtc=yes overrides для существующих расширений (8080, 2523), прикрепленных к транспорту WS. - service.yaml: выставить порт 8089 (sip-ws) на freepbx Service, чтобы новый IngressRoute может нацеливаться на него; капсула находится в сети hostNetwork, поэтому эта карта порт 8089 хоста k1m1. - ingressroute-ws.yaml: HostRegexp + PathPrefix(/ws) по приоритетным 100 маршрутам Обновление WebSocket до freepbx:8089 *без * цепочки kamo-middlewares Эта цепочка включает в себя компресс, который может повредить SIP-over-WS-кадры.
· SecurityService
Добавить /names endpoint return id→name для всех участников независимо от состояния
Фильтры конечных точек для активных членов команды, но расширение Задания могут ссылаться на базовых членов или неактивных членов. Используйте /имя для Разрешение ID → имя, где охват имеет большее значение, чем состояние активности.
· kamo-internal
Добавить свинцовую форму /leads/new
Refactor Добавить свинец из многотрубной панели на странице в выделенный маршрут на /leads/new, чтобы его можно было связать напрямую. Текущий рынок прошел ?marketId= и предварительно выбранный. Ведущий рынок, продавец и продукт теперь требуется; контакт требует по крайней мере одного из первых/последних/предпочтительных имя и имя электронной почты или телефона. Ипотечные подтипы и любой рынок Пользовательские поля с пометкой isDisplayOnIntake отображаются inline. На Успех, перенаправляет на /leads/view/{id}.
· SecurityService
Добавить ******************* конечная точка
Возвращает SalesType, subType и customForms для рынка по рыночному принципу Форма Add Lead может отображать поля подтипа и пользовательские формы ввода без предварительного создания зацепки.
· kamo-internal
Добавить дисплей на Intake Toggle, автоблокировка при включении Required
· kamo-internal
Добавить isDisplayOnIntake в FormField TypeScript
· kamo-shared-library
Coerce isDisplayOnIntake=true, когда требуется=true в CustomFormService
· kamo-shared-library
Добавить isDisplayOnIntake для создания / обновления запроса DTO
· kamo-shared-library
Expose isDisplayOnIntake в FormFieldDTO
· kamo-shared-library
Добавить IS DISPLAY ON INTAKE в FormField
· kamo-internal
Ссылка, присвоенная имени участника на их странице настроек телефона
· kamo-internal
Добавить отображение имени участника и кнопку unassign на вкладку расширения per-instance
· kamo-internal
Покажите имена членов и добавьте действие Unassign на вкладку расширений уровня org
· kamo-internal
Конфигурация Wire VOIP для селекторов с расширением провайдера + с обеспечением выполнения задания
· kamo-internal
Добавление типизированных DTO, удаление метода API и обновление типов MembershipPermissionsTab VOIP
· VOIPService
Добавить конечную точку назначения DELETE в VoipExtensionsController для администратора unassign
· VOIPService
Добавить MemberVoipConfigController для VOIP-конфигурации члена с назначением расширения
· kamo-shared-library
Добавить findByAssignedMemberId методы запроса в PhoneExtensionRepository
· kamo-internal
Постоянный активный почтовый ящик в парамах запросов URL
Переключение почтовых ящиков теперь обновляет URL (?mailboxType, ?mailboxId, ?mailbox) Обновление браузера восстанавливает тот же почтовый ящик. Браузер сообщений читает window.location.search в своем ленивом использовании Государственный инициализатор для восстановления ActiveMailbox перед первым рендером и нажимает обновления URL router.replace на каждом измененном почтовом ящике. FolderSidebar читает тот же парам URL после getAccessibleMailboxes разрешает выпадение отражает восстановленный отбор.
· kamo-marketing
Add Flowroute to integrations hub page

Ваша вселенная ждет.
Начните бесплатно через несколько минут. Добавляйте продукты, когда будете готовы — без миграции, без новых логинов.
Бесплатно навсегда — не требуется кредитная карта