Журнал изменений
Что нового.
Каждое усовершенствование платформы, как только она появится.
· MediaService
Проверьте маркер маршрутизации, сохраните leadUid, переназначьте чат на ходу
- createSupportSession принимает подписанный routingToken (не предпочтительнее AgentMemberId); проверено с помощью ChatRoutingTokenCodec + cluster internal.auth.secret token.orgId == org, маршруты только при интеграции. Режим == SPECIFIC AGENT. Жесткий отрезок голого пути, предоставленного браузером. - Continue leadUid on SupportTicket + PublicChatVisitor (долгосрочная ссылка для заемщиков) - ChatRoutingConsumer: on security.chat.routing.>, переназначить открытого заемщика Билет (билеты) от leadUid новому сотруднику (повторное назначение ToPreferredAgent) - lo-presence org-scoped: cross-org/unknown member -> online:false (нет утечки) - WebChatIntegration CRUD/bootstrap carry assignmentMode; магазин publicSiteKey Интеграция SPECIFIC AGENT
· kamo-shared-library
Подписанный маркер маршрутизации агента + распространение свинца
Фонд для создания многоразового публичного чат-виджета KamoMLOS вариант заемщика->должника надежно и для распространения переназначения свинца В открытый чат. - WebChatAssignmentMode (TOPIC QUEUE default/SPECIFIC AGENT); WebChatIntegration Получает назначение Mode + publicSiteKey (платформенный ключ для MLOS с разрешением хоста) ChatRoutingTokenCodec: недолговечный токен HMAC над секретом кластера, доказывающий целевой агент; заменяет предпочтительный, предоставляемый браузером - SupportTicket.leadUid + PublicChatVisitor.leadUid (длительная ссылка на заемщика) + **************************** ********************** -> security.chat.routing.{orgId} Излучено от переназначения свинца (LeadService.updateLead) и повторного требования пула (принятьNextLead) **************** Управляемый поиск интеграции
· SecurityService
Раскройте возможности видения, чтобы консоль могла объяснить отсутствие поставщика
Листы скорости PDF читаются настроенным поставщиком видения организации. Когда никого нет Настроенный вызов ИИ терпит неудачу так же, как и ошибка модели, поэтому консоль не имела возможности Чтобы отличить «ничто не настроено на чтение этого» от «лист был пустым». **************************** Прокси зонд возможностей AIService под существующим шлюзом стюарда, проштампованным сервером, чтобы пользовательский интерфейс мог назвать фактическое проблемы и указать, где их исправить.
· AIService
Inline image vision + резервный уровень, который предпочитает сильнее, чем слабее
Два ограничения сделали орг-конфигурированное зрение непригодным для целых классов абонентов. 1.Видение было только URL. Каждый абонент должен был встать на публичную, надежную услугу инфраструктура — подписывающий, неаутентифицированная конечная точка обслуживания, вход. Кластерный Сервис не мог использовать зрение вообще, независимо от того, что настроила организация. Адаптеры сейчас строгий — искаженные данные: URI возвращается к обработке URL-адресов, поэтому обычный URL-адрес может Никогда не превращайтесь в сломанную часть. Звонки с подписанным публичным URL без последствий. 2.Выбор уровня отличал только «точный матч» от «всего остального», поэтому свет или Неуравновешенный провайдер может превзойти настроенный HEAVY исключительно по приоритетному заказу - MEDIUM В запросе можно спокойно прочитать документ со слишком слабой для него моделью. Заказ сейчас Запрашиваемый уровень -> более сильные ярусы (сильнейший первый) -> неярусные -> более слабые ярусы. Неполное обслуживание - это неудача, которая дает неправильные ответы, поэтому чрезмерное обслуживание предпочтительнее. За это. Tier остается предпочтением, никогда не фильтром, а PriorityOrder по-прежнему разрывает связи. Разделялся как видением, так и выбором текста, который дублировал старый компаратор. Добавить в избранное **************** Решается с помощью реальной маршрутизации Путь: MlosAiClient сворачивает каждую неудачу в пустой Факультатив, поэтому "нет провайдера" «сконфигурированный» иначе неотличим от «модель ошибается», и ничто не может сказать, что членом которого. Это то, что позволяет UI сказать так.
· kamo-internal
Разделите устройства на «Устройства телефонной системы» + «Мобильные устройства»
На вкладке Устройства теперь есть две подзадачи. Существующая аппаратная таблица PBX/softphone перемещается под «Устройства (устройства) телефонной системы» без изменений; новая вкладка «Мобильные устройства» Мобильные устройства позволяют установить админ: Политика ОРГАНИЗАЦИИ НЕДОСТОЯТЕЛЬНО (разрешенные личные устройства против управляемых компанией) требуемый), сохраненный через существующий патч поля org, и - PER-MEMBER override (или «использовать по умолчанию организацию»), с полученным эффектом политика, показанная для каждого участника, наряду с устройствами, которые каждый участник зарегистрировал (имя, платформа, последний используемый, последний IP). Член COMPANY MANAGED REQUIRED может попасть в организацию только от компании (Android Device Owner зарегистрирован) телефон — приложение полностью скрывает орг на любом другие устройства; управляемые устройства также обновляются бесшумно и работают. Подотбор использует свой собственный парам '?deviceView=', поэтому он никогда не сталкивается с SettingsView «?tab=». При поддержке нового ************* Конечные точки. Примечание: новые ярлыки являются буквальными строками - каталог следующего сообщения живет в отдельный словарь перевода, поэтому ключи должны быть добавлены в последующий текст.
· SecurityService
Оконечные точки Org-admin для политики мобильных устройств + зарегистрированные устройства
Обратная связь нового субтаба «Мобильные устройства» в разделе Настройки → Функции → Телефон Устройства (его родственник «Устройства телефонной системы») остаются на VOIPService и покрывают - Получить **************** Политика дефолта организации + один ряд на члена ACTIVE: их переопределение, эффективное политика и устройства, которые они в настоящее время зарегистрировали (не отозванные) UserDeviceTokens: имя, платформа, последний используемый, последний IP, срок действия. - ПАТЧ**************** Устанавливает или очищает per-member override; null наследует по умолчанию Org. Оригинальное название: MANAGE VOIP SETTINGS (право, которое уже открывает настройки телефона) Страница) плюс режим "тот же орг" или "бог". Сам по себе дефолт орга записывается через существующий патч поля PUT /api/security/org/{id}.
· kamo-internal
Панель приема внутрь принимает электронные таблицы, а не только CSV
Экстрактор теперь читает .xlsx/.xls и обнюхивает формат из самого файла. picker больше не ограничивает CSV, и копия четко говорит, что читается. что PDF-файлов нет, вместо того, чтобы позволить стюарду загрузить его и получить запутанный сбой.
· kamo-internal
Steward Ingestion tab + Прокси-маршруты Каталога/Идентификатора, которых не было
Проглатывание сквозного листа существовало в бэкэнде, и ни один из них не был доступен. Это добавляет одну поверхность, которая проходит по всей цепочке: загрузите лист инвестора. глотать его -> посмотреть, что именно читает экстрактор, клетку за клеткой с ее происхождением -> Утвердить/отклонить -> опубликовать утвержденные строки в качестве ценовой версии таблицы ставок. Панель честно говорит о том, что она на самом деле будет делать: она показывает, сколько утвержденных строк иметь как ставку, так и цену (только те, которые публикуются) и ясно говорить, что половина строки Пропущено, а не угадано. До утверждения каталога ничего не доходит. Также добавляется прокси /api/security/mlos/catalog и /api/security/mlos/identifiers маршруты. Обе панели отгружены без одной, поэтому каждый звонок от них 404'd на следующем Слой и никогда не достигал службы безопасности.
· kamo-shared-library
Тип CATALOG SOURCE assoc для исходных документов каталога MLOS
Листы ставок для инвесторов / LLPA + матрицы приемлемости / политики блокировки должны быть где-то live: проглатывание выдержек из капли и опубликованные рейтинговые версии точек Вернемся к нему как к провенансу. Никакой ассоциативный тип не подходит — MY DOCS — это собственная область человека. SYSTEM WIDE - это шаблоны электронных подписей. CATALOG SOURCE является орг-скопированным и намеренно НЕ удаляемым или перезаписываемым: Цена ссылается на этот файл, поэтому замена или удаление его будет молча переписывать доказательства. За опубликованной версией. Прибавлено последним, так что никаких существующих порядковых сдвигов.
· SecurityService
Gateway для обзора кандидатов + продвижение по тарифным листам
Разоблачает два новых каталога промоушен пишет на консоль стюарда под существующие Стюард-шлюз MLOS, с штемпелем OrganizationId сервера из сеанса оператора: POST **************** POST ****************
· kamo-shared-library
MobileDevicePolicy — org default + per-member override
личный телефон или должен быть на управляемом компанией (зарегистрированный владелец Android-устройства) устройство: MobileDevicePolicy enum: PERSONAL ALLOWED | COMPANY MANAGED REQUIRED - Organization.mobileDevicePolicy - дефолт в масштабах всей организации (НЕ НУЛЛ, дефолты до PERSONAL ALLOWED, чтобы существующие организации не пострадали. - Member.mobileDevicePolicy - недействительный переопределение на одного члена; NULL наследует организацию дефолт, то есть то, как конфигурируется политика «на члена». Эффективное значение для каждого членства - это то, на что выходит мобильное приложение: организация, чья Эффективная политика - COMPANY MANAGED REQUIRED скрыта от переключателя организации на устройство, которое не зарегистрировано как управляемое компанией. Колонки применяются через KamoInitializer.
· SecurityService
Стюард шлюз для приема внутрь (прием + площадь постановки были недоступны)
Проглатывание У службы не было шлюза, поэтому ни один арендатор не мог передать лист тарифа. К экстрактору и кандидатам, которых он подготавливает, не было считывателя на какой-либо достижимой поверхности. Добавить **************** в /api/security/mlos/ingestion: многочастная таблица скорости проглатывания реле плюс два промежуточных чтения (источник документа) кандидаты, история поступления инвестора. Организация Id является СЕРВЕР-СТАМПИРОВАНОЙ от Сеанс оператора на каждом звонке, так что стюард касается только своего арендатора. Промежуточная зона. Чтение тайм-аута составляет 120 — разбор — это работа процессора, а не поиск. imgDatId остается необходимым: это якорь происхождения с адресом контента и Ключ от впуска, поэтому капля сначала хранится через конвейер визуализации.
· kamo-internal
Steward Identifiers tab — определите внешний номер для своего кредита
Закладка «Новые идентификаторы» в консоли ипотечного управляющего: вставьте внешний номер (номер займа, MERS MIN, Дело DU / LP / GUS, конверт электронной подписи ...) и решить его обратно в свой кредит - тот же шлюз входящего поставщика маршрутизатор веб-хук использует, поэтому стюард может преследовать незарегистрированный обратный вызов - плюс реестр идентификаторов за кредит и Вид жизненного цикла. Незакрытый: неизвестный, двусмысленный или другой номер арендатора - все читаются неразрешенными. Проводит новый /api/security/mlos/identifiers proxy. Обычная струнная этикетка (i18n follow-up).
· SecurityService
Идентификатор шлюза — стюард может решить внешний номер для своего кредита
У MLOSIdentifierService не было шлюза, поэтому типизировалась плоскость идентификатора (маршрутизация шлюза каждого входящего). Использование обратного вызова поставщика/агентства/AUS/e-sign было недостижимо с консоли. Новый MlosIdentifierClient Контроллер MlosIdentifier **************************** Решите внешний номер и прочитайте кредит Реестр идентификаторов + события жизненного цикла. Изоляция арендатора: считывание на заем проходит собственную организацию оператора как doc-11 §6.5 Cross-org Guard; /resolve не несет орга ниже по течению, поэтому разрешение посадки в ДРУГОМ ОРГЕ Как сообщается, не решено здесь, а не утечки, что число существует. Богоугодные ворота стюарда. Конфигмап: mlos.identifier.url.
· kamo-shared-library
Ценностный кейс-файл AUS + электронные указатели конвертов для делегирования владельца идентификатора
Завершает поиск владельца-колонны самолет идентификатора MLOS должен маршрутизировать входящие обратные вызовы: **************************** (DU/LP/GUS run handle) и **************************** И орг-агностик, и LIST-возвращение, так что повторный развал И двусмысленное столкновение перекрестных кредитов не закрывается, а не неправильно маршрутизируется. Additive @Query finders; никакой схемы.
· kamo-shared-library
Value-keyed loan-identity finders for identifier owner-delegation (англ.) (недоступная ссылка)
Самолет идентификатора MLOS разрешает обратный вызов входящего поставщика / агентства в кредит; для типов OWNED ELSEWHERE Авторитетная ценность живет на столбце Владельца. Добавляет ценностно-ключевые (орг-агностические) искатели, возвращающие список (Таким образом, двусмысленное столкновение поперечных соргов не закрывается, а не неправильно маршрутизируется): **************************** ************************* / findByLenderLoanNumber / findByMersMin. Обсуждение @Query Finders on Donotmodify repos — без изменения схемы.
· kamo-shared-library
CONDITION ADDED/CONDITION CLEARED канонические шаблоны электронной почты
Половина цикла условий, обращенная к заемщику: два общих шаблона контрольного списка для нового условия Уведомление потребителя. Добавлено в CANONICAL KEYS с помощью ресурсов json+html; семя EmailService Самовосстанавливает их в любую организацию на первой отправке (идемпотент), и она автоматически впрыскивает оргнам/логоурл. Копии есть преднамеренно общий (новый элемент / завершенный элемент - откройте свой портал) - электронная почта никогда не встраивает Специфика состояния; портал — источник истины.
· SecurityService
Окончательная точка предварительного тестирования для входа / регистрации таблетки
**************************** Устраняет орг путем имя хоста (alias-fallback) и сообщает, находится ли его аккаунт в активном Родное испытание, повторное использование **************** (теперь публичный) Таким образом, таблетка соответствует баннеру испытания в приложении. Оригинальное название: InTrial: False для неизвестных доменов.
· kamo-register
Показать ТРИАЛЬНОЕ ИСПОЛЬЗОВАНИЕ ТОЛЬКО таблетки выше Powered-by для пробных организаций
Рефакторы PoweredByKamo в фиксированный стек колонок и самофетчи /api/trial-status/{host} (прокси для SecurityService public trial-status) конечная точка), рендеринг янтарной таблетки выше таблетки Powered-by, когда организация Аккаунт находится в активном судебном процессе. Не удается скрыться.
· kamo-login
Показать ТРИАЛЬНОЕ ИСПОЛЬЗОВАНИЕ ТОЛЬКО таблетки выше Powered-by для пробных организаций
Self-fetches/api/trial-status (прокси-сервер SecurityService public trial-status) конечная точка, разрешенная хостом входа) и отображает янтарную таблетку выше Питается таблетками, когда счет организации находится в активном местном испытании. неудачи Открыт для скрытых.
· kamo-internal
Посмотреть сторонние (заемные) документы в обзоре требований стюарда
Стюард, рассматривающий требование THIRD PARTY (оценка/название/наводнение), может открыть соответствующий документ. Новый двоичный маршрут Next.js транслирует конечную точку контента authz'd на каждый заем; imageApi.viewLoanDocument blob-fetches + открывает inline/downloads; AppRequirementView выводит на поверхность (уже спроектированный) сатисфайерImgId + loanFileUid; DocumentsSection показывает кнопку View на сторонних строках с сатификатором. Обновление SecurityService LOAN-doc контент конечная точка. Обычная струнная этикетка (i18n follow-up).
· SecurityService
Третьи лица (LOAN) для просмотра документов — оценка / название / наводнение
Завершает байтовый путь док-обзора, начатый со зрителем хранилища. LOAN-collection imgs (оценка/название/наводнение) отклоняются общими конечными точками визуализации (закрытие PII по кредиту), поэтому стюард рассматривает третью сторону Удовлетворитель не смог его открыть. Новый GET **************************************** Оператор LOS (LOS VIEW PIPELINE) или член, который является стороной заявки на этот кредит, и запутавшийся заместитель Кредитный чек (LoanDocLoader’s assocObjectId == LoanFileUid check) AssocObjectId. Байты поступают в процесс из ведра с кредитами на визуализацию, поэтому ворота с кредитным файлом - это отсек (не конфиденциальный допуск). ?download=true attaches; inline по умолчанию. Закрывает остаток на стороне кредита ****************************
· kamo-internal
Просмотр / Загрузить документы хранилища в вкладке Docs аккаунта
Превращает этап «Условия / доктора» в реальный цикл обзора. Прокси-маршрут членских документов теперь проходит через не-JSON (двоичные) ответы вверх по течению вместо текста ()-декодирования их; членDocsApi.viewДокумент байты для каждой стороны / контента с сессией *** и открывается в строке (или загружается); AccountDocumentsTab Получает действия View + Download для документа хранилища. Поддерживает новую конечную точку контента SecurityService для каждой стороны. Обычная струнная этикетка (i18n follow-up).
· SecurityService
Per-party vault document viewer — байты были только для записи, теперь доступны для просмотра
Загруженные документы хранилища (pay stub / Gov ID / банковская выписка) были только для записи: общий байт изображения Конечные точки отказа ACCOUNT MEMBER VAULT (закрытие PII на стороне), поэтому стюард принял/отклонил требование Никогда не открывая док, и заемщик не мог пересмотреть представление. Новая конечная точка байта GET **************** Отражает экстракт Охрана: требуется PartyAccess (владеющий член или право LOS) + документ, принадлежащий этой стороне, запутавшийся депутат проверить, затем обслуживает байты IN-PROCESS через VaultDocLoader (MinIO) — так что межпартийные ворота являются отсеком PII, Это не обязательно должен быть тот уровень клиренса (который может потерпеть неудачу даже для владельца). ?download=true attaches; по умолчанию Рядом. Закрывает остаток, указанный в ****************
· kamo-internal
Steward Catalog tab — семенной ценовой пакет + проверьте каталог
Новая вкладка Каталога в консоли ипотечного управляющего: семя первого ценового пакета арендатора с реальным инвестором + идентификаторы продуктов (разблокирует ценообразование) и проверяет инвесторов организации -> продукты -> версии тарифных листов. Проводит новый прокси /api/security/mlos/catalog через каталог Api. Закрывает пробел No1 в аудите — реальный арендатор Каталог был непосевным/недоступным, поэтому ничто ниже по течению не могло стоить. Обычная строка UI (i18n follow-up).
· SecurityService
Каталог шлюза — недостающий прокси, который блокировал цены арендаторов
Каталог был единственным ограниченным контекстом MLOS без шлюза службы безопасности, поэтому каталог арендатора никогда не мог быть ограничен. быть авторизованным/посевным с консоли, а BorrowerQuoteService возвращает NO CATALOG для каждой реальной организации (цена) Сцена мертва. Новый MlosCatalogClient + MlosCatalogController (/api/security/mlos/catalog) читать **************** + составители версий (ценовое семя), ************* Опубликовать, бюллетень. Org SERVER-STAMPED на каждую запись от оператора сеанс (предоставленная клиентом организация перезаписана); богоприемлемые ворота стюарда. configmap: mlos.catalog.url.
· kamo-internal
Loan-sale desk UI — экран управляющего рынками капитала терминала
LoanSaleDeskPanel в Центре управления капиталом и рисками: список обязательств по доставке инвесторов Открытое обязательство **************** и выделение по обязательствам кредиты, доставка, покупка (финансирует кредиты, закрытые -> финансируемые), доска и парные ассигнования. Провода. ************************* Прокси через CapitalMarketsApi. Замена разрыва в дорожной карте В ходе аудита был отмечен как самый большой недостающий экран стюарда.
· DaemonService
Долгосрочная покупка инвестором потребительского форварда в кредитный файл
MlosLoanFundedConsumer подписывается **************************** (прочный) daemon-mlos-loan-funded) и пересылает каждую покупку в конечную точку трубопровода SecurityService SecurityPipelineClient, продвигающий кредит CLOSED -> FUNDED Воспользоваться общим IdempotentEventProcessor core (dedup + nak-retry + DLQ) в точности как MlosClosingCompletedConsumer; На стороне сервера (уже заработано = 200 noop). SecurityPipelineClient Generalized (закрытие завершено + финансируется, тело) Ключевая закрытиеPackageId -> контекст. configmap: daemon.jobs.mlos-loan-funded enabled, max-attempts 5.
· SecurityService
Прокси-сервер для аренды + CLOSED->FUNDED трубопроводный шов
- **************** обобщил шов eClose в общий аванс() + добавил POST/финансированный (Закрыт ->Финансирование на покупку инвестора). Тот же самый идемпотентный/по меньшей мере один раз контракт (уже целенаправленный нооп, Пропуск неправильного прекодера, удерживаемый блокатор, переходный 5xx. Запрос поля закрытияPackageId -> общий контекст. - **************** конечные точки в таблице обязательств (open/list/get/allocate/) **************** (SERVER-STAMPED) с сессии; открывающий штамп в виде createdByMemberId.
· kamo-shared-library
Обязательства по типу событий, финансируемых за счет кредита (таблица для продажи кредитов)
- MlosCommitment.boardedAt: встроенный маркер для кредитов PURCHASED, поданных на обслуживание (внешняя передача системы обслуживания - заблокированная ножка). - MlosEventTypes.LOAN FUNDED ******************* Выделение средств на инвестора покупка; трубопроводный шов потребляет его для авансирования кредита CLOSED -> FUNDED Запуск KamoInitializer завершен — mlos commitment (+ boarded at) и mlos commitment allocation являются живыми.

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