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 28, 2026
FixSecurityService

减少org创建延迟,并纠正翻译级联故障

- 组织主计长:替换确保团队成员ForallOrgs(完整组) 表格扫描),包含确保Team MemberForOrg(单人)——去掉 ~400ms×N 使/network/create 提交文本被卡住的 DB 回合 - 组织控制器:将电子邮件TemplateSeedClient.seedOrg移动到一个 承诺后可完成...

Kamo·6mo ago
Fixkamo-shared-library

Widen 承诺 log translations. title to TEXT 匹配 DB 列

该栏在注释和DB中均为VARCHAR(512),导致 插入对长译标题的翻译失败。 DB 栏是 现在STRING( 直接应用); 此注释更改保留实体 一致.

Kamo·6mo ago
Chorekamo-internal

触发 CI/CD

kamo·6mo ago
Fixkamo-internal

从后端响应信封解开目录并进行计算

获取订阅Catalog 返回 {目录 :{...}}} 但被直接投放 作为订阅Catalog, 将目录. plans 和计划未定义 选择步骤为空白。 计算订阅的同一期 价格谁 {计算: {.}}} 包装没有被打开 .

kamo·6mo ago
FixBillingService

添加 @ JsonProperty 到 * - 前置布尔 DTO 字段

Lombok 生成为 Xxx () 为布尔字段命名为 Xxx 的 getters 。 Jackson把领先的"是"从s -geters剥去 并序列化他们 作为"xx"而不是"xxx",账户管理者也成为了"账户管理者". 在JSON中,是Licensee成为了"licensee",是OrgOwner成为了"orgOwne...

Kamo·6mo ago
Fixkamo-internal

使用 ss 而不是用起火器来杀死 stale port- forward (fuser not on k0m1)

引信和Isof没有安装在跑道主机上。 使用 ss -tlnp 与 (帮助) grep来取出PID持有18080端口并直接将其杀死. 还有 切换 pkill 到 SIGKILLL(-KILL) 使其不依赖 Stale 进程 尊重一个优雅的信号.

kamo·6mo ago
Fixkamo-internal

清理已过时的端口, 因此取消的翻译工作不会阻碍下次运行

巴什不会向背景进程传送信号,所以 kubectl 端口前向已取消的工作流程运行并持有端口 18080, 屏蔽随后的每个翻译 并重建任务。 固定 : 在 18080 上, 在装订前先杀死任何已有的端口( pkill +) 保险人/倒置者),然后陷阱 EXIT/TERM/INT/HUP 背景 PF PID 无论步骤如何结...

kamo·6mo ago
Fixkamo-internal

跨页恢复所有已损坏的占位符值

救世主的脚本 抓住了CSS的类名、内线风格和JS 114 条消息的英文正文的模板文字 横跨笔记、 kb、 商业、 账户、 报告、 线索、 设置 和仪表板页.

kamo·6mo ago
Featurekamo-internal

为没有账户的 Org 拥有者设置计费按钮

当 Org 拥有者打开计费帐号时, 没有计费帐号 ,显示靴子夹提示,而不是通用的“ 与您联系 ” org owner" message. (原始内容存档于2018-09-29). 按钮调用 POST /api/ 安全/ 账户/ 然后重装成功记录 .

kamo·6mo ago
Fixkamo-internal

从 git 历史中恢复页面主角标题和字幕

英雄标题是"英雄标题"(占位符) 英雄标题是"flex ship-2" (救生钥匙意外地抓住相邻的CSS类名). 从承诺10f4e4b中收回的正确值.

kamo·6mo ago
FeatureSecurityService

添加已存在的 org 的 ristballing 结束点

后 . 触发相同的 idempotent 设置为子org创建钩( BillingSetupService) .setupForSubOrgCreation),但可以由兽人所有者点名. 这个处理器是开单前创建的 因此,从未收到过账户+账户订阅.

Kamo·6mo ago
Fixkamo-register

通过投票部件. getState () 启用完成按钮并切换到自动=上载

状态变化事件收听器无法可靠地启用“ 完成” 按钮 *** 核查之后。 两个根源: 1. 排水逻辑读取部件。 在部件上不存在的状态 - 部件会显示 GetState () 不是. state 属性, 所以排水口总是 当收听者在核实后附着时,则不开放。 2. 自动="对焦" 没有父 <form> 元素则无所作为;部件 ...

Kamo·6mo ago
FixBillingService

在 Org 列表中包含订阅目标账户

listForOrg 现在还返回订阅目标为 - 不只是它直接拥有的账户。 在多层楼 建模支付账户在 KamoCRM 顶级 org 中存在 订阅目标子org;没有此功能, KamoClub 或 org 拥有者将 查看零账户并获得"不计费账户"消息.

Kamo·6mo ago
Fixkamo-internal

添加状态窗口标签命名空间并修正所有设置的占位符

- 添加QQ( 50 个密钥) 设置 导航侧边栏显示真实文本而不是密钥路径 - 修复分支 TypesLabel ICU 格式 :\${branchLabel}} {{branch} - Fix tr () 后退后后卫: 下一步返回密钥路径字符串而不是 投出, 请检查结果中的“ 组件. 设置 ” 而不是 依靠尝试/渔获物...

kamo·6mo ago
Chorekamo-internal

更新地方翻译和散列 [skip ci]

Kamo CI·6mo ago
Featurekamo-internal

第3波转换、倒置修正和自动翻译 CI

- 将所有硬码的英文字符串替换为t() 横跨波段 3的呼叫 组件(聊天、俱乐部、支助、笔记、管道、线索、导航等) - 将波浪3碎片合并为消息/en.json(+19键) - 在en.json(欢迎,标签, 页脚文本,账户Desc/网络Desc ICU插值) - 在page.tsx中将移动欢迎文本修复为使用t()而不是硬...

kamo·6mo ago
Fixkamo-internal

匹配其他工具窗口的大小 + 颜色方案

- 默认大小和分数, 现为 320x650, 可重现: 假( sultches Softphone, Chat, Calculator, SMS, AI Chat) - 从深层梯度切换到SoftphonePanel使用的标准光梯度(#fafbfc- > #f5f7fa) - 标题带现在在白文本上使用 var(- col...

kamo·6mo ago
Featurekamo-register

在合法名称行中名称后缀后加上昵称

Kamo·6mo ago
Featurekamo-internal

以成员. language 为本地语源的接线

在没有 URL 的情况下, 在整个 kamo- 内部添加基于下一轮的国际化 地语前缀. 活动区域读取自 kamo-locale cookie, 即 反映经认证的成员的“语言”偏好(通过 QQ区域设置卡 基础设施: - i18n/locales.ts,i18n/request.ts:22个支持的符合kamo-marke...

kamo·6mo ago
Fixkamo-internal

Forward Range header so audio playback can scrub

Without this the VOIPService recording-streaming endpoint always returns the full file (Range header is dropped by buildForwardHeaders), which works for play-fr...

kamo·6mo ago
Refactorkamo-register

Drop language search filter on My Language step

The supported language list is short enough to scan visually; the search input added complexity without user value.

Kamo·6mo ago
FixKlusterServices

Rewrite /etc/odbc.ini to point at $MARIADB_HOST on every boot

The escomputers/freepbx:17 image bakes /etc/odbc.ini with Server=db (the docker-compose link target). On this Kubernetes deployment MariaDB lives at \$MARIADB_H...

Kamo·6mo ago
FeatureVOIPService

Fall back to imaging recordings for call history + voicemails

FreePBX 17 doesn't expose voicemail messages over REST or GraphQL on this install (the GraphQL voiceMail type returns mailbox config, not messages, and /admin/a...

Kamo·6mo ago
Featurekamo-shared-library

由(输入,扩展,为Vm)进行分页记录检索

当上游提供商无法列出时被软手机分页作为调用录音和语音邮件的可口真言源——例如FreePBX 17没有REST/GraphQL语音邮件消息API,在此安装上Asterisk的CDR管道也断裂了(在KlusterServices中分离出ODBC的错配置修复).

Kamo·6mo ago
FixVOIPService

Resolve member→extension before VM/CDR provider lookup

CallController was passing memberId where FreePBX (and other PBX-style providers) expect an extension number — voicemail listing returned empty because no PBX e...

Kamo·6mo ago
Chorekamo-internal

丢弃已死主机 AccountHolder/ is Master UI, 刷新 stale 注释

账户计划不再包含主账机 或每个成员是Master 旗帜——这些旗帜被与账户(即时记账)一起删除 重设. 账户ViewClient 停止渲染总是未定义的“ Master” 持有者/电子邮件的行和每个成员的主控件; 账户SearchDialog 和账户 Api 类型相仿,切换到初始字段 保安部门真的回来了 更新 3 个遗...

kamo·6mo ago
FixSecurityService

自动指定第一个座位, 免费为地板, 宽度为无效

BillingSetupService 现在启用创建者的第一个开放许可槽 当植入一个子-org订阅器时(对促销至充电的所有人也是这样), 否则,一个新鲜的子org所有者只看到自由基线,尽管是一个 在种子计划中的许可证。 应享权利服务: - 通过合并应用自由计划基线PlanFeatures(不是工会变体) 因此,即使已...

Kamo·6mo ago
Chorekamo-shared-library

丢弃 stale BillingGroup 时代的评论 + 未使用的订阅成员查询

剥去应用模型执行服务中提及的剩余文件块 到早已存在的 BillingGroup 概念,并删除 合并后 直走成员.

Kamo·6mo ago
ChoreTranslateService

用于共享库更新的触发器

Kamo·6mo ago
ChoreConversionService

用于共享库更新的触发器

Kamo·6mo ago
ChoreDocsService

用于共享库更新的触发器

Kamo·6mo ago
ChoreVOIPService

用于共享库更新的触发器

Kamo·6mo ago
ChoreDaemonService

用于共享库更新的触发器

Kamo·6mo ago
ChoreMCPGatewayService

用于共享库更新的触发器

Kamo·6mo ago
ChoreEmailService

用于共享库更新的触发器

Kamo·6mo ago
ChoreRAGService

用于共享库更新的触发器

Kamo·6mo ago
ChoreKBService

用于共享库更新的触发器

Kamo·6mo ago
ChoreAIService

用于共享库更新的触发器

Kamo·6mo ago
ChoreMediaService

用于共享库更新的触发器

Kamo·6mo ago
ChoreBillingService

用于共享库更新的触发器

Kamo·6mo ago
FixSecurityService

最高层的Org成员获得平台所有者计划,绕行收费门

KamoCRM(最高层)Org成员不受计费制度的约束——他们 获取 OWNER UNLIMITED 计划的特征矩阵 直接(以 Free 作为 如果所有者计划缺失,则防御退缩),加上有活动许可 并有-Kamo-CRM-访问 真实的,所以所有UI门通过.

Kamo·6mo ago
Fixkamo-shared-library

顶级 Org 绕行 + 无子的 Org 自由基线回落

Org 级别应享权利检查 以 Org 为对象的订阅。 有了新的目标 org模型, urgs that 还没有一个目标 账户订阅 看到了所有的非核心应用拒绝。 两项修正: - 顶级的KamoCRM org绕过全部账单——每个非核心服务 有权。 KamoCRM是平台,不是客户. - 没有目标订阅的兽人回到自由计划的特色 ...

Kamo·6mo ago
ChoreTranslateService

用于共享库更新的触发器

Kamo·6mo ago
ChoreConversionService

用于共享库更新的触发器

Kamo·6mo ago
ChoreDocsService

用于共享库更新的触发器

Kamo·6mo ago
ChoreVOIPService

用于共享库更新的触发器

Kamo·6mo ago
ChoreDaemonService

用于共享库更新的触发器

Kamo·6mo ago
ChoreMCPGatewayService

用于共享库更新的触发器

Kamo·6mo ago

就像你看到的运输?

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

永远开始自由查看定价