KamoCRM

Live Change Loglog

Все функции, исправления и улучшения, размещенные как корабли. Ничто не сдерживается для запуска.

17,500
Общие изменения
5,986
Особенности
5,284
Исправления
30
Проекты
Фильтр по проекту
Все проекты17,500AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices740MCPGatewayService251MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Фильтр по типу
Все типыBuild16CI523Chore774Docs3,254Feature5,986Fix5,284Other994Performance165Refactor278Revert23Style42Test160Upgrade1
April 18, 2026
Featurekamo-shared-library

Добавить восстановительные объекты + репо; удар до 1,3.0 (SP3)

Добавлены PasswordResetToken, SmsOtp, RecoverySession, AccountVerificationCode Субъекты JPA с соответствующими хранилищами для потока восстановления SP3.

Kamo·6mo ago
Featurekamo-internal

Предварительный просмотр маршрута через модаль Browser (часть SP2)

EmailTemplateBrowser теперь владеет модалем Preview напрямую. Менеджеру больше не нужно перехватывать запросы предварительного просмотра на уровне строк. Перена...

kamo·6mo ago
Featurekamo-internal

Wire EmailTemplateПравить на реальный API

Гидраты от templateApi.get, сохраняет через templateApi.update. Категория dropdown - это API-ориентированный с встроенной доступностью для создания категорий. П...

kamo·6mo ago
Featurekamo-internal

Проводите EmailTemplateBrowser до реального API + добавьте вкладку «Системные по умолчанию»

Заменяет ~ 140 строк макетных данных вызовами templateApi.list(). Условный Пятая вкладка «System Defaults» появляется только для администраторов верхнего уровня...

kamo·6mo ago
Featurekamo-internal

Добавить модаль EmailTemplatePreview

Открывается на предварительном просмотре. Backend-rendered via templateApi.preview(); Результат отображается в песочнице iframe для изоляции стиля. Соответствуе...

kamo·6mo ago
Chorekamo-internal

Удалить неиспользованный EmailGeneralManager.tsx (~560 строк мертвого кода)

Компонент нигде не импортировался. Его броски (отскок обработки, Отписаться, отслеживать доставку, по умолчанию с электронной почты) не было бэкэнда и Это были ...

kamo·6mo ago
Featurekamo-internal

Добавить шаблонApi + категорияApi + переменныеКонтракты клиентских модулей

Обертывает /api/email/templates/ и ******************* Конечные точки с набранными помощниками TypeScript. Переменные контракты зеркала SP1 TemplateKeys Javadoc...

kamo·6mo ago
FeatureSecurityService

Wire EmailTemplateSeedClient into ****************

Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...

Kamo·6mo ago
FeatureEmailService

Add EmailTemplateCategoryController REST endpoints

**************** CRUD. Delete response includes reassignedCount — the number of templates that became uncategorized as a result of removing the category. Sessio...

Kamo·6mo ago
FeatureEmailService

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...

Kamo·6mo ago
FeatureEmailService

Add InternalAuthFilter for service-to-service endpoints

Проверяет заголовок X-Internal-Auth на /api/email/templates/end и /api/email/templates/seed-org/* Paths. Другие пути обхода этого фильтра (пользовательская сесс...

Kamo·6mo ago
FeatureEmailService

Добавить EmailTemplateCategoryService — CRUD для категорий, связанных с оргами

Нечувствительная к делу уникальность имени в одной организации, применяемая на уровне обслуживания (соответствует частичному уникальному индексу в DB). Удаление...

Kamo·6mo ago
FeatureEmailService

Добавить EmailTemplateService — CRUD + send + seed + reset-to-default

Основной оркестратор для транзакционной электронной почты. sendToUser решает шаблон, отображает субъект/тело, выбирает основной домен организации из Организации...

Kamo·6mo ago
FeatureEmailService

Добавить NoReplySenderService для NoReply@{domain} с адреса

Единый источник правды для транзакционной почты с адресов. Принять a строка домена, нижняя строчка нормализует его, возвращает «NoReply@<domain>». Абоненты долж...

Kamo·6mo ago
FeatureEmailService

Добавить TemplateRenderer для замены {{var}}

Безгосударственный рендеринг на основе регекса. Недостающие варсы заменяют пустые струны и Издать журнал WARN с помощью templateKey + orgId для атрибуции. HTML ...

Kamo·6mo ago
FixSecurityService

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 ...

Kamo·6mo ago
FeatureInitializerService

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 ...

Kamo·6mo ago
FixSecurityService

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.

Kamo·6mo ago
FeatureInitializerService

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...

Kamo·6mo ago
Chorekamo-shared-library

Bump kamo-shared-library версия 1.2.0 для дополнений SP1

Добавляет EmailTemplate, EmailTemplateCategory, TemplateStatus, TemplateKeys, CanonicalTemplate, CanonicalTemplateLoader и канонические ресурсы HTML.

Kamo·6mo ago
Featurekamo-shared-library

Добавить CanonicalTemplateLoader + CanonicalTemplate

Читает три обязательных шаблона (WELCOME, PASSWORD RESET, EMAIL VERIFICATION - от классовых ресурсов **************************** потребляемый KamoInitializerSe...

Kamo·6mo ago
Featurekamo-shared-library

Добавить канонический HTML + JSON для PASSWORD RESET, EMAIL VERIFICATION

Исходный контент для строк системы. Загрузка в KamoInitializerService Запуск CanonicalTemplateLoader и UPSERTed в email templates. Часть SP1.

Kamo·6mo ago
FixEmailService

Переименовать почтовый ящикId→id и providerStatus→status в ответе списка почтовых ящиков

Выравнивайте имена полей с внешними ожиданиями для списков почтовых ящиков участников.

Kamo·6mo ago
Featurekamo-shared-library

Добавить EmailTemplate entity + репозиторий

Хранит одну строку SYSTEM для шаблона key (org id NULL, is system TRUE) плюс Один клон в группе на шаблон key. Soft-reference org id/category id. ДБ- Временные ...

Kamo·6mo ago
Featurekamo-shared-library

Добавить EmailTemplateCategory entity + репозиторий

Org-scoped категории для шаблонов электронной почты. Soft BIGINT org id (без FK) Соответствует существующим моделям. Нечувствительная к делу уникальность имени ...

Kamo·6mo ago
Featurekamo-shared-library

Добавить TemplateStatus enum + константы TemplateKeys для транзакционных шаблонов

Объявляет требуемые / заказные / приобретенные состояния жизненного цикла и три Требуются ключи шаблона (WELCOME, PASSWORD RESET, EMAIL VERIFICATION). Переменны...

Kamo·6mo ago
FeatureInitializerService

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...

Kamo·6mo ago
RefactorInitializerService

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 ...

Kamo·6mo ago
FeatureInitializerService

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...

Kamo·6mo ago
Fixkamo-marketing

Замените все экземпляры логотипа CSS-фильтра белым SVG

Навигация, SubNavigation, Footer, SubFooter и Preloader все используемые тот же разбитый фильтр яркости-0 инвертного рисунка. Заменить на Логотип полностью белы...

Kamo·6mo ago
Fixkamo-marketing

Используйте белый логотип SVG в нижнем колонтитуле вместо фильтра CSS

То же исправление, что и нав — CSS-фильтр на img внутри фонового фильтра ненадежен на iOS Safari.

Kamo·6mo ago
Fixkamo-marketing

Охрана цветовой схемы с !важным против темы CSS override

DynamicMetaLoader может вводить удаленный CSS, который выигрывает каскад. Добавить Важность обеспечивает цветовую схему: темнота никогда не может быть преодолен...

Kamo·6mo ago
Fixkamo-marketing

Исключите нижние колонтитулы и навигационные ссылки из TouchOptimized Min-Height

TouchOptimized установила minHeight:44px на всех элементах <a> короче 44px, включая нижние навигационные линии (~20px). Это происходило во время гидратации на ж...

Kamo·6mo ago
Fixkamo-marketing

Используйте белый логотип SVG вместо CSS-фильтра

Фильтр CSS на Img внутри фонового фильтра ненадежен на iOS Safari. Создайте логотип-full-white.svg со всеми заполнениями #ffffff и загрузите его напрямую — ни ф...

Kamo·6mo ago
Fixkamo-marketing

Вариант темного режима Lock Tailwind на основе класса, никогда не медиа-запрос ОС

Tailwind v4 по умолчанию темный: утилиты реагируют на цветовую схему предпочтений (предпочтение ОС). @variant override гарантирует темноту: классы активируются ...

Kamo·6mo ago
Fixkamo-marketing

Используйте стиль встроенного фильтра на ссылке логотипа для надежного белого рендеринга

Классы фильтров Tailwind на элементах img несовместимы в мобильных браузерах. Встроенный стиль на якорном элементе гарантирует яркость (0) инверт (1) применяетс...

Kamo·6mo ago
Fixkamo-marketing

Силовая темная цветовая схема, поэтому браузер никогда не применяет рендеринг в светлом режиме

Переход от «светлого только» к «темному» в globals.css, генерации Viewport html-стиль элементов — это останавливает браузер от рендеринга SVG и нативного пользо...

Kamo·6mo ago
Fixkamo-marketing

Предотвращение рендеринга логотипа за строкой nav на мобильных устройствах

Обертка div с фильтром CSS создала новый контекст стека, который противоречил с фоновым фильтром заголовка в мобильных браузерах, заставляя логотип рисовать На ...

Kamo·6mo ago
Fixkamo-marketing

Решите прокрутку и мобильную вырезку на JumpToBar и PreviewBanner

Добавить overflowY: скрытый во внутренний контейнер JumpToBar для предотвращения вертикальной прокрутки Разрешить контент PreviewBanner обернуть на мобильный те...

Kamo·6mo ago
Fixkamo-marketing

Заменить пространство-y-4 встроенным гибким зазором в списках ссылок нижнего колонтитула

Tailwind space-y-4 использует :where() (специфичность 0) Нагрузка на жесткое обновление вызывает несогласованное вертикальное расстояние. ряд Стили встроены в S...

Kamo·6mo ago
FixKlusterServices

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 ...

Kamo·6mo ago
Fixkamo-marketing

Добавить отсутствующий запрос Интеграция i18n ключа по всем локализациям

Кнопка «Отправить запрос» в разделе «Необходима пользовательская интеграция?» КТА на /интеграции возвращался к исходному ключу **************** Потому что ключ ...

Kamo·6mo ago
Featurekamo-marketing

Логотипы интеграции + точные /интеграционные метаданные

Страницы интеграции и концентратор теперь отображают логотипы поставщиков (используя существующие **************** Активы на домашней странице TechStackBanner у...

Kamo·6mo ago
Featurekamo-marketing

Расширение / интеграция для всех поставщиков, перечисленных на главной странице

Выравнивает страницу /интеграции с фактической интеграцией Главная страница (TechStackBanner). Добавлено 28 новых страниц интеграции Что на самом деле предлагае...

Kamo·6mo ago
Featurekamo-marketing

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

Страница нового отраслевого решения /решения / ипотечные брокеры брокеров и кредиторов. Следуйте честному фреймингу платформы: CRM + comms + docs + AI применяет...

Kamo·6mo ago

Как вы видите судоходство?

Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.

Начните бесплатно навсегдаПосмотреть цены