Перейти к содержимому
KAMOUniverse

Журнал изменений

Что нового.

Каждое усовершенствование платформы, как только она появится.

  1. · kamo-signer-monorepo

    Добавить переключатель языка в верхнюю строку подписавшего

    Меню с эндонимной маркировкой по 22 поддерживаемым локациям. Сохраняет запрос Струна на переключателе - ?t= - это единственное удостоверение подписавшего.

  2. · kamo-signer-monorepo

    Зеркальная компоновка для RTL locales через stylis-plugin-rtl

    Одно только направление темы MUI переворачивает логику компонентов, но оставляет физическое направление. Свойства CSS нетронуты, поэтому арабский отображается с интервалом LTR. Свопс Ключ кэша эмоций и плагины по направлению. Также добавляется стилис как прямая зависимость (ранее только транзитивная). Эмоции) и @types/stylis, поскольку этот изолированный pnpm-узел-линкер не разрешает фантомные зависимости и стили 4.2.0 судов без комплектации Типовые декларации.

  3. · kamo-signer-monorepo

    Маршрут подписавшего под /{locale} с промежуточной программой Next-intl

    I18n/routing.ts (локальный префикс всегда), i18n/navigation.ts Middleware.ts, и перемещает дерево маршрута под src/app/[locale]/. request.ts теперь решается с URL вместо куки-файла kamo-locale, Сохранение глубокого слияния английского запаса. Выдающиеся ссылки подписчиков продолжают работать: промежуточное ПО 307-перенаправления Непрефиксированные URL-адреса и сохранение токена ?t=.

  4. · kamo-internal

    Перемешайте значок почты, пока показывается непрочитанный индикатор

    Непрочитанный значок легко пропустить в верхней строке. NavItemButton выигрывает blinkIcon prop, который пульсирует иконкой (и ее значком) — держится отдельно от существующий «мигающий», который пульсирует только в точке оповещения о свинце — и MailButton поворачивается И так до тех пор, пока не прочитано 0. Честь предпочитает-снижает-движение.

  5. · kamo-marketing

    Стартер ограничен 5 пользователями, бизнес — 25

    Поменяет опубликованные колпачки сидений на /ценообразование (и калькулятор, JSON-LD предлагает и llms.txt резюме, чтобы соответствовать подписке Каталог: Стартер 25 -> 5 пользователей, Бизнес 100 -> 25 пользователей.

  6. · kamo-internal

    Секрет рынка Clarify MeridianLink - это учетные данные службы входящей синхронизации (для входа в систему в профиле участника)

  7. · kamo-internal

    Кредитная карточка MeridianLink на профиль участника + кнопка LO prewarn

    Фаза L3 картирования кредитного бюро MeridianLink LOS (в соответствии с §3.4-3.6 Спецификация дизайна: - Новый лос-верительный прокси-сервер **************************** и типизированный клиент **************************** типы в App/lib/los/types.ts пересылает GET/PUT/DELETE/POST в службу безопасности. - Новая карта "MeridianLink Loan Officer Access" **************************** Положен сразу после государственной Лицензирование. Видно только тогда, когда член имеет идентификатор NMLS и, по крайней мере, один Орг-рынок имеет активное соединение MeridianLink; закрыт на существующем **************************** Один ряд на рынке (имя пользователя / секретный / включенный / статусный чип / Тест); секрет только для записи и Никогда не возвращался. Создать кнопку приложения теперь предупредительно: когда лид не имеет LOS Заявление еще и его назначенный кредитный офицер не связан с MeridianLink, кнопка отключена с помощью инструмента, назвав вместо этого LO Отказ только в клике. Расширяет MarketConfig с помощью losLoName/losLoLinked (защитные дефолты для старых сборок SecurityService). Бэкэнд 422 остается фактической гарантией.

  8. · SecurityService

    LO-scoped create (блок, если не отображается) + член MeridianLink учетные данные API + рыночная конфигурация LO статус ссылки

    Фаза L2 картографического проектирования кредитного бюро MeridianLink (камо-внутренний) **************************** §3.3-3.6), построенный на схеме L1 shared-lib/resolver (MarketLosUserCredential, **************************** Все SOAP высмеяли (продавец на борту) еще не завершено). **************** теперь создает кредит, как свинец назначен Кредитный офицер через resolveForMember вместо общего обслуживания соединения Личность (заблокированное решение В: блокировать, не отступать). Нет присвоенного LO -> 422; назначенный LO без связанного пользователя MeridianLink -> 422 с действительным сообщение. Уже связанная проверка 409 теперь выполняется перед подключением ЛО проверки, в соответствии с предыдущим обзором, поэтому попытка создания дубликата не может регрессировать к 403/422 впереди 409. Новый **************** **************************** (GET/PUT/{marketId) DELETE/{marketId}/POST/{marketId}/test), закрытый как Государственный контролер лицензирования (STATE LICENSING VIEW/EDIT OWN/ ALL, Обход бога. Шифрование на записи через PlatformSecretCipher, чистый секрет сохраненный шифротекст, просмотр только по проверке, мягкое удаление, никогда не бросает Испытательное действие. - LeadController market-config gains losLoName/losLoLinked so the lead-view Кнопка может предупреждать, прежде чем нажать на 422. - Добавляет BaseLosController#без обработки (422 помощника). TDD: 54 теста в LeadLosControllerTest (расширенный) **************************** (новый) и LeadControllerMarketConfigTest (расширенный) — все зеленое. L3 (камо-внутренний интерфейс +) proxy) является отдельной последующей работой.

  9. · kamo-shared-library

    Per-member MeridianLink credential (MarketLosUserCredential) + resolveForMember + LO-scoped outbound push

  10. · kamo-internal

    Bulk Email Кампании UI — сетка, редактор, вкладка провайдера, ведет действие

    Добавляет объемную поверхность электронного маркетинга на уровне орга в /marketing / email: - Настольная вкладка электронной почты (после социальных сетей) + кампании AG Grid Workspace с live status/sent-vs-total counts over STOMP (/topic/campaigns/{orgId}); маркетинговая вкладка Gate/Active Logic для вложенных маршрутов. - Редактор кампании (/маркетинг/электронная почта/кампания): Квилл пишет повторное использование Заголовок подписи/футер система + слияние токенов, получателей от загрузки файла (карта столбца электронной почты), идентификаторы свинца/счета/приложения (конечная точка разрешения) или ручные вход, панель перед полетом (skip/opt-out/masked/invalid breakdown + CAN-SPAM) Охранники), и отправить / проект / график + дроссель (один раз / равномерно / натурализованный + разминка. Принимает пересылку по электронной почте. Настройка Bulk Email Provider (отдельная конфигурация SMTP + реальная тестовая электронная почта). - Ведет: действие «Bulk email (N)» на редакторе кампании. Отделы: электронная почта + поля телефона / расширения; маркировка поведения: электронная почта компании. - клиентские API (emailCampaignApi, bulkEmailProviderApi, recipientResolveApi), используйте EmailCampaignsWebSocket hook, а также прокси-маршрут решения проблем безопасности.

  11. · SecurityService

    Разрешение адресата электронной почты + поля контактов отдела

    ********************** POST/api/security/marketing-email/ Получатели / решения превращают идентификаторы свинца / учетной записи / приложения в получателей электронной почты. Gated on MANAGE BULK EMAIL; применяет маскировку контактных данных под отправителем (в масках ведет бесшумно пропущено), Счет. Принимает маркетинг Opt-in Gate, заемщик электронная почта для приложений, синтаксическая валидация, межисточниковый вывод + полный Пропуск/разбивка счета. DepartmentController: введите новые поля запросов на электронную почту/телефон/расширение Служба создания/обновления.

  12. · kamo-shared-library

    Поддержка Shared-lib для разрешения получателя массовой почты + контактная электронная почта компании

    ********************** ContactEmail Филиал (контакт компании) Электронная почта, редактируемая через PUT /api/security/org, используемая в качестве корпоративной кампании From - ApplicationRepository: полиморфный пакетный искатель (findByUidInAndOrganization) Ид разрешить электронную почту заемщика приложения для получателей кампании - AccountBorrowerPartyRepository: findByAccount UidIn (нет N+1) Только добавки; пакеты, уже покрытые ****************

  13. · EmailService

    Bulk email campaign backend — провайдер, диспетчер, комплаенс, в режиме реального времени

    Backend для орг-уровня массовых кампаний электронной почты, полностью отдельно от повседневных. Поставщик электронной почты, чтобы его нельзя было блокировать вместе с деловой почтой: - провайдер Bulk SMTP (BulkEmailProviderService + BulkProviderController): Зашифрованная конфигурация организации повторное использование EmailProviderEncryptionService; реальный тест отправки Электронная почта (открывает сеанс SMTP и отправляет). - Campaign CRUD + status machine (CampaignService/Controller): черновик, расписание, отправка-сейчас, пауза, резюме, отмена, дублирование; материализация получателя dedupe, suppression tagging, per-recipient unsubscribe tokens; CAN-SPAM gate (субъект + физический адрес + >=1 получатель, обязанный оставить черновик). - Диспетчер на колесах (CampaignDispatcher @Scheduled): All-at-once / равномерное окно / натурализованная случайная прогулка через получателя (Restart-Safe), разминка на maxPerHour, жесткий отскок -> автоподавление. - Соблюдение: SuppressionService, публичный однокликовый RFC 8058 UnsubscribeController (+ Заголовки List-Unsubscribe), подавление перепроверено при отправке. - В режиме реального времени: прямой толчок STOMP к /topic/campaigns/{orgId} + время подписки Org ChannelInterceptor (закрывает перекрестную экспозицию темы). - EmailSmtpService: добавочный extraHeaders send() overload (List-Unsubscribe).

  14. · kamo-shared-library

    ЭКОА/ФКРА по уведомлениям о неблагоприятных действиях + сат-таймер

    Механизм выдачи - это половина общего доступа. Прибыль TimerService **************** — переворачивает только временные таймеры ARMED ECOA AA Удовлетворены (оставляет COUNTEROFFER/INCOMPLETE NOA и уже удовлетворены) нетронутым, поэтому уведомление о неблагоприятном действии SENT может закрыть часы Reg B во время Неотправленный остается вооруженным для зачистки взлома. Два канонических шаблона электронной почты — ADVERSE ACTION NOTICE (ECOA/Reg B + FCRA) §615(a)) и RISK BASED PRICING NOTICE (FCRA §615(h)/Reg V) — зарегистрированы в CanonicalTemplateLoader. И то и другое - только строительные леса: разбитый [[Ваша комплиативная поддержка]] заполнил адвокат кредитора в, плюс переменные структурированных данных (заявитель, дата, основные причины /) триггер). Камо не предоставляет никаких оперативных юридических уведомлений.

  15. · kamo-internal

    Добавить Master Machine пульт дистанционного управления (god-gated)

    Третий настольный компьютер с одним щелчком мыши рядом с Linux/Windows: запись в NavRegistry (ComputerIcon), цель «мастер» через openKamoDesktop + прокси-маршрут SSO и отправка во всех трех обработчиках действий.

  16. · SecurityService

    Добавить «мастер»-мишень для Master Machine SSO

    buildAutoConnectUrl теперь выпускает соединение Master Machine (KAMO GUAC MASTER HOSTNAME, по умолчанию 192.168.4.46); включенное в каждый токен для повторного использования сеанса. Поддерживается синхронизация с загрузочным штрихом SQL KlusterServices.

  17. · KlusterServices

    Добавить в Guacamole устройство RDP «Master Machine» (kamo-dev-1)

    Местная рабочая станция Kubuntu делится своей живой сессией Plasma/Wayland через RDP. Добавлено идемпотентное загрузочное соединение SQL (192.168.4.46:3389, sage/shared pw, security=any, ignore-cert, color-depth 24) и грант READ. Включает в себя дизайн спецификации.

  18. · kamo-shared-library

    Субъекты фонда кампании Bulk-email + поля контактов Department/org

    Добавляет общий фонд библиотеки для массовых почтовых кампаний на уровне организации: OrgBulkEmailProviderEntity (отдельно от повседневного провайдера; UNIQUE org id) - EmailCampaignEntity / EmailCampaignRecipientEntity (+ status/scope/throttle/) Перечень источников) моделирование долговременной очереди отправки на одного получателя - EmailSuppressionEntity (список подавления CAN-SPAM) Отдел: электронная почта + телефон / расширение (EmbPhoneNumber) контактные поля - Организация: contactEmail (кампания компании по умолчанию) - RoleRightType: VIEW BULK EMAIL(175), MANAGE BULK EMAIL(176) Все новые пакеты находятся под com.kamo.z.shared.email.* (уже охваченный KamoInitializer **************************** Составляет чисто.

  19. · kamo-shared-library

    STEWARD TASK ROUTED канонический шаблон

    Уведомление стюарда с маршрутизированным решением требует канонического шаблона электронной почты. Регистры STEWARD TASK ROUTED in CANONICAL KEYS with its json/html pair; body carrys the loan контекст решения / исключения и ссылка на очередь стюарда. Контент является авторизуемым через Существующая система шаблонов.

  20. · SecurityService

    Ретранслятор шлюза для мяты MERS MIN для закрывающего пакета

    POST **************** Проверка собственности (requirePackageOrg) так стюард мяты только для собственного арендатора. The вверх по течению считывает 7-значный идентификатор организации MERS от подключения поставщика MERS арендатора в вкладка интеграции; 400 означает, что MERS неконфигурирован или кредит не имеет номера кредита.

  21. · kamo-internal

    Дата рождения на вид свинца + создать форму

    Добавляет поле «Дата рождения» в разделе «Первичный контакт» /leads/view/[id] MUI DatePicker, который открывается для годовой сетки первым (openTo=year, отключать Future, min 1900) — интуитивный поток для даты рождения — плюс тот же выборщик на новенькая форма. Date round-trips via date-fns parseISO/format (локальный, без UTC) отдельно. Дисплей защищен конфиденциальностью на canViewContact; поле необязательно. Провода dateOfBirth через типы, лидыApi создают/обновляют охрану, и Полевой список импортных мастеров.

  22. · SecurityService

    Дата рождения и контакт с воротами (DOB)

    Карты 'dateOf «Рождение» в переключателях ручного импорта и вендора снисходительный многоформатный разбор (ISO плюс общие формы M/d/yyyy в США; неразборчивый) Ценности оставляют DOB незаданным, а не бросают. DOB как контактный PII запрос TouchesContactInfo, поэтому редактирование его на лидерство другого участника требует EDIT LEAD CONTACT INFO OTHERS. Об этом сообщает издание Lead.dateOfBirth.

  23. · kamo-shared-library

    Добавить нулевую контактную дату рождения в свинец

    Добавляет контактный уровень "dateOfBirth" (java.time). LocalDate, DATE column) Базовый лидер: сущность + Создание / Обновление / LeadDTO (от Lead), скопированный в LeadService создавать / обновлять и оба ипотечных подкласса конвертировать помощников, чтобы он выжил Смена рынка. Отслеживается в реестре истории (Контакт) и маскируется как PII в маскеContactInfoFromOthers. Нулевой, без дефолта — безопасная альтернатива.

  24. · kamo-internal

    Автор документа-требования правил наложения со стюардовой консоли

    У матрицы правил «какие документы нужны этому кредиту» не было авторской поверхности. Это добавляет a Раздел «Правила документа-требования» на экране «Документы и условия» (складывается в владение экраном, а не новой вкладкой), где стюард перечисляет, авторов и удаляет своих арендаторов Правила наложения. Копия справки честна о масштабе: наложение поверх базовой линии платформы и AUS/agency findings (DU/LP/GUS), которые остаются источником истины; правило не может одобрить кредит или четкое условие, и ничто здесь не является юридическим мандатом. Форма предлагает 23 Значения RequirementDriverType и код док-типа свободного текста (бэкэнд проверяет его) против каталога изображений организации и возвращает четкий ряд 400, если организация не может собрать Нет жесткого списка Doc. Юридический значок и значок Blocks-advancement vs консультативный значок По каждому правилу – сначала подтверждается выход на пенсию.

  25. · SecurityService

    Ретрансляционное наложение документа-требования

    Relays POST/GET/retire on **************** to MLOSDocService, with организацияId сервер-штампован из сеанса оператора так стюард авторов и списков только Правила наложения собственного арендатора.

  26. · kamo-internal

    Автор условных LLPA из панели каталога

    Корректировки не могли варьироваться в зависимости от заемщика: у MlosAdjustmentCondition не было автора, а у заемщика не было автора. Механизм ценообразования обрабатывает корректировку без каких-либо условий, как всегда, поэтому каждый LLPA Заемщик 780-FICO получил тот же удар, что и 620. Эта форма автором корректировки вместе с условиями, которые ее вводят. Смоделировано по форме блокировки в той же панели: идентификатор версии тарифа-листа, цена дельта и метка, а также повторяемый список строк условий (атрибут + оператор + numLow, Номинал показан только для BETWEEN. Клиент отражает охрану сервера — по крайней мере, один из них. Условие, связанное с каждым условием, обе границы для БЕТВИНА с низким <= высоким - так плохо Правило поймано на линии, а не на круговой поездке.

  27. · kamo-internal

    Подтвердите электронную почту при переназначении лида из ведущего

    Назначение карты теперь переназначается через leadApi.reassignLead, который выходит на поверхность Нотифицированный флаг сервера. При переназначении на нового члена тост «Assignment Saved — {name} was notified by email»; on a no-op or Самоназначение (где сервер ничего не отправляет) остается простым подтверждением.

  28. · SecurityService

    Напишите новому владельцу, когда один лид переназначен

    Зеркальный путь для основной карты назначения. Когда PUT/leads/{id} перемещает лид к другому члену, который теперь получает те же самые СЛЕДЫ Электронная почта (счет 1) - основной поток отправляет. Лучшее усилие — отправка бежит после Обновление совершает и никогда не подводит. Пожары только при реальном переназначении: пропуск безоперационных сейвов там, где цессионарий без изменений (так что редактирование контактной информации ничего не отправляет) и пропускает самоназначение У офицера, претендующего на лидерство, назначая его себе, нет оснований для электронной почты. самих себя. Ответ содержит уведомление цессионария, чтобы пользователь мог подтвердить новый Владелец был отправлен по электронной почте. Предварительно обновленный свинец теперь извлекается один раз и повторно используется как для authz, так и для Захват ранее назначенного, а не только внутри ветви не-бога Аутца.

  29. · SecurityService

    Relay conditional-LLPA авторство

    Relays POST ******************* через орг-штамп письменного помощника, так что стюарды-авторы условных корректировок только для собственного арендатора.

  30. · kamo-internal

    Выбранный Bulk-reassign приводит к члену команды

    Сетка уже имела несколько выбранных чекбоксов, но не имела ничего общего с выбором. Проверка рядов теперь показывает действие Переназначения рядом с другими ведущими действиями, закрытыми ПОСЛЕДОВАНИЕ ЛИДЫ МАНУАЛЬНО (Сервер перепроверяет его; это только удобство). Использует checkRight, а не checkRole, поэтому режим бога соответствует богу бэкэнда шунтирование — checkRole не обходит и будет расходиться для пользователей God. Диалог выбирает одного участника назначения по поиску, принимает дополнительную записку и Впереди написано, что член будет отправлен по электронной почте, так как в этом суть особенность. Индиго / синий, а не оранжевый / розовый Hot Reassign Преднамеренное массовое админ-действие, а не срочная передача вызова. Чек-бокс заголовка выбирает каждую строку в сетке на стороне клиента — тысячи за один раз. Большой орг — поэтому здесь также применяется шапка 250. Иначе заголовок «Выбрать все и переназначить» поток будет выходить из строя на стороне сервера только после того, как пользователь Заполнил весь диалог непереведенной ошибкой. Выбор очищается через SelectedIdsRef перед перезагрузкой: loadLeads переизбирает все, что имеет ref, поэтому оставляя его населенным, будет перепроверять Ряды только что сдвинулись. Полученное сообщение составлено, а не цепочка, потому что партия может быть как частичной, так и неуведомленной, а цепочка сообщается только Первый.

Ваша вселенная ждет.

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

Бесплатно навсегда — не требуется кредитная карта