Додавання репозицій + репозиції; 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 для ізоляції стилю. Відповідає точний ш...
Видалити невикористану електронну поштуGeneralManager.tsx (~560 рядків мертвого коду)
Компонент ніколи не був імпортований в будь-яку точку. Його окуляри (здійснення відмов, Відстеження, відстеження доставки, за замовчуванням з електронної пошти)...
Додати шаблон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-розгорт...
Append Z to dateCommitted so JS parses it as UTC
LocalDateTime.toString() produces no timezone designator, causing JavaScript's new Date() to treat the UTC value as local time and display timestamps 7-8 hours ...
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 ...
Convert PT midnight cutoff to UTC for today-count query
Commits are stored in UTC but the cutoff was a naive LocalDateTime in PT, causing yesterday-evening PT commits (00:00–06:59 UTC) to be counted as today.
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...
Bump kamo-shared-library версія 1.2.0 для SP1 доповнення
Додавання електронної поштиTemplate, EmailTemplateCategory, TemplateStatus, TemplateKeys, CanonicalTemplate, CanonicalTemplateLoader, канонічні HTML ресурси.
Додавання CanonicalTemplateLoader + CanonicalTemplate запис
Переглянути три шаблони (WELCOME, PASSWORD RESET, EMAIL VERIFICATION) від класпатських ресурсів ****************************************************************...
Додавання канонічного HTML + JSON для WELCOME, PASSWORD RESET, EMAIL VERIFICATION
Вихідний вміст для системних рядків. Завантажено в KamoInitializerService Запуск CanonicalTemplateLoader і UPSERTed в електронну пошту templates. Частина ПК1.
JavaScript licenses API Веб-сайт
Вирівнюйте назви поля з передовими очікуваннями для списку поштових скриньок членів.
Додавання електронної пошти
Магазини один системний ряд за шаблон 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...
Tighten KamoCRMAgeReqUpdateRunner per review
- Restore Javadoc paragraph explaining @Order(10) rationale. - Test now references the UPDATE_SQL constant directly instead of duplicating the SQL string, so ...
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...
Замініть всі екземпляри логотипів CSS-фільтра з білим SVG
Навігація, підвігація, нижній колонтитул, і Перевантажувач тим самим зламаний фільтр яскравості-0 ввімкнути шаблон. Замінити логотип-повний білий.
Використовуйте білий SVG логотип в нижній частині замість фільтра CSS
Same Fix as the nav - CSS filter on img всередині backdrop-filter unreliable on iOS Safari.
Охоронний колір-схема з ! Імпортант на тему CSS override
Динамічний MetaLoader може вводити віддалений CSS, який виграє каскад. Додати !important забезпечує колір-схема: темний ніколи не може передаватися на тематични...
Виключіть нижній колонтитул і нав’язування з TouchOptimized min-heightforce
TouchOptimized було встановлено minHeight:44px на всіх <a> елементи коротше, ніж 44px, включаючи нижній колонтитул (~20px) Цей ран під час зволоження жорсткий о...
Використовуйте попередньо відредагований білий SVG логотип замість фільтра CSS
Фільтр CSS на img всередині резервного копіювання ненадійний на iOS Safari. Генерувати логотип-фул-білий. З усіма заповненнями, встановленими до #ffffff і наван...
Lock Tailwind темний режим варіант на основі класу, ніколи не користувацькі медіа запиту
Tailwind v4 за замовчуванням темний: утиліти для відповіді на волі-color-scheme Важкий суперрайд забезпечує темне: класи тільки активуються при класі .dark В да...
Використовуйте стиль inline фільтра на посилання на логотип для надійного білого рендерингу
У мобільних браузерах невідповідні класи фільтра Tailwind на елементах img. Внутрішній стиль на якірному елементі гарантує яскравість(0) інверт(1) діє скрізь.
Примусовий темний колір-схема так веб-переглядач ніколи не застосовує легкий режим рендерингу
Зміна від 'light тільки' до 'dark' у світі.css, генеруватиПерегляд і html стиль елемента — це зупиняє браузер від рендерингу SVGs та рідного UI в режимі світла,...
Запобігання логотипу від рендерингу за навпіл на мобільний
Ім’я користувача: http://www.facebook.com/ з резервним фільтром заголовка на мобільних браузерах, викликаючи логотип, щоб фарбувати за фоном заголовка. Використ...
Розчинити прокрутку і мобільний кліпінг на JumpToBar і PreviewBanner
- Додайте переповнення: приховані до перемички внутрішньої ємності JumpToBar для запобігання вертикальної прокрутки -Дозвоніть PreviewBanner зміст для обгортанн...
Замініть простір-й-4 з вбудованим флексовим зазором на списку посилань нижньої колонки
Tailwind Space-y-4 використовує : де() (специфічна 0) які раси з CSS завантаження на тверде освіження, що викликає неспроможне вертикальне змішування. Інлайн ст...
Set Traefik externalTrafficPolicy=Local to preserve client IP
With the default "Cluster" policy, kube-proxy SNATs external traffic to the node IP before forwarding to Traefik. That caused Traefik to see the node IP as the ...
Додати відсутність запитуІнтеграція i18n ключ по всій місцевості
Кнопка «Видалити запит» під назвою «Зроблено індивідуальну інтеграцію? КТА на /інтеграції був паданий назад до сирого ключа *********** оскільки ключ не визначе...
Інтеграція логотипів + точні / реінтеграційні метадані
Інтеграція сторінок і hub тепер відображають логотипи постачальників (відновлення існуючої інформації **********************************************************...
Розгортання / Роздроблення всіх постачальників домашньої сторінки
Вирівнює сторінку /інтеграції з фактичними інтеграціями, які піддаються Головна сторінка (TechStackBanner). Додавання 28 нових інтеграційних сторінок що продукт...
Додати додому Mortgage брокери галузевої сторінки
Нова сторінка галузевих рішень на / розчинах / морквах-брокерах для іпотечних брокери та кредитори. Дотримуйтесь чесної платформи: ядро CRM + коми + докс + штуч...
Як ви бачите відправлення?
Все це прибуває в робочому просторі. Почати безкоштовно план і читати цю сторінку знову в місяць.
