KamoCRM

直播更改日志

每个功能,固定和改进, 张贴在船。 发射时没有任何东西被挡住.

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
OtherSecurityService

添加日志到上传背景终点

日志 org/ index、 文件信息、 用户ID、 认证决定、 和 MiNIO 组装 键以跟踪背景上传为何没有出现在中转桶中 .

Kamo·6mo ago
Otherkamo-internal

添加日志到上传背景代理路由

日志/索引、文件名称/大小/类型和上游响应状态 用于诊断背景上传为何没有到达 APIService.

kamo·6mo ago
Featurekamo-internal

将位置列添加到票面数据格

读取 **************** 直接关闭支持TicketDTO(现在的票房实体快照在 创作时间——不增加往返. 旗下+城市/区域/国家 在工具提示中显示 IP; 当没有地理数据时, 返回到 em- dash 已经上场了 只有代理视图。 票头已经消耗了相同的 DTO 字段, 所以弹出工具 窗口现在也显示快照——...

kamo·6mo ago
PerformanceMediaService

在创建时将地理存储在票上, 放下 GeoLite 读取

现在捕捉到访客的地表 一次(通过GeoLookupService)和持续p/国家/城市/子分区 支持键本身。 支持Ticket Service.toDTO 直接读取地平面-没有直播 GeoLite 范围扫描, 地理上没有访问者表倒计时( 访问者仍然在) 装入用于最新显示Name, 散装为列表终点 。 没有快照的遗赠票...

Kamo·6mo ago
Featurekamo-shared-library

票房上的快照访客

添加 VISITOR IP 地址,VISITOR COUNTRY CODE,VISTOR COUNTRY NAME, 维基文库中相关的原始文献: 维基文库中相关的原始文献: 维基文库中相关的原始文献: 维基文库中相关的原始文献: 维基文库中相关的原始文献: 维基文库中相关的原始文献: 维基文库中相关的原始文献: 维基文...

Kamo·6mo ago
PerformanceMediaService

大量访问者并跳过列表中的 GeoLite 搜索

/api/support/tickets列表的终点正在运行,每页20行: - 20个QQ电话(N+1) - GeoLookupService有20通电话,每个都有一个范围扫描 相对于 GeoLite 块表(百万行)加一个位置 在巨大的桌子上取出——~40个额外查询,即使访客 记录已经有存储的国家代码 。 修补 : -...

Kamo·6mo ago
Performancekamo-shared-library

添加散装装载的搜索工具

支持- ticket 列表端点用于获取所有访问者 页面中的查询,而不是 N 单独的 findBySessionGuid 呼叫.

Kamo·6mo ago
Fixkamo-internal

通过文件夹加载Thread 重试按钮

装入拖放( 线程, 文件夹) ; 仅重试错误状态按钮 通过线程Id,打破了 kamo-内部构建。 调用到 签名.

kamo·6mo ago
ChoreSecurityService

重建以获取成员 JsonIdentity 从 kamo- 共享- 图书馆获取信息修复

kamo- shared- library b57d156 修正 @ JsonIdentityInfo( 财产 = "uniqueId" ) –"id" on Member,解决了PUT上的400个错误. /api/security/org/{id}.

Kamo·6mo ago
Fixkamo-shared-library

正确 Json 标识 从“ uniqueId” 到“ id” 的信息属性

成员实体声明@JsonIdentityInfo(财产="uniqueId")但 实际主键字段命名为 “ id ”。 杰克逊扔了 “ 无法找到名称为 uniqueId 的地产 ” , 当将任意类型除去时 参考成员(如组织),导致PUT/org/{id} 返回 400 ,用于保存任何部分体值.

Kamo·6mo ago
FeatureMediaService

与 SockJS 并列添加 /ws/ public- chat- nature 平地 WebSocket 端点

在/ws/公共-聊天-内语中登记第二个STOMP终点,而不使用SockJS 前端可以与本地的 WebSocket( 经纪人URL) 连接而无需 Sockjs-客户端图书馆,该图书馆登记了违反《公约》规定的卸货处理器。 网站权限政策. 原始/ws/公交SockJS端点保留 为后向相容性.

Kamo·6mo ago
Fixkamo-marketing

删除 SSR 守护导致水分不匹配; 为本地 WebSocket 放弃 SockJS

- 英雄.tsx:删除在粒子场周围的窗口检查类型——粒子场已经 有 ssr: false , 所以守护者生成了服务器/客户端树匹配( React # 418) - LivePassupportPanel.tsx:通过@stomp/stompjs,用本地的WebSocket替换袜子客户端 经纪人URL指出新的/ws/公-...

Kamo·6mo ago
Featurekamo-internal

Per- ticket 未读徽章 + “ 只有新信件” 过滤器

- 车票列表显示一个带有未读数的聊天-泡泡徽章 门票 # 当会话消息比代理机更新时 上次查看的消息 。 - 在过滤栏上添加“ 只有新信件” 过滤开关 。 - 车票查特现在在初始点打电话 装入并当入境信息到达时, 徽章将澄清为 代理阅读谈话。 在拓宽的 kamo 共享- 图书馆变化上显示 查找Chat 成员列表 ByM...

kamo·6mo ago
FeatureMediaService

在访客消息中向代理播放未读数

访问者发出支持信息后,请按最新未读数 所以代理商的票单 徽章和导航计数器实时更新。 显示广播内容 Media Captain.sendMessage 供会员间聊天.

Kamo·6mo ago
Featurekamo-shared-library

在未读成员查询中包含支持 TIKET会话

找到Chat Memberships ByMemberId 现在返回 CHAT 和 支持 TIKET 会话类型, 因此现有的每个成员未读数 基础设施(Get UnreadCountsby Member,/topic/chat/unread/{memberId}) 广播,得到QQ 自动覆盖 支持票也一样。 让代理人看到...

Kamo·6mo ago
Fixkamo-internal

打开对话时清除未读指标

ThreadDetailView 现在发送电子邮件:folder-在mark Conversation Read后更改 成功后, MailButton 将导航收件箱徽标计数。 对话列表视图 乐观地在选择时立即对选定线程进行零读取 所以名单的徽章就不用等30秒的民意调查就可以了.

kamo·6mo 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·6mo ago
Fixkamo-marketing

使用/ public/{mainDomain} -{tld} 路径匹配实际的 MinIO 桶布局

获取ThemePath () 生成/ domain/{tld}/{split}/kamosite 路径 MinIO中不存在——主题文件在下方的公桶中直播 Kamocrm-com/, baddi3-com/等 (中文(简体) ). 已更新以使用相同的/ public/{域} -{tld} Kamo-Internal's主...

Kamo·6mo ago
Fixkamo-internal

断开 min- w-0 链条仅在正文列中包含电子邮件滚动

在外容器中添加微分-w-0,主要内容有弹性地分出这样有弹性的孩子 无法扩展为邮件分内容宽度, 导致整个页面 水平滚动条。 从第3栏去掉溢出- x- 隐藏( 是遮盖) 并放下多余的W-full内包装.

kamo·6mo ago
Fixkamo-internal

工具上方的同步提供者

与 ChatWebSocket 的根由相同 。 电话 QQ和 ChatBox 通话 使用Unread (. markAsRead ()), 但两个工具窗口都在 ToolDock 内渲染 它坐落于现场 供应商无法联系 工具窗口子树,所以消费者得到了默认的无操作值和 徽章数无限制地增长,无法减少。 移动未读 Provid...

kamo·6mo ago
Fixkamo-marketing

添加压缩同步警告并修正已损坏的占位符图像

在 < html> 上抑制Hydration Warning 防止由浏览器引起的回放错误 # 418 扩展( 如翻译, 暗模式) 在 SSR 和 客户水合。 通过.placehouse.com(经常不可靠)替换为placehold.co in 互动Demo 预览图像以修正 ERR CONNECTION Closed ...

Kamo·6mo ago
FixKlusterServices

允许 CORS 主题的域/ 路径前缀

在主题.kamocrm.com/domain/.的主题配置没有被匹配 已有的路由规则(只允许/public/和/内部/),因此Traefik 返回一个没有 CORS 头的 503, 导致浏览器拒绝获取 。 在 HTTP 和 HTTPs 入侵规则中添加路径前缀( “/ domain/ ” ) 应用了 Cors 中间软件,...

Kamo·6mo ago
FixAPIService

删除网关中重复的 CorsFilter 并剥去上游 CORS 头条

WebConfig.java定义了与CorsConfig竞争的第二个CorsFilter豆. 贾瓦的 豆,冒着重复头写作的风险. 删除它,所以只有一个 CorsFilter 存在。 前置方法还复制了上游的Access-Control-Allow-Origin 服务回复到浏览器, 然后网关自己的 CorsFilter ...

Kamo·6mo ago
FixSecurityService

删除重复的 CorsFilter 豆类, 导致双重访问控制- Allow- Origin 页眉

明亮的 CorsFilter 豆子引发了第二个 CORS 过滤器与 Spring 保安的内置的 CORS 支持(它使用 CorsConfigulation source). 两个过滤器都解决了来源模式,并写出相同的标题,产生 https://www.kamocrm.com, https://www.kamocrm.co...

Kamo·6mo ago
Fixkamo-internal

删除调试控制台.log 语句并添加缺失的路径

删除 WebSocket 追踪过程中添加的所有临时调试记录 ChatBox, TicketChat, 成员项目 ChatTool, 并使用ChatWebSocket; 添加 /帮助 /支持和/设置/成员 /设置/小组成员 解决 RSC 预选 404 .

kamo·6mo ago
Fixkamo-internal

防止信件头在长地址上扩展列

头部左侧有弹性的孩子没有微弱的W -0,所以很长一段时间的无法破解的电子邮件 在 From/to/Cc 中的地址迫使其分内容宽度增大,拖动 更宽的页眉(和列布局)。 添加分钟- W-0, 全部打开 地址文本、起/起行的弹性包装和0 动作按钮,使标题保持列宽,无论大小 收件人地址长度 .

kamo·6mo ago
Fixkamo-internal

工具上方的Hoist ChatWebSocket提供器

ToolDock(及其工具窗口,如 SupportTicketWindow – TicketChat)是 安装在工具提供器内部,工具提供器坐落在树上 ABOVE 存在 以避免在认证/导航更改上卸载。 ChatWebSocket 服务员活着 内存在Wrapper, 因此工具窗口倒回默认的无操作 上下文值 — Ticket...

kamo·6mo ago
Fixkamo-internal

将阴影 DOM 投放到邮件渲染器中, 这样溢出- x- 自动起火

暗影DOM是其根源. 宽电子邮件内容( 固定宽度表格) 在阴影树上画过主机而不贡献 显示主机的布局框,所以母体包装器的外溢-x-自动 从未检测出溢出,也没有生产出滚动条。 用平地分出+危险地Set InnerHTML来取代阴影根 使电子邮件机构的广泛后代 正常的DOM孩子 滚动容器,可正确触发水平滚动条 在邮件内。 ...

kamo·6mo ago
Fixkamo-internal

对齐 ChatWebSocketContext 导入路径以匹配提供者

出道券和聊天通知 '@ app/ contexts/.' 化名,而“ 存在处理器”( 提供者) 则导入它 通过"./contexts/."路径. 接下来,Js捆绑商把这些当作 两个不同的模块实例,所以消费者正在阅读DEFAULT 上下文(不订阅/不订阅),而不是提供者的值。 结果: 车票查特的STOMP订阅是无声无息...

kamo·6mo ago
Otherkamo-internal

临时控制台.log 以追踪车票Chat STOMP 订阅路径

在订阅管道的每个阶段增加控制台日志( 效果点火, 警卫通行证 订阅电话 附加会议订阅 客户端 订阅 /app/chat/订阅发布,消息接收). 一旦恢复 实时访问消息错误被识别.

kamo·6mo ago
Fixkamo-internal

强制阴影主机内置样式 + 包含:布局

影子主机上的班级外溢 -x -auto不可靠 反向阴影“ : host { all: 初始 } ” 重置, 如此宽的电子邮件 内容( 固定的宽度表) 是通过主机的视觉绘画 布局框并导致3列宽水平滚动条。 切换到有明确宽度的内线样式(最高作者级联): 100%(不是自动的),所以内在的阴影内容无法扩展主机,以及 添加包...

kamo·6mo ago
Fixkamo-internal

在阴影 DOM 内部而不是外部滚动宽的电子邮件内容

之前试图将外溢-x-自动添加到 DOM 的先辈身上 无法捕捉到广泛的邮件内容, 因为阴影树的视觉 颜料溢出不会促进主机的布局框. 东道主 在宽的桌子被涂上时, 外溢出- X- 隐藏和剪接 没有滚动条。 添加外溢- x : 自动在. email- content div * inide * the shadow上 CS...

kamo·6mo ago
FixEmailService

使用 etHasAttachments () 来匹配布尔包件类型

{\fn华文楷体\fs16\1cHE0E0E0}所以伦博克 生成获得 Hasattachments () 不是 Hasattachments () 。 仅限后者 存在于原始布尔。 使用 Boolean.TRUE.equals () 安全处理 无效的案例.

Kamo·6mo ago
FixMediaService

扩展 JPA 仓库扫描以包含商务包

新的 Kamo 共享图书馆带来 QQ 要求 **************** (中文(简体) ). Media Service只扫描了 donofy.dao.repos,所以豆子不见了 而应用程序无法启动 。 镜像更大的扫描 警卫 服务用途.

Kamo·6mo ago
FixMediaService

在 ChatWebSocket 控制器中恢复 HashMap 导入

上一个重构件已删除 HashMap 导入, 但手柄已切换 方法仍然为打字事件有效载荷构建一个 HashMap,导致 以“ 找不到符号: 类 HashMap” 来失败的 Forgejo 构建 .

Kamo·6mo ago
Fixkamo-internal

在邮件内容中添加 min-w-0, 这样溢出- x- 自动起火

没有分-w-0, 柔性子默认分- width: 自动决定 min-content, 允许宽的电子邮件表格扩展跳过列的扩展 宽度。 外溢-X-隐藏 然后剪接了扩大的潜水器 生成滚动条。 设置微宽: 0 将潜入 列的被分配宽度,这样溢出-x-自动可以显示水平 邮件正文中的滚动栏, 独立于信件头 .

kamo·6mo ago
Fixkamo-marketing

删除重复连接Stomp调用发送信

当第一个消息创建了新会话时, 在创建的会议更新道具上 它可以使用效果调用连接 Stomp。 发送中的内含调用 是多余的,会立即被使用效果的断开所杀死 Stomp.

Kamo·6mo ago
FixMediaService

在会话创建时主动创建NATS消费者,以防止信息丢失

之前,NATS JetStream 推力消费者只在一个STOMP客户端时创建. 发送/应用/聊天/订阅。 执行政策。 新建, 任何信件发布于 消费者的存在是永久的丢失——导致访客留言和姓名更改。 除非代理商碰巧先被订阅,否则绝不会在卡莫内部出现. - 将NATS订阅逻辑摘录到聊天会订阅管理器(专有) 确保订阅,将ID...

Kamo·6mo ago
Fixkamo-internal

关闭重连接缺口, 导致实时消息被丢弃

从订阅功能中去除 " 连接 " 功能 ChatBox (英语). 之前,每个WebSocket重联都引发了效果 将会话从“% 1” 中删除 订阅地图,并发送/app/chat/不订阅后端—— 拆除了NATS-STOMP桥. **************** 内 在Connect上没有找到任何可以重新输入的信息, 以及任...

kamo·6mo ago
FixSecurityService

允许系统用户管理 org 品牌并修正标识认证

- 在CanManageOrgBranding的平台上增加系统用户绕行作为第一卫士 系统用户对所有非母兽拥有完整的品牌控制 - 修补上传的Logo端点,该端点有一个原始的 org 拥有者只检查绕过 CanageOrgBranding 和 god- mode 两种操作程序, 系统用户可使用 403

Kamo·6mo ago
Fixkamo-internal

在电子邮件视图窗格中包含水平溢出到第三列

- 在信件浏览器外容器中添加溢出- x- 隐藏为硬边界 - 在第三栏包装上添加溢出-x-隐藏;在电子邮件内容区添加溢出-x-自动 - Constratin Sanitized EmailRenderer 阴影主机,其最大-w-全溢出-x-auto的电子邮件HTML(固定-width表等)在窗格内滚动而不是扩展布局 - ...

kamo·6mo ago
FeatureKlusterServices

与PJSIP监狱和持续状态的禁产2

- 增加dauf2ban-configmap.yaml 与[asterisk]和[frepbx-web]监狱, 递增禁令升级(1h-24h-30d上限)、局域网忽略和a 用于 PJSIP 安全Event 记录的自定义星号安全.conf 过滤器 - Mount dauf2ban-configMap和主机Path/var/...

Kamo·6mo ago
FixKlusterServices

将 Coqui TTS 替换为 Piper TTS (en US- Norman- 中型)

Coqui VCTK 模型没有命名的扬声器——取而代之的是 Piper TTS ,它有 确切的诺曼的声音。 管道二进制 (~3 MB) 和模型 (~60 MB) 由init 容器在第一次运行时下载,并在 /var/lib/piper/{bin, models}在k1m1上。 AGI 脚本存储为 ConfigMap 密...

Kamo·6mo ago
FixEmailService

Reset stale hasAttachments on sync and accumulate correctly

- Reset has_attachments=false at start of bulk sync so stale true values from old false-positive MIME detection are cleared before re-indexing - Accumulate ha...

Kamo·6mo ago
Featurekamo-shared-library

Add resetHasAttachmentsForFolder query to ConversationRepository

Allows sync to reset stale has_attachments flags before re-indexing so corrected MIME detection can rebuild the field from actual attachment data.

Kamo·6mo ago
FeatureKlusterServices

Integrate Coqui TTS with norman voice (VCTK p267)

- Deploy coqui-tts server (VCTK VITS model, CPU-only) as ClusterIP service on port 5002 with model cache at /var/lib/coqui-tts on k1m1 - Inject coqui_tts.agi ...

Kamo·6mo ago
Fixkamo-internal

答复/转发前预先填充,并修正Address发送

- 信稿现在从Address运来 所以它从开放的新信流出 通过到作曲家 - 信件浏览器存储活动邮箱电子邮件地址(包括用于 在打开答复/转发时通过 - 信息工具从初始数据地址预选匹配, 如果找不到匹配, 则返回初级

kamo·6mo ago
FixEmailService

发送时来自 Address 的支援

从地址请求添加到电子邮件发送请求, 这样前端可以指定 用于发送的别名/共享/邮件箱地址。 现在只提供 返回到 未设置时提供配置邮件 .

Kamo·6mo ago
FeatureKlusterServices

在 k1m1 上为分拆 DNS 添加 LAN DNS 显示器

在 k1m1 上部署带有主机的 dnsmasq 显示器 192.168.4.22:53. overrides pbx.k1.kluster.kamocrm.com - > 192.168.4.22 (中文(简体) ). 因此局域网的电话直接到达PBX,没有NAT发夹. 所有其他 询问转至8.8.8.8/8.8.4。 ...

Kamo·6mo ago
FixKlusterServices

为分拆 DNS / 局域网客户端 RTP 修正添加本地 net

与 k1m1 相同的局域网电话通过分割 DNS 连接(域解析为 192.168.4.22 内部。 没有本地网,Asterisk仍发布广告 SDP中的外域到LAN客户端,通过公共IP进行RTP的路由. 当地网=192.168.4.0/24 制作 Asterisk 在 SDP 中使用本地绑定地址 网络上的客户端 所以音频从...

Kamo·6mo ago

就像你看到的运输?

所有东西都是靠自己运入你的工作空间的 从免费计划开始,一个月后再读这页.

永远开始自由查看定价