Add analytics analytics deployment and analytics.kamocrm.com routing
- New analytics/ directory: PostgreSQL StatefulSet + analytics deployment, services, and secret template - **************** routes analytics.kamocrm.com → analy...
在所有地方的页脚中添加法律精细打印
在覆盖的每一页底部添加保护性法律免责声明 (a) 平台责任,AI/e-签名免责声明,翻译当局, 条款协议和商标通知。 用英文打印的精细 所有22个地方作为权威的法律文本.
修复翻译 – 手动覆盖 + 完整的三角形再翻译
导航/UI两个引擎的手动超载持续失效: -nav.home,nav.company,nav.roadmap,nav.changeLog,nav.legal,,,,,,, (原始内容存档于2013-10-12). Nav.login, Nav.documentation, foller等同, cookieBanner.m...
在 DNS 设置 UI 中显示 TXT 域名所有者记录
- domainData/DnsStatus:添加校验Token,所有者验证,类型字段 - 异位状态表:在CNAME表格上方显示TxtOwnershipCard,并带有复制按钮, Indigo 等待/ 绿色验证的样式; 过滤来自 CNAME 的 TXT 验证的计数 - 手册指南:接受核查 托肯道具; 将 TXT 记录显...
Fall through to next provider when translation equals source text
Bergamot was returning the source text unchanged for single-word nav items, acronym phrases (API, CRM), and compound words (Change Log) while reporting success ...
Generate TXT verification token on domain create, check in verify-dns
- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - T...
Add verification_token and ownership_verified columns to org_domains
通过 DNS TXT 记录添加域所有权验证
- OrgDomain: 添加校验脚本和所有权验证字段 - 域服务:添加设置 VerificToken()和设置 Ownership 验证() - 域名DTO:在API回复中披露验证对象和所有权 - DnsstatusDTO: 添加类型字段以区分 TXT 和 CNAME 状态
Update required aliases — add app, capcha, docs, sign; remove legacy
翻译所有剩余硬码的用户界面字符串
- PreviewBanner, PublicChatWidget, AiChatPanel, LivePanforcePannel, 互联网档案馆的存檔,存档日期2014-12-02. 退出intent Modal, 浮动支持Widget 现在使用翻译( ) - 添加预览 Banner, 聊天, 退出 Modal, ...
Delta 翻译引擎 + 将所有硬码的 UI 字符串接入 i18n
翻译系统: - 翻译.ts现在以三角洲模式运作——只有缺失的密钥或 仍然与英语完全相同的密钥发送到 API; 已有的已翻译密钥 保存完好无损 在典型运行中将CI翻译时间缩短了80-95%. - 添加 --force旗以重新翻译所有密钥(对质量通行证有用)。 - CI 工作流程增益力 在工作流程中再翻译输入 发送,这样你...
禁用 Chrome 自动翻译弹出到 locale- switched 页面
将翻译="否"添加到<html>和<meta name="google"内容="notranslate". 因此Chrome不提供用户已有意翻译的页面 切换到另一种语言.
Bound translation concurrency to 3 threads to prevent DB pool exhaustion
Unbounded @Async (SimpleAsyncTaskExecutor) created 50 threads simultaneously when the retry scheduler fired, each opening a DB transaction and draining HikariCP...
Three bugs preventing changelog translations from being saved
1. **************** was discarding events because handleWebhook() had no @Transactional — save + publishEvent() ran outside any transaction. Add @Transact...
使用 LEFT JOIN 查询 CommissionLogs , 所以零翻译记录被重试捕获
从 CotitLog Translation 中选择的旧查询 – 输入日志, 无 它完全看不到翻译。 使用来自提交日志的 LEFT JOIN 因此, HAVING COUNT < 预期条款包含有0个翻译的记录。 同时去除大全ID IN 条款并接受一个可页码, 所以 呼叫者可以限制每个调度器运行的批量大小.
添加/ setup/dns 页面和域名设置流程到/network
- 新建/设置/dns页,有两相相流:域名条目后为DNS 用60秒自动计票和SSL确认进行校验 - 手动DnsGuide:可相撞的DNS指令 具有记录名称和目标值的复制按钮的技能级别 - 别名现状表:国家妇女委员会核查现状 验证 / 待定 / 错误芯片和 www 的可选徽章 - Dns ProgressView:相位指...
Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases
- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to tra...
Add ssl_confirmed and ssl_confirmed_at columns to org_domains
Adds idempotent ALTER TABLE statements to provision the two new columns needed for DNS setup SSL confirmation tracking.
在 OrgDomain 和 domainDTO 中添加 sl 确认/ sl确认的字段
向 OrgDomain 实体和 DomainDTO 添加两个新字段以跟踪 SSL 自动证书服务问题之后的证书确认状态 证书。 另将 setSslConfirmed () 帮助器添加到域服务 .
Apply word replacement at translation time, not ingestion
Original text is preserved in the DB so that adding a new rule and re-triggering translation is all that is needed to update existing records. Changes: - Chang...
删除客户端的更改日志审查—— 现在由后端处理
文字替换和秘密编辑已移至 Changelog Sanitization 服务 (Security Service) 所以在DB存储和翻译之前进行消毒. 前端不再需要去触摸文本.
Move changelog word replacement to backend before translation
Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, mean...
在计费标签上处理空的 API 回复和优雅的退化
- 计费Api 获得/输出帮助者现在安全处理空响应机构 而不是用空输入在 res.json () 上崩溃 - PlantsBillingTab loadData 将每个计费API呼叫用.catch()包起来 因此,单个端点的出错不会打破整个页面—— 选项卡随任何可用数据制作
Check TeamMember.isOrganizationOwner flag for owner detection in my-networks endpoint
The previous check only looked at org.getOwner() (user_id_owner column) which can be null for existing orgs. The authoritative owner flag lives on the TeamMembe...
从*** 会话中解析 org/ 成员背景, 用于计费代理
计费服务控制器需要X-Org-Id和X-Member-Id头. 直接打电话(通过APIService)时,这些没有被设定. 现在 Next.js 代理读取 *** cookie, 查看会话在 Redis,取出OrgID和成员ID,并把它们作为标题来转发.
直接通过 k8s DNS 而不是通过 API Service 呼叫计费服务
Next.js 服务器侧代理现在呼叫 Billing Service at **************** 直接跳过 不需要跳过APIService. 使用billing servicce URL env var 以 k8s 内部 DNS 为默认值.
添加 /api/ billing/ * 的 Next.js API 代理路由
计费API客户端称/api/billing/*是一个相对的URL, 点击 Next.js 服务器而不是 APIService 网关。 已添加 前进的包罗万象代理路线(与商业市场模式相同) 通过extToApi 发账单请求 APIService 发账单服务.
