Журнал изменений
Что нового.
Каждое усовершенствование платформы, как только она появится.
· SecurityService
Перевод с кодом кода неправомерного государственного исключения на 409
Пары с общими оптимистичными блокировками: когда LoanPipelineService броски «Конкурентная модификация: обновление и повторная», поверхность структурированная {error, code: "CONCURRENT MODIFICATION"} body so the UI can react with a Обновление вместо сырого тоста с ошибкой.
· kamo-shared-library
Оптимистический блок LoanFile.status для предотвращения гоночных переходов
Параллельные клики «Advance» могут оба писать вехи. Добавить @Version в LoanFile и явный флеш в LoanPipelineService.transition Оптимистический отказ блокировки как **************** Модификация: "обновление" и "повторное использование") для перевода контроллера на 409.
· kamo-internal
Отображение имен, редактор REO, админ веб-хука, очистка строк
Польский пропуск, выравнивающий интерфейс с соответствующими изменениями бэкэнда: - Компоненты теперь отображают разрешенные поля *MemberName backend (PipelineSection milestone actor, состояние очищено/отсутствует) атрибуция). - ReoSection: залоги теперь полностью редактируемы (только для чтения) ТОДО. Новый LienRow с автосохраненным типом/кредитором/счетом последний 4/ неоплаченный баланс / ежемесячный платеж / кредитный лимит / порядок отображения Поля, плюс To-Be-Paid-Off переключатель и удаление per-row. - ипотекаAppsApi прибыль createReoLien / patchReoLien / deleteReoLien и отдельный webhookSubscriptionsApi поверхность для исходящего администратор webhook. - Новая страница /settings/integrations/webhooks: список подписок Добавить/отредактировать модальное, вращательно-секретное действие, всплывающее на поверхность нового подписывающий-секретный одноразовый-разоблачающий модаль, доставка по подписке Диалог истории. - types/mortgageApp.ts gains *MemberName fields, esignTemplateUid on EsignEnvelopeDTO и WebhookSubscriptionDTO Форма WebhookDeliveryDTO. - жестко закодированные английские строки, очищенные через PipelineSection, PipelineBoardClient, DisclosuresSection, PricingSection, HmdaLarClient, и ApplicationsListClient - каждая этикетка теперь проходит через Использование переводов().
· SecurityService
REO Lien Endpoints + контроллер подписки webhook
- MortgageAppController: POST/{uid}/reos/{reoId}/liens, PATCH/{uid}/reo-liens/{id}, DELETE/{uid}/reo-liens/{id} — делегирование новым методам CRUD BorrowerSectionService. - WebhookSubscriptionКонтроллер под **************** для управления исходящим Webhook per-org. Читать дальше Gated on LOS VIEW PIPELINE; write/rotate-secret/delete gated on LOS UNDERWRITE LOAN. Вернет секрет подписи ровно один раз Создать/повернуть в секрет.
· kamo-shared-library
Name resolution, REO liens, TRID holidays, webhook delivery, ESignTemplate link
Cross-cutting polish pass across all LOS sub-projects: Member display name resolution (MemberNameResolver): - Single shared resolver service that follows the standard Kamo precedence User.name → Member.usernameAlias → User.alias → User.username and a batch resolveAll() for snapshot endpoints - DTOs grew sibling *MemberName fields next to every *MemberId: LoanPipelineMilestoneDTO, LoanConditionDTO, LoanPricingSnapshotDTO, RateLockDTO, AusFindingDTO, DisclosureSetDTO, TridTimerDTO - LoanPipelineService, LoanConditionService, LoanPricingService and DisclosureService now enrich all returned DTOs REO lien CRUD: - **************** via the ReoLien → RealEstateOwned → Borrower → BorrowerPair → AppMortgage → Organization join path - **************** / updateReoLien / deleteReoLien with the existing org-scoping pattern (requireBorrower) - MortgageAppController exposes POST /{uid}/reos/{reoId}/liens, PATCH and DELETE on /{uid}/reo-liens/{id} TRID federal holiday calendar: - **************** now skips US federal holidays per CFPB §1026.2(a)(6) plus weekends. Covers NYE, MLK, Presidents', Memorial, Juneteenth (2021+), Independence, Labor, Columbus, Veterans, Thanksgiving, Christmas with OPM weekend observance for the fixed-date holidays Outbound webhook delivery: - WebhookSubscription + WebhookDelivery entities with per-org config (target URL, event-type filter, NATS subject filter, signing secret, max attempts, last success/failure tracking) - WebhookSubscriptionService for CRUD with auto-generated whsec_ signing secrets, rotate-secret action - WebhookDeliveryWorker subscribes to los.pipeline.> on NATS, matches subscriptions, POSTs with HMAC-SHA-256 signature in the X-Kamo-Signature header, retries with exponential backoff, writes one WebhookDelivery row per attempt - WebhookSubscriptionController under **************** for subscription CRUD, secret rotation, and delivery audit listing. LOS_VIEW_PIPELINE for read, LOS_UNDERWRITE_LOAN for write E-sign — link to existing ESignTemplate (no new provider abstraction): - EsignEnvelope grew esignTemplateUid FK to the existing **************** so the disclosure envelope reuses the per-org signer roster and field placement design owned by ESigService. The send-to-provider flow continues to live in ESigService — no duplicate provider code in the disclosures package.
· kamo-internal
Цены, раскрытия, HMDA LAR UI
Еще три подпроекта отгружены сквозно: Подпроект 5 — Ценообразование и AUS раздел на подробной странице: - Список моментальных снимков цен с добавлением диалога (программа, инвестор, ставка; APR, баллы, дни блокировки, термин, источник, примечание) - Список блокировок с добавлением диалога (статус, дата блокировки / истечение срока действия, дни, Ставка, баллы - Список выводов AUS с добавлением диалога (DU/LP/GUS движок, решение, файл дела, класс риска, полезная нагрузка необработанных выводов Подпроект 6 — Раскрытие информации и раздел TRID: - Наборы раскрытия информации с выпадающими типами/доставками и предполагаемыми дата отображения - Загрузка отдельных документов (многочастная) с помощью загрузки с поддержкой MinIO Подписанный URL - конверты с электронной подписью (поставщик-агностик) на комплект - Перечень таймеров TRID с указанием просроченного/свернутого времени и "маркой" Удовлетворенные действия Подпроект 7 — HMDA LAR page at /applications/hmda-lar: - Годовой фильтр, обновление, загрузка CSV (Blob fetch + якорный клик) - 13-колонный стол только для чтения, отражающий спецификацию на фиг - Новая кнопка HMDA LAR в заголовке списка приложений
· SecurityService
Контроллеры ценообразования, раскрытия информации, HMDA LAR
Три новых контроллера REST в /api/security/mortgage-приложениях: - MortgagePricingController: ценовые снимки, блокировки ставок, выводы AUS CRUD ({uid}/pricing, {uid}/rate-locks, {uid}/aus-findings). - MortgageDisclosureController: комплекты раскрытия и документы (multipart upload + presigned MinIO URL), конверты электронной подписи, TRID Список таймеров + удовлетворять. MortgageHmdaController: список HMDA LAR JSON и экспорт CSV ({hmda/lar} и {hmda/lar.csv}, дополнительный фильтр года). Все контроллеры повторно используют стандартные права сеанса + право на бог шаблон из остальной части кодовой базы.
· kamo-shared-library
Снимки цен, блокировки ставок, результаты AUS, раскрытия, таймеры TRID, HMDA LAR
Подпроекты 5, 6 и 7 бэкэнда поставляются вместе: Подпроект 5 (цены и замки): - LoanPricingSnapshot - котировки только в приложении (программа, инвестор, ставка, APR, баллы, дни блокировки - RateLock - запись с заблокированной ставкой со статусом, истечением срока действия, нарушенной причиной - AusFinding - DU/LP/GUS Run Record с решением + необработанная полезная нагрузка Новые номера: RateLockStatus, AusKind, AusDecision LoanPricingService для CRUD во всех трех случаях Подпроект 6 (раскрытие информации + TRID + заглушка электронной подписи): - DisclosureSet (LE/CD/etc.) с методом доставки, предположительно полученным дата вычисляется по правилу почтового ящика (математика рабочего дня) - Документ о раскрытии информации, поддерживаемый MinIO через существующую службу хранения данных MinIOS - EsignEnvelope - поставщик-агностик для будущей интеграции TridTimer — автоматические руки при проблемах с LE/CD CD-receipt-required, post-consummation CD due - DisclosureService организует выпуск, загрузку MinIO, подписание Скачать URL-адреса, отслеживание конвертов и удовлетворенность таймером Подпроект 7 (HMDA LAR): - HmdaLarRecordDTO отражает расположение фиг HMDA 2018+ - HmdaLarService создает строки из существующих объектов URLA и эмитирует CSV с надлежащим цитированием полей; полученные коды HMDA Action Taken Компания LoanFileStatus
· kamo-internal
LOS pipeline UI — канбан, раздел деталей, админ шаблона
Подпроект 4 frontend, end-to-end: - /applications/pipeline (PipelineBoardClient): канбан, сгруппированный по: LoanFileStatus с безрамочными полосами ниже колонн счастливого пути. Каждая карта отображает заемщика, сумму кредита, дни в статусе, открытую и Состояние блокировки считается. Меню «...» предлагает Advance / Off-ramp Открытая деталь; как Advance, так и Off-ramp открывают один и тот же переход Диалог с легальными радиостанциями следующего статуса, взятыми из снимка. Underwriter override Checkbox появляется при выборе стрелки вперед Пропустить условия блокировки. - /приложения (список): новая маршрутизация кнопки заголовка "Pipeline" канбан; сохраняет существующий список + фильтры. - /applications/[uid]: новый раздел «Pipeline & Conditions» в nav (между ссудой и имуществом). Раздел объединяет текущие статус, список условий (открытый/очищенный/отсутствующий с добавлением/открытый/отсутствующий/отсутствующий) Удалить), срок кредитования, и тот же переходный диалог. ********************** админ шаблона per-org с CRUD list, add/editmodal (название, описание, категория, типичный) должные офсетные дни, блоки AdvancementDefault, displayOrder. - типы/mortgageApp.ts: трубопровод/кондиционер/шаблоны типов DTO, LOAN FILE STATUS map, off-ramp helper. App/lib/mortgageAppsApi.ts: клиентские методы для каждой новой конечной точки.
· SecurityService
MortgagePipelineController + LOS PIPELINE configmap
Разоблачает бэкэнд трубопровода LOS в /api/security/mortgage-приложениях: - GET/pipeline - kanban summary - GET/{uid}/pipeline - полный снимок - POST/{uid}/переходы - выполнить переход - GET/{uid}/условия - список - POST/{uid}/условия - добавить - PATCH/{uid}/conditions/{id} - edit - POST/{uid}/conditions/{id}/clear - Mark cleared - POST/{uid}/conditions/{id}/waive - Mark waived (LOS UNDERWRITE LOAN) - DELETE/{uid}/conditions/{id} - delete (open only) - GET/condition-templates - список - POST/condition-templates - создать - PATCH/condition-templates/{id} - update - DELETE/condition-templates/{id} - soft-delete Правильные проверки используют стандартную схему прав сеанса с новым LOS * RoleRightType; God-eligibility отмечает то же самое Данные сеанса. GD обход, как и остальные контроллеры. Конфигмап получает ключи los-pipeline.*, чтобы ops могли настраивать выделенные NATS Имя потока и фильтр субъекта через env vars.
· kamo-shared-library
Трубопроводная государственная машина, условия, шаблоны, события НАТС
Подпроект 4 (LOS pipeline & workflow) - New enum LoanConditionStatus (OPEN/CLEARED/WAIVED) - Новые организации: LoanPipelineMilestone (аудит перехода только с приложением), LoanCondition (контрольный список по кредиту с собственным состоянием) и LoanConditionTemplate (пер-орг многоразовый контрольный список) - Новые репо для каждого, плюс однократный блокирующий запрос LoanPipelineStateMachine объявляет трубопровод URLA СФОНДОВАН) и универсальных СУСПЕДЕННЫХ/УВЕДОМЛЕННЫХ/УВЕДОМЛЕННЫХ заграждений, с требуемым RoleRightType для каждой стрелки LoanPipelineService организует переход атомарно: проверка законность + право + условия блокировки (переопределение закрыто) LOS UNDERWRITE LOAN), проштамповать соответствующую графу даты кредитного файла, Напишите веху, напишите заявку для юридически значимые переходы (первоначальное раскрытие, повторное представление) обработка/андеррайтинг) с помощью SHA-256, публикация события NATS - LoanConditionService и LoanConditionTemplateService покрывают Остаток поверхности CRUD - LosPipelinePublisher публикует статьи для JetStream los.pipeline.transition.<orgId> и los.pipeline.condition.<org Id> NatsConfig обеспечивает выделенный поток LOS PIPELINE существующий поток чата, поэтому сохранение может быть настроено независимо Шесть новых записей RoleRightType в ServiceType.LOS (переименовано в "Commerce: Loan Origination System": LOS VIEW PIPELINE, LOS TAKE APPLICATION, LOS PROCESS LOAN, LOS UNDERWRITE LOAN LOS CLOSE AND FUND, LOS SUSPEND OR WITHDRAW
· kamo-internal
Разделы Originator & Submissions UI
Закрывается подпроект 3: маршрут отправителя получает двухблоковый Редактор (индивидуальный адрес NMLS + организация NMLS + org) patchOriginator со стандартным автосохранением 800 мс, а также Маршрут представления отображает обратную хронологическую временную шкалу только для чтения AppMortgage. массив представлений (последние импульсы ввода зеленые); Заметки и хэши снимка отображаются при наличии. Грядущее-скорое Резервный запас больше не доступен, поэтому ветвь улавливается.
· kamo-internal
HMDA Демографический раздел UI
Заменяет заполнитель Coming-Soon для маршрута hmda. Этничность использует трехгосударственный поиск с встроенным блоком субчекбокса, когда Выбирается латиноамериканский язык (Мексиканский/PR/Кубанский/Другой + описание). гонка рендеринг в виде пяти блоков переключения (американский индийский, азиатский, черный, NHPI), Белый) с условным азиатским и тихоокеанским островным субчекбоксом Сетки внизу. Секс, метод сбора и три Флаги визуального наблюдения висят под футером проверки.
· kamo-internal
Раздел военной службы UI
Заменяет заполнитель Coming-Soon на военный маршрут. The Обслуживаемые переключатели через mortgageAppsApi.putMilitary; переключение Он также очищает статус обслуживания и прогнозируемое истечение срока действия. Избегайте задержек данных VA в записи.
· kamo-internal
Собственный раздел недвижимости UI
Заменяет заполнитель Coming-Soon для маршрута REO. Каждое имущество карта редактирует адрес, заполняемость/статус/преднамеренное использование, рыночную стоимость, ежемесячное страхование + налоги + HOA и валовой / чистый доход от аренды Та же схема автосохранения, что и в других разделах. Ветхий занавес в таблица только для чтения; примечание TODO в компоненте плюс подсказка нижних колонок Объясните недостающие конечные точки /reos/{id}/liens.
· kamo-internal
Обязательства и расходы раздел UI
Заменяет заполнителя Coming-Soon на маршрут обязательств. Раздел 2с Обязательства отслеживают неоплаченный остаток, ежемесячный платеж, месяцы Оставшиеся и три флага расположения URLA (оплаченные при закрытии). оплаченные ранее, опущенные) в виде отдельных переключателей; опущенные ряды тускнеют самих себя. Раздел 2d Прочие ежемесячные расходы совпадают Чип заемщика и общая полоса (выдающийся долг, ежемесячный долг) обслуживание, ежемесячные расходы, комбинированные ежемесячные расходы.
· kamo-internal
Секция активов и кредитов UI
Заменяет заполнитель Coming-Soon для маршрута активов. Расщепление список активов заемщика в разделе 2а (банковские/пенсионные/другие счета, Тип id < 50) и Раздел 2b (другие активы и кредиты, id >= 50) Идентификационные диапазоны типа публичных активов с помощью iJoint и используемого ForCashToClose Переключается на каждый ряд. Итоги стрип показывает счета субтотальные, кредиты Субтотальное и комбинированное значение, когда любая строка несет значение.
· kamo-internal
Раздел занятости и доходов UI
Заменяет заполнитель Грядущего-Скорого для маршрута трудоустройства Полный редактор URLA Раздел 1d-1g. Пер-заемщик чип селектор зеркало модель деклараций; каждая строка занятости автоматически сохраняется ИпотекаAppsApi.patchEmployment с тем же 800-метровым дебютом. Карта Заголовок отображает ежемесячное общее количество (база + сверхурочные + бонус +) Комиссия + военные + другие + самозанятые сети. Раздел 1g Прочие Доходы живут в собственном списке ниже.
· kamo-internal
URLA 2021 Ипотечный интерфейс
Добавлена новая группа маршрутов / приложений, типизированный ипотечный клиент AppsApi Что говорит с SecurityService /api / Security / Ипотечные приложения, полные типы TS Отражая бэкэнд DTO и вход на боковую панель вместе с Leads. UI: /приложения Вид трубопровода с фильтрами stat-bucket (Все / Проект / В процессе / Закрыто), поиск, анимированные карты (Framer Motion), CTA пустого состояния, загрузка скелета. /applications/[uid] Подробная компоновка: градиентный герой с первичной заемщик + значки статуса, липкая секция рельс с анимированным активным индикатором, Переходы анимированных секций, автосохранение индикатор (Saving... → Saved ✓ → fade). Секции, поставленные на качество производства: - Кредит и недвижимость (раздел 4a/4b/4c) полный редактор, автосохранение 800 мс Заемщики (1003) управление парами, супружеская пара Toggle, add/remove pair + co- заемщик, анимированные мутации - Заявления (раздел 5) на вопросник заемщика, Да/нет/Н/А микросхемы управления, Глава 7/11/12/13 подпоток Разделы с поддержкой бэкэнда, но UI отложили до следующего: Занятость и доход, активы, обязательства, REO, военные, HMDA, Происхождение займа, заявки. Каждый делает карту «Следующий» так Навигация завершена, и схема доступна. Вся копия проходит через next-intl mortgageApps.* namespace; ничего жестко закодировано. MoneyInput / PercentInput / SelectInput / Switch Они могут быть использованы в будущих разделах.
· SecurityService
MortgageAppController для URLA 2021 REST
Новый контроллер REST, раскрывающий полный жизненный цикл приложения URLA: GET/api/security/mortgage-apps list (резюме) GET ************* полный график POST **************** пустой или из свинца *************************** удалять PATCH /{uid}/loan-file | /loan | /property | /originator top sections POST/{uid}/pairs add BorrowerPair PATCH/{uid}/pairs/{pairId} edit pair DELETE /{uid}/pairs/{pairId} удалить пару POST/{uid}/pairs/{pairId}/borrowers add Заемщик PATCH /{uid}/borrowers/{borrowerUid} edit Заемщик DELETE /{uid}/borrowers/{borrowerUid} удалить Заемщика POST/PATCH/DELETE ******************* **************** + /{section}/{id} *************************** POST/PATCH/DELETE/{uid}/gifts and/{uid}/other-mortgages GET /{uid}/lookups ← enum dump Проверка через сессию OTKPreAuthFilter; единый конверт на 400/401/404/500; использует существующие сервис-слойные правила.
· kamo-shared-library
Уровень обслуживания URLA (repos, DTO, сервисы, поиски)
Добавляет полный уровень службы бэкэнда для пакета URLA, введенного в Предыдущее обязательство: reos/applications/ 20 JpaRepositories scoped per entity dtos/applications/ response DTOs (Long->String) + полезная нагрузка поиска Услуги/приложения/ AppMortgageService (root + lead conversion +) Сбережения раздела) и BorrowerSectionService (пары, заемщики, занятость, доходы, активы, обязательства, REO, декларации, военные, HMDA Конвенции следуют существующей схеме LeadService: - Полевой впрыск @Autowired deps - @Transactional (readOnly=true) для запросов - Статические .from(entity) factory mappers, Длинные идентификаторы, сериализованные как Струны - Незаконный аргументИсключение из-за необнаруженных / сбоев проверки - Все операции org-scoped через идентификатор организации приложения MortgageLookupsDTO возвращает каждый URLA enum в одном кадре. Никогда не жёсткие коды выпадающих опций.
· kamo-shared-library
Схема URLA 2021 для жилищной ипотеки
Рефактор AppMortgage в полный корень пакета URLA, поддерживающий несколько 1003s за ссуду с двумя заемщиками за пару (супружеский/совместный или неженатый. Заменяет пустой заполнитель AppMortgage структурированным График объектов, отражающий каждый раздел URLA 2021 года: core/LoanFile, Loan, Property, LoanOriginator, Application Представление участник/заемщикПара (1003), Заемщик Занятость/занятость (разделы 1d/1e/1f/Sec.7), Прочие поступления (1g) Активы / Актив (2a/2b), Подарок (4e) Ответственность (2c), Прочие расходы (2d) Reo/RealEstateOwned (Sec.3) + ReoLien Заявления/декларации (Sec.5), Военная служба (Sec.7) hmda/HmdaDemographics (Sec.8) Другие займы / Другие новые ипотеки (4d) Активы / Обязательства / REO используют право собственности «заемщик с флагом ISJoint» Модель URLA «Учетная запись, принадлежащая Заемщику / Созаемщику / Оба» Радио сжимается до одного ряда с неявным совладением пары. Все денежные поля используют EmbMoney (BigDecimal + валюта) и все ставки. EmbPercent (4dp BigDecimal) — без двойников, без JSON. Стратегия ID следует существующим конвенциям: unique rowid() для организаций, ориентированных на пользователя; gen random uuid() для внутренних таблиц деталей. JSONB появляется только в ApplicationSubmission audit snapshot (преднамеренно — не для живых данных). Схема создается компанией KamoInitializerService через hibernate.ddl-auto. на восстановленном JAR; никаких DDL-скриптов не требуется. бэкенд-сервис, пользовательский интерфейс и оставшиеся подпроекты LOS (рабочий процесс трубопровода; ценообразование/замки, раскрытие информации, отчетность HMDA) переносятся на последующие Сеансы на разложение 7 частей.
· KlusterServices
Управление mail.kamocrm.com TLS сквозной
Auto-cert теперь обеспечивает и поддерживает сертификат Let's Encrypt для mail.kamocrm.com (HTTP-01 через Traefik на порту 80) Postfix Consumer в синхронизации через пространства имен. Автоматические изменения: Добавьте mail.kamocrm.com в STATIC DOMAINS. - Новая таблица CROSS NS CERT MIRRORS, отображающая FQDN -> (пространство имен целей), развертывания для перезапуска. По умолчанию: mail.kamocrm.com -> ("почта", "постфикс"). - mirror secret to namespace() копирует tls-<stem> из камо в цель ns idempotently (только перезагружает потребителей, когда tls.crt на самом деле) Изменения: синхронизация каждую минуту остается дешевой. - restart deployment() запускает kububl rollout restart для потребителей, когда Обновление земель. - Застрял в ожидании for host cert ready и основной цикл Пропагандируются автосертификационные выпуски и автообновления, управляемые сертификатами. Новая роль / RoleBinding (пространство имен электронной почты) предоставляет секреты создания / обновления Патч развертывания для автосертификации ServiceAccount. Postfix изменения: - Mount tls-mail-kamocrm-com (необязательный секрет) в /etc/letsencrypt. - При загрузке скопируйте сертификат LE в /etc/postfix/tls/, если он присутствует; генерировать короткоживущее самоподписанное змеиное масло, чтобы постфикс мог начаться до того, как будет выдан сертификат. - Используйте реальный cert для smtpd tls cert file / key file с TLSv1.2+ и высокие шифры. Представление (587) теперь предлагает действительный, надежный сертификат Как только авто-серт завершает первую выдачу и разворачивает развертывание.
· kamo-shared-library
**************** для продвижения по службе
Добавляет публичное, транзакционное обеспечение RoleAssigned (memberId, roleId), которое: - Нет-опс, если роль уже на члене. - Выискивает OrgRole и сохраняет новый член-роль. - Recomputes member rights applied so the persisted snapshot picks up права на эту роль немедленно. Используется потоком создания ребенка в Службе безопасности для распространения Административный статус создателя от нового ребенка до их родителя членство — держит админ пользователя последовательным по всему ребенку домен (где создается организация) Владелец *** уже дает Владелец + администратор и домен родителя (где они существуют) Сессия TeamMember в противном случае не будет CONFIGURE SYSTEM и отказ от них /settings/account.
· KlusterServices
Обратно-прокси priceturbo.com apex + wildcard через k1m1 с TLS
k1m1 Traefik прекращает HTTPS для priceturbo.com и любого *.priceturbo.com поддомен, пересылающий простой HTTP в верхнюю часть Traefik по адресу 192.168.4.36:80 с сохраненным заголовком хоста (повторно использует сервис ratetack-upstream). Авто-сертификат семян вершины через STATIC DOMAINS; поддомены подбираются динамически при первом попадании через существующий путь сканирования журнала доступа Traefik — Серты HTTP-01 на FQDN требуют, чтобы каждое имя хоста уже соответствовало k1m1.
· SecurityService
Проводная матрица-сохранить рекальк + обновление сеанса + диагностика эффективных прав
**************************** / updateModel / deleteModel **************** теперь ссылайтесь на realcAllMembersUsingModel после непрекращающихся изменений — каждая организация указывает на модель (собственный мастер или через Тип ветки) получает Member rights applied обновленным в том же вызове. The Путь удаления типа ветви также пересчитывает осиротевшие детские организации до того, как строка отбрасывается так, чтобы их прикладное разрешение модели было правильным при поиске модели Отступает. **************** пишет свежевычисленный массив прав в существующую запись *** Redis, сохраняя TTL + все остальные поля, Живые вкладки могут собирать изменения, управляемые администратором, без цикла выхода / входа. SessionRefreshController представляет POST/api/security/session/refresh Собственный *** звонящего разрешается из печенья или X-OTK, живого водопада Бежит, и результат записывается обратно. Перекрестный спуфинг невозможен По конструкции: отсутствует параметр член-ид. RightsDiagnosticsController представляет GET **************************** — возвращает полный водопад: каскадные источники (орг-роли, dept+dept-роли, название должности + jt роли, прямые надстройки, прикладная модель + non-NOT SPECIFIED Записи шаблонов по типу ролей, разрешенные в реальном времени права разделены на **************** и флаг inSyncWithLive, который всплывает дрейф между постоянным членом rights applied snapshot и тем, что осталось в живых Водопад производит прямо сейчас. Аут: должен быть в группе цели и Будьте мишенью, держитесь ******************* Или божий режим активен.
· kamo-shared-library
Упакованный рекальк + кросс-модельный вентилятор + TypeTemplate без форсирования
Добавляет три вещи, необходимые для редактирования шаблонов, чтобы фактически охватить существующих членов Без форсирования цикла logout/login: 1. **************** — ходит каждая организация, указывая на модель (через masterModelID или тип ветви) и кусочки рекальков каждый Правообладатель иллюстрации. Исполнитель: RealcAllMembersUsingBranchType Обрабатывает дело одноотраслевого типа. 2. Chunked **************** — bulk-delete + saveAll per 500-членная куска, так что 50-килограммовая организация больше не запускает заявления в один ряд. 3. applicationTemplateRules precedence fix — typeTemplate non-force GRANTED/NUKE Теперь заполняет NOT SPECIFIED перед непринужденным резервным копированием. Матчи Ярлыки пользовательского интерфейса («Включено по умолчанию; ребенок может отключить») и предотвращает Права доступа к модулю на TEAM MEMBER не игнорируются. Также выставляет ComputeMemberRights в качестве публичного прочтения для нового Обновление сеанса и диагностические конечные точки в службе безопасности.
· kamo-internal
Unified DNS Setup Studio с встроенной поддержкой для записи
Заменяет разделенное трио DnsProgressView + AliasStatusTable + ManualDnsGuide с единым опытом: каждая запись TXT/CNAME теперь живет в одном карточка вместе со встроенной помощью, удаляя дублирование там, где Записи были представлены как таблица состояния, так и отдельное руководство по установке. - Новый DnsSetupStudio организует анимированный 3-ступенчатый поток (проверить) Владение > подключение поддоменов > выпуск SSL) с закрытыми этапами, а Пошатнулась сетка карт и кольцо живого прогресса, управляемое SVG. - Пер-записные карты адаптируют свои метки полей к выбранным пользователем регистратор **************** Перешел в местное хранилище и вскрыть глубокую ссылку на портал DNS этого провайдера. - Каждая карта поддомена содержит описание на простом языке (например, "внутреннее описание) Это рабочее пространство вашей команды, так что нетехнические пользователи понимают, что это такое. Они настраиваются. - Диалог между рабочим пространством и доменом изменений, опрос, обратный отсчет, тема Все резервирование и панель резервирования авто-DNS сохранены.
· KlusterServices
Reverse-proxy rate.loans/stack.loans hosts via k1m1 with TLS
k1m1 Traefik прекращает использование HTTPS для api.rate.loans, www.rate.loans и www.stack.loans, пересылая простой HTTP в верхнюю часть Traefik 192.168.4.36:80. Авто-сертификационные семена для хозяина Давайте зашифровать сертификаты для всех трех.
· EmailService
Wire DomainManager и MailboxProvisioner для всех облачных провайдеров
Замените заглушки UnsupportedOperationException в каждом облачном провайдере Настоящие HTTP-звонки против API администратора каждого бэкэнда: Microsoft 365 → Microsoft Graph (/users, /domains, /verify, ...) токен доступа OAuth. Google Workspace → Admin SDK Directory + Проверка сайта с использованием per-org Токен доступа OAuth. Zoho Mail → Zoho Mail Admin API ************* Использование Per-org OAuth Access Token. IceWarp → IceWarp REST API ({serverUrl}/api/v1/...) с использованием apiKey Провайдер Config. Exchange (Online) → Microsoft Graph через токен клиентских учетных данных от арендатора Id/clientId/clientSecret, хранящегося в провайдере Config. Также расширьте возможности OAuth, запрошенные Microsoft, Google и Zoho. течет так, что токен администратора per-org фактически имеет привилегии нового кода Потребности (User.ReadWrite). Все / Домен. Прочитайте. Все для Графа, admin.directory.user/admin.directory.domain/ siteverification для Google ************************************* Существующие связи Вам нужно будет повторно авторизоваться с согласия администратора, чтобы выбрать новые области. Общий HTTP сантехника живет в ProviderHttpClient - Bearer / Basic / API-ключ auth, кодирование JSON и извлечение сообщений об ошибках в различных конверты ошибок провайдера. Что остается нерешенным (и почему): Уведомление в режиме реального времени на Microsoft 365, Google Workspace, IceWarp Обмен — API push-уведомлений каждого провайдера нуждается в общедоступном веб-хуке Получатель, размещенный на EmailService, плюс (для Gmail) тема Cloud Pub/Sub. Подключение это его собственная задача. - On-prem Exchange (authMethod != OAUTH) - требуется API SOAP EWS; ExchangeProvider бросает явную ошибку на этом пути, пока не будет добавлена EWS.

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