Разрешите субдомен-арендатора ведро для своей собственной папки MinIO
getThemePath() сокращает имя хоста до apex+tld для обеих тем. хост и папка ведра, поэтому арендаторы поддоменов, как gnosia.demo.kamocrm.com загрузил брендинг р...
Маршрут NavTop picker через /me/язык
Сборщик назвал общий член PUT, для которого SystemUserGuard 403s Пользователь Системы подписывается в суборг. Пойманный молчал, поэтому kamo-locale cookie никог...
Добавить /me/язык, который обходит SystemUserGuard
Сборщик языка NavTop ничего не сделал для пользователя системы, подписавшего Исполнитель: PUT **************** Сначала работает SystemUserGuard. 403-я мутация S...
Разрешите субдомен-арендатора ведро для своей собственной папки MinIO
getThemePath() сокращает имя хоста до apex+tld (mainDomain.tld) для И тематический хозяин, и ведерная папка. Для субподрядчиков как gnosia.demo.kamocrm.com, кот...
Прекратите обрезку темно-вариантных цветовых входов в ModernColorGroup
Цветные ряды пикера имели жестко закодированную обертку 280px внутри сетки 1fr 1fr с перелив: скрытый, поэтому вход рубили на узкие колонны. Используйте флекс:1...
Относитесь к брошенной подписке как к без подписки, а не к ошибке
Наследие GetCurrentSubscription бросает стержни по дизайну, поэтому звонящие падают Вернемся к неопределённому пути. StatsManager всплыл на броске как «Невозмож...
Возврат пустых метров вместо нуля из GetCurrentUsage
StatsManager рендеринг <UsageMeters use={null}> когда унаследованная заглушка Решено на нуль, разбивается на use.meters. Возвращаясь [метров], Компонент принима...
Войдите в раздел «Мой аккаунт» на CONFIGURE SYSTEM
Скрыть меню «Моя учетная запись» от участников, которым не хватает системы регистрации. они не видят ссылок (статистика и затраты, приложения и функции, типы от...
Владельцы автомаршрутов для детей до их разрешенной организации
Когда /settings/account загружается для пользователя, которому не хватает CONFIGURE SYSTEM текущая организация, предыдущее поведение было молчаливым перенаправл...
Используйте полный FQDN, а не eTLD+1 при извлечении орга по домену
registrableDomainFromAlias удаляет любой многозначный поддомен (например). «gnosia.demo.kamocrm.com» вплоть до eTLD+1 («kamocrm.com»). Это было Прекрасно подход...
Сохраняйте полный FQDN для поддоменов глубже двух меток
organize by root() извлекал только первую этикетку и две последние. Ярлыки от каждого Traefik-зарегистрированного имени хоста. Для общего двухуровневого дела (l...
Никогда не подключайте принадлежащие Kamo поддомены к собственности TXT
Детские организации, которые выбрали веб-псевдоним Kamo (например, gnosia.demo.kamocrm.com) «TXT-запись найдена, но код проверки не совпадает» В DNS Setup UI. О...
Не показывайте глобальное наложение загрузки для форм, управляемых клиентами
Слушатели NavigationInterceptor обработали любую форму, Form.action был правдивым, а method=get как навигация. установить Loading(true) на глобальном LoadingCon...
Предоставление владельцам организаций верхнего уровня перекрестного доступа к удалению/обновлению
удалить Домен и обновить Домен, ранее отклоненный администраторами платформы работать на доменах child-org, поскольку они проверяются против целевой организации...
Разрешить удаление поддоменов per-org *.kamocrm.com
Охранник (.kamocrm.com) заблокировал каждую демонстрационную организацию замена поддомена платформы (например, gmosia.demo.kamocrm.com) на пользовательский доме...
Публичный IP 47.181.8.83 для внешних носителей
JVB-k1m1 рекламировал 75.83.113.11, а coturn рекламировал Узел LAN IP через status.hostIP — оба сломали внешние носители WebRTC Общественный WAN составляет 47.1...
Охрана административных прав + повторные роли в редактировании шаблонов
ВЫСОКИЙ: **************** теперь отказывается Сохранять силу или силу на любом из АДМИНИСТРАТОРОВ Административные права шаблона (CONFIGURE SYSTEM, MANAGE MEMBE...
Пропагандировать статус администратора-создателя ребенка-орга для членства в родительской организации
Когда пользователь создает детскую организацию, он становится ее владельцем + администратором. **************************** членство их родителей, Однако, что б...
Оберните панель инструментов и уменьшите поиск / дату, чтобы новое событие оставалось на странице
Панель инструментов упаковала слишком много фиксированной ширины контента в одну не-обертку гибкий ряд; с родительской основной областью, установленной для пере...
Читать *** от мастера после сеанса обновления, чтобы избежать задержки реплики
Предыдущее исправление имело вызов /api/user-info /api/security/session/refresh перед чтением Redis, но чтение прошло через readKsemJsonFromRedisWithRetry GetRe...
Закладка трека по имени + сеанс обновления перед чтением пользовательской информации
Две связанные навигационные ошибки, которые проявляются как «открывается неправильная вкладка»: 1. SettingsView отследил активную вкладку по *индексу*. childre...
Замените heredoc сгруппированным эхом, чтобы буквальные блок-парсы YAML
Тело /etc/odbc.ini heredoc сидело на столбце 1, который отклонялся от столба. окружающий startup.sh: | буквальный блок скалярный и сломанный «кубектный прикладн...
Следуйте за восстановлением клона через распространение крепления HostToContainer
Без распространения раба стручка захватывает крепление FUSE сразу же Контейнер начинается, если клон установлен. Сервис перезапускается на хосте, стручке продол...
Скриншоты из игры VIEW DOCUMENTS/MANAGE DOCS SETTINGS
Зеркальные ворота вкладки Email + Phone. Член без VIEW DOCUMENTS (базовый) Доступ на уровне пользователя) и без MANAGE DOCS SETTINGS (администратор) больше не в...
Электронная почта Gate + Телефонные вкладки на права, редактирование ворот VOIP, периодическое обновление сессии
Добавляет отсутствующее правое обозначение таким образом, что основной член без ACCESS MAIL / ACCESS VOIP Вы больше не можете видеть вкладки «Email & Mailbox» и...
Выравнивайте поля типа/имя/TTL, перемещая подсказку TTL в набор инструментов
Поле TTL отображает 1 час использования, если регистратор показывает dropdown' hint as a paragraph below the input. Эта колонна закончилась выше, чем тип и имя,...
SSL-карты перестают заявлять, что записи проверяются до того, как они будут удалены
SSL-карта имеет два состояния (установка / завершение), поэтому "установка" копии ("Все требуемые записи проверены, мы выбираем"); «Установка сертификата сейчас...
Удалите зазор заголовка, удалите поддомены, удалите сборщик регистратора
- Переместить DnsProvisioning Панель внутри DnsSetupStudio так пуста px:4 pt:3 обернуть вокруг него (что создало полосу белого пространства) над героем, когда п...
Земля на родительском /setup/dns после создания
Волшебник перенаправил создателя на **************************** Сразу после возвращения POST/api/security/org Домен новой организации DNS еще нет, поэтому пере...
Скачать CountryTypeConverter с EmbAddress.country
Преобразователь пишет имя enum (например, «UNITED STATES») как строку, но каждая таблица, встраивающая EmbAddress (орлы, пользователи, члены), user addresses, a...
Только покажите начальную фразу восстановления учетной записи для младше 13 лет
Почему: 13+ пользователей уже предоставляют электронную почту, телефон и вопросы безопасности как методы восстановления, делая семенную фразу избыточной для них...
Масштабирование до 2 реплик для поглощения синхронизации + трафик во время выполнения
Единственная реплика является узким местом для рабочего процесса синхронизации словаря: Каждый работник-оружейник обрабатывает один запрос, а затем автоматическ...
Bump LibreTranslate для каждого вызова тайм-аут до 90-х годов; сохраняйте однопереводный обратный совместимый
Два последующих изменения в retry/failedKeys: 1. Тайм-аут запроса на вызов составлял 30 лет. Производитель: Runtime Callers (чат, уведомления и т.д.) нажатие н...
Повторите временные ошибки и неисправные ключи поверхности (не подделывайте пропуск)
Два режима сбоя были неразличимы в ответе, поэтому сценарий Они не могли отличить друг от друга и продолжали переводить одни и те же ключи на английский. на каж...
Alias zh -> zh-Hans so en->zh
Конечная точка LibreTranslate / Languages рекламирует китайский язык регионоспецифические коды «ж-Ханс» и «ж-Хант» (никогда не голый «ж»), Даже если POST/transl...
Сохранение оригинального имени файла и типа контента при загрузке вложения
**************** Конечные точки (как личные) и контроллеры с общим почтовым ящиком) выдавали Content-Disposition: вложение без параметра имени файла и Content-T...
Сломанные встроенные изображения, загрузки вложений и мерцание поля просмотра
- Стрип <img> с cid: src в дезинфицирующем устройстве электронной почты, чтобы встроенные изображения не визуализировать как мерцающий значок сломанного изображ...
Поддерживаемые цели из /языков, а не устаревший список
Жестко закодированный SUPPORTED TARGETS утверждал, что sw/ta/etc. поддерживается. Для них не существует общедоступных пакетов Argos, поэтому каждый en->sw / en-...
Бросай непризнанный - рабочие рушатся
Либретранслятор CLI не принимает — рабочие, только оружейник Процесс внутри него есть. Пройдя его, стручка провалилась. Загрузка и CrashLoopBackOff (1384 переза...
Опубликовать событие NATS CREATE после совершения сделки по фиксации гонки вложений изображений
Сообщение NATS было опубликовано в теле @Transactional. Получатели могут получить событие CREATE и запросить изображение через /imaging/proxy/{objImgId} до того...
Serialize attachments in WS relay and message history; allow attachment-only sends
Three bugs fixed: 1. ChatSessionSubscriptionManager was building the STOMP messageMap manually and omitting attachments, sourceLanguageId, readMemberId, msg...
Add attachments and event fields to ChatMessageDto; ignore unknown fields
ChatMessageDto was missing `attachments`, `readMemberId`, `msgIdLastViewed`, `dateLastViewed`, `addedMemberId`, `objImgId`, `transitMemberId`, and `isJoin` fiel...
Fix NPE in getChatSessions from Map.of() rejecting null nextcoder
java.util.Map.of() throws NullPointerException when nextcoder is null (no more pages). Replace with HashMap that accepts null values. Also wrap entire handler i...
Defects C/D/E — title display name, toolbar layout, header lift
Defect C: Add GET proxy for /sessions/{guid}/members so ChatBox.loadMembers() can populate the SessionMember.name field. ChatTool already uses members[0].name f...
Fix upload 500 (missing EmbRecordState) and empty chats tab (Timestamp cast)
Defect A: ChatAttachmentService.upload omitted **************** causing a NOT NULL violation on imgs.is_active. Added the default recordState. Also hardened Cha...
Prefer usernameAlias over User.name in memberDisplayName
Switches display name priority to: Member.usernameAlias → User.name → User.alias → User.username. Also includes the paged query dispatch fix from the previous c...
Show upload error toast in Composer when attachments fail
Catches errors thrown by uploadAll() and renders an MUI Alert above the input row. Root cause of Defect 4 was the missing MinIO bucket (imaging-chat-attachments...
Empty Chats tab — frontend already expects {rows} paged shape (no change needed)
The ChatsList component already reads data.rows. Backend fix (shared-lib + MediaService) is the root cause: HAVING CAST(null AS TIMESTAMP) IS NULL did not work ...
Use split First/After queries for chat sessions paged endpoint
Addresses empty Chats tab by dispatching to ****************
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.