Use inline style for icon colors to prevent CSS specificity override
sx-generated color classes were being overridden by Tab card context styles. Switching color to inline style prop ensures icons always render with the correct c...
Add kamo.commerce.enabled=true to k8s configmap
This is the file the CI pipeline actually applies (k8s/configmap.yaml). Required for CommerceService and EngagementLifecycle to load under the new @ConditionalO...
Add KAMO_COMMERCE_ENABLED=true to k8s configmap
Required for CommerceService and EngagementLifecycle to load now that they use @ConditionalOnProperty instead of @ConditionalOnBean.
Добавить matchIfMissing=false в ConditionalOnProperty
Объясняет, что CommerceService и EngagementLifecycle являются отключен по умолчанию, когда kamo.commerce.enabled не установлен. Любая услуга, которая не настраи...
Enable commerce beans via kamo.commerce.enabled property
CommerceService and EngagementLifecycle now use @ConditionalOnProperty instead of @ConditionalOnBean. Set kamo.commerce.enabled=true so they load in SecuritySer...
Заменить ConditionalOnBean на ConditionalOnProperty
**************************************************************** Данные JPA регистрируют пользовательские репозитории, что делает их ненадежными. Заменить на **...
Prevent overflow:hidden on tab card from clipping status widget
Move overflow:hidden from the Card to the Tabs wrapper Box so scrollable tabs are contained but the right-aligned status/substatus widget remains fully visible.
Correct hexhead geometry, z-index layering, and viewport clamping
- Fix axialToPixel to use flat-top hex formula (was pointy-top) so honeycomb aligns flat-edge to flat-edge as the hex SVG shape requires - Fix generateRing to...
Use Next.js client-side navigation for all MUI Link components
MUI Link without component={NextLink} renders as a plain <a> tag, causing full page reloads that reset all React state including tool windows. Added component={...
Replace window.location hard navigations with router.push/refresh
All window.location.href, window.location.assign(), and window.location.reload() calls in page components caused full page reloads, wiping all React state inclu...
Move ToolDock above auth gate to prevent tool window wipe on navigation
PresenceWrapper switches its component tree structure when auth resolves (Fragment > children → ChatWebSocketProvider > PresenceProvider > children). This unmou...
Удалите побочные эффекты от обновлений setWindows, добавьте недостающие депеши wrapAroundDock
Применяйте панель инструментов и изменения поиска во встроенном режиме чата
ChatBox всегда отображается во встроенном режиме через ChatTool. Двигайся Панель инструментов управления вызовами с полем поиска и кнопкой прокрутки вниз Встрое...
Обновление селекторов HexHeadGroup от data-chatbox-root до data-tool-window
В оконной системе инструмента используется окно данных в ToolWindowShell, но HexHeadGroup все еще запрашивала данные для обнаружения следов. Это привело к тому,...
Миграция оставшегося гексчата: открытая отправка на инструмент:фокус в HexHeadGroup
Chat UI polish - основная цветовая тематика, эмодзи внутри ввода, круглая отправка btn, цвета статуса hex
- Закладки отдела и использование заголовка чата - цвет первичный вместо жестко закодированного зеленого - Кнопка выбора эмодзи перемещается в поле ввода чата в...
Улучшения системы чата - редактирование спина, вращение гекс-маски, цвета, максимизация
- Обнаружить редактирование (backspace/delete) против ввода ввода для запуска обратного вращения HexHead - Вращайте гекс-зажимную маску вместе с границей во вре...
Не аннулируйте сеанс ***, когда он соответствует новому сеансу OTK
Маршрут проверки исключил существующую сессию *** из Redis. Прежде чем смотреть ОТК. Когда ОТК указала на тот же сеанс, Поиск будет неудачным с «Сессия не найде...
Принять *** из парам запроса для кросс-поддомен WebSocket auth
Прочитайте *** ID от ?***= параметр запроса сначала, возвращаясь к печенье. Это позволяет аутентифицировать интерфейс на internal.kamocrm.com. Подключение WebSo...
Пропуск *** ID как парам запроса для кросс-поддомена WebSocket auth
Вместо того, чтобы полагаться на кросс-доменные файлы cookie (которые не работают поперечно) subdomains), читать *** cookie-клиента и передавать его в качестве ...
Установите *** домен cookie на .kamocrm.com для совместного использования кросс-субдомена
Куки был установлен без явного домена, предотвращая его отправку media.kamocrm.com для аутентификации WebSocket.
Установите *** домен cookie на .kamocrm.com для совместного использования кросс-субдомена
*** cookie был установлен без явного домена, по умолчанию Внутренний.kamocrm.com. Это предотвращает отправку печенья на media.kamocrm.com во время рукопожатия с...
Управляйте устаревшими NATS-потребителями, связывая их с уникальными потребительскими повторами
- Извлечь обработчик сообщений в метод createNatsMessageHandler() Добавьте логику повторного использования с уникальным именем пользователя, когда «потребитель ...
Решите проблемы обмена сообщениями в чате, отслеживания присутствия и автоматического открытия
Исправить сообщения, не полученные путем повторного использования подписки NATS с уникальными Имя пользователя, когда ошибка «потребитель уже связан» Исправить ...
Решите ошибку типа MUI и поделитесь одним соединением STOMP WebSocket
- Добавить tsconfig Paths override для @mui/icons-material, чтобы обойти сломанный ESM v7.3.1, что указывает на отсутствие ./esm/index.d.ts Создайте ChatWebSock...
Используйте ref для членства PanelOpen в openChat, чтобы предотвратить засорение
Когда пользователь открывает панель участника, нажимает на участник для чата, а затем закрывает панель перед возвращением вызова API сеанса асинхронизации, окно...
Remove forced WebSocket headers from media middleware
Traefik v3 handles WebSocket Upgrade/Connection headers natively. Remove forced headers that broke non-WebSocket API requests.
Трафик Route MediaService через порт 443
- Добавить MEDIASERVICE URL env var для доступа к кластерным внутренним услугам Исправьте getMediaServiceBaseUrl в 9 API-маршрутах для использования env var - К...
Маршрут WebSocket через порт 443
- service.yaml: исправить порт 80→8443, чтобы соответствовать фактическому порту прослушивания - ingressroute.yaml: используйте схему https + порт 8443 для бэкэ...
Сделайте коммерческие бобы условными при наличии хранилища
Добавить ********************** жизненный цикл и CommerceService, поэтому они загружаются только тогда, когда коммерческие репозитории Сканировал. Предотвращени...
Add system account to all NATS configs
Add $SYS account with admin credentials to k0m1, k1m1, and k2m1 NATS configs. Enables nats CLI cluster management operations (peer removal, step-down, etc.) for...
Используйте кластерный внутренний DNS для подключения NATS
Измените URL NATS по умолчанию с IP-адресов WireGuard (100.64.x.x) на nats.kamo.svc.cluster.local для локального сервера. Удаленные узлы (k0m1, k2m1) остаются н...
Разрешить запуск приложения, когда NATS недоступен
Удалите @ConditionalOnBean из jetStream() и добавьте @Nullable в Параметр соединения. Когда NatsConnection() возвращает нуль (NATS) Недостижимая), Весна больше ...
Переупорядочение карточек для сопоставления с заказом вкладки
Коммуникации → Документы → Открытые задачи → История
Удалить layout.tsx, исправить ошибки типа docCount/historyCount
Удалить макет.tsx, который был добавлен неправильно (затронет весь сайт) - Revert page.tsx wrapper div (не требуется) - Переместить градиентный фон обратно в ко...
Срок действия cookie-файлов (401) и расширение TTL, определяемое сервером
Обновление имен поставщиков PipelineOrdersTab для соответствия бэкэнд-DTO
Изменены v.uid → v.id, v.name → v.companyName и выбран тип VendorId от номера до строки для согласования с CommerceMarketVendor DTO.
Типы сценариев Align TypeScript с backend DTO для торговых рынков
CommerceMarket, CommerceMarketVendor и VendorCategory TypeScript интерфейсы используют неправильные имена полей (uid/name vs. id/title, name vs. companyName, we...
Трубопроводные рынки не загружаются, а менеджер рынка раскладывает интервалы
Трубопровод демонстрировал отсутствие конфигурирования торговых рынков, потому что getPOSConfig() Рынок так и не вернулся. Сейчас завоевывает рынки у коммерцииM...
Решите «u.map не является функцией» в настройках POS и обновите Commerce nav
- Добавить извлечение защитного массива в commerceMarketApi (getMarkets, getVendorCategories, getMarketVendors, seedVendorCategories) для обработки завернутых о...
Как вы видите судоходство?
Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.
