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

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

Что нового.

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

  1. · kamo-shared-library

    Примирить другие доходы. * факты в другие доходы строки

    Расширяет сверку фактов с другим подразделением Income.*: документы о присуждении/выплате (социальное обеспечение, пенсия / выход на пенсию, алименты на ребенка) посадить реальный OtherIncome ряд с картой OtherIncomeSource id + месячная сумма. Idempotent on (заемщик) источник). Источником является детерминированное отображение инъекций экстрактора из документа. Тип — никогда не догадывайтесь; ИИ читает только сумму.

  2. · SecurityService

    Авто-классифицировать загрузки, чтобы поймать неправильные загрузки документов

    Дешевый LIGHT-уровень «что это за документ?» на первой странице классифицирует Загрузите в грубое семейство и сравните его с заявленным типом требования. При несоответствии ответ экстракта помечает его (обнаруженный тип + типMismatch), так что Заемщику говорят: «Это похоже на выписку из банка» вместо неправильного файла Молчаливо ничего не извлекая. Только консультации — добыча все еще продолжается.

  3. · SecurityService

    12-месячная банковская выписка + письменное Голосование

    Расширяет экстракцию зрения еще на два типа документов заемщика, которые повторно используют существующие Словарь сверки (нулевой риск сверки): BANK12MO читается как актив Отчет (актив.*), VOE W читает работодатель + валовой ежемесячный доход (занятость.*).

  4. · SecurityService

    Многостраничное извлечение PDF-документа (фаза 2)

    Путь видения был только изображение-URL, поэтому многостраничный PDF заемщика (банк) Заявление, налоговая декларация) читать нельзя. Теперь: VaultDocPublicController обслуживает ?page=N, переводя эту страницу PDF в PNG fly (через ConversionService/render-page) — провайдер-агностик, так как многие Поставщики видения принимают только URL-адрес изображения, а не исходный PDF-файл. Non-PDF/no-page Запросы остались без изменений. Img→MinIO загружается в общий VaultDocLoader. - DocVisionExtractionService читает PDF-страницу за страницей (включено в 15), слияние Поля на страницах, сохраняя высочайшую уверенность в прочтении каждого пути. Одно изображение читается как одна страница (неизменное поведение). ConversionPageClient вызывает ConversionService (повторно использует conversion.service.url).

  5. · ConversionService

    Full-res per-page PDF-рендер для извлечения документов

    Добавлена DocPageRenderService + POST/api/conversion/renderpage (страница N → PNG на странице WEB 150 DPI, ограничение 300) и /page-count. В этом и заключается качество чтения. 300px миниатюрный путь: конвейер извлечения видения-документа заемщика многостраничное заявление / возврат в один разборчивый PNG на страницу, чтобы любой поставщик видения (Все принимают URL-адрес изображения; только некоторые принимают исходный PDF-файл) могут читать каждую страницу. Аддитивные — существующие конечные точки конверсии неизменны.

  6. · kamo-shared-library

    Capture + шифрование полного SSN в приложении заемщика

    Положение заявки нуждается в REAL Social заемщика, а не в последней 4 (кредитор) Не может ничего сделать с 4 цифрами. Borrower.ssnEncrypted существовал, но никогда не был Только ssnLastFour был заселен. Теперь: - BorrowerDTO получает ПИСАНИЕ ТОЛЬКО "ssn" (полное) поле - только входящий, никогда Сериализирован обратно; читает все еще разоблачать только ssnLastFour. - BorrowerSectionService шифрует поставляемый полный SSN в состоянии покоя (необязательно вводится) SecretCipher — присутствует в SecurityService, отсутствует/безопасен в таких контекстах, как: KamoInitializer) и выводит последние 4. Заплатка, которая опускает SSN, теперь сохраняет Вместо того, чтобы стирать последние 4. - ssnEncrypted/itinEncrypted @Size(32) -> 256, так что GCM-base64 шифротекст соответствует 256-угольная колонка (без изменения схемы).

  7. · SecurityService

    Optional ?phone = обратный поиск по GET /api/security/leads

    Вкладка CRM софтфона разрешает активный номер абонента лиду. Добавить Дополнительный телефон RequestParam, который фильтрует список лидеров по каноническим каналам (последний 10-значный) матч против PHONE PERSONAL/PHONE WORK Проекция LeadListDTO - нет расширения PII, та же неназначенная видимость как нефильтрованная сетка.

  8. · kamo-internal

    Закладка Wire CRM Integration для реальных данных

    Замените макетную вкладку CRM живой панелью обратного просмотра телефона. Решите активный номер вызова / dialpad на CRM-лидер через leadsApi.searchByPhone (новый ?phone=фильтр на GET/leads). Показать сопоставленное лидерство: контакт, статус, цифры кредита, назначенные офицер; быстрые действия Call / Open Lead / Log Note Расписание Callback (повторно используемый CallbackDialog); недавняя деятельность Медиа-канал. Обратная связь, когда нет свинцовых матчей: адресная книга Контакты, затем внутренний каталог участников (как на стороне клиента, так и при повторном использовании существующих данных); Пути), показанные в качестве удостоверения личности. - Новые помощники app/lib/phone.ts (каноническое соответствие цифр) и app/lib/directoryLookup.ts.

  9. · EmailService

    Поддержка «разблокировать навсегда» согласия удаленного изображения

    Добавляет согласие wildcard (разрешено / всегда разрешено), чтобы участник мог выбрать Отображение внешних изображений в каждом сообщении. Повторное использование существующей таблицы согласия Зарезервированный ключ-сообщение — никаких изменений схемы. Пост Конечная точка /remote-image-consent всегда принимает масштабы для этого глобального выбора.

  10. · kamo-internal

    Добавить опцию «разблокировать навсегда» для заблокированных внешних изображений

    Ворота внешних образов теперь предлагают два действия: Unblock (это сообщение, как и другие). и разблокировать навсегда, который отображает внешние изображения в каждом сообщении Вперед. Unblock навсегда закрывает диалог подтверждения и Сохраняется на стороне сервера (кросс-устройство); трансляция разблокирует другие открытые сообщения немедленно.

  11. · SecurityService

    Другое предпочтительное имя вилки новый свинец

    Действительно другое предпочтительное имя (по сравнению с бесчувственным к случаю внешним) Расстояние подстрижено) — это другой человек, поэтому создайте совершенно новый лид вместо Переименование существующего — он становится текущим лидером GUID через FindLeadByGuid. uid-desc заказ. Trivial re-casing/spacing («джон» ≤ «джон» ≤ «джон») не Вилка. Применяется как к пути создания POST, так и к пути обновления PATCH (юридический путь). Именные ворота держат то же самое предпочтительное имя, поэтому они никогда не виляются.

  12. · MediaService

    Непосредственно доберитесь до собственного офицера заемщика, без поддержки правых ворот

    Откажитесь от требования ACCEPT SUPPORT TICKETS от присвоения: Назначенный кредитный офицер заемщика доступен независимо от того, являются ли они настроенный агент поддержки (идентификатор участника уже был проверен как ведущий) Офицер службы безопасности. Держите проверку членства в организации в качестве ремня безопасности, чтобы Подделанный клиент не может перенаправить сеанс другому члену организации; неизвестный / кросс-орг ids возвращаются к ожидающей очереди по умолчанию.

  13. · APIService

    Proxy GET /lo-presence для MediaService

    Опорно-сессионный прокси уже перенаправляет необработанное тело, так что объединенный виджет AgentMemberId достигает MediaService нетронутым. Добавьте прокси-сервер так Портал заемщика может запросить, является ли назначенный им сотрудник по кредиту онлайн.

  14. · MediaService

    Direct-to-assigned-LO маршрутизация + конечная точка присутствия LO

    Полномочия объединенного виджета LO/chat портала заемщика: ********************** Назначает публичный чат билет на агента SPECIFIC (должностное лицо заемщика) вместо ожидающая очередь, когда этот сотрудник является подходящим агентом поддержки для темы (добавляет их к сеансу чата + уведомляет их; записывает выбор на кругло-робиновый трекер). Возвращается к нулю, чтобы абонент сохранял поведение в очереди. ********************** принимает предпочтительное участие и маршруты к этому офицеру; только пингует организацию, ожидающую очереди, когда она не направляется. - PublicChatController: читает предпочитаемый AgentMemberId от органа сессии и Добавляет GET /lo-presence?memberId= → {online} (PresenceService.isOnline) Виджет показывает реальное состояние офицера в Интернете и автоматические покрытия с ИИ, когда они уходят.

  15. · SecurityService

    Экспозиция назначенного члена LO id + телефон для прямого чата + присутствие

    Объединенный виджет LO/chat должен (а) нацеливаться непосредственно на назначенного сотрудника. (b) запрашивают живое присутствие сотрудника. Обе системы MediaService имеют ключ на идентификаторе участника, поэтому /portal/assigned-lo возвращает loMemberId (принимающий офицерский идентификатор участника) и loPhone (с Запись пользователя сотрудника) вместе с существующим именем/NMLS/email.

  16. · SecurityService

    Назначение кредитного сотрудника на имя-только лид (до электронной почты / телефона)

    Портал заемщика уже создает лид в тот момент, когда дается имя, но EnterAssignmentPoolIfActionable сохранила лидерство только по имени вне аккредитива Бассейн (LO не мог связаться с бесконтактным заемщиком, поэтому принятие просто сожгли деньги). кредит. Эта причина больше не удерживает: названный свинец покрывает назначенный LO. Заемщик на портале (LoContactCard и грядущий слитый LO/chat виджет) Имя само по себе является контактной точкой. Признайте, что имя ведет к бассейну, так что Офицер может быть назначен как можно раньше - до прибытия электронной почты / телефона.

  17. · EmailService

    Логотип Inline-CID (SVG->PNG), который отображается в Gmail; удаляет содержимое сообщения; сохраняет случай из домена

    FIX (безопасность): сообщения электронной почты не несут тело сообщения - удалить messagePreview from template vars, ledger, samples and the settings toggle. - FIX (logo): логотипы SVG, которые Gmail/большинство клиентов отказываются отображать. EmailLogoService растеризует орг SVG до PNG (Batik) и встраивает его в строку через multipart/related (cid:emaillogo/maillogomark), Redis-cached 24h, Параллельный выбор, изящный возврат к URL SVG при любом сбое. - FIX (от чехла): displayCasedDomain переделывает этикетку бренда из организации название (prefix match, ccSLD-aware), поэтому с сайта KamoCRM.com не kamocrm.com.

  18. · kamo-internal

    Отсутствующие сообщения электронной почты глубокие ссылки, auth-continuity stash, непрочитанный чат auto-popup, настройки уведомлений

    DeepLinkToolBootstrap открывает окна инструментов ?openChat/?openTicket login round-trip через сессию Хранилище тайника захвачено до аутентификации и сохранено стирка /logout; AutoOpenUnread Чаты всплывают непрочитанные сеансы чата один раз tab-session (cap 6, чат-only, deep-link deduped); (email on/off, предварительный просмотр, тихие часы) постоянное уведомление.email.messages MemberUiPreference; сеансы/чат прокси теперь пересылает категории фильтра.

  19. · MediaService

    Уведомления по электронной почте с пропущенным сообщением (чат + поддержка) с подавлением каждого источника

    Прочный чат-уведомитель NATS на chat.session.> MESSAGE EMAIL NOTICES ledger (PENDING/SENT, per-sender для чата, per-ticket) для поддержки), 60-е подметают с наличием ворот, тихие часы, окно дайджеста, Retry-with-backoff (закрыт). Электронные письма через шаблоны EmailService с X-Internal-Auth; HTML-переменные; Member-> Резерв электронной почты пользователя; Неосведомленные получатели. Стражи Судо: олицетворение больше не пишет присутствия Очищает/создает сигналы чтения. По умолчанию (chat.email.enabled=true).

  20. · EmailService

    Переменные выборки редактора для шаблонов уведомлений пропущенных сообщений

    Предварительный просмотр образцов для MISSED CHAT MESSAGE и SUPPORT TICKET REPLY incl. raw vs. html-варианты отправителя/титула, используемые каноническими органами.

  21. · kamo-shared-library

    Упущенное сообщение электронной почты реестр уведомлений + канонические шаблоны

    MessageEmailУведомление (MESSAGE EMAIL NOTICES, уникальный получатель+источникKey+канал) с состояниями подавления PENDING/SENT, репозиторий incl. sudo-safe markRead/ Скачать бесплатно MISSED CHAT MESSAGE + SUPPORT TICKET REPLY (зарегистрировано в CANONICAL KEYS), беззвучный поиск MediaSessionMuteRepository.

  22. · EmailService

    Почта Microsoft 365 через приложение Microsoft Graph (нулевая настройка почтового ящика)

    Почта Microsoft 365 теперь читает/отправляет через приложение Microsoft Graph (Mail.ReadWrite/Mail. Отправить разрешение приложения) вместо IMAP — одно приложение учетные данные охватывают все текущие и будущие почтовые ящики в целом, поэтому добавление Почтовый ящик в Камо просто работает: нет New-ServicePrincipal, нет грантов на почтовый ящик. - GraphMailProvider (новый) Граф **************** отправка/проект/поиск, адаптация непрозрачных графических идентификаторов к существующим числовым идентификаторам Контракт через GraphMessageIdService. Складки нормализованы до INBOX/Sent/Drafts/ Junk/Trash/Archive с помощью локально-независимого разрешения id. Attachment $select использует файлAttachment type-cast для ContentId. GraphMessageIdService (новый): стабильный 52-битный синтетический uid; гоночно-безопасный ON CONFLICT upsert. Microsoft365Provider: расширяет GraphMailProvider; почта использует только приложение Graph токен (арендатор с домена почтового ящика, креды с платформы OAuth реестра); admin ops сохраняет делегированный токен. - ProviderHttpClient: перегрузки типа URI (без повторного кодирования RestTemplate) + бинарные getBytes. - MailProviderResolver: MICROSOFT 365 больше не строит креды IMAP аутентификации; удаленная ныне мертвая проводка с платформой-решателем. KamoMail и другие поставщики IMAP (Exchange/Google/Zoho/IceWarp) контроллер, метаданные и интерфейс неизменны (контракт с числовым управлением) сохранившийся. Нужны новая таблица общего доступа (KI run) и Graph Mail. ReadWrite + Почта. Отправьте разрешение на подачу заявки + согласие администратора на арендатора M365.

  23. · kamo-shared-library

    GraphMessageIdMap для Microsoft 365 Graph mail id mapping

    Карты непрозрачных идентификаторов сообщений Microsoft Graph для стабильных синтетических цифровых UID почтовый ящик, поэтому почтовые ящики Graph проходят через существующий почтовый контракт с числовым идентификатором (контроллеры, потоки/поиск/метаданные, интерфейс) без изменений. The Синтетический uid - это 52-битный хэш, хранящийся в безопасном целочисленном диапазоне JS; безопасный для гонки ON CONFLICT upsert обрабатывает одновременное первое видение. Добавочный стол **************** — созданный KI, без миграции данных.

  24. · DaemonService

    Bump GENERATOR VERSION 7 - заполните фауну GBIF во всех городах

    Двигатель птицы теперь потребляет блок фауны, поэтому заполните его везде: заполнять рабочие места, повторно дренировать несвежие ряды в 24 / мин (в первую очередь запрашиваемые пользователями города), так что реально Местно-обычные птицы сходятся через ~14 ч, в то время как гильдия обитания двигателя В то же время в резерве есть еще не отобранный или GBIF-тонкий город.

  25. · DaemonService

    Образцы местных птиц из GBIF в городскую фауну

    FaunaClient (зеркала PetrologyClient): грань возникновения GBIF на классе Aves in a ~27 км коробки вокруг города → топ ~10 видов по рекордному количеству → решить таксономию (научное + общее имя, семья, порядок) + нормализованный вес изобилия. Верифицированный реальный и специфический для среды обитания (Tucson→Mourning Dove/Gila Woodpecker/Verdin/) Колибри Анны; Тихоокеанское побережье → Западная чайка / баклан; Эверглейдс → Белый Ибис. Бесплатно/открыто, нет ключа; распределение птиц не в данных о Земле КамоУниверс. Проводимый в CitySceneSampler в качестве дополнительного дополнительного блока «фауны». Портал Карты семейства/заказа птичьего двигателя → архетип полета + силуэт клиентской стороны, так Этот слой остается тупым кэшированным источником данных. Генератор Версия без изменений: фауна приземляется на свежеиспытанные города сейчас и заполняется на бугорок, когда рендер корабли с двигателями (избежит преждевременной зачистки GBIF в 20 км для данных, которые пока ничего не показывают).

  26. · DaemonService

    63 фирменных флоры США-экорегиона (полностью населяют биомы)

    Города в штате выглядели одинаково, потому что флора возникла всего из 15 грубых по умолчанию биомов. (+1 Mojave override) В настоящее время курируются настоящие виды подписей для 63 экорегионов США (RESOLVE): Сьерра-Невада → гигантская секвойя/пондероза/сахарная сосна; побережье Н.Кал → побережье красного дерева/пихты дугласа; Центральная долина → долина/голубой дуб; Соноран → сагуаро/пало верде/окотильо; Чихуахуан → агава/ ocotillo; Скалистые горы → аспен/энгельмановская ель/лоджпол; Аппалачский → белый дуб/тулиповый тополь/ гикори; Эверглейдс → мангровая / кипарис / сабаловая пальма; Пини Вудс → лоблолли / длинный лист; равнины редкий бур дуб/хлопковое дерево; и т.д. Таким образом, различные экорегионы одного государства в настоящее время делают различные деревья. GENERATOR VERSION 6 - повторный образец.

  27. · DaemonService

    Петрология (Макрострат) + дороги (.trf) + водопады (.hyf) — уровень выше систем КамоУниверс

    GLiM никогда не загружался (PANGAEA 404s; сама KamoUniverse возвращается по умолчанию) литология), поэтому петрология происходит от Macrostrat Global Geologic-map API: per-point Литология → грубый рок-класс **************** **************************** Дорожная сеть .trf и коляски водопада .hyf Они были запечены на диске, но не использовались — теперь сэмплер читает их тоже: самая большая дорога Класс + немощеный флаг рядом с городом, и ближайший водопад. Генератор Версия 2 → все профили городов повторно.

  28. · DaemonService

    Семплер City-Scene над земляной плиткой KamoUniverse

    - EdtTile: байт-точный считыватель для плитки EDT4 (Copernicus DEM + ESA WorldCover +) WorldClim + HydroSHEDS + RESOLVE экорегионы + маска океана, карта памяти, смещение считывает на слой (KBs на точку, а не на плитку 210 МБ). Проверено против реального N34-W117 Мохаве плитка. - EcoResolver: eco biomes.json (экспортировано дословно из листвы мира вселенной.rs +) eco table.rs) → палитра флоры каждого экорегиона. ECO 433 → Дерево Джошуа, без дублирования CitySceneSampler: координаты → версированный сценно-факторный документ + силуэт горизонта SW, климат + Коппен, побережье / река / озеро + азимут, Смесь наземного покрова на 1/5/15 км, палитра флоры, построенная плотность + темное небо. построенный Центроиды возвращаются в доминирующий близлежащий экорегион. CitySceneryFillService + CitySceneryFillJob: дренажный ПЕНДИНГ (и устаревший генератор) city scene profile rows на 1-минутном тике. k8s: только для чтения /mnt/worldchunks Earthdata крепление (на обоих узлах), SCENERY ENABLED.

  29. · SecurityService

    Экспозиция полных геополей + профиль города-сцены API

    Geoip/Me возвращается **************************** (уже загруженный Single block+location lookup, ранее выброшенный) — силы городских сцен и Персонализация клиента при нулевой стоимости нового запроса. - CitySceneryService/Controller: GET/scenery/profile/{state}/{city} возвращает Городские семплированные сценические факторы, материализующие ряд ПЕНДИНГ на первый взгляд (портал) отображает сцену состояния между тем; разрешает координаты из газетчика, Caller lat/lon hint или ZIP с заявленной собственностью. Внутренний PATCH перекрывает железную дорогу куратор художественного направления (X-Internal-Auth, Constant-time).

  30. · kamo-shared-library

    CitySceneProfile entity + индексы GeoLite city-lookup для городских сцен портала

    CitySceneProfile (city scene profile): факторы окружающей среды в каждом городе (террен/рельеф/силуэт, климат/коппен, гидрология, экорегион RESOLVE + Цветочная палитра, смесь наземного покрова, построенная/темное небо) в качестве версии контракта JSONB, материализовался холодный путь от земляной плитки КамоУниверс. UUID PK, PENDING →READY status, art overrides layer, generator version for re-sample. - GeoLiteBlock: geo name id + postal code indexes so a gazetteer city / stated ZIP решается на репрезентативную координату; репозитория блок/локация получает искателей. - Исправлено два несвежих теста, основанных на подсчете (список изображений, канонические шаблоны).

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

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

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