跳转到内容
KAMOUniverse

变更记录

什么是新的。

平台的每一个改进,随着它的出货。

  1. · kamo-shared-library

    对精确匹配的查找、 页面列表、 收据的仓库查询

  2. · kamo-shared-library

    向媒体会议添加日期

  3. · kamo-shared-library

    添加为 AccessRevoked 旗帜用于每个附件的访问控制

  4. · kamo-marketing

    Distinguish actively-translating vs queued messages

    The translation queue was already sequential, but every queued bubble rendered "Translating…". Now the single in-flight message shows "Translating…" with a pulsing dot and the rest show "Pending Translation…" with a static dot, so the visitor can see the queue progressing.

  5. · kamo-internal

    Distinguish actively-translating vs queued messages

    The streaming queue was already strictly sequential (one fetch at a time), but every queued message rendered "Translating…" because they all shared the same pendingTranslation flag. Split that into two states: the single message currently in flight shows "Translating…" with a pulsing dot, all the other queued messages show "Pending Translation…" with a static dot. Live (just-arrived) messages are translated alone and start in the active state.

  6. · kamo-marketing

    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 "Failed to translate message." instead of silently leaving the bubble in the original language.

  7. · kamo-internal

    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 the translate badge with tooltip "Failed to translate message." instead of silently leaving the bubble in the original language. The flag is reset whenever the user picks a new language so a re-attempt can succeed without the stale error sticking around.

  8. · kamo-marketing

    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 shows a "Translating…" placeholder while a streaming queue fills them in one at a time, starting from the newest message. A generation counter prevents stale queues from clobbering current state.

  9. · kamo-internal

    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 immediately renders a "Translating…" placeholder and the translations stream in one at a time starting from the most recent message and working backwards. This includes the user's own past messages — anything authored in a different language than the viewer is now translated. A generation counter cancels in-flight queues if the user changes language again.

  10. · kamo-marketing

    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 swap to the translated text with a Languages badge whose tooltip shows the source language and the original message. Visitor messages are tagged with the URL locale on send so the agent's chat can translate them into the agent's profile language. Messages loaded into history are translated up front via the new ?lang=<locale> query param on /api/chat/support.

  11. · kamo-internal

    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 the locale cookie so the entire UI switches; it also broadcasts an event that any open ChatBox uses to re-fetch its history in the new language. ChatBox now fetches messages with ?lang=<locale>, renders translated bubbles with a small Translate badge whose tooltip shows the original text and source language, and shows a "Translating…" placeholder for live messages until the TranslateService call returns. The send path tags every outbound message with the author's locale so other viewers can translate it on demand.

  12. · APIService

    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 widget hits **************** which the gateway now forwards to MediaService with the standard public-chat auth and rate-limit checks.

  13. · MediaService

    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 /translate endpoint. MediaService now talks to TranslateService via TranslationServiceClient, and MessageTranslationService caches results in MediaObjMsgTranslation so the same translation is never paid for twice. Wires the same flow into the public-chat (visitor) path: visitors send their URL locale as sourceLanguage, and the agent / visitor sides each pull translations into their own preferred language. Adds the translate-service secret to the MediaService deployment so the new client can authenticate.

  14. · kamo-shared-library

    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 translated on demand and re-served instantly to other viewers in the same language. ChatMessageDto carries sourceLanguageId so live recipients know whether they need to translate. MediaService.createMessage gains an overload that takes the authoring language, falling back to Member.language for legacy callers.

  15. · kamo-internal

    添加个人+聊天/Docs/Notes/KB/HRS 节次

    /设置指数没有显示非管理员的分节,因为 现有部分在管理权(CONFIGURE SYSTEM, 手艺 手艺 一个普通的团队成员 支持权利只看到3张牌(Topics, Analytics, 排程) 支持),无一例外. 添加一个总是可见的个人部分(我的配置、音频和视频, 账户活动,以及儿童类的计划和账单) 查看器自己的 / sets/ member/<myId> 标签——所以设置永远不会是空的, 不论Org级别的权利。 也浮出以前缺少的聊天 / Docs / Notes / Knowledge Base / HRS 路段——每个门都贴在相应的 Org 特征旗上 加上适当的管理方式, /sets/features/<app>这些应用已经存在的页面.

  16. · kamo-internal

    根据视图宽度比旋转目标打开

    目标框架现在由 atan2( ViewportH, ViewportW) 倾斜,所以它的开放 右侧目标是对角对角的取景口——16:9监视器 东面29°以南的开口点;对于肖像画,它指向更接近 南来. 读取用户自然丢出大部分人头的方式 屏幕朝左上角转 物理:目标相撞现在运行在目标-LOCAL圈. 都抛出 头中心+速度旋转到本地框架,即现有的 AABB 与同轴相接的相接墙相撞没有改变,然后是任意 推出和速度反射会旋转回世界空间. 这个 分数区检查也用本地的coords来做 所以一个真正的头 输入( 旋转) 打开的分数 。 视觉: SVG 框架 + 入场- 侧光线在旋转内直播 容器; 庆祝覆盖( GOAL!/MISS!) 和 REMOVE 标题 坐在旋转之外,所以文本可以读取。 摇倒了 绕起基角而去零. 目标角度通过状态设置在视图端口重新计算大小, 并行的回放, 使 RAF 读取每个框架的最新值 而不重新创建回调.

  17. · kamo-internal

    以得分/失分庆祝方式投入进退球

    132×132的入球框出现在左上角,只要有人在 独行道或主动推进,从角落中冲出56px,这样头就能 错过过去或后面。 三道坚固的墙壁(上,左,下)起到 弹性回弹表面(0.65还原);右边是开口 输入。 在后板上放出一个粗体的红色 X 使"搬走"的意图 不可模糊的,一个脉冲入子指示器标志着开放的一面. 当一个被抛出的头的中枢跨入得分区时,它被取出 从抛出图中,隐藏的工具窗口通过 工具:关闭,然后通过删除“头”删除头部。 绿色光圈 闪光 18颗颗粒金子/橙子爆裂 闪光 闪光 目标! 覆盖 点起火来 当一个被抛出的头只弹出 任何球门墙 (被三百五十分之一击出局 所以一次失败不会发生垃圾邮件事件) 红发抖出一个小姐! 重叠打入. 稳定:目标相撞 完全生活在飞弹RAF回路内 (没有弹簧系统争议),和HexheadGoalZone拥有全部 庆典状态内部——引擎只有火灾事件. 纯 添加特性;非拖放路径不变.

  18. · kamo-internal

    以池表相撞和彗星踪迹投掷物理

    飞出一个头越过了抛出阈值 飞出整个取景口 在显性物理下(软体、边缘回弹、头-相-头弹性) (b) 碰撞)。 缓慢的下降仍然降落在释放地点。 当头 正在移动中 一个拱廊式的火迹 跟着它。 投出速度以两种速度相接(>=650平方厘米/秒) 最后~110 ms)和总拖曳距离(~~30 px)如此快速精确 重新定位永远不会意外触发一发. 宽度封顶于 3200px/s 保持边缘检测闪烁tame。 扔出RAF回路驱动动作值直接通过. set()来写作 -- 在飞行时绕过帧-运动弹簧——当 所有头部都下降 低于停止速度阈值。 家庭分类和 软PushCluster 跳过当前投放地图中的任何锚,所以 泉道系统从未与物理集成器相抗衡. 将头部从任何星团中分离出来,推进到独行星团,以及 与相撞产生的冲动一起加入投出模拟. 轨迹渲染: SVG 层,沿近代有射线梯度的起子 位置,混合-平面-模式:屏幕用于添加剂发光,单 CSS 模糊 柔性过滤器——街机美学,近零CPU成本.

  19. · kamo-internal

    使用服务器的 OTK 切换到新的 org

    更希望POST/api/security/org将水獭送回来, /api/安全/进入往返。 服务器现在铸造出一个新的主人 语句作为 org 创建的一部分,所以创建后重定向到新的 org's/validate is decistic – 没有与域创建的种族,没有 默默的输入失败让创建者在父- org 会话上离开 .

  20. · SecurityService

    在 Org 上创建薄荷所有者QQOTK

    创建 OrganizationOwner 后, 将一新 *** 装入新所有者 团队成员与身份/成员一起返回OTK。 没有这个 创建者留在父作者的会话上——有限的权利 是OrganizationOwner=false - 所以新孩子的设置页面出现 Gated 和 Plans & Billing 被隐藏到手动重入为止 .

  21. · kamo-shared-library

    启动时未提供COMP 命令

    在 @ PostConstruct 上扫描所有已核准 COMP 命令并提供任何 没有账户订阅。 同上,“找到或创造”是指安全存在。 重复运行.

  22. · kamo-internal

    将可用状态下移到左侧, 放在我的生意前

    将状态药丸从右动作栏移到左欢迎部分,放在欢迎分离器和我的商号之间并用分牌. 删除先前将状态从图标按钮中分离出来的现在已孤儿的垂直规则.

  23. · kamo-internal

    添加目标组织到订阅命令类型并创建订阅 顺序

  24. · SecurityService

    添加备料comp 端点以激活来自已核准的订单的COMP订阅

    后 . 电话 然后,通过权利服务,取消目标矿石的应享权利.

  25. · kamo-shared-library

    COMP 订单批准自动提供 账户订阅和分配许可证

    - 订阅命令:增加目标组织(可忽略的FK到Orgs) - 增加目标组织字符串 - 账户存储器: 添加 findByPrimary Member ID 供持有者成员进行账户查询 - 订阅服务:注入账单重新投放;提供Company订阅创建/更新 **************** 为目标组成员订阅会员和ACTIVE EntertainmentLicense; 批准命令要求它采用COMP支付方法; 新的激活Comporder用于追溯提供现有的批准COMP订单

  26. · kamo-internal

    将点击打开替换为动作弹出器+大小控制

    点击十六进制头 打开一个被抛光的玻璃形状 弹出与 背景动作而不是立即打开其工具窗口。 成员 聊天头曝光: 开口聊天, 查看账户, 电子邮件, 邀请会议, 调用( 当双方都有注册的 VOIP 扩展名时); 工具头 打开“ 工具” 。 大小子菜单让用户选择小/ 中/ (每个成员通过新的 成员UiPreference store)外加影响每个用户的全局尺度滑动器 这台机器上的六分头(被固定在本地Storage中). 现在工具窗口 夹住宽度/高度到取景口 这样他们就不会部分打开... 屏幕即使有缩放窗口.

  27. · InitializerService

    添加成员 UI PREFENCES 表格( 第 60 令)

    通用成员UI优先商店支持的参考文献 CREATE Hex-head弹出器大小选择器和未来的每个成员UI设置。 Schema 镜像 EmbRecord State 公约(活动,日期 创建, date update),数据模型中其它处使用.

  28. · SecurityService

    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 the member from the OTK session and read/write JSON values keyed by an opaque prefKey string.

  29. · kamo-shared-library

    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.

  30. · kamo-internal

    用于儿童游戏平台订阅的网络功能管理器

    地物管理员称遗产是... 抛出( 上下倒计时) 而不是读取真正的平台订阅 。 现在打电话 QQ 查询 root org 的 致电者跨局会员的商务订阅令. 当 调用器在 root org 上有一个 approVED COMP 命令,所有特性门都打开为 预计将由竞聘的童高管理员担任.

你们的宇宙正在等待。

只需几分钟即可免费开始。 随时随地添加产品 — — 无需迁移,无需新登录。

永久免费 — — 无需信用卡