Журнал змін

Дивись, що ми будуємо, в режимі реального часу. Кожна функція, фіксація та вдосконалення, що надходить на платформу.

17,933
Загальні зміни
4,614
Особливості
4,543
Фіксатори
32
Проекти
Фільтр за проектом
Всі проекти17,933AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,523TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,579kamo-login319kamo-marketing585kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
Фільтр за типом
Всі типиBuild24CI523Chore670Docs226Feature4,614Fix4,543Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
April 26, 2026
Fixkamo-internal

Пробе майстер модель кінцевої точки і зафіксувати прикладниймодель org ID

- Замініть нанесеніModel.source-накладні ворота з прямим зондом /api/security/master-model на mount; r.ok=false (409) означає org регулюється галузевим типом — ...

kamo·4mo ago
Fixkamo-internal

Gate censorship tab options by applied model constraints

- Hide EDIT MASTER MODEL button when org is governed by a branch type (use appliedModel.source instead of unreliable org context branchTypeID) - Hide ATF fiel...

kamo·4mo ago
Fixkamo-internal

Mark-as-read and message fetch for shared/member mailboxes

Classic mode now loads shared mailbox messages via the correct /messages/{folder} endpoint (was calling the non-existent /conversations endpoint). Fetching a fu...

kamo·4mo ago
FixEmailService

Mark-as-read for shared and member mailboxes

EmailController.setFlags now accepts an optional mailboxId query param and routes through resolveProviderWithMailbox so member-mailbox flags are set against the...

Kamo·4mo ago
FixVOIPService

Use extensionId as external ID, not Relay node id

FreePBX returns the same Relay id (ZXh0ZW5zaW9uOg== = "extension:") for every extension because the id field is not populated. Using it caused all extensions to...

Kamo·4mo ago
FixEmailService

Handle IMAPInputStream в getMessage для запобігання ClassCastException

JavaMail може повернути IMAPInputStream замість декодованого String part.getContent() при вмісті повідомлення не було попередньо фіксовано. Про нас прямо (Strin...

Kamo·4mo ago
FixVOIPService

Перевірити всі GQL запитів / мутацій проти інтроспектування живої схеми

Перевірено будь-яке ім'я поля та тип проти фактичного FreePBX 17 schema. Повний набір корекцій: Запити: - fetchAllExtensions: видалити недосвідчений поле "voic...

Kamo·4mo ago
Fixkamo-internal

Пройдіть вибранийФолдер для ThreadDetailView так електронної пошти: забір змінних вогнів з реальною папкою

розмова.папер завжди невизнаний, тому що Java ConversationEntity має папкуІд (текст[]) не поле для папки. Це викликане навантаженняThread to позначка викликуПер...

kamo·4mo ago
FixVOIPService

Коректне ім'я поля GraphQL до fetchAsteriskDetails

FreePBX API повертає "Дізнайомтесь з fetchAsteriskDetails?" — перейменуйте здоров’я перевірте запити та його доступ до даних відповідно.

Kamo·4mo ago
FixVOIPService

Додавання головок XHR/Accept та підписки на String відповідь на клієнта GraphQL

Same візерунок як FreePBXTokenCache: додати X-Requested-With + Приймати: додаток/json щоб пригнічувати відповіді на переадресацію HTML FreePBX і переключити всі...

Kamo·4mo ago
Fixkamo-internal

Виправлення поштових скриньок синхронізації на первинну поштову скриньку

Вимкніть за замовчуванням до першого пункту списку, оскільки вибрана поштова скринька ініціюється без поштових скриньокІд, що викликав поточний який не відповід...

kamo·4mo ago
FixAPIService

Виміряти обмеження розміру файлу до 500MB

Spring Boot за замовчуванням ковпачок багатопартійні частини в 1MB, викликаючи фонове зображення не вдається 500 за запитом.getParts(). Матч служби безпеки існу...

Kamo·4mo ago
Fixkamo-internal

Поверхня HTTP помилок, так що завантаження несправностей видно

Замінена безшумна консоля. Отже, користувач бачить реальну причину відмови (статус + відповідь) замість тихого приступу до оновлення підрахунку. Додано консолі....

kamo·4mo ago
FixVOIPService

Додати Accept +XHR головки і сиротка відповідь парі для токен кінцевої точки

FreePBX було відновлено текст/html, коли називається кластером DNS, оскільки Хостовий заголовок не збігався з налаштованим PBX HOSTNAME. Додати Прийняття: додат...

Kamo·4mo ago
Fixkamo-marketing

Привод мінімізований вхід з анімацією

Переключення animate={...} до animate={tabControls} зламав запис анімація: tabControls не має черги, тому кнопка залишається на початковій сторінці { y: 100 } Д...

Kamo·4mo ago
FixVOIPService

Правильні OAuth2 рядки для FreePBX API

FreePBX є провідними ідентифікаторами: 'gql' (all GraphQL) і 'rest' (All REST). Формат 'gql:read' означає GQL для модуля Ім'я 'read', який не існує, викликаючи ...

Kamo·4mo ago
FixKlusterServices

Expose порт 8088 безпосередньо на службі кластерів

Сервіс тільки мав порт 80→8088 картографування. Внутрішні послуги з використанням ******************************************************************************...

Kamo·4mo ago
Fixkamo-internal

Перевірити зворотний endingCount, знизити кількість клієнтів

Backend pendingCount тепер непрочитано (counts Support TICKET сеанси з повідомленнями, що за останній перегляд власника. Коли агент відкриває квиток, markAsRead...

kamo·4mo ago
FixKlusterServices

Додати відсутній не2ban-config ConfigMap для k1m1

Посилання на розгортання не вдалося2ban-config ConfigMap (jail.local + asterisk-security.conf) але не існує, блокуючи под ГораВум. Налаштування та запобігання F...

Kamo·4mo ago
April 25, 2026
Fixkamo-internal

MarkAsRead після того, як агент надішлемо таким чином

На підтримку квитків зберігаються як відвідувачі, так і агентські повідомлення так само системаМембер, тому непрочитаний запит є учасником-агностичним і повніст...

kamo·4mo ago
Fixkamo-shared-library

Підтримувані квитки, необхідні для членів-агностичних нечитальних підрахунків

Повідомлень відвідувачів про опорні квитки зберігаються в одній системі що агент автентифікує як, так і існуюча CHAT-сесія Запити — які виключити m.member.id = ...

Kamo·4mo ago
Fixkamo-internal

Пропустіть папку для завантаження кнопки "Тирецька птиця"

loadThread takes (threadId, папка); кнопка повторення помилок тільки пропущена ниткаІд, поломка камо-інтернал. Зберіть виклик підпис.

kamo·4mo ago
Fixkamo-shared-library

Правильна JsonIdentity Інформація про нерухомість від 'uniqueId' to 'id'

Про це заявив @JsonIdentityInfo(property = "uniqueId") фактичне первинне поле ключа називається 'id'. Джексон мус "Неможливо знайти майно з назвою 'uniqueId'" п...

Kamo·4mo ago
Fixkamo-marketing

Видалити SSR-охоронець, що викликає невідповідність гідратації; краплі SockJS для рідних WebSocket

- Герой.tsx: видалення віконної перевірки навколо ParticleField — ParticleField вже має ssr:false так, що охоронець виготовив сервер/клієнт дерево mismatch (Rea...

Kamo·4mo ago
Fixkamo-internal

Очистити непрочитані показники при відкритті розмови

ThreadDetailView тепер надсилає повідомлення електронної пошти:змінюється за допомогою плагіна після маркуванняConversationRead усувається так, що MailButton re...

kamo·4mo ago
FixAPIService

Move CORS to Traefik via kamo-middlewares, remove in-app CorsFilter

The CorsFilter @Bean in the Spring app was silently not applying headers after WebConfig.java was removed. CORS is now handled entirely at the Traefik layer by ...

Kamo·4mo ago
Fixkamo-marketing

Use /public/{mainDomain}-{tld} path matching actual MinIO bucket layout

The getThemePath() was generating /domain/{tld}/{split}/kamosite paths that don't exist in MinIO — theme files live in the public bucket under kamocrm-com/, bad...

Kamo·4mo ago
Fixkamo-internal

Break min-w-0 chain to contain email scroll in body column only

Add min-w-0 to outer container and main content flex div so flex children cannot expand to email min-content width, which was causing the page-wide horizontal s...

kamo·4mo ago
Fixkamo-internal

Хоіст-провайдери вище ToolProviders

Коренева причина як чатWebSocketProvider hoist: supportTicketWindow Контакти ******** і Чатбокс дзвінки useUnread().markAsRead(), але обидва вікна інструментів ...

kamo·4mo ago
Fixkamo-marketing

Add removeHydrationWarning and Fix break placeholder зображень

removeHydrationWarning on <html> запобігає похибці React #418 викликаний браузером розширення (наприклад, переклад, темний режим) мутування атрибутів HTML між S...

Kamo·4mo ago
FixKlusterServices

Allow /domain / шлях префікс на тему IngressRoute для CORS

The Theme config at Theme.kamocrm.com/domain/... не був представлений існуючі правила маршруту (тільки/громадський/і/внутрішній/внутрішній/внутрішній/внутрішній...

Kamo·4mo ago
FixAPIService

Видалити дублікати CorsFilter і смуга upstream CORS заголовки в шлюзу

WebConfig.java визначила другий борт CorsFilter з CorsConfig. скачати боби, ризикує дублікати заголовка писати. Видаливши його так тільки один CorsFilter існує....

Kamo·4mo ago
FixSecurityService

Видалити дублікати CorsFilter bean, викликаючи подвійний доступ-Control-Allow-Origin заголовок

Виявлений парі CorsFilter викликало другий фільтр CORS з пружиною підтримка безпеки (який використовує CorsConfigurationSource). Обидва фільтри вирішили шаблон ...

Kamo·4mo ago
Fixkamo-internal

Видалити дебюг консолі.log заяви і додати відсутні маршрути

Видаліть всі тимчасові дебати, додані під час відстеження WebSocket з Чатбокс, Квиток, членItem, чатTool і useChatWebSocket; додати перенаправлення сторінок для...

kamo·4mo ago
Fixkamo-internal

Запобігти заголовку повідомлення від розширення стовпця на довгих адресах

У лівій гнучкій дитині головки не було хв-w-0, тому довгий нерозривний лист Адреси в З/Т/КЦ змусили його ширину, щоб виростити, перетягування заголовок (і макет...

kamo·4mo ago
Fixkamo-internal

Hoist ChatWebSocketProvider вище ІнструментПровідувач

ІнструментДок (і його вікна інструментів, такі як SupportTicketWindow → КвитокЧай) монтується всередині ToolProviders, який sits ABOVE PresenceWrapper в дереві ...

kamo·4mo ago
Fixkamo-internal

Краплі Shadow DOM в e-mail рендерера так переповнення-x-auto вогонь

Тіней ДОМ був першопричиною. Широкий вміст електронної пошти (фіксовані таблиці пропуску) всередині тіньового дерева, пофарбованого в минуле господаря, не докла...

kamo·4mo ago
Fixkamo-internal

Align ChatWebSocketContext Шлях імпорту для постачальника

КвитокКата та чатПовідомлення '@/app/contexts/...' alias при попередньому імпорті через відносну './contexts/...' шлях. Далі.js пучка лікує ці, як дві різні екз...

kamo·4mo ago
Fixkamo-internal

Примушені тіні хост містяться в лініях стилі + містять: макет

Клас на основі переливу кс-ауто на тіні не було надійного виграшу проти тіні ':host { всі: initial }' скидання, тому широкий email зміст (фіксовані таблиці проп...

kamo·4mo ago
Fixkamo-internal

Широкий вміст електронної пошти в тіні DOM, не зовні

Попередню спробу додавати перелив-кс-ауто до легких предків DOM не може зловити широкий вміст електронної пошти, тому що візуальний фарба переповнення не сприяє...

kamo·4mo ago
FixEmailService

Використовуйте getHasAttachments() щоб відповідати типу обгортки Boolean

****** є Boolean (ваппер), так Ломбок генерує getHasAttachments() не єHasAttachments(). Останні тільки існує для примітивного булеана. Використовуйте Boolean.TR...

Kamo·4mo ago
FixMediaService

Розширити сканування репозиторій JPA, щоб включити торговий пакет

The новий kamo-shared-library приносить в *********** що вимагає ***********************************************************************************************...

Kamo·4mo ago
FixMediaService

Відновлення HashMap імпорт в чатWebSocketController

Попередній рефактор видалено HashMap імпорт, але ручка метод все ще побудує HashMap для завантаження облікового запису, викликаючи The Forgejo не може знайти си...

Kamo·4mo ago
Fixkamo-internal

Додати min-w-0 до вмісту електронної пошти div, так що переповнення-x-auto вогонь

Без min-w-0, flex-col дитячий за замовчуванням min-width:auto вирішується min-content, даючи широкі таблиці електронної пошти, розширюйте стовпець ширина. Зовні...

kamo·4mo ago
Fixkamo-marketing

Видалити дублікати підключенняStomp виклик в sendMessage

Коли перше повідомлення створює нову сеанс, наSessionCreated оновлення пропси які тригери використовуютьЕффект для підключення викликуStomp. Вхідний дзвінок був...

Kamo·4mo ago
FixMediaService

Проактивно створити споживача НАТС при створенні сеансу, щоб запобігти втраті повідомлень

Попередньо споживачі натискають на NATS JetStream лише тоді, коли клієнт STOMP відправлено /app/chat/subscribe. З DeliverPolicy. Нові, будь-які повідомлення опу...

Kamo·4mo ago
Fixkamo-internal

Закрити розрив від'єднання, що викликає скидання повідомлень в режимі реального часу

Видаліть ```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````...

kamo·4mo ago
FixSecurityService

Користувач системи Allow для управління брендингом org і фіксації логотипу

- Додати обхід системи як перший охоронець в каналіОрганізаціяБрендинг так платформи системний користувач має повне управління брендингом над усіма непарентними...

Kamo·4mo ago

Як ви бачите відправлення?

Кожен з цих оновлень землі в робочому просторі автоматично. Почати вільний час і дивитися його на тиждень після тижня.

БезкоштовноПерегляд цін