Журнал изменений
Что нового.
Каждое усовершенствование платформы, как только она появится.
· KlusterServices
Получить postmaster@/abuse@stack.loans на k3m1 для массовых проверок IP
Обратный DNS 47.181.8.87 - mail.stack.loans, и маршрутизатор пересылает свой порт 25 на k3m1. Почта не принимается, поэтому провайдер проверяет, кто запускает IP (Microsoft SNDS предлагает только IP-адрес). Postmaster@/abuse@ этого домена) не мог связаться ни с кем. Postfix-k3m1-inbound прослушивает на k3m1 хост-сеть, берет именно эти адреса на postmaster@kamocrm.com через основной постфикс, и отказывается от всего остального. Ничего не передает.
· EmailService
Назовите получателя в заголовке, который содержит только заголовки жалоб
Отчеты Microsoft по обратной связи теперь содержат только заголовки оригинального сообщения. Все, что имеет форму адреса в маске. Каждое сообщение кампании содержит X-Kamo-FBL. Токен получателя, тот, который уже есть у List-Unsubscribe, и парсер жалоб Сначала.
· kamo-internal
Показатели открытия и кликов, выбор отслеживания, 10 000 + количество аутбоксов, отзывы о потенциальных клиентах
Карта кампании: открыта и нажата, как доля доставленной почты (или «Не отслеживается»). - Доставка > Правила кампании: отслеживание открытых и кликов, по умолчанию или собственный выбор организации. - Герой Outbox: в кепке написано «10,000+», а рядом с ним — «До...». - Ведущая панель отказа: отмена подписки, сообщение о спаме или пауза просит участника чтобы подтвердить запрошенного человека, что теперь требует бухгалтерская книга. Визуально скрытые стили используют «1px» (обнаженный 1 на 100% в sx); скрытый импульс Opt Out Стол находится внутри скрытого блока, поэтому он больше не может расширять экран телефона. Деятельность по доставке читает свой день через toServerDate.
· EmailService
Откройте и щелкните отслеживание, отчеты о жалобах по электронной почте, сокращенный счет отправки
Отслеживание: композитор обертывает веб-ссылки кампании в подписанном перенаправлении (<base>/c/<token>?u=&s=) и добавляет открытый пиксель (<base>/o/<token>), как каждая организация Выбор (Настройки > Email > Deliverability; платформа по умолчанию bulk-email.tracking.*). Ссылки для отказа от подписки, почтовые / теле / якорные ссылки и все, что уже есть у нас, никогда не будут Завернутая, и ссылка, подпись которой не наша, никуда не денется. Каждый получатель открыт один раз (Redis), показанный в кампании против доставленной почты. - Жалобы: POST/api/internal/complaints/mail reads feedback-loop reports (ARF) и abuse@wards из коляски жалоб почтового сервера, находит получателя по токену переносится оригинальное сообщение, и подавляет адрес как спам Жалоба на эту организацию подсчитывалась один раз. Каждое сообщение кампании содержит идентификатор обратной связи. - Outbox: просроченная и повторная обработка насчитывается до 10 000 (dueCapped/retryingCapped); Взгляд хоста должен быть таким же. - Opt Out: toChange передает человека в реестр, который теперь обеспечивает его для каждого Смена члена; местная охрана исчезла.
· SecurityService
Ведущая панель отказа передает personAsked в книгу
Обновление для отказа от главной страницы принимает дополнительный флаг и руки пользователя в бухгалтерскую книгу, которая теперь отказывается поднять собственную подписку человека, жалоба или пауза, если участник не подтверждает запрашиваемое лицо. Отказ достигает клиента как 400 с полем «personAsked», как в бухгалтерской книге другие отказы.
· kamo-shared-library
Реестр держит человека без подписки, если он не попросил вернуться
Отказ от подписки, жалоба или пауза - это собственный выбор человека. Член Теперь он может снять его только тогда, когда изменение говорит, что человек попросил отправить его по электронной почте. снова (OptOutChange.personAsked); в противном случае книга отказывается от него с полем "персонал спросил". Проверка проходит против государства, читайте внутри приложения, только для MEMBER изменяется, опережая существующее правило примечания, которое все еще применяется к Разрешенный лифт. Откаты и собственный MANUAL блок участника требуют только примечания. OptOutChange получил седьмой компонент, personAsked, с шестью аргументами Конструктор, который по умолчанию вводит его в заблуждение, поэтому существующие абоненты не изменились.
· KlusterServices
Маршрут fbl@/abuse@hello.kamocrm.com сообщает о жалобах в EmailService
Спам-жалобы отчеты обратной связи (ARF, RFC 5965) и сообщения о злоупотреблениях fbl@ и abuse@hello.kamocrm.com переписываются на электронную почту. инвалид и передана в новую трубу «жалобы», которая повторно использует катушку для отмены подписки Сценарий со своим собственным каталогом. abuse@ все еще отправляет копию Почтмейстер. Новая коляска с жалобами, работающая по тому же сценарию, что и отписка, Публикует каждое сообщение на адрес электронной почты /api/internal/complaints/mail. С INCLUDE RAW=1 добавляется все спонтанное сообщение (не более 256 KiB). base64-кодируется как «сырой»: машиночитаемая часть отчета обратной связи и Прилагаемое оригинальное сообщение - это части MIME, которые существующие поля оставляют без внимания. Когда новые флаги отключаются, коляска без подписки ведет себя точно так же, как и раньше.
· EmailService
Один из механизмов отбора решает, кого кампания может отправить по почте
Каждый список добавить (член, аудитория, копия) и отправить сам запрос один движок, может ли адрес получить кампанию, самый дешевый чек: синтаксис, затем подавление (неподписанное, жалобное, отскакивающее, заблокированное); организация или платформа в целом, заблокированные и зарезервированные домены, одноразовые домены, ролевые и тестовые адреса, кэшированная валидация, DNS/MX и последние необязательный внешний валидатор в рамках своего бюджета. подавленный и Недоставляемые адреса никогда не отправляются. Призывы к суду - это настройки, Организация может их сузить. Окончательная проверка выполняется непосредственно перед тем, как хост принимает каждое сообщение, поэтому адрес После того, как он был отправлен в очередь, он никогда не отправляется. Чек, который не может Быть сделанным ничего не посылает на догадку. - Ничего не сбрасывается: адрес, который не будет отправлен, остается в списке (Подвергается кодировке примечание, так как статус CHECK ограничение не имеет Скиппед) и говорит почему. Деревянные ряды ждут, когда член освободит их. - Отскоки классифицируются один раз для пути отправки и отчетов эстафеты: жёсткий (подавленный; широкоформатный от эстафеты), мягкий (повторный с реле) экспоненциальный откат и дрожь, подавленные после порога, скорость ограничения и отказы хостов (возвращаются незаряженными, хост отступает) и политика блоки (неисправны, никогда не подавляются). Блок репутации 5.7.x больше не работает Подавляет адрес. - передавать жалобы и отписаться от подписки подавлять адрес; подсчеты и уведомления Происходит один раз за отчет. Сообщение, принятое хостом, никогда не перекликается, если запись не удается. Отказ от подписки, жалоба или пауза выбранного человека могут быть отменены член только тогда, когда его спросили, и он должен это сказать. - Подробные причины поездки в источнике подавления; тайники, счетчики и Дедупликация событий живет в Redis; правила живут в каплях провайдера. Никаких изменений схемы. - Новые конечные точки: /api/email/deliverability (проверка адреса, настройки, деятельность), ******************* POST **************** Кампании несут результативность резюме. - Настройки: bulk-email.deliverability.* (запросы, ограничения на скорость платформы, мягкий) Порог отказов, валидатор. Валидатор необязателен и выключен; его ключ Появляется из необязательных секретных учетных данных для проверки электронной почты.
· kamo-internal
Посмотрите, кто проводит кампанию и почему не все
- Предполетная карта кампании: «1000 отобранных · 742 подходящих · 258 пропущенных» с каждой причиной (неподписанный, отскочивший раньше, одноразовый, роль) адрес...) открытие списка у этих получателей. После отправки показывает Отсрочка, жалобы и отказ от подписки. Список получателей имеет чипы Skipped и Held, показывает причину каждого ряда. И все, и все, и все, и все. Прогресс измеряется тем, что должно идти: пропущено, проведено и Отмененные получатели никогда не учитываются как отправленные. - Настройки → Электронная почта → Доставка: проверьте адрес (вердикт, проверки, подавление, валидация, удары отскока, его кампании и история, набор Правила организации и заблокированные домены, см. последние 14 дней. Панель производительности платформы: глобальные заблокированные домены Преимущества одноразового списка, надбавка валидатора и платформа активность. Подъем чьего-либо собственного отчета об отказе от подписки или спаме просит участника Подтвердите, что человек спросил.
· kamo-internal
Икона, созданная организациями, рядом с каждым членом и членом команды
Закладки членов и членов команды на /аккаунте получают колонку рядом с именем: Заполненное здание в цвете бренда с счетом для кого-то, кто создал организации, слабый контур для того, у кого его нет. Список подсказок Каждый по имени (неназванный как «Неназванная ветвь»), и заголовок использует существительное ветви арендатора. Он сортирует и фильтрует по счету; быстрый поиск соответствует названию организации. Сетка теперь жива: используйте OrgChanges (['members', 'member-orgs']) Тихо, и неудачное обновление держит ряды на экране. Служба безопасности отправляет Членами-оргами каждой организации является владелец. Обновление больше не держит руки Нажмите событие, чтобы загрузить данные. Нужны словарные ключи и созданные Службой безопасности организации.
· SecurityService
Организации, созданные каждым членом, в списках членов
GET **************** и /команда-участники-подрядчики теперь несут созданные организации на человека: названия организаций, которыми они владеют (orgs.user id owner, установленный один раз POST/org и никогда не переназначенный) принадлежащий TitlesByOwnerIds запрос для всего списка, название возвращается к Название короткое. Исчезнувшие организации не перечислены. MemberOrgsChangePublisher отправляет rt.org.{orgId}.member-orgs каждому Собственник является членом организации, если одна из ее организаций является Созданный (после совершения), переименованный через PUT/org/{id}, удаленный, аннулированный или Восстановлен. Собственный сигнал API-прокси достигает только сессионной организации абонента. и Org Creation переносит эту сессию в новую.
· SecurityService
Собственный переход страницы организации и члена
Переход страницы теперь выбирается на трех уровнях, решается член, затем организация, затем платформа — для выбора перехода и, один переход в свое время, за свои свойства **************** - PAGE TRANSITION OVERRIDES проводит организационный и членский уровни, ряд на владельца: токен каталога или нуль, чтобы следовать уровню выше, и свойств только для переходов, настроенных на уровень. Сущность живет здесь Вместо того, чтобы читать в библиотеке, больше ничего не читается. - GET/api/security/page-transition также отвечает орг, член и эффективен. Он никогда не терпит неудачу на переопределении: тот, который он не может прочитать, следует уровню выше. PUT /org изменяет собственную организацию сессии; Настройка системы. GET | PUT /member / (memberId): вы сами, администратор собственного члена организация (настройка системы, управление членами, управление безопасностью членов) или Богоприемлемый оператор. Писания - это патчи, строго проверенные до того, как что-либо написано; уровень То, что следует за тем, что выше, не оставляет никакого следа.
· kamo-internal
Собственный переход страницы организации и члена
Переход страницы теперь выбирается на трех уровнях. Платформа остается на Администрирование платформы → Переходы; организация может выбирать самостоятельно Поведение и маркировка, а также собственный член в моем профиле. Что? Tab Plays решает член, затем организацию, затем платформу — для выбора и для свойств каждого перехода по одному переходу за раз, Таким образом, член может перекрасить переход своей организации, не принимая на себя Выбрать его ******************* Оба экрана являются одним редактором **************** то же самое каталог и деталь как вкладка платформы, с «Платформой по умолчанию» или Карта «Организация по умолчанию», которая играет на любом уровне выше, играет И снова последует за ним, когда будет выбрано. Свойства уровня, никогда не настроенного показать уровень выше, отмеченный как таковой, и может быть возвращен к нему. Закладка платформы перестраивается на тех же частях; ее поведение не меняется. Скорлупа играет эффективный переход магазина, теплый старт от локальное хранилище и следует за этой организацией ****************, а также тематика сайта. Пишет Пройдите вперед ToApi, который публикует его. - Новые прокси-маршруты: PUT ********************** **************** Только эти формы Передано. - Мой профиль регистрирует карту и поле палитры, прикрепленное к члену, администратора своей организации или оператора, имеющего право на бог.
· InitializerService
Page transition overrides - переход страницы организации и ее члена
Один ряд на владельца (ORG с идентификатором организации, MEMBER с идентификатором участника): каталог токен или NULL, чтобы следовать уровню выше, и свойства только для переходов Этот уровень настроен. Служба безопасности разрешает член, затем организацию, затем Платформа. Новый стол, а не столбцы на оргах, поэтому нет стола для каждой услуги. Чтение изменено. Нет обратного заполнения: нет строки означает следование уровню выше.
· kamo-internal
Еще пять переходов страниц, каждый со своими свойствами
Aperture, Curtain Split, Venetian Blinds, Liquid Wipe и Shatter присоединяются к Tile Растворись. Каждый переход теперь является эффектом в приложении/lib/переходах/эффектах. нарисованный одним двигателем (transitionEngine / transition.worker / transitionRenderer) из составленного изображения обложки, на рабочем, когда это возможно, и этой нити, когда Не может. Шкала фиксированных размеров с крышкой, так что вкладка Переходов Миниатюры - это реальная вещь, только меньше. - Диафрагма: пернатая радужная оболочка из любого угла или центра, с ободом света. - Занавес Сплит: части крышки бок о бок или сверху и снизу, затененные швы. Венецианские жалюзи: зажженные планки отворачиваются волной; размер планки и ориентация. - Жидкая проволока: рябь фронт с глянцевым гребнем и полупрозрачный след В четырех направлениях — волна. - Шаттер: трещины вспыхивают, затем осколки стекла вырываются из точки удара, падают через свет и падение; отсчет частей и точка удара. Каждый из них имеет свой цвет, и его свойства исходят от него. схема в catalog.ts, которую вкладка превращает в элементы управления: слайдер, переключатель, Выбор или выборщик часов Behavior & Labeling. На вкладке «Переходы» теперь каталог: шесть карт, покоящихся на середине полета каркас, играющий на паровозе, затем выбран переход полного размера с его свойства, черновики на переход, Настройка как активная и Играть на этой странице Предваряет проект на реальном обложке.
· SecurityService
Еще пять переходов страниц, каждый со своими свойствами
· kamo-internal
Добавьте получателей и отправьте последнюю информацию о кампании, которая вышла
На странице продвижения кампании есть дополнительные получатели: получатели шаг в диалог (загрузка, идентификаторы, все ящики, адреса), сохраненные в срезах Редактор сохраняет их в любом статусе. - Отправьте последним посылает его тому, с кем он должен связаться и еще не добрался. А. баннер говорит, сколько адресов ждет, а подтверждение говорит Что происходит. Отменить оставшиеся шоу только в то время, когда кампания отправляет: Отменяет рассылку кампаний, которые выходят.
· EmailService
Запуск кампании и отправка на последний
Счета: Каждое изменение статуса приводит кампанию в соответствие с тем, что она изменила: a send +1 sent, a later bounce report -1 sent +1 bounced, add +n, a Удаление по тому, что вернули его DELETE. Ничто не учитывает список на пути. До этого каждая отправка пересчитывала каждый статус кампании. - Очередь выводится из общей суммы. Отменен счетчик Redis, восстановлен Из ряда в ряд, если он потерян. Каждый законченный пробег пересчитывается один раз, что ставит Все, что пропустили бегущие графы. - Завершение, "может ли он послать" и аудитория сверху спросить, есть ли ряд Существует, или считать до кепки, вместо того, чтобы считать список. Отправить в последний: Получатели могут быть добавлены, и все коробки изменены, в любом статусе. (PUT/campaigns/{id}/audience). - POST/campaigns/{id}/send-latest рассылает рекламную кампанию Кого бы он ни достиг и пока не достиг. Вот адреса, добавленные С тех пор, и записи его все коробки достигают, которые были добавлены с тех пор: каждый Источник снова просматривается, а адреса, уже включенные в список, пропускаются. Позднее подавление и вытягивание страницы предпочтений из ожидающего отправления Считайте только строку, которая действительно двигалась.
· kamo-internal
Размер плитки Tile Dissolve и цвет плитки, установленные на переход на вкладке Переходы
Каждый переход теперь несет свои собственные свойства, хранящиеся на переход рядом с активным. Переключение переходов сохраняет выбор каждого. Tile Dissolve состоит из двух: Размер плитки, от 20 до 160 px (по умолчанию 50), на ползунке. Покрытие срезает крышку с такого размера Следующая смена страницы. - Цвет плитки, из того же словарного запаса, что и выбор логотипа Behavior & Labeling (Белый, Черный, и каждый первичный и вторичный оттенок, нарисован одинаково: часы, то и название. Токены решаются против собственной палитры каждой организации, поэтому выбор одной платформы остается на бренде. Каждое рабочее пространство; оттенок, который организация никогда не устанавливает, является ее основным. Обложка носит плитку Цвета тоже, ведь обложка и ее плитки - одно изображение. Вкладка редактирует черновик, который воспроизводит предварительный просмотр в реальном времени, прежде чем что-либо будет сохранено, с помощью Save, Discard и Перезагрузка по умолчанию, а изменение, поступающее с другой консоли, никогда не перезаписывает черновик среднего редактирования. Открытые вкладки перечитывают настройку на каждом кадре /topic/platform/page-transition, поэтому свойства сохраняют Добраться до них без перезарядки. Новая вкладка рисует правильный цвет в первом кадре от последнего. спецификации его организации, используемые в этом браузере, хранятся в локальном хранилище.
· SecurityService
Настройте каждый переход страницы, размер плитки и цвет, чтобы начать
Варианты ответов GET и PUT /api/security/page-transition для каждого идентификатора каталога из PAGE TRANSITION OPTIONS: недостающий, нечитаемый или вне диапазона документ читается как По умолчанию, никогда 500. PUT берет необязательный объект опционов, проверенный строго перед чем-либо. спасается; вступление названного перехода заменяется его канонической формой и всякой другой записью Сохраняется. TILE DISSOLVE принимает размер плитки (20-160 px, по умолчанию 50) и цвет плитки (токен палитры, По умолчанию.
· InitializerService
**********************************
Колонка TEXT, содержащая свойства каждого перехода в виде JSON, нажатого на переходный идентификатор. Нет. backfill: null означает по умолчанию каждый переход, как page transition рядом с ним.
· kamo-shared-library
Свойства каждого перехода страницы, сохраненные на переход
**************************** Карты PAGE TRANSITION OPTIONS, объект JSON с ключом переходный идентификатор, например. **************************** Ключ Переход, так что настройка одного выживает при переходе на другой. Нулевой или нечитаемый означает каждый Дефолты переходного периода.
· kamo-internal
Сократите ярлыки admin bar до Billing, Stats, Roles, Block, Log
Заголовок панели сохраняет полное имя каждого экрана через titleKey. Маркировка и приложения уже работают.
· kamo-internal
Обложка страницы и ее Tile Dissolve раскрывают вместо экрана загрузки
Между страницами основная область обзора (никогда NavTop или NavPri) теперь охватывается организацией. основной цвет с его полным логотипом, сосредоточенным на нем, окрашенным поведением и маркировкой «Загрузка» Наложение логотипа экрана, когда один установлен. Он падает в той же задаче, что и клик, который запускает Навигация, отображается сервером в первом кадре каждого документа, поэтому перезагрузка и щелчок Выглядишь так же, и его забирают в тот момент, когда новый маршрут проложен. Tile Dissolve - это раскрытие: обложка, цвет и логотип как одно изображение, разрезанное на 50 пикселей, которые поднимают, повернуть, обогнуть их углы и увядать от верхнего левого угла до нижнего правого на сеяном, дрожащем Диагональная волна, нормализованная таким образом, занимает около 1,2 с на любом экране. - Навигация обнаруживается через Next's onRouterTransitionStart (instrumentation-client.ts), который сообщает о каждой ссылке, нажимаете, заменяете и обратно / вперед синхронно. Прослушивающий на этапе захвата Якоря с полным документом, и щелчок, который оказывается не для навигации, отменяется до того, как он нарисован. Правила чистые: каждое изменение URL-адреса, включенные переключатели вкладок; фильтр, поиск и выбор Заменяет молчание; хеш никогда не считается. - Раскрытие ждет завершения зонда, визуализируемого после страницы, и приложения / загрузки. Tx теперь только держит Обложка в то время как запасной вариант маршрута Suspense вверх. Письма нарисованы веб-работником на OffscreenCanvas, потому что раскрытие запускается во время новой страницы. Он монтируется, и анимация главной нити заикается именно через это. Тот же двигатель работает на основная нить, когда рабочий или логотип CORS-clean недоступен. Рабочий рисует раму 0 перед Покрытие DOM прячется, и часы начинаются только после этого, поэтому передача не имеет шва. - Он не может прилипнуть: сторожевой пёс раскрывает после 12 с без обязательства, раскрытие, которое не может быть нарисовано Исчезает, отказоустойчивый CSS очищает обложку, которую не взял на себя сценарий, и уменьшенное движение теряет 180 мс. - спецификация покрытия проверяется, хранится на вкладке в SessionStorage и наносится перед первой краской с помощью Блокировка главного сценария, поэтому общий хост никогда не отображает брендинг платформы. - За переходом платформы следует в прямом эфире **************** LoadingContext, LoadingManagerClient, NavigationInterceptor, LoadingStatus и useNavigationLoading Уходят; /validate и /logout сохраняют LoadingScreen, не имея оболочки для покрытия.
· kamo-internal
Вкладка Переходы для выбора и предварительного просмотра перехода страницы
Администрирование платформы → Конфигурация → Переходы, связанные с новой MANAGE PLATFORM TRANSITIONS Платформа справа и зарегистрирована везде, где есть вкладка консоли: каталог прав, карта вкладок, права цвета и значка, меню настроек и посадочная карта настроек. Каталог содержит один переход, Tile Dissolve, показанный по всей ширине с живым предварительным просмотром: это собственная крышка организации, та же разметка и двигатель, который использует оболочка, растворяя миниатюру Страница Kamo на петле, которая приостанавливается вне экрана и в скрытых вкладках. «Играй на этой странице» запускает реальный Покрыть и раскрыть по области контента. Набор следует ******************* и Оператор без права видит уведомление только для чтения, а не сохранение 403.
· kamo-internal
Список получателей кампании исчерпан, с суммами
Сетка получателей на страницах кампании теперь похожа на список миллиардов должен: Первый, Предыдущий, Следующий и Наконец, строки на странице, «101-150 из 3916» и «Страница 3 из 79», с каждым чипом состояния, показывающим его количество. Каждый шаг - это один запрос на одну страницу - Далее продолжается после последнего показанного адреса Последняя читается назад от конца, поэтому ни одна страница не стоит дороже первой. Однако список длинный. Итоги приходят со счетчиков кампании, никогда не от подсчета строк; поиск На счету 10 000, а затем «10 000+». Живое обновление перечитывает страницу на экране, где она находится.
· EmailService
Страницы списка получателей кампании в обоих направлениях, с суммами, любого размера
Список уже был прочитан страницей за раз, но только вперед, как бесконечный свиток без полного... и фильтр состояния нашел свои ряды, пройдя список в порядке адреса, который за десяток отказов Среди миллиарда получателей читается миллиард. - /recipients/page takes before= and last= and after=: предыдущее читает индекс адреса назад от первой показанной строки, а последняя страница читается назад от конца - один поиск В любом случае, никогда не гулять. Каждая страница несет свою общую сумму, взятую со счетчиков кампании, а не путем подсчета строк; Поиск составляет 10 000, а затем говорит об этом. Статус с несколькими строками читается через индекс (кампания, статус) и отсортирован; общий вдоль адресного ордера. Решают те же счетчики.
· kamo-shared-library
Настройка перехода страницы и право, которое ее выбирает
**************** содержит токен каталога, NULL означает отправленный по умолчанию. MANAGE PLATFORM TRANSITIONS Gates Platform Administration → Configuration → Transitions, добавленные в конце, чтобы ни одно право ниже не было перенумеровано в консоли.
· InitializerService
**************** впереди у каждого читателя
Токен каталога, NULL означает отправленный TILE DISSOLVE, поэтому ничего не заполняется. Порядок 0, потому что сущность отображает колонку из этой сборки, и более ранняя загрузка бегуна SystemConfiguration в противном случае вышла бы из строя на колонке, которая еще не существует.
· SecurityService
Каждая вкладка читает переход страницы, и оператор выбирает ее
GET/api/security/page-transition отвечает на любой подписанный сеанс, поскольку каждая вкладка нуждается в нем для раскрытия страницы; неустановленное или неизвестное значение читается как TILE DISSOLVE. PUT берет MANAGE PLATFORM TRANSITIONS, отказывается от токена за пределами каталога, прежде чем сохранить или отправить что-либо, и публикует ****************, поэтому открытые вкладки следуют без перезагрузки. Собственный контроллер, потому что /system-config защищен правами VoIP и Document AI и отвечает с учетными данными KamoPBX.

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