直播更改日志

看我们在建什么,实时的。 每个功能,固定, 和改进都跨出平台.

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/ 安全/主机型上;r.ok=false (409) 表示兽形 由分支类型来管理 – 后端使用相同的检查 - 无法使用 而不是JS-精度-丢失数字ID, 修正ATF/年龄范围 在审查制表板上加注

kamo·4mo ago
Fixkamo-internal

通过应用模型限制打开审查标签选项

- 当Org受分支类型管制时,隐藏 EDIT MASTER MODEL 按钮 (使用应用模型。) 源代码而不是不可靠的上下文分支TypeID) - 隐藏无法配置的 ATF 字段( 仅在父策略为成员时显示) - 过滤成员/小组成员的年龄范围选项,使其仅限于应用模式允许的选项

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

处理 IMAP 输入到磁盘中以防止 ClassCast 例外

JavaMail 可以返回一个 IMAPInputStream 而不是从解码字符串 part.getContent () 当信件内容没有被预选时 。 这个 直接( String) 投放在 parse Multipart () 中 受影响的信件, 在读取标记前导致获取 FullMessage 失败 被调用,所以电子邮件从...

Kamo·4mo ago
FixVOIPService

重写所有 GQL 查询/ 模拟模拟模拟

对照 FreePBX 17 schema 验证每个字段名称和类型. 全套更正: 查询 : - 获取 AllExtension : 从扩展名中删除不存在的“ voicemail” 字段 - 获取所有用户 – 所有用户 { 核心用户 { 扩展名 } } - 获取 AllEndpoints → 获取 AllCoreDevi...

Kamo·4mo ago
Fixkamo-internal

将选中的“ 文件夹” 传递到 ThreadDetailView , 因此电子邮件: folder- changed fire with a 有效文件夹

对话框。文件夹总是未定义,因为 Java 对话实体 有文件夹Ids(text[])而不是文件夹字符串字段。 这导致负载图 调用标记 Conversation Read 并发送电子邮件:文件夹更改为 文件夹: 未定义 。 未定义导致 typeError 在.when () 被.catch (()) 和 默然地杀死了"记分...

kamo·4mo ago
FixVOIPService

正确的图形QL 字段名称以获取 AsteriskDetails

FreePBX API 返回“ 您是否指取回 AsteriskDetails ? ” — 重命名健康 。 检查查询及其数据路径访问器.

Kamo·4mo ago
FixVOIPService

向 GraphQL 客户端添加 XHR/ Acept 信头和字符串响应解析

与 FreePBX TokenCache 相同的模式: 添加 X- requested- With + 接受: 应用程序/json 以压制 FreePBX 的 HTML 重定向回复,并切换所有三个呼叫站点 从响应实体<JsonNode>到响应实体<String> 手动对象Mapper.readTree() 所以非JSO...

Kamo·4mo ago
Fixkamo-internal

在装入时同步邮箱滴入到主邮箱

由于选中的Mailbox 已初始化, 默认降入第一个列表项 没有邮箱ID, 导致当前value 决心裸露“ 个人” 匹配无选项。 现在从主机设置选中的Mailbox( 或 (一) 邮箱在可访问邮箱装入时.

kamo·4mo ago
FixAPIService

将文件上传大小限制提高到 500MB

Spring Boot 默认 1MB 的多部分部件, 导致背景图像 上传失败, 请求中为 500. getParts () 。 匹配安全服务 现有的500MB限制,因此APIService可以代理大文件上传.

Kamo·4mo ago
Fixkamo-internal

表面 HTTP 错误, 因此上传失败可见

替换无声控制台. warn , 替换为非 OK 状态错误, 因此用户可以看到实际故障原因(状态+响应正体) 而不是默默地进行更新。 已添加控制台.log 以跟踪有多少新图像被排入队列,哪些正在被 POST.

kamo·4mo ago
FixVOIPService

添加 AcceptQHR 信头和原始字符串响应

FreePBX通过集群 DNS 调用时正在返回文本/ html, 因为 主机头与配置的 PBQHOSTNAME 不符 。 添加中 接受: 应用程序/json和 X- 请求使用: XMLHttp 请告诉 FreePBX 返回 JSON 错误,而不是重定向到 HTML 页面。 由响应实体<JsonNode> 切换为响应实...

Kamo·4mo ago
Fixkamo-marketing

通过动画控制驱动最小化- Tab 输入

切换动画到动画控制器 。 动画: 标签控制器在挂载时没有队列目标, 因此按钮被保留 (b) 最初的{y:100}位置(以下为屏幕外)。 添加了使用效果 在部件状态上按键,在每次切换时明确启动 y:0 过渡 部件进入最小状态 .

Kamo·4mo ago
FixVOIPService

校正 FreepBX API 的 OAuth2 范围字符串

FreePBX 瞄准镜是顶级标识符 : “ gql”( 所有 GraphQL) 和 'rest'(全为REST). 模块格式“ gql: read” 表示 GQL 名称为“ 已读 ” , 它不存在, 导致无效的 scope 400 错误 .

Kamo·4mo ago
FixKlusterServices

直接在集群IP服务上曝光端口 8088

服务只有港口80-8088绘图。 内部服务 **************** (例如VOIPService API 令牌) 由于第8088号端口没有收听器, (原始内容存档于2018-09-21). ClusterIP.

Kamo·4mo ago
Fixkamo-internal

信任后端待决

后端待决 Count 现在未读取( 计数支持 TIKET会话) 与消息更新 比所有者最后的Viewed。 当代理打开 一张票 MarkAsRead 后端广播 前端反映新的 自动计数。 删除抓取中的重点会议 PENDING COUNT 处理者——对基于地位的补偿 后端计数,现在双降, 这就是为什么计数反弹 浏览器刷新...

kamo·4mo ago
FixKlusterServices

添加 k1m1 的失败2ban 配置

部署引用失败2ban- configMap(监狱.local +) 星号安全(start-security.conf),但并不存在,封锁了舱位. 华山. 设置并阻止 FreePBX 启动 .

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

代理寄出最后的预告后 MarkAsRead

在支持票上,访客和代理信息都存放在 相同的系统 成员,所以未读数查询是成员不可知和 完全依赖最后的维德。 如果代理商没有在之后标记 AsRead 他们的回复最终被算作 新的访客留言 列表行徽章。 成功发送时呼叫标记 AsRead .

kamo·4mo ago
Fixkamo-shared-library

支持票需要会员不可知的未读数

支持票上的访客信息储存在同一个系统中 代理认证为,所以现有的 CHAT 片断未读 查询——不包括m.member.id =:memberId——总是返回0表示 支持会议。 因此,票单徽章从未出现。 添加 AllInsession + count AllInsession 之后(没有成员过滤器)和 路由支持 TIKET...

Kamo·4mo ago
Fixkamo-internal

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

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

kamo·4mo ago
Fixkamo-shared-library

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

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

Kamo·4mo ago
Fixkamo-marketing

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

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

Kamo·4mo ago
Fixkamo-internal

打开对话时清除未读指标

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

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

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

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

Kamo·4mo ago
Fixkamo-internal

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

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

kamo·4mo ago
Fixkamo-internal

工具上方的同步提供者

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

kamo·4mo ago
Fixkamo-marketing

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

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

Kamo·4mo ago
FixKlusterServices

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

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

Kamo·4mo ago
FixAPIService

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

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

Kamo·4mo ago
FixSecurityService

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

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

Kamo·4mo ago
Fixkamo-internal

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

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

kamo·4mo ago
Fixkamo-internal

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

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

kamo·4mo ago
Fixkamo-internal

工具上方的Hoist ChatWebSocket提供器

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

kamo·4mo ago
Fixkamo-internal

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

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

kamo·4mo ago
Fixkamo-internal

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

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

kamo·4mo ago
Fixkamo-internal

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

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

kamo·4mo ago
Fixkamo-internal

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

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

kamo·4mo ago
FixEmailService

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

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

Kamo·4mo ago
FixMediaService

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

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

Kamo·4mo ago
FixMediaService

在 ChatWebSocket 控制器中恢复 HashMap 导入

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

Kamo·4mo ago
Fixkamo-internal

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

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

kamo·4mo ago
Fixkamo-marketing

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

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

Kamo·4mo ago
FixMediaService

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

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

Kamo·4mo ago
Fixkamo-internal

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

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

kamo·4mo ago
FixSecurityService

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

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

Kamo·4mo ago

就像你看到的运输?

每一个都自动更新您工作空间的地盘。 开始自由,看它成长 一周又一周.

永远开始自由查看定价