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.
添加匹配( If Missing = false) 到商业豆类的有条件财产
明确商业服务和参与周期 当 kamo. commerce. 启用未设置时, 默认禁用 。 任何不配置地产的服务都会跳过这些豆子.
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...
将条件Bean替换为商业服务条件Bean
QQ 在春天之前被评估 Data JPA 注册用户定义的寄存器豆,使其不可靠. 替换为 QQ 在财产解决阶段进行评价,并始终可靠。 需要商业服务的服务(保安服务)通过应用程序.yml进行选择。 不使用(MediaService)的服务使财产不设(默认为假).
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...
将工具栏和搜索更改应用到嵌入式聊天模式
ChatBox总是通过ChatTool以嵌入模式提供. 移动 带有搜索字段和滚动到下键的调用控制工具栏 输入嵌入的段落,使修改在工具窗口中可见.
将 Hex HeadGroup 选择器从数据交换箱根端更新到数据工具窗口
工具窗口系统在工具WindowShell上使用数据工具窗口,但 HexHeadGroup仍在查询数据-聊天箱-root以进行脚印检测. 这导致六头蛇看不到任何打开的工具窗口,打破了蜂窝 校正,包接-dock,聊天-避免回击,惯性聊天-避免回击.
Chat UI 抛光 - 主色调主题, 内部输入的 emoji, 回合发送 btn, 六进制状态颜色
- 部门标签和聊天箱头使用 -- -- 彩色主页而不是硬码绿色 - Emoji 拾取器按钮移动到聊天输入字段内对齐右侧 - 发送按钮得到弹性收缩:0 防止挤入椭圆形 - Hexhead边框:绿色用于在线,深灰色用于下线
聊天系统改进 - 编辑自旋,六面罩旋转,颜色,最大化-最小化
- 检测编辑( 回放/删除) vs 输入以触发回放的 Hexhead 旋转 - 在打字/编辑时与边框一起旋转六分针口罩(运动员保持直立) - 将部门标题标题和聊天箱标题栏改为# 22c55e(在线绿色) - 在最大限度减少状态时恢复六头蛇的能见度
当与新的 OTK 会话匹配时, 不要取消 *** 会话
验证路由正在从 Redis 中删除现有的 *** 会话 在查了那个OTK之前 当OTK指向同一会议时, 如果“ 找不到会议或会议已过期 ” , 则搜索会失败 。 现在只有 如果旧会话的ID与新会话不同,则该会话无效.
接受 *** 从查询参数获取跨子域 WebSocket 认证
先从 ? QQ 查询参数读取 *** ID, 返回到 饼干 这样可以让内部.kamocrm.com的前端认证 WebSocket连接到media.kamocrm.com 没有跨域饼干. 截取器直接对Redis验证会话.
将 *** ID 作为跨子域WebSocket 认证的查询参数
而不是依赖跨域的饼干(不能跨域) ,读取 *** cookie 客户端并将其作为查询通过 链接到 media.kamocrm.com WebSocket时参数.
将 *** cookie 域设置为.kamocrm.com 用于跨子域共享
Cookie 设定时没有明确的域名, 无法发送 用于 WebSocket 认证.
将 *** cookie 域设置为.kamocrm.com 用于跨子域共享
*** cookie 设定时没有明确的域名, 默认为 (原始内容存档于2017-10-29). Internal.kamocrm.com. 这阻止了饼干被送到 媒体.kamocrm.com WebSocket握手期间,导致所有WS连接 以“找不到有效的 *** cookie ” 拒绝.
处理Stale NATS 消费者与独特的消费者重试
- 提取信件处理器到创建 NatsMessageHandler () 方法 - 在“消费者已经绑定”时, 添加带有独有消费名称的重试逻辑 服务器重新启动后发生错误 - 清理动词调试记录
解决聊天信息、存在跟踪和自动开放问题
- 通过以独特的方式重试NATS订阅来修复无法接收的信息 “ 消费者已绑定” 错误发生时的消费名称 - 通过在STOMP连接上发送即时心跳来修正离线状态。 连接后重置批量存在 - 通过会话直接修复聊天自动打开,以避免冗余 会话创建, 并正确处理 Aync 开放流程 - 从 WebSocket 订阅监视器中删除最小状态,...
解析 MUI 图标类型错误并共享单一的 STOMP WebSocket 连接
- 为@mui/icons-material添加tsconfig路径覆盖以绕过破碎的无害环境管理 v7.3.1中的出口表明不存在./esm/index.d.ts - 创建 ChatWebSocketContext 以共享整个应用程序的单一STOMP客户端 而不是建立单独的连接 在存在Wrapper, ChatDock,...
为成员Panel在开放聊天中打开使用参考, 以防止 Stale 关闭
当用户打开成员面板时,单击成员聊天,然后关闭 在ASync会话 API 调用返回前的面板,聊天窗口是 位置为500px相抵,仿佛面板尚未打开。 这个 之所以发生,是因为 OpenChat 捕获了成员Panel Open 通过呼叫关闭 时间。 使用一个参考器可以确保当前面板状态在等待后被读取 .
Remove forced WebSocket headers from media middleware
Traefik v3 handles WebSocket Upgrade/Connection headers natively. Remove forced headers that broke non-WebSocket API requests.
途经Traefik港口的媒体服务交通 443
- 增加MEDIASERVICE-URL env var用于集群-内部服务访问 - 修复9条API线路中的MediaServiceBaseUrl,首先使用env var - WebSocket悬钩连接媒体.kamocrm.com:443通过Traefik - 为内部HTTPS呼叫添加 NODE TLS REJECT U...
端口443处通过Traefik的WebSocket路线
- service.yaml: 固定端口 80–8443 以匹配 pock 的实际收听端口 - ingressroute.yaml: 后端使用方案 https + 端口 8443 - 服务器 transport.yaml: 为后端 TLS 证书添加不安全的SkipVify - 删除NodePort服务-websocke...
使商业豆以储存库的供应为条件
将 QQ 添加到约定 生命周期 和商务服务,所以他们只装载 当商务储存库 扫描 防止服务中的不满意依赖性例外 MediaService可以扫描com.kamo,但不能允许商业重置.
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...
为 NATS 连接使用集群- 内部 DNS
将默认 NATS URL 从 WireGuard IPs (100. 64.x.x) 更改为 nats.kamo.svc. cluster. 本地服务器的本地化. 远程节点 (k0m1,k2m1)仍然保留在有线卫视IP上.
NATS 不可用时允许启动应用程序
从喷气式Stream( ) 中删除 @ Contentional On Bean, 并添加 @ Nullable 到 连接参数 。 当 natsConnection () 返回无效时( NATS) 不可通达),"春天"不再以"不满意"依赖外出相撞.
删除布局.tsx, 修补 DocCount/ History 类型错误
- 删除错误添加的布局.tsx(将影响整个网站) - 还原页.tsx 包装 div(不需要) - 将梯度背景移回铅维尤克连根容器中 校正类型错误: 博士和历史 校正中不存在铅洞 使用“ -” 占位符代替
更新管道命令Tab 供应商字段名称以匹配后端 DTO
已更改 v.uid → v.id, v. name → v.companyName,并选定 VendorId 类型 从数字到字符串与CommerceMarketVendor DTO对齐.
为商业市场对 TypeScript 类型和后端 DTO 进行对齐
商务市场、商务市场、销售商类别 界面使用错误的字段名( uid/name vs id/ title, name vs) 公司名称,网站Url vs网站,描述对s笔记). 这导致 显示标题、错误图标、损坏的 URL 和“ 新建” 的管道标签 在快动作中未定义的应用程序". 对所有类型和消费者进行更新 以匹配实际 Java...
不装入的管道市场和市场管理器布局
管道显示“ 没有配置商业市场 ” , 因为 getPOSConfig () 从未返回市场。 现在从商业中获取市场MarketApi 直接说 市场和字段设置标签上的固定间隔/铺设 匹配产品目录设计 .
解析 POS 设置上的 “ u. map” 不是一个函数, 并更新 Commerce 导航
- 在商务中添加防御阵列提取 MarketApi(getMarkets, getVendorCateors, getMarketVendors, 种子VendorCatetors),处理包裹的API响应 - 更新设置现状Window商业分专题,包括所有6个POS标签:业务类型、产品目录、库存、租赁资产、供应商、订阅计划...
