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 25, 2026
FixKlusterServices

Настойчивый контакт с магией = исправление памяти и блокировка SIP-сканера в startup.sh

Введите [res pjsip] contact=memory в sorcery.conf перед началом Asterisk; бэкэнд по умолчанию sorcery-astdb SQLite бесшумно отбрасывает все контакты REGISTER - ...

Kamo·6mo ago
Fixkamo-internal

Sub-tab content fills full content-area width

Drop the centered max-width constraint (was 920 / 1200 / 680 / 720 depending on tab) on SubTabShell. The page already lives inside SettingsView's content column...

kamo·6mo ago
FixEmailService

Fix attachment parsing and hasAttachment false positives

Three fixes to EmailImapService: 1. toEnvelope: narrow multipart check to multipart/mixed only — plain HTML+text emails (multipart/alternative) no longer sh...

Kamo·6mo ago
Fixkamo-internal

Add download button to classic view attachment section

The classic view (MessageBrowser) had its own attachment list that was missing the download button — only the conversation view was fixed previously. Also align...

kamo·6mo ago
April 24, 2026
FixEmailService

Add com.kamo.z.shared.commerce to EnableJpaRepositories scan

**************** (required by **************** in the shared library) lives under com.kamo.z.shared.commerce but was not included in the JPA repository scan, ca...

Kamo·6mo ago
Fixkamo-internal

Правильный макет, прокладка и логотипы провайдера

Установка/установка интервалов: - Все шесть вкладок (Поставщики, Расширения, Пользователи телефонов, Устройства, Голосовая почта, Здоровье) Теперь оберните их с...

kamo·6mo ago
FixEmailService

Correct field name and type in getFromAddresses response

Backend was sending 'email' key but frontend expected 'address', and sent type 'shared_mailbox' when frontend expected 'shared'. Also fixes hasMailboxes flag wh...

Kamo·6mo ago
Fixkamo-internal

Load FROM addresses from accessible mailboxes and aliases

Replaces the broken getFromAddresses() endpoint (which sent 'email' instead of 'address') with getAccessibleMailboxes() + listMemberAliases(), matching the same...

kamo·6mo ago
FixInitializerService

CockroachDB-совместимый синтаксис DROP INDEX CASCADE

CockroachDB отклоняет альтернативную таблицу ... DROP CONSTRAINT для ограничений UNIQUE: нереализованный: не может отказаться от ограничения UNIQUE «uk org oau...

Kamo·6mo ago
ChoreVOIPService

Скачать VOIPService Spec Md из репо

Per project convention (.md-файлы не поставляются с сервисами).

Kamo·6mo ago
FixVOIPService

Включите com.kamo.z.shared.commerce в репозиторий

Последняя камо-общая библиотека распространяется **************************** (donotmodify.dao.services), в зависимости от конструктора ************************...

Kamo·6mo ago
Featurekamo-internal

Закладки конфигурации платформы (General / VOIP & SMS / System User / Advanced)

Обертки **************** в SettingsView с четырьмя вкладками: Общий: обзор платформы только для чтения - общие организации, активный телефон-сервер Количество ...

kamo·6mo ago
Fixkamo-internal

Добавить кнопку загрузки вложения и разъединить пометку как чтение

Добавьте кнопку Download icon в каждый ряд вложений, чтобы пользователи могли нажать кнопку Загрузка файла вместо открытия только в новой вкладке - Decouple mar...

kamo·6mo ago
FeatureDaemonService

Глобальная синхронизация VOIP (Admin-tunable interval)

VoipGlobalSyncJob тикает каждую минуту и на каждом клеще читает SystemConfiguration Singleton решает, нужна ли глобальная синхронизация: Если voipSyncEnabled яв...

Kamo·6mo ago
FeatureSecurityService

Конечные точки System-config + Platform-overview

Поверхность конфигурации всей платформы, закрытая существующим владельцем верхнего уровня Защита (соответствует шаблону SystemUserConfigController’s requireTopL...

Kamo·6mo ago
FeatureVOIPService

Контроллеры ресурсов на уровне одной организации + агрегатная система организации + внутренняя синхронизация

Per-instance ресурс CRUD (расширения / пользователи / устройства / голосовая почта): - VoipExtensionsКонтроллер на **************** Контроллер на /api/voip/inst...

Kamo·6mo ago
FeatureVOIPService

Multi-instance provider refactor + full FreePBX + Flowroute SMS

Core model change: one org → many VoipProviderInstances (was: one per org). Every provider API call is now instance-scoped. PhoneProvider interface: - New meth...

Kamo·6mo ago
FeatureInitializerService

Миграция между телефонами и провайдерами SMS

Запускается после Hibernate ddl-auto: обновление создает новые таблицы (VOIP PROVIDER INSTANCE, BULK TEXT PROVIDER INSTANCE, PHONE EXTENSION, PHONE END USER, PH...

Kamo·6mo ago
Featurekamo-shared-library

Многоканальный телефон / SMS провайдера основа схемы

- Переименовать VoipProviderConfig → VoipProviderInstance; выбросить UNIQUE(org id), добавить example name, config json, last sync at, last sync error. - Переим...

Kamo·6mo ago
FixKlusterServices

Переместить hostPath из MinIO (клон FUSE) в локальный /var/lib/pbx

MinIO через клон FUSE не поддерживает POSIX chmod или symlink() Требуется модульной системой FreePBX. Изменились все FreePBX и MariaDB Объемы hostPath от /mnt/s...

Kamo·6mo ago
FixKlusterServices

Wrap fwconsole/amportal via php for MinIO FUSE hostPath

/var/lib/asterisk поддерживается MinIO через клон FUSE. POSIX chmod, поэтому скрипты fwconsole не могут быть выполнены на этом томе. Startup.sh создает оберточн...

Kamo·6mo ago
FixKlusterServices

Добавить preStop hook и terminationGracePeriodSeconds

Контейнеры застряли в терминации из-за фона Asterisk Процессы продолжали работать после выхода apache2ctl (PID 1). Престоп-хук посылает SIGTERM до Asterisk, пре...

Kamo·6mo ago
FixKlusterServices

Добавить bootstrap.php требуется регенерировать /etc/freepbx.conf

Установщик пишет freepbx.conf с datasource='' и require once для bootstrap.php, от которого зависит загрузка класса FreePBX. Наша регенерированная версия отсутс...

Kamo·6mo ago
FixKlusterServices

Регенерировать /etc/freepbx.conf для перезапуска

/etc является эфемерным (не хост-Пат), поэтому /etc/freepbx.conf написан Установщик теряется при каждом перезапуске. Добавлена ветвь для регенерации это от env ...

Kamo·6mo ago
FixKlusterServices

Bypass start asterisk, дождитесь розетки управления

start asterisk использует «pidof asterisk», который возвращает ложный положительный результат на под Перезапускается, в результате чего петля ожидания звездочки...

Kamo·6mo ago
FixKlusterServices

Запустите Asterisk в фоновом режиме, подождите его, затем запустите установщик

Начальная точка.sh не запускает установщик FreePBX — он только запускается. услуг. Startup.sh теперь повторяет этапы настройки точки входа и запускает Asterisk ...

Kamo·6mo ago
FixKlusterServices

Пусть точка входа обрабатывает установку, а не start.sh

Установщик FreePBX (php install -n) требует наличия Asterisk. бегать. Наш стартап.sh называл его до того, как началась Asterisk. "Ошибка в общении со звездочкой...

Kamo·6mo ago
FixKlusterServices

Маунт /etc/asterisk, а не /etc для исправления ошибки simplexml

Установка полного /etc в качестве тома hostPath портит расширение PHP Загрузка даже после посева из изображения — simplexml load file не определен во время уста...

Kamo·6mo ago
FixKlusterServices

Уменьшите пределы процессора до соотношения 2:1, чтобы устранить чрезмерную приверженность

Док 4→1 ядро, джибри 4→2 ядра, либретранслировать 2→1 ядро, ядро бергамота 2→1, ядро поворота 1→0,5. Сохраняет ~7,5 ядер от пределов узлов.

Kamo·6mo ago
FixKlusterServices

Переход на escomputers/freepbx:17 с правильной архитектурой

у уставшего / freepbx нет изображения FreePBX 17 (заброшен с 2022 года). escomputers/freepbx:17 (обновленный Apr 2026, Asterisk 21 + FreePBX 17) отдельный модул...

Kamo·6mo ago
ChoreKlusterServices

Бросьте общедоступный вход администратора; доступ через http://k[12]m1:8088

UI администратора теперь только внутри LAN / WireGuard на порту 8088 (FreePBX) nginx связан непосредственно с hostNetwork. Нет маршрута Traefik, нет Let's Encry...

Kamo·6mo ago
FeatureKlusterServices

Развернуть FreePBX 17 + Jigasi SIP мост на k1m1 и k2m1

FreePBX (tiredofit/freepbx:17-latest) работает с hostNetwork, поэтому SIP/RTP Сохраняет реальные IP-адреса клиентов, прикрепленный один на узел через nodeSelect...

Kamo·6mo ago
Fixkamo-internal

Parse formData перед отправкой для предотвращения бинарной коррупции

request.text() на multipart/form-data портит бинарные байты файлов; Передайте парсированные FormData как init.body так впередToApi пропускает запрос.text() и по...

kamo·6mo ago
Fixkamo-internal

Удалить MinHeight: 100vh, вызывая двойные полосы прокрутки

Высота внешней коробки: 100vh превысила кальций макета (100vh - 56px) контейнер, который вызвал как прокрутку уровня браузера, так и внутреннюю Перелив: быть ак...

kamo·6mo ago
Refactorkamo-internal

Заголовок страницы редактора Drop, переименованный в General sub-tab

- Удалить заднюю стрелку IconButton + значок экрана + заголовок + подзаголовок Верхняя часть редактора модели безопасности / мастер-модели. Кнопка отмены в липк...

kamo·6mo ago
Fixkamo-internal

Бросьте устаревший заголовок колонки Pay из таблицы моделей безопасности

Когда поле «Самоплачиваемый работник» Kamo Fees было удалено, соответствие TableCell в корпусе строки был удален, но строка заголовка все еще имела <<Член коман...

kamo·6mo ago
FixSecurityService

Реальная причина ошибки GoDaddy 400

GoDaddy теперь возвращает HTTP 400 с кодом = UNABLE TO AUTHENTICATE «Плохой запрос: плохой запрос», когда учетная запись не соответствует их текущему Производст...

Kamo·6mo ago
Fixkamo-internal

Censorship sub-tab теперь делает ATF первым в спецификации

Реорганизует цензурные субтаб-карты в соответствии с запрашиваемым заказом: 1 Алкоголь, табак и огнестрельное оружие 2 Разрешенные возрастные диапазоны членов 3...

kamo·6mo ago
Featurekamo-internal

Platform-admin view, pagination, live search, filters, org logos

Администраторы платформы (владелец организации верхнего уровня) теперь видят каждую организацию в системе через Новые конечные точки /api/security/org/all-netwo...

kamo·6mo ago
FeatureSecurityService

Добавить GET/api/security/org/all-networks для администраторов платформ

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

Kamo·6mo ago
Featurekamo-internal

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

- Редактор модели безопасности на **************** теперь разделен в четыре подзадачи: общая (базовая информация, видимость, кто может создать), Настройки платф...

kamo·6mo ago
RefactorInitializerService

Drop teamMemberPayFeesSetting от DataLoader

Провайдер «Мастер-модель» больше не пропускает снятые трехгосударственные платежи настройка при создании мастер-модели безопасности — поле ушло от ChildOrgSecur...

Kamo·6mo ago
RefactorSecurityService

Drop teamMemberPayFeesНастройка параметра

Зеркало изменения общей библиотеки — SecurityModelController MasterModelController и AppliedModelController перестали читать и писать Разработчик:MemberPayFeesS...

Kamo·6mo ago
Refactorkamo-shared-library

Разработчик:MemberPayFeesSetting

Политика самооплаты сотрудников ушла — рефактор BillingGroup обрабатывает выставление счетов по группам, а не по модели безопасности. Удалить The TeamMemberPayF...

Kamo·6mo ago
FixSecurityService

Eager-load domains via findByIdWithDomains, drop @Transactional

@Transactional на методе контроллера держит соединение DB открытым Вся загрузка MinIO, а также риск LazyInitializationException внутренняя GetOrganizationById т...

Kamo·6mo ago
Fixkamo-internal

Удалить дубликат ?type= из apiPath

forwardToApi уже добавляет входящий поиск (?type=...) запрос URL. Встраивание ?type = второй раз в apiPath ?type=full?type=full на бэкэнде, поэтому Spring парси...

kamo·6mo ago
Fixkamo-internal

Восстановите коммутатор почтового ящика для идентификаторов членов int64

Используйте getMemberIdString для почтовых ящиков/member fetch, нормализуйте id/mailboxId от EmailService и отключить коммутатор от доступного личного почтовые ...

kamo·6mo ago
Featurekamo-internal

Видимость Alias UI + кнопка ветвей поддоменов на странице типов ветвей

SubdomainBranchesDialog: Редактор Alias заменил список чипов списком строк в стиле таблицы Члены и члены команды Checkboxs per alias — администраторы, контролир...

kamo·6mo ago
FeatureSecurityService

Фильтрация видимости Alias + автопроверка владения поддоменом

Контролер организации: - Создание Web-alias org теперь автоматически отмечает право собственности isDnsVerified=true on the created OrgDomain — с тех пор запись...

Kamo·6mo ago

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

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

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