通过属性控制器处理国家Type的遗存正弦
DB 行将国家存储为正数整数( 如 UNION STATES 的 “ 186 ” ) 而不是 enum 名称, 导致在 findAll () 上出现非法参数例外 。 当值失败时, Country Type Converter 返回到平面检索,以及 总是用名字写下去.
通过在背景中运行 tsx 立即取消翻译任务
当 Forgejo 取消工作流程时, shash 等待任何前瞻孩子 在处理信号之前完成 。 将屏蔽取消几分钟, 保持跑道位置。 修正: 使用 & 运行 tsx 并等待 $CHILD PID. shash exits wait () 在SIGTERM上, 陷阱点火一次 和SIGKILLL - 既TSX,又TSX 左转...
将 ASTERISK CDR DSN 移动到本地配置中, 而不是 CI/CD 机密
CDR 证书是每个 FreePBX 服务器的本地端,没有业务 在CI/CD管道中。 运算符直接在其上添加 ASTERISK CDR DSN 配置.json 与 API KEY 和 电话 SERVER ID 并列. 配置. go 字段 而所有运行时间的行为都是不变的.
允许在 geetDomainById 和 校验 -dns 端点上增加访问
顶级的Org 拥有者和系统成员在 GetDomainBy 上获得了 403 个 编号 和校验 -dns , 因为检查的终点是 User MemberOf 奥尔克直接。 添加 ElivatedCrossOrgAccess 帮助器, 并同时应用成员检查 .
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...
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...
Correct account list member/teamMember fallback labels and trigger redeploy
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...
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...
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...
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...
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.
Bust Docker 构建 奇特缓存/ 每一次任务, npm 运行 构建运行每个推
同樣取出樹(例如空入)再用被缓存的地层和 跳过了真正的下一个建筑。 从工作流程和标签通过 GIT COMMIT 图像修正,所以每个SHA都会使构建阶段失效.
指定、更改或删除主邮箱时同步成员. email
当一个邮箱在 KAMO Mail org 中被指派给一个成员时, 成员. email 从未更新, 导致 EmailCreditience Service 无法解决 IMAP 这些成员的全权证书.
防止重复的根域并固定主域显示
One DOMAIN PER ORG 请检查date=中的日期值 (帮助) .kamocrm.com web-alias 域,允许一个 org 累积多个根域(和 10) 每一个别名),通过用不同的别名来重试. 现在数到齐 顶级域(parent IS NULL),而不论后缀. 网络端点使用活动Domains.get( ...
将成员安全与PUT的电话序列化以避免CockroachDB冲突
两篇同时写给同一 " 成员 " 一行,造成一连串 孤立冲突——成员安全在成员阅读时读取行 端点写信给它( 总是通过日期更新), 中止一项交易 错误40001。 接连电话就能消除重叠.
减少org创建延迟,并纠正翻译级联故障
- 组织主计长:替换确保团队成员ForallOrgs(完整组) 表格扫描),包含确保Team MemberForOrg(单人)——去掉 ~400ms×N 使/network/create 提交文本被卡住的 DB 回合 - 组织控制器:将电子邮件TemplateSeedClient.seedOrg移动到一个 承诺后可完成...
Widen 承诺 log translations. title to TEXT 匹配 DB 列
该栏在注释和DB中均为VARCHAR(512),导致 插入对长译标题的翻译失败。 DB 栏是 现在STRING( 直接应用); 此注释更改保留实体 一致.
从后端响应信封解开目录并进行计算
获取订阅Catalog 返回 {目录 :{...}}} 但被直接投放 作为订阅Catalog, 将目录. plans 和计划未定义 选择步骤为空白。 计算订阅的同一期 价格谁 {计算: {.}}} 包装没有被打开 .
添加 @ JsonProperty 到 * - 前置布尔 DTO 字段
Lombok 生成为 Xxx () 为布尔字段命名为 Xxx 的 getters 。 Jackson把领先的"是"从s -geters剥去 并序列化他们 作为"xx"而不是"xxx",账户管理者也成为了"账户管理者". 在JSON中,是Licensee成为了"licensee",是OrgOwner成为了"orgOwne...
使用 ss 而不是用起火器来杀死 stale port- forward (fuser not on k0m1)
引信和Isof没有安装在跑道主机上。 使用 ss -tlnp 与 (帮助) grep来取出PID持有18080端口并直接将其杀死. 还有 切换 pkill 到 SIGKILLL(-KILL) 使其不依赖 Stale 进程 尊重一个优雅的信号.
清理已过时的端口, 因此取消的翻译工作不会阻碍下次运行
巴什不会向背景进程传送信号,所以 kubectl 端口前向已取消的工作流程运行并持有端口 18080, 屏蔽随后的每个翻译 并重建任务。 固定 : 在 18080 上, 在装订前先杀死任何已有的端口( pkill +) 保险人/倒置者),然后陷阱 EXIT/TERM/INT/HUP 背景 PF PID 无论步骤如何结...
跨页恢复所有已损坏的占位符值
救世主的脚本 抓住了CSS的类名、内线风格和JS 114 条消息的英文正文的模板文字 横跨笔记、 kb、 商业、 账户、 报告、 线索、 设置 和仪表板页.
从 git 历史中恢复页面主角标题和字幕
英雄标题是"英雄标题"(占位符) 英雄标题是"flex ship-2" (救生钥匙意外地抓住相邻的CSS类名). 从承诺10f4e4b中收回的正确值.
通过投票部件. getState () 启用完成按钮并切换到自动=上载
状态变化事件收听器无法可靠地启用“ 完成” 按钮 *** 核查之后。 两个根源: 1. 排水逻辑读取部件。 在部件上不存在的状态 - 部件会显示 GetState () 不是. state 属性, 所以排水口总是 当收听者在核实后附着时,则不开放。 2. 自动="对焦" 没有父 <form> 元素则无所作为;部件 ...
在 Org 列表中包含订阅目标账户
listForOrg 现在还返回订阅目标为 - 不只是它直接拥有的账户。 在多层楼 建模支付账户在 KamoCRM 顶级 org 中存在 订阅目标子org;没有此功能, KamoClub 或 org 拥有者将 查看零账户并获得"不计费账户"消息.
添加状态窗口标签命名空间并修正所有设置的占位符
- 添加QQ( 50 个密钥) 设置 导航侧边栏显示真实文本而不是密钥路径 - 修复分支 TypesLabel ICU 格式 :\${branchLabel}} {{branch} - Fix tr () 后退后后卫: 下一步返回密钥路径字符串而不是 投出, 请检查结果中的“ 组件. 设置 ” 而不是 依靠尝试/渔获物...
匹配其他工具窗口的大小 + 颜色方案
- 默认大小和分数, 现为 320x650, 可重现: 假( sultches Softphone, Chat, Calculator, SMS, AI Chat) - 从深层梯度切换到SoftphonePanel使用的标准光梯度(#fafbfc- > #f5f7fa) - 标题带现在在白文本上使用 var(- col...
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...
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...
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...
自动指定第一个座位, 免费为地板, 宽度为无效
BillingSetupService 现在启用创建者的第一个开放许可槽 当植入一个子-org订阅器时(对促销至充电的所有人也是这样), 否则,一个新鲜的子org所有者只看到自由基线,尽管是一个 在种子计划中的许可证。 应享权利服务: - 通过合并应用自由计划基线PlanFeatures(不是工会变体) 因此,即使已...
最高层的Org成员获得平台所有者计划,绕行收费门
KamoCRM(最高层)Org成员不受计费制度的约束——他们 获取 OWNER UNLIMITED 计划的特征矩阵 直接(以 Free 作为 如果所有者计划缺失,则防御退缩),加上有活动许可 并有-Kamo-CRM-访问 真实的,所以所有UI门通过.
顶级 Org 绕行 + 无子的 Org 自由基线回落
Org 级别应享权利检查 以 Org 为对象的订阅。 有了新的目标 org模型, urgs that 还没有一个目标 账户订阅 看到了所有的非核心应用拒绝。 两项修正: - 顶级的KamoCRM org绕过全部账单——每个非核心服务 有权。 KamoCRM是平台,不是客户. - 没有目标订阅的兽人回到自由计划的特色 ...
删除布局道克导致邮件正文弹出
外相动相. Div的"放出"道具与内心的Animate Presence相争 高度 : “ 自动” 动画, 在电子邮件上创建 FLIP 反馈循环 不稳定的高度(图像,表格),会无限期地扭曲.
在 Doc 管理器页面上总是显示创建文档按钮
删除隐藏按钮的 Get MemberId () > 0 守护符 用户信息加载窗口。 页面已经落后于认证, 所以没有 这里需要客户端会员资格检查.
意外删除的恢复组织导入
organization.id 在 handleCreateDocument 请求中仍然需要代码 体; 只有DocsEditor条件才应当删除.