Додавання сторінок налаштування облікового запису для телефону + питання безпеки (SP3)
Adds************************************************************************************************************************************************************...
Дріт реальний API виклики в /відновити сторінку (SP3)
Замінює всі підробкиSubmit() шпильки з відновленням. Додати SMS ОТП Перевірка фази, введення електронної пошти насіннєвого матеріалу, покрокова інструкція через...
Add AccountSettingsController + Service for phone + security questions (SP3)
Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).
Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)
Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPSer...
Add InternalAuthFilter + POST /api/bulktext/send for service-to-service SMS (SP3)
Додавання репозицій + репозиції; bump до 1.3.0 (SP3)
Adds PasswordResetToken, SmsOtp, RecoverySession, AccountVerificationCode JPA суб'єкти з відповідними репозиторійами для відновлення SP3.
Додати SecurityQuestionКаталоговий енум + кв1/2/3 + насінняPhraseHash до Користувача (SP3)
Add SP3 recovery table DDL + User column additions to SchemaCleanupRunner
Перегляд маршруту за допомогою модуля браузера (частина SP2)
EmailTemplateBrowser тепер має модальний перегляд, тому Менеджер більше не вимагає перехоплення запитів на попередній перегляд рядків і перенаправлення для реда...
Дріт EmailTemplateEdit to real API
Hydrates від TemplateApi.get, зберігає через шаблонApi.update. Категорії випадаючий API-накопичувач з вбудованою категорію-відтворюваною доступністю. Сортування...
Дріт електронної поштиTemplateBrowser в реальний API + додати вкладку системних за замовчуванням
Замінює ~140 рядків даних mock з шаблономApi.list() дзвінків. Кондиціонер п'ятий вкладок 'System За замовчуванням' з'являється тільки для адміністраторів верхнь...
Додати файл
Відкриється на перегляді рядків. Backend-rendered через шаблонApi.preview(); результат відображається в пісочниці iframe для ізоляції стилю. Відповідає точний ш...
Додати шаблонApi + КатегоріяApi + зміннаContracts клієнтських модулів
************* кінцеві точки з ідентифікаторами TypeScript. змінніДзеркала Contracts SP1 ШаблонKeys Javadoc, щоб редактор змінного пікера показує контракти на ша...
Wire EmailTemplateSeedClient into ****************
Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...
Add EmailTemplateCategoryController REST endpoints
**************** CRUD. Delete response includes reassignedCount — the number of templates that became uncategorized as a result of removing the category. Sessio...
Add EmailTemplateController REST endpoints + DTOs
Exposes /api/email/templates/* CRUD + preview + duplicate + reset-to-default + service-to-service /send + /seed-org/{orgId}. Top-level orgs (no parent) addition...
Add InternalAuthFilter for service-to-service endpoints
Validates X-Internal-Auth header on /api/email/templates/send and /api/email/templates/seed-org/* paths. Other paths bypass this filter (user session auth handl...
Додати e-mailTemplateCategoryService — CRUD для категорій org-scoped
Унікальність унікальності для об'єктів, що використовуються в сервісному шарі (зменшує частковий унікальний індекс в ДБ). Сортування nulls категорії id на ураже...
Add EmailTemplateService — CRUD + send + seed + reset-to-default
Core orchestrator for transactional email. sendToUser resolves the template, renders subject/body, picks the org's primary domain from Organization.domains, and...
Додати NoReplySenderService для 'NoReply@{domain}' з-під меню
Єдине джерело правди для транзакційної електронної пошти з адрес. Приймає доменний рядок, нижня кришка-normalizes it, повертає "NoReply@<domain>". Дзвінки повин...
Додати підписку TemplateRenderer для {{var}}
Безперервний regex-на основі рендерера. Змішані вари замінюють порожній рядок і випромінює журнал WARN з шаблономKey + orgId для attribution. Немає HTML-розгорт...
Add EmailTemplateSeedRunner for SYSTEM + per-org seeding
Runs at @Order(20) on KamoInitializerService startup. Loads canonical templates from kamo-shared-library resources; upserts SYSTEM rows (no clobber); backfills ...
Add partial unique indexes + CHECK constraints for email_templates
Hibernate ddl-auto can't generate partial unique indexes or computed-CHECK constraints. This commit adds them via the existing idempotent DDL runner pattern aft...
Додавання CanonicalTemplateLoader + CanonicalTemplate запис
Переглянути три шаблони (WELCOME, PASSWORD RESET, EMAIL VERIFICATION) від класпатських ресурсів ****************************************************************...
Додавання канонічного HTML + JSON для WELCOME, PASSWORD RESET, EMAIL VERIFICATION
Вихідний вміст для системних рядків. Завантажено в KamoInitializerService Запуск CanonicalTemplateLoader і UPSERTed в електронну пошту templates. Частина ПК1.
Додавання електронної пошти
Магазини один системний ряд за шаблон key (org id NULL, is system TRUE) плюс один клон за шаблон key. Soft-reference org id/category id. ДБ- керовані мітки часу...
Додати електронну поштуTemplateCategory + репозиторій
Org-scoped категорії для шаблонів електронної пошти. М'який BIGINT org id (без FK) відповідає існуючим шаблонам. Унікальність унікальності для об'єктів Case-ine...
Додати шаблонStatus enum + TemplateKeys константи для транзакційних шаблонів
Декларує стани життєвого циклу REQUIRED/CUSTOM/ARCHIVED та три необхідні ключі шаблону (WELCOME, PASSWORD RESET, EMAIL VERIFICATION). Змінні контракти для кожно...
Seed KamoCRM with ALL_WORK_ELIGIBLE on fresh installs
The createOrg() helper applies this single argument to both ageReqTypeMember and ageReqTypeTeamMember; consistent with platform convention. Pairs with KamoCRMAg...
Add one-time runner to migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Conditional idempotent UPDATE runs on service startup; WHERE clause checks the expected old value so re-runs are no-ops. Errors are logged and swallowed — start...
Інтеграція логотипів + точні / реінтеграційні метадані
Інтеграція сторінок і hub тепер відображають логотипи постачальників (відновлення існуючої інформації **********************************************************...
Розгортання / Роздроблення всіх постачальників домашньої сторінки
Вирівнює сторінку /інтеграції з фактичними інтеграціями, які піддаються Головна сторінка (TechStackBanner). Додавання 28 нових інтеграційних сторінок що продукт...
Додати додому Mortgage брокери галузевої сторінки
Нова сторінка галузевих рішень на / розчинах / морквах-брокерах для іпотечних брокери та кредитори. Дотримуйтесь чесної платформи: ядро CRM + коми + докс + штуч...
Додати 92 SEO-сторінки — галузі, інтеграції, глянцевий
Реалізовує підпис 1 плану розширення контенту SEO: 3 новий контент підсистеми загальною площею 92 нових crawlable URL плюс 3 hub сторінок. 1. / розчини — 36 ці...
Add geo-database-url to analytics-secret for CockroachDB geolite lookup
Kamo Analytics uses this URL to look up visitor IP→country/region/city from the **************** tables. Uses kamo user with password auth and sslmode=require (...
Додати k8s проявляється для kamo-nowww (catch-all IngressRoute, пріоритет 1)
Додайте камоно-ноєвропейський реdirect посередник (apex/unknown→www, ACME прохід, 308)
Вилучити будинки / додаток / включити / інсайт з обов'язкових псевдонімів DNS
Add public known-aliases endpoint for kamo-nowww build-time bake-in
Додати тонкий KamoCRM за посиланням на реєстраційні сторінки
Дзеркальний значок, що надходить в камо-логін. З камо-регістра подається на кожному біло-лабораторному домені, що створює стабільний dofollow Backlink від кожно...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
