KamoCRM

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

Каждая особенность, исправление и улучшение, опубликованные, как это корабли. Ничего не удерживается для запуска.

17,662
Итого изменений
6,080
Особенности
5,341
Постоянные расходы
30
Проекты
Фильтр по проекту
Все проекты17,662AIService261APIService174BillingService158ConversionService110DaemonService138DocsService223ESigService91EmailService587InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,874TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,413kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,682kamo-signer-monorepo57kamolos114
Фильтр по типу
Все типыBuild16CI523Chore776Docs3,257Feature6,080Fix5,341Other998Performance165Refactor278Revert23Style42Test162Upgrade1
August 12, 2026
FeatureBillingService

Один план на организацию, 25-местный потолок предприятия и способ перестать платить

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

Kamo·2mo ago
FeatureSecurityService

Эстафета уровня одобрения с ролью, урегулированной из прав

Роль определяется здесь, от прав абонента и их отношения к Субъект - никогда из органа запроса. Тело, которое может назвать свою роль Пусть кто-нибудь будет пре...

Kamo·2mo ago
Featurekamo-shared-library

APPROVE TIMECARD ADJUSTMENTS (197) и FINALIZE PAY PERIODS (198)

Разделить таким образом разделение обязанностей выразимо: тот, кто одобряет временную карту, не является автоматически тот, кто может закрыть период оплаты. MAN...

Kamo·2mo ago
Featurekamo-shared-library

Машина официального утверждения

Работник представляет -> менеджер утверждает -> заработная плата закрывается, по решению владельца. Четыре правила, соблюдаемые в чистой таблице переходов и за...

Kamo·2mo ago
Featurekamo-internal

Вкладка Timecard и вкладка настроек HRS Timecards

Вкладка участника - это только самообслуживание и закрыта для идентификации, точно так же, как и юридическое соответствие: его конечные точки не принимают идент...

kamo·2mo ago
Featurekamo-internal

/hr/attendance roster and the NavTop clock control

Заменяет корпус HrTabPlaceholder. Маршрут, вход HR TABS, MANAGE TIMECARDS Ключи i18n уже существовали; здесь ничего не регистрируется. Часы реестра выводятся н...

kamo·2mo ago
Featurekamo-shared-library

Доступ к базе данных-часам в punch-хранилище

Каждый момент удара исходит от DB, а не от JVM: стручки перезапускают и узел Часы перекошены, и запись заработной платы, порядок которой зависит от того, какая ...

Kamo·2mo ago
Featurekamo-internal

BFF маршрут для /api/security/timecards

TimecardService - это ClusterIP без входа, поэтому без этого маршрута Функция 404 в браузере, в то время как каждая услуга полезна и каждая сборка Зеленый — точ...

kamo·2mo ago
FeatureSecurityService

Ретрансляция службы безопасности в службу Timecard

Граница авторизации. TimecardService содержит данные и двигатель, но не Сессия; это проводит сессию и решает, кто может что делать, а затем передает. The Двигат...

Kamo·2mo ago
Featurekamo-shared-library

Рабочий день, этап 2 трубопровода

Разрешенные интервалы становятся за бизнес-дату секундами, готовыми к выделению. Интервал SPLIT на каждой границе рабочего дня, которую он пересекает: смена 22...

Kamo·2mo ago
August 11, 2026
FeatureInitializerService

Регистрация KI и схема миграции

Таблицы приходят из ddl-auto; этот бегун поставляет только то, что Hibernate не может - частичные уникальные индексы на одну открытую первичную уступку и одну о...

Kamo·2mo ago
Featurekamo-shared-library

Границы рабочей недели и рабочего дня

Рабочая неделя - это овертайм FLSA - фиксированный, регулярно повторяющийся 168-часовой рабочий день. Срок – это не срок оплаты. Двухнедельный период длится ров...

Kamo·2mo ago
Featurekamo-shared-library

Разрешение интервала, этап 1 расчетного трубопровода

Удары становятся разрешенными пролетами. Чистые, полные и более ценные типы, а не Таким образом, каждая стадия является проверяемой без контекста настойчивости....

Kamo·2mo ago
Featurekamo-shared-library

Непирамидирующий распределитель сверхурочных с предустановленной юрисдикцией

Правила - это DATA на форме RequirementRule, которая уже используется в этой библиотеке. Ветви кода, поэтому Калифорния — это строка конфигурации вместо перезап...

Kamo·2mo ago
Featurekamo-internal

Доставить часовую зону Org в браузер

Модель организации-клиента не имела поля часового пояса, использования Formatters и next-intl. Они оба настроены без TimeZone, а бэкэнд-звонок TimezoneService 4...

kamo·2mo ago
FeatureSecurityService

****************************

timezoneService.ts называет эту конечную точку с момента ее написания и существования. В отсутствие Java-сервиса клиент проглотил 404 и решил перейти на UTC. Ме...

Kamo·2mo ago
Featurekamo-shared-library

WorkSite, якорь юрисдикции

Рабочий сайт, а не рабочее место: TeamMember.workLocation Office/remote enum и второй символ под этим именем столкнутся в каждом грепе. ZoneId - это бесплатная...

Kamo·2mo ago
Featurekamo-shared-library

Изменения в области занятости и назначения с даты вступления в силу

Удары будут ссылаться на требование, а не на члена. Вот что делает параллельные позиции, 29 CFR 778.115 средневзвешенная регулярная ставка, многопрофильная юрис...

Kamo·2mo ago
Featurekamo-shared-library

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

На этой платформе до этого предприятия не существовало никакой компенсации работникам. Требуется: сверхурочные рассчитываются по регулярной ставке FLSA, требует...

Kamo·2mo ago
Featurekamo-shared-library

Append-only punch log and audit event (недоступная ссылка)

Оба устройства обслуживаются интерфейсами NARROW Repository, а не JpaRepository: deleteAllInBatch. и объемный JPQL обходит обратные вызовы сущности, поэтому фор...

Kamo·2mo ago
Featurekamo-shared-library

Решитель временных зон

Официальный заказ рабочего сайта -> член -> организация -> UTC. Сайт выигрывает потому, что Правила оплаты труда следуют там, где работа выполнена. Произведенн...

Kamo·2mo ago
Featurekamo-shared-library

Охранник отказа WORM

@Column (обновляемый = ложный) НЕ обеспечивает неизменность - Hibernate молча Опускает колонку из UPDATE, и устаревшая запись выглядит так, как будто это удалос...

Kamo·2mo ago
Featurekamo-shared-library

Domain enums и point-in-time версия

Все номера @Enumerated (STRING) на сайте вызова: ORDINAL испускает цифру диапазон CHECK, содержащий AND, который включается в список SchemaCleanupRunner Он созн...

Kamo·2mo ago
Featurekamo-internal

Покажите участников, которые платят за свое место, и прекратите предлагать второе

Конечная точка покрытия поставляется с ключами перевода и без компонента, поэтому Вопрос, на который он отвечает — кто платит за мое место — все еще не был зада...

kamo·2mo ago
FeatureBillingService

Пусть план группы будет отменен, и прекратите двойную оплату за одного человека

Три пробела в том, что было отправлено последним: Группа с планом никогда не может быть удалена. Удалить() Отказаться пока жив подписка существует — правильно,...

Kamo·2mo ago
Featurekamo-internal

Группа, на которую вы можете положить людей и заплатить за

Создание группы произвело имя и ничего больше — ни одного способа добавить кого-либо, ни одного способа. Чтобы его менеджер выбрал план, некуда платить. Открыти...

kamo·2mo ago
FeatureBillingService

Заставьте группы по выставлению счетов работать до конца и прекратите взимать плату за самообслуживание ни за что

Группа теперь может собирать людей, покупать план на собственной карточке своего менеджера. его местами. Ничего из этого не существовало: только операции создав...

Kamo·2mo ago
FeatureInitializerService

Схема для групп, которые действительно могут платить

Три бегуна: BillingGroupRosterMigration создает Billing pay group members - кого группа Это значит заплатить, прежде чем что-то купить. Org id денормализуется ...

Kamo·2mo ago
Featurekamo-shared-library

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

Можно назвать группу и ничего больше. Его подписка никогда не была установлена. Ничего в платформе под названием setSubscription — так что подписка uid осталась...

Kamo·2mo ago
Featurekamo-internal

Редактор курса HR, сетка заданий и игрок курса участника

/hr/training заменяет свой заполнитель двумя подзадачами, которые запрашиваются, и Назначенная тренировочная сетка получает колонку действий, которую она сдержи...

kamo·2mo ago
FeatureDaemonService

Почасовая тренировка напоминания клеща

Час в 10, в отличие от ежедневной проверки в 13:00. Обучение напоминает каждой организации в ее собственной локальной отправке Час, и Organization.timezone охва...

Kamo·2mo ago
FeatureDocsService

Полная версия HR Training Backend

Авторство курса, публикация, назначение, игрок-член, оценка на стороне сервера, доказательства WORM и Напоминаем, что сканирование — весь модуль позади /api/doc...

Kamo·2mo ago
Featurekamo-shared-library

Четыре обучающих шаблона электронной почты

Тот же постоянный / пунктирный ключ, как и юридическая семья HR: CONSTANT - это стебель имени файла, ШаблонKey платформы SENDS представляет собой пунктирное зна...

Kamo·2mo ago
Featurekamo-internal

Один член поверхности для обоих обязательств, один значок для обоих

На вкладке соответствия участника было две подзадачи, До и Завершенные, для одного вида обязательства. Это государство, а не вид — поэтому они сливаются в фильт...

kamo·2mo ago
FeatureDocsService

Обучающий API для участников

Регистрация com.kamo.z.shared.hr.training в @EnableJpaRepositories — @EntityScan настолько широка, что Сущности найдены в любом случае, но репозитории нет. Две...

Kamo·2mo ago
FeatureInitializerService

Создание схемы обучения HR

Регистрация com.kamo.z.shared.hr.training в явном списке @EnableJpaRepositories — @EntityScan широк, поэтому объекты найдены в любом случае, но репозитории нет,...

Kamo·2mo ago
Featurekamo-shared-library

Потоковый документ загружает и добавляет схему обучения HR

ImageService получает загрузкуDocumentStreaming, потоковый аналог загрузкиDocument. Буферная форма вообще не может выразить большую загрузку: читать InputStream...

Kamo·2mo ago
FeatureInitializerService

Создайте billing pay groups и отмените наследственное столкновение

Создавая его в миграцию, а не оставляя его на ddl-auto, который произвел Полупостроенная таблица, когда объект был направлен на уже существующие Billing groups.

Kamo·2mo ago
FeatureEmailService

Размер каждого почтового ящика против хранилища организации

Dovecot теперь применяет ограничение на почтовый ящик, и ничто не устанавливало колонку. Читает. Это пишется ночью, после снимка хранилища, так что емкость Сего...

Kamo·2mo ago
FeatureKlusterServices

Принудить квоту хранения на входящую доставку и прекратить доставку пароля DB

Объектное хранилище уже отказывает в контенте, который заставит организацию пройти мимо его. Потолок, который охватывает каждый домен, проходящий через магазин ...

Kamo·2mo ago
FeatureKlusterServices

Принудить квоту хранения на входящую доставку и прекратить доставку пароля DB

Объектное хранилище уже отказывает в контенте, который заставит организацию пройти мимо его. Потолок, который охватывает каждый домен, проходящий через магазин ...

Kamo·2mo ago
Featurekamo-internal

Пусть участник лицензирует свое место на консоли

Панель, которая замыкает петлю самооплаты. Он появляется только там, где Политика организации позволяет это, и только для людей, которые еще не покупают. от име...

kamo·2mo ago
FeatureBillingService

Скажите людям, что их платеж не удался, и отложите подписку

Туннель, которого не было. invoice.payment failed написал строку и вернулся: Не было настроено ни электронной почты, ни флага, ни изменения состояния, ни Billin...

Kamo·2mo ago
FeatureInitializerService

Добавить часовые колонки

past due since и suspension notified at оба являются недействительными. Нуль означает платить и Пока не сказано, соответственно.

Kamo·2mo ago
Featurekamo-shared-library

Неудачный платеж что-то значит

PAST DUE считается полностью живущим в обоих лицензионных платежах без метки времени и без кепки, поэтому клиент, чья карта не удалась, сохранял все функции до ...

Kamo·2mo ago
FeatureBillingService

Пусть член покупает свое собственное место и закрывает отверстие для параметра тела

Самостоятельной оплаты внутри консоли не было. Все на платёжной поверхности Аккаунт в форме — вы уже должны провести строку AccountMember перед Plans & Биллинг ...

Kamo·2mo ago
Featurekamo-internal

Пусть владелец решает, кто может платить, и управляет группами, которые это делают

Владелец имел ровно один рычаг над самооплатой, и это была неправильная форма: необратимый жест поощрения, без возможности заранее сказать, был ли он Разрешено ...

kamo·2mo ago
FeatureBillingService

Политика организации и Billing Group API

Кто внутри организации может заплатить Камо, теперь подотчетен и установлен. Оба Маршруты организованы и, следовательно, намеренно за пределами /api/billing/acc...

Kamo·2mo ago
Featurekamo-internal

Планы и платежная консоль, которую владелец может найти

Нигде в продукте не было возможности купить первую подписку. Списки планов Доступ к ним был возможен только по подписке, которую вы уже имели, поэтому организац...

kamo·2mo ago
FeatureBillingService

По умолчанию новая целевая организация подписки для абонента

Первая покупка не имеет существующей подписки на копирование целевой организации, Требование его безусловно - это то, что заставило создать его из консоли. Нево...

Kamo·2mo ago

Подобно тому, что вы видите доставку?

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

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