Show error icon when a message fails to translate
When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders an AlertTriangle icon in red with tooltip "F...
Show error icon when a message fails to translate
When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders a small red ErrorOutline icon in place of th...
Stream translations newest-first for visitor history
When the visitor lands on a non-English locale and the support chat has existing English messages, every bubble flagged needsTranslation by the backend now show...
Stream message translations newest-first on language switch
When the user picks a new language (or opens an existing chat in a language different from the messages' source), every bubble that needs translation immediatel...
Auto-translate visitor and agent messages
Live agent replies arriving in a language other than the visitor's URL locale now show a "Translating…" bubble while the TranslateService call resolves, then sw...
Translate chat messages into the viewer's language
Adds a "My Language" flag picker in NavTop (left of the email tool, separated by a vertical rule). Selecting a language writes back to Member.language and syncs...
Proxy support-message translate endpoint
Adds a passthrough route for the new MediaService endpoint that translates a single support-chat message into the visitor's URL locale. The marketing-side chat ...
On-demand translation for chat and support messages
Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...
Translation cache for chat messages
Adds the MediaObjMsgTranslation entity (one row per (message, language) pair) and an optional sourceLanguageId column on MediaObjMsg so chat messages can be tra...
添加个人+聊天/Docs/Notes/KB/HRS 节次
/设置指数没有显示非管理员的分节,因为 现有部分在管理权(CONFIGURE SYSTEM, 手艺 手艺 一个普通的团队成员 支持权利只看到3张牌(Topics, Analytics, 排程) 支持),无一例外. 添加一个总是可见的个人部分(我的配置、音频和视频, 账户活动,以及儿童类的计划和账单) 查看器自己的 /...
根据视图宽度比旋转目标打开
目标框架现在由 atan2( ViewportH, ViewportW) 倾斜,所以它的开放 右侧目标是对角对角的取景口——16:9监视器 东面29°以南的开口点;对于肖像画,它指向更接近 南来. 读取用户自然丢出大部分人头的方式 屏幕朝左上角转 物理:目标相撞现在运行在目标-LOCAL圈. 都抛出 头中心+速度旋转...
以得分/失分庆祝方式投入进退球
132×132的入球框出现在左上角,只要有人在 独行道或主动推进,从角落中冲出56px,这样头就能 错过过去或后面。 三道坚固的墙壁(上,左,下)起到 弹性回弹表面(0.65还原);右边是开口 输入。 在后板上放出一个粗体的红色 X 使"搬走"的意图 不可模糊的,一个脉冲入子指示器标志着开放的一面. 当一个被抛出的头...
以池表相撞和彗星踪迹投掷物理
飞出一个头越过了抛出阈值 飞出整个取景口 在显性物理下(软体、边缘回弹、头-相-头弹性) (b) 碰撞)。 缓慢的下降仍然降落在释放地点。 当头 正在移动中 一个拱廊式的火迹 跟着它。 投出速度以两种速度相接(>=650平方厘米/秒) 最后~110 ms)和总拖曳距离(~~30 px)如此快速精确 重新定位永远不会意...
使用服务器的 OTK 切换到新的 org
更希望POST/api/security/org将水獭送回来, /api/安全/进入往返。 服务器现在铸造出一个新的主人 语句作为 org 创建的一部分,所以创建后重定向到新的 org's/validate is decistic – 没有与域创建的种族,没有 默默的输入失败让创建者在父- org 会话上离开 .
在 Org 上创建薄荷所有者QQOTK
创建 OrganizationOwner 后, 将一新 *** 装入新所有者 团队成员与身份/成员一起返回OTK。 没有这个 创建者留在父作者的会话上——有限的权利 是OrganizationOwner=false - 所以新孩子的设置页面出现 Gated 和 Plans & Billing 被隐藏到手动重入为止 .
启动时未提供COMP 命令
在 @ PostConstruct 上扫描所有已核准 COMP 命令并提供任何 没有账户订阅。 同上,“找到或创造”是指安全存在。 重复运行.
将可用状态下移到左侧, 放在我的生意前
将状态药丸从右动作栏移到左欢迎部分,放在欢迎分离器和我的商号之间并用分牌. 删除先前将状态从图标按钮中分离出来的现在已孤儿的垂直规则.
COMP 订单批准自动提供 账户订阅和分配许可证
- 订阅命令:增加目标组织(可忽略的FK到Orgs) - 增加目标组织字符串 - 账户存储器: 添加 findByPrimary Member ID 供持有者成员进行账户查询 - 订阅服务:注入账单重新投放;提供Company订阅创建/更新 **************** 为目标组成员订阅会员和ACTIVE Ente...
将点击打开替换为动作弹出器+大小控制
点击十六进制头 打开一个被抛光的玻璃形状 弹出与 背景动作而不是立即打开其工具窗口。 成员 聊天头曝光: 开口聊天, 查看账户, 电子邮件, 邀请会议, 调用( 当双方都有注册的 VOIP 扩展名时); 工具头 打开“ 工具” 。 大小子菜单让用户选择小/ 中/ (每个成员通过新的 成员UiPreference sto...
添加成员 UI PREFENCES 表格( 第 60 令)
通用成员UI优先商店支持的参考文献 CREATE Hex-head弹出器大小选择器和未来的每个成员UI设置。 Schema 镜像 EmbRecord State 公约(活动,日期 创建, date update),数据模型中其它处使用.
Add MemberUiPreferenceController for per-member UI settings
Backs the new hex-head popover size selector and any future small per- member UI preference. Endpoints under /api/security/members/me/ui- preferences resolve th...
Add MemberUiPreference entity for per-member UI prefs
Generic per-member UI preference store (memberId, prefKey, JSONB value) for small persisted UI settings. First consumer is the hex-head popover size selector.
用于儿童游戏平台订阅的网络功能管理器
地物管理员称遗产是... 抛出( 上下倒计时) 而不是读取真正的平台订阅 。 现在打电话 QQ 查询 root org 的 致电者跨局会员的商务订阅令. 当 调用器在 root org 上有一个 approVED COMP 命令,所有特性门都打开为 预计将由竞聘的童高管理员担任.
添加跨org功能的平台订阅结束点
Child-org 管理员( 如 GNosia 的拥有者 Daniel) 拥有他们的 COMP 订阅 命令在根 KamoCRM org 上,而不是在它们自己的 org 上。 特性管理者 查询错误的系统并查找一无所有,锁定所有特性。 新获取 **************** 决定 呼叫者的用户身份 跨越Org边界 找到...
I18n 通过设置获取遗产枢纽内容/侧边栏
将硬编码的英语替换为下t-intl。 引入稳定的话题id常数; 活动Topic 被比作 ids 而不是被翻译的显示字符串 .
Wire landing page to settingsLanding translations
Replace hardcoded feature cards and section copy with useTranslations- backed strings from **************** including ICU branch label for branch types cards. C...
将翻译移至 kamo- 翻译- 词典
所有22个地方文件都移动到中央 Kamo 翻译- 词典 复发. 复制 kamo 营销/ 文件夹的 CI 复制器 在建构前插入信件/ 替换前两个阶段 以更简单的构建+部署流程来构建+转换管道.
将翻译移至 kamo- 翻译- 词典
所有22个地方文件都移动到中央 Kamo 翻译- 词典 复发. CI 现在复制并复制 kamo- 内部/ 文件夹 在建构前插入信件/ 替换前两个阶段 以更简单的构建+部署流程来构建+转换管道.
通过 common.action 和 common.tooltips 的 Wire MUI 工具提示标题
将单行工具提示标题字符串替换为 tCommon( “ actions. * ”) 或 tCommon ("tooltips. *"),将密钥合并到消息/en.json,并固定嵌入 部件需要它们自己使用 Translations ("common") hooks. 添加一个 用于未来波的代码脚本并修正 BranchSet...
Tooltip wave — AccountManager, ModernColorPicker, SMS tabs
Account grid View/Delete via common.actions; color picker and SMS tooltips via common.tooltips (pickColorFromScreen, resetToDefault, crmIntegrationComingSoon, e...
工具提示波——团队成员管理器动作
线网工具提示到QQ和常见.tooltips.resetFilters. i18n:审计工具提示文字 217–209.
工具提示波 — DocManager 网格和行动作
通过 common.tooltips 将 DocManager 中所有文字工具提示标题国际化 和 common. 动作(下载,共享,删除,刷新). 将碎片合并到en.json中。 i18n:审计工具提示文字 230~217.
工具提示波 — 牵头列表图标和电子邮件模板块
通过 lead.list.tooltips 的线导 ID 列图标; 电子邮件块重排顺序/删除通过 **************** i18n:审计工具提示文字 236–230.
常用工具提示波 — 订阅发票, 计费标签, 活动 IP, 外观删除
以 common.actions. send, common.tooltips.markPaid 替换字面工具提示标题, 屏蔽此Ip, 添加 Billing Account, 和动作. delete; 将片段合并到 en.json 。 i18n:审计工具提示文字241-236.
Localize CRM account, leads, procurement, and phone extension tooltips
Add common.alerts wave for alert() literals
Introduce **************** with shared alert strings under common.alerts, merge into en.json, and replace literal alert('...') calls across clubhouse, documents...
Wire 组件.ui. placehiers 跨工具,联系人,短消息,任务
在计算模式、消息工具、 AI 聊天搜索、 注释、 联系对话框、 短信标签和任务边栏中, 将字面输入占位符替换为 QQ。 修复 Softphone Voicemail Tab 以使用范围化的 tVm 键代替未定义的全局 t, 并解析混合的 QQ/? 类型用于语音邮件删除对话框 .
Merge UI placeholders fragment and wire account, messages, email blocks
Wire settings placeholders and scoped translation hooks
Replace literal TextField/MUI placeholders under settings with next-intl keys, add useTranslations in nested components where needed (dialogs, sub-views, manual...
合并设置占位符目录和线上必需/安全/AI MCP标签
通过片段合并在信件中添加QQ并替换 在管理部, JobTitle管理部, 标签管理部, 安全管理器, AccessBlockManager, 可疑管理器( 普通. 搜索),以及 McpServersTab(包括运输地图重命名来避免阴影使用 Translations).
连接管道标签占位符到下层
通过合并添加组件. pipeline. 共享密钥和标签特定占位符 碎片; 将跨 TSX 管道的字面占位符字符串替换为 尽可能使用 Translations()和已存在的组件.pipeline.* 条目.
Move Credits link from nav to Lead Browser toolbar
Remove Credits from NavTop and add Lead Credits beside Add Lead on /leads, same CRM + VIEW_LEADS visibility and /leads/allotments destination.