Предотвращение двойной упаковки полнодокументального телаHtml в блок-дизайнер
Когда bodyBlocks равен нулю, а bodyHtml является полным документом <!DOCTYPE html> (например, канонические семенные шаблоны), импортируя его в виде одного блока...
Сериализация полного HTML электронной почты с внешним фреймом на сохранение шаблона
- serializeFullEmailHtml заворачивает внутренние блоки в фирменный внешний кадр (Логотип заголовка, название/подзаголовок, область контента, логотип футера + на...
Компактный заголовок редактора — удалите большой заголовок / вкладки, переместите действия в строку nav
Удалите липкую карту заголовка (заголовок, подзаголовок, Save/Cancel/Preview) кнопки, панель вкладок Edit/Preview) от EmailTemplateEdit для восстановления ~200p...
Добавить страницы настроек учетной записи для телефона + вопросы безопасности (SP3)
Добавляет **************** с API-проводкой Служба безопасности /api/account/*. Синхронизация nav во всех 3 местах.
Предварительный просмотр маршрута через модаль Browser (часть SP2)
EmailTemplateBrowser теперь владеет модалем Preview напрямую. Менеджеру больше не нужно перехватывать запросы предварительного просмотра на уровне строк. Перена...
Wire EmailTemplateПравить на реальный API
Гидраты от templateApi.get, сохраняет через templateApi.update. Категория dropdown - это API-ориентированный с встроенной доступностью для создания категорий. П...
Проводите EmailTemplateBrowser до реального API + добавьте вкладку «Системные по умолчанию»
Заменяет ~ 140 строк макетных данных вызовами templateApi.list(). Условный Пятая вкладка «System Defaults» появляется только для администраторов верхнего уровня...
Добавить модаль EmailTemplatePreview
Открывается на предварительном просмотре. Backend-rendered via templateApi.preview(); Результат отображается в песочнице iframe для изоляции стиля. Соответствуе...
Удалить неиспользованный EmailGeneralManager.tsx (~560 строк мертвого кода)
Компонент нигде не импортировался. Его броски (отскок обработки, Отписаться, отслеживать доставку, по умолчанию с электронной почты) не было бэкэнда и Это были ...
Добавить шаблонApi + категорияApi + переменныеКонтракты клиентских модулей
Обертывает /api/email/templates/ и ******************* Конечные точки с набранными помощниками TypeScript. Переменные контракты зеркала SP1 TemplateKeys Javadoc...
Удалить дома/приложения/корпоративный/инсайт из требуемых псевдонимов DNS
Иконка Analytics является только иконкой и позиционируется последней в наборе значков
Добавьте иконку аналитики в навтоп с OTK-аутентифицированным iframe
Добавляет значок BarChart в NavTop для членов команды высшего уровня (без родителей). Нажатие на навигацию /аналитику, которая генерирует OTK и загружает аналит...
Замените отдельные иконки вызова/текста в navtop с унифицированным выпадением VoipButton
Показать запись владения доменом TXT в UI настройки DNS
- DomainData/DnsStatus: добавьте verificationToken, ownershipVerified, поля типов - AliasStatusTable: показать TxtOwnershipCard над таблицей CNAME с кнопкой коп...
Прилипкий заголовок, обновленные псевдонимы, всегда видимое простое английское руководство по DNS
Заселяйте DNS-статусы, когда они уже подтверждены; покажите имя организации на видном месте
Наглядно предупредите, что запись www является необязательной и может нарушить существующие сайты
Удалите двойные полосы прокрутки и горизонтальный переполнение на странице настройки DNS
Всегда отображайте кнопку DNS для владельцев, добавляйте изменение потока домена
Полномасштабная страница настройки DNS предприятия, успех как неуместный баннер
Добавить /setup/dns страницу и установить домен поток в /network
Новая страница /setup/dns с двухфазным потоком: ввод домена, затем DNS 60-секундный автополлинг и подтверждение SSL Руководство DnsGuide: разборные пошаговые ин...
Обработка пустых ответов API и изящная деградация на вкладке выставления счетов
BillingApi Get/Put Helpers теперь безопасно обрабатывает пустые тела Вместо того, чтобы врезаться в res.json() с пустым входом - PlansBillingTab loadData оберты...
Разрешить контекст орг/члена из *** сессии для выставления счетов прокси
Контроллеры BillingService требуют заголовков X-Org-Id и X-Member-Id. При вызове напрямую (в обход APIService) они не устанавливались. Теперь прокси-сервер Next...
Позвоните в BillingService напрямую через k8s DNS вместо APIService
Прокси-сервер Next.js теперь звонит в BillingService **************************** непосредственно, пропуская Необходимый переход через APIService. Использует BI...
Добавить Next.js API прокси-маршрут для /api/billing/*
Клиент платежного API звонил /api/billing/* в качестве относительного URL-адреса. Вместо шлюза APIService появился сервер Next.js. Добавлено универсальный прокс...
Замените дополнение к хранению переключателем количества слайдеров
Дополнительное хранилище основано на использовании (4/25 ГБ блока), а не на простом включении/выключении. дополнение. Заменить переключатель переключения с помо...
Добавить parentId и parent в тип OrgProviderProps
В интерфейсе реквизита Организации отсутствовали поля parentId и parent, Это приводит к их отбрасыванию во время компиляции TypeScript, даже если Бэкэнд отправл...
Проводите BillingManager и RelationshipManager к реальным бэкэндам
BillingManager (закладка счета): - Заменить 100% макет на местном уровне реальным способом оплаты с поддержкой Stripe Управление через BillingApi - Способы опла...
Замените страницу статистики с живой панелью мониторинга подписки KamoCRM
Перестроенный /settings /account?tab = stats в полностью проводной, только для чтения прозрение приборная панель. Замените все поддельные данные параллельными в...
Выберите план потока сквозной
Проводной калькулятор в диалог PlansBillingTab (заменяет заполнитель) - Получить доступные планы от выставления счетов API при загрузке страницы Отправка плана:...
Закладка Hide Plans & Billing для root-орга KamoCRM
Владельцам KamoCRM-оргов все включено бесплатно - они должны Никогда не видел счетной вкладки. Вкладка теперь условно отображается только Для детских организаци...
Интеграция платежной системы Stripe через платформу
Новый клиент BillingApi.ts с полными типами TypeScript для всех платежей конечные точки (подписки, способы оплаты, счета-фактуры, кредиты, использование, конфиг...
Добавить группу параллелизма для предотвращения дублирования рабочих процессов
Когда нажатие вызывает рабочий процесс, также запускается workflow dispatch. (или два толчка приходят в быстрой последовательности), оба прогона будут выполнять...
Добавить кнопку Open in Docs для редактирования документов, электронных таблиц, презентаций
- Новая кнопка «Открыть в Docs» (иконка EditNote) в колонке «Док-менеджер» для .docx, .xlsx, .pptx, .odg, .doc, .xls, .ppt-файлов Открывает документ в редакторе...
Создайте интегрированный пользовательский интерфейс импорта автолидов с полным управлением конечными точками
Полное переписывание LeadAutoImportManager с готовыми к производству функциями: Endpoint CRUD с уникальными URL-адресами для ведущих поставщиков 3-х сторон - ге...
Показать имя загрузчика, расширить столбец даты, объединить значок расширения в имя файла
- Загружено: всегда было пусто - название поля правильное, но бэкэнд Никогда не устанавливайте createdByName; теперь решено на задней стороне - Колонка имен фай...
Добавьте инструментарий сохраненного размера в ячейку размера в диспетчере doc
Tooltip показывает разбивку фактического хранилища, используемого для документа: оригинальный файл, миниатюры (оригинал + преобразованный в сочетании) и Преобра...
Пропустить экран загрузки файлов для загрузки в NavigationInterceptor
URL-адреса и ссылки с атрибутом загрузки никогда не вызывают навигацию по страницам. Таким образом, глобальный обработчик кликов теперь возвращается рано для эт...
Surface сохраняет ошибки и возвращает оптимистичное обновление в селекторе провайдера электронной почты
При сохранении неконфигурируемого провайдера (KamoMail, ParentOrg, NotConfigured) ошибка была установлена в состоянии, но никогда не отображалась в виде списка,...
Переместить кнопки действий Doc Manager в строку поиска панели инструментов
- Removed Create Document, Upload Document, Bulk Upload и Refresh из заголовка градиентного героя Заголовок героя теперь только название / описание Создать доку...
Восстановление модели разрешения команды/члена для совместного диалога
Члены команды (memberType=TEAM MEMBER) обходят все ворота. За постоянными членами закреплены права SHARE DOCS *. Сеансы наследства без участникаType получают вр...
Разрешить любому аутентифицированному члену делиться документами
Удалите ворот на основе ролей на диалоге акций - любой зарегистрированный член может поделиться. Предыдущая проверка требуется от участника (от участника сессии...
Импорт blake3 из blake3/browser для инициализации WASM
blake3/esm/browser требует ручного обеспечения WASM; blake3/browser делает это автоматически.
Как вы видите судоходство?
Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.
