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 29, 2026
Fixkamo-internal

Load org logos from MinIO theme public path like dashboard

Use getThemePublicBaseForDomain so logo URLs match getThemePath()/img/logo.svg instead of legacy /domain/.../kamosite paths that 404 and fell back to initials.

kamo·6mo ago
Fixkamo-internal

Add missing nav-top strings and scope translations

English messages listed components.navtop.* keys for Mail/Docs/Voip buttons but never defined hi/welcome, branches, account, credits, calendar, chat, etc., so n...

kamo·6mo ago
Fixkamo-internal

Resolve nav-pri labels showing raw i18n keys

Use namespaced next-intl translators for nav and components.nav.navPri so lookups resolve against the merged message trees; add panel aria strings under navPri;...

kamo·6mo ago
Fixkamo-internal

Add MessageBrowser i18n strings and restore load error copy

next-intl threw MISSING_MESSAGE for components.messages.browser.* keys missing from en.json, breaking /messages render. Add English strings, use loadMessagesFai...

kamo·6mo ago
FixVOIPService

构建像成像流那样记录 MinIO 对象密钥

FILE EXT 无效/ 空时关闭扩展名, 因此对象名称匹配 记录成像服务 和成像控制。 Java 字符串为空 已生产出 {datId}. null 并打破了在软手机媒体播放器中的回放 .

Kamo·6mo ago
Fixkamo-internal

如果在 sdk.invite 解析前挂起电话, 请取消拨号

种族条件: 连接时挂起( ) 尚未结束会话 (sdk.invite在电话会议前等待),所以电话无论如何连接。 已添加已取消的 DindualDial Ref —— 由挂起( ) 设置, 之后用拨号检查 等待立即杀死 迟到的会议.

kamo·6mo ago
Fixkamo-internal

创建后自动进入新矿石 成员拥有自己的作用和权利

Org 创建后,会话仍保留在父上下文(无管理权)中, 离开新类所有者无法查看设置。 现在创建向导抓取 并重新通过/验证 成员 *** 为新矿石所铸造。 返回到父 DNS 设置 当还没有域时(海关域名).

kamo·6mo ago
Fixkamo-internal

连接时允许结束呼叫, 禁用 AI 助手, 删除队列标签

- 结束呼叫按钮在连接状态下已激活并被红色, 因此在连接之前可以取消呼叫 - 禁用AI助理导航按钮(灰心出局,不可点击) - 删除了队列导航按钮及其相关的模拟 UI(代理状态+队列统计面板)

kamo·6mo ago
FixVOIPService

从成员 voip config而不是电话 扩展解析历史扩展名

QQ是一些扩展的 NULL, 即使当 成员 voip config 正确绘制了成员的扩展名 。 使用 成员 voip config(与 CallFeatures Captain 相同的源码) 当成员配置了VOIP时,总是找到扩展名.

Kamo·6mo ago
Fixkamo-internal

Full touch support for softphone popup on tablets

- Add touch-action: manipulation + WebkitTapHighlightColor to iconBtnStyle so window control buttons (minimize/maximize/close) respond instantly on touch - Ad...

kamo·6mo ago
Fixkamo-asterisk-support

Add go-sql-driver/mysql v1.7.1 checksum to go.sum

go mod tidy without source files is a no-op, so the mysql checksum was never added. Generated the correct h1 hashes via a throwaway golang:1.22-alpine container...

Kamo·6mo ago
Fixkamo-shared-library

通过属性控制器处理国家Type的遗存正弦

DB 行将国家存储为正数整数( 如 UNION STATES 的 “ 186 ” ) 而不是 enum 名称, 导致在 findAll () 上出现非法参数例外 。 当值失败时, Country Type Converter 返回到平面检索,以及 总是用名字写下去.

Kamo·6mo ago
Fixkamo-internal

通过在背景中运行 tsx 立即取消翻译任务

当 Forgejo 取消工作流程时, shash 等待任何前瞻孩子 在处理信号之前完成 。 将屏蔽取消几分钟, 保持跑道位置。 修正: 使用 & 运行 tsx 并等待 $CHILD PID. shash exits wait () 在SIGTERM上, 陷阱点火一次 和SIGKILLL - 既TSX,又TSX 左转...

kamo·6mo ago
Fixkamo-asterisk-support

将 ASTERISK CDR DSN 移动到本地配置中, 而不是 CI/CD 机密

CDR 证书是每个 FreePBX 服务器的本地端,没有业务 在CI/CD管道中。 运算符直接在其上添加 ASTERISK CDR DSN 配置.json 与 API KEY 和 电话 SERVER ID 并列. 配置. go 字段 而所有运行时间的行为都是不变的.

Kamo·6mo ago
FixSecurityService

允许在 geetDomainById 和 校验 -dns 端点上增加访问

顶级的Org 拥有者和系统成员在 GetDomainBy 上获得了 403 个 编号 和校验 -dns , 因为检查的终点是 User MemberOf 奥尔克直接。 添加 ElivatedCrossOrgAccess 帮助器, 并同时应用成员检查 .

Kamo·6mo ago
Fixkamo-internal

Show existing org domain instead of entry form when no custom domain

Fall back to the org's platform subdomain as the display domain so DnsProgressView renders rather than DomainEntryForm when no custom external domain exists. Al...

kamo·6mo ago
FixVOIPService

Surface imaging fallback when provider has no call history

KamoPBXProvider.getCallHistory now returns null instead of throwing **************** so the 501 response no longer bypasses the imaging fallback. The provider c...

Kamo·6mo ago
Fixkamo-internal

Restore NavPri panel labels and LeadHistory column headers

NavPri: salvage-keys grabbed href URLs as label values and swapped label/description pairs for Accounts, KB, and Notes nav panels. LeadHistoryPanel: MUI bgcolo...

kamo·6mo ago
Fixkamo-internal

Show platform domain context when no custom domain is set

Surface the active *.kamocrm.com hostname in the domain entry form so users can see their current platform domain instead of a blank entry screen. Also fixes ve...

kamo·6mo ago
Fixkamo-internal

Checkpoint translations per chunk and per locale on main

Persist locale JSON after each API chunk so cancellation loses at most one batch. CI translates one locale per process and commits/pushes after each so finished...

kamo·6mo ago
Fixkamo-internal

Checkpoint translations per chunk and per locale on main

Persist locale JSON after each API chunk so cancellation loses at most one batch. CI translates one locale per process and commits/pushes after each so finished...

kamo·6mo ago
April 28, 2026
Fixkamo-internal

Disable Docker BuildKit cache so every pipeline run does a full rebuild

Sets no-cache on both image build steps so npm ci and npm run build always run, even when the source tree is unchanged.

kamo·6mo ago
Fixkamo-internal

Bust Docker 构建 奇特缓存/ 每一次任务, npm 运行 构建运行每个推

同樣取出樹(例如空入)再用被缓存的地层和 跳过了真正的下一个建筑。 从工作流程和标签通过 GIT COMMIT 图像修正,所以每个SHA都会使构建阶段失效.

kamo·6mo ago
Fixkamo-internal

添加缺少的聊天满足按钮标签

kamo·6mo ago
FixEmailService

指定、更改或删除主邮箱时同步成员. email

当一个邮箱在 KAMO Mail org 中被指派给一个成员时, 成员. email 从未更新, 导致 EmailCreditience Service 无法解决 IMAP 这些成员的全权证书.

Kamo·6mo ago
FixSecurityService

防止重复的根域并固定主域显示

One DOMAIN PER ORG 请检查date=中的日期值 (帮助) .kamocrm.com web-alias 域,允许一个 org 累积多个根域(和 10) 每一个别名),通过用不同的别名来重试. 现在数到齐 顶级域(parent IS NULL),而不论后缀. 网络端点使用活动Domains.get( ...

Kamo·6mo ago
Fixkamo-internal

将成员安全与PUT的电话序列化以避免CockroachDB冲突

两篇同时写给同一 " 成员 " 一行,造成一连串 孤立冲突——成员安全在成员阅读时读取行 端点写信给它( 总是通过日期更新), 中止一项交易 错误40001。 接连电话就能消除重叠.

kamo·6mo ago
Fixkamo-internal

双滚动条宽度从 6px 到 12px

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

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

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

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
Fixkamo-internal

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

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

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
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
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
FixSecurityService

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

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

Kamo·6mo ago

就像你看到的运输?

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

永远开始自由查看定价