直播更改日志

看我们在建什么,实时的。 每个功能,固定, 和改进都跨出平台.

17,933
变动共计
4,614
特征
4,543
修补
32
项目
按项目过滤
所有项目17,933AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,523TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,579kamo-login319kamo-marketing585kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
按类型过滤
所有类型Build24CI523Chore670Docs226Feature4,614Fix4,543Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
March 29, 2026
Fixkamo-internal

60s OTK TTL 用于交会窗口, 独立的聊天/电子邮件邀请, 不屏蔽后端

OTK有一个10秒TTL。 当卡莫 -米特的页面 装入了所有资产和品牌/管理。 在Redis 中已经过期 ^ 401 → 无会话 → 无名称 → 无 JWT ——"等待主持人". 修补 : - 满足OTKs 现在得到60s TTL 通过目的= meet参数 - 独立运行聊天邀请(不是在后端会议创建后) - 电子邮件邀...

kamo·5mo ago
Fixkamo-meet

通过配置覆盖 + DOM 变异观察器正确锁定显示名称

三级方法,以确保名称被锁定给经认证的用户: 1. 在OTK-JWT改道后,当地Storage旗"kamo-meet-aurented"存活下来. 2. 重定向后, 覆盖窗口. config. read OnlyName= true 通过投票 间隔( 遇上配置对象时捕获) 3. 变异观察员发现,#会前地名输入和设定只读作...

Kamo·5mo ago
Fixkamo-internal

通过现有的聊天会话 API 发送聊天邀请, 通过多部分发送电子邮件邀请到 EmailService

聊天邀请: 通过 POST /api/media/会话/聊天创建/获得聊天会话 然后将会议邀请为会议短信。 使用 与ChatTool/ChatBox完全相同的API模式. 电子邮件邀请:新的/api/meet/invite-email路由发送多段形式数据 到电子邮件Service的/api/email/send en...

kamo·5mo ago
FixAPIService

Use getServerName() instead of getHeader(Host) for original host resolution

ForwardedHeaderFilter consumes X-Forwarded-Host and adapts getServerName() accordingly, while getHeader(Host) returns the raw HTTP Host which may be a K8s inter...

Kamo·5mo ago
Fixkamo-meet

通过 Meet 本地读取锁定显示名称 认证用户的名称配置

- Sidecar config.js 现在只读了 Name: true when user has *** cookie 。 或 JWT 在页面 URL (通过引用者/cookie 标题被检测) - nginx通过 Cookie 和 参考器头到侧式车厢进行配置。js 请求 - 这使用Meet的内置输入读取 仅是道具,...

Kamo·5mo ago
FixMediaService

Send chat invites to correct WebSocket topic /topic/chat/incoming/{memberId}

Was publishing to /topic/chat/member/{id} but kamo-internal subscribes to /topic/chat/incoming/{id}. Also fixed Member entity field access **************** inst...

Kamo·5mo ago
Fixkamo-internal

转发全部会场( sendChatInvite, 发送电子邮件Invite, 自定义Message, 房间Alias, 加入Url) 到后端

Next.js API的路线是剥去发送ChatInvite,发送电子邮件Invite, 自定义Message, 和Alias室—— 只有转发室Name 并邀请 Meneillids. 后端没有收到邀请旗,没有Alias室(导致400人),也没有 自定义消息。 现在前进所有田地.

kamo·5mo ago
Fixkamo-meet

从OTK会话生成Prosody JWT, 并用 ?jwt= 重定向给合适的主持人验证

现在的OTK流: 1. 通过侧车校验OTK → 获得会话(成员身份、显示Name等) 2. 将显示名称保存到本地Storage 3. 呼叫/api/auth/jwt,以生成由主持人=real的签名的Prosody JWT 4. 从?otk=xxx到?jwt=Token (Meet的原生JWT支持). 5. 在重定向的页...

Kamo·5mo ago
Fixkamo-meet

将 org 导航颜色应用到整个会前左列, 而不仅仅是工具栏条

目标.会前屏幕(全重容器)及其内容 面板孩子而不是生成类名。 也涵盖会议期间 工具箱和电影夹.

Kamo·5mo ago
Fixkamo-login

将访问者 IP 和 User- Agent 转发到后端, 以便准确记录账户活动

Next.js API线路没有转发X-Forwarded-For,X-Real-IP,或 用户代理头到 Java 后端, 导致账户活动登录 Next.js spoot 的内部IP和默认获取用户代理而不是实际 网络访客客户端信息.

Kamo·5mo ago
FixAPIService

在端口 80 上使用 HTTP 来匹配其他服务

8443上的 HTTPS 端点在路由时造成 SSL 证书不匹配 通过 K8s 内部 DNS. 所有其他服务在80号口使用HTTP.

Kamo·5mo ago
Fixkamo-internal

显示每个成员会议的会议对话框,而不是直接绕过

成员项目(互动中心)和ChatBox(聊天工具窗口) 与目标成员预选的“对话”打开“对话” 用户可以在 开始开会.

kamo·5mo ago
Fixkamo-internal

路由通过APIService而不是直接MediaService满足配置 API

现有的会话/创建路由使用extraToApi( APIService), 该路由 代理媒体服务。 新的配置/背景路线必须遵循 与现有基础设施的工作模式相同.

kamo·5mo ago
Fixkamo-meet

在连接前屏幕上锁定已认证用户的显示名称输入

经认证的成员(通过OTK抵达)事先填写其姓名,并 锁定 —— 输入设置为只读已禁用指针事件 。 变异观察员确保锁在“满足”制作后仍然适用 预接屏幕充满活力 匿名/嘉宾用户仍然可以编辑 他们的名字自由。 成员必须改用卡莫-内部名称.

Kamo·5mo ago
Fixkamo-meet

在配置中使用相对的 BOSH/ WS URL, 添加 OTK auth 并带有名称预填, 负载 org CSS 表示导航颜色

三个修正: 1. config.js BOSH URL由集群内部地址改为相对地址. /http-bind (nginx 代理给Prosody). WebSocket使用主机头. 2. 品牌/覆盖.js现在通过URL参数验证OTK,得到会话 在本地Storage中显示预填充Name 屏幕自动显示成员的名字。 3. 装入包...

Kamo·5mo ago
Fixkamo-internal

将 Chat Now 后的新标签按钮仅作为图标移动, 删除重复的 Notes 链接

新 Tab 现在是一个图标按钮(没有标签),放在Chat Now右侧. 从NavTop删除的笔记,因为它已经在NavPri了.

kamo·5mo ago
Fixkamo-meet

启用 nginx SSI并复制缺失的 HTML 包括文件(head.html, base.html,字体.html,body.html,插件.head.html)

Meet Meet 使用 nginx 服务器侧面包含来作曲索引.html from 多个部分 HTML 文件. 没有启用 SSI 和包含的文件 目前,此页面作为空白的暗屏幕.

Kamo·5mo ago
Fixkamo-shared-library

在 KbArticle AI 可见字段中添加明显的 @ JsonProperty 注释

确保杰克逊的序列化/去序列化aiEnabled,aivisible To Public, ai 可视化成员, 具有正确字段名的可视化成员.

Kamo·5mo ago
Fixkamo-internal

防止因默认道具数组引用而导致在 MeetingDialog 中无限重递循环

使用效果已经预先选定成员(不履行)作为附属成员, 在每次渲染时创建新阵列并触发无限设定状态 循环。 通过使用 ref 来跟踪开放状态过渡来固定, 删除 不稳定的解析器,并将刷新按钮移出文本字段 避免重起扳机的插槽Props.

kamo·5mo ago
Fixkamo-internal

使 Chat Now 图标为白色, 将邮件徽章与信件列表同步, 对主题颜色使用 CSS 颜色混合

- NavTop: 将论坛Icon颜色改为白色以匹配Chat Now标签 - 信件浏览器/邮件按钮:通过自定义事件协调 WebSocket电子邮件刷新,所以徽章计数与信件列表保持同步 - FeatureCard/page:用 CSS 彩色混合插件取代硬编码的彩色六角插件,用于适当的主题支持

kamo·5mo ago
March 28, 2026
Fixkamo-internal

简化使用会议直接生成OTK和开放会话窗口

后端会话 API 端点尚不存在 - 跳过会话记录 创建现在。 将错误处理添加到所有点击处理器中以防止 客户端崩溃 .

kamo·5mo ago
Fixkamo-meet

使用 make 构建系统并添加 .dockerignore 用于满足 Docker 构建

满足用途 make/webpack, 不是 npm 运行构建 。 已添加 -- legacy- peer- deps 用于对等依赖冲突,以及 .dockerignore 排除节点 模块 从建设背景.

Kamo·5mo ago
Fixkamo-internal

制作能见度复选框和列车AI来切换独立控件

能够访问文章的能见度(成员、小组成员、公众)控制 在KB UI中。 Train AI是用于RAG索引的单独切换工具,不是父程序 可见的复选框.

kamo·5mo ago
FixAPIService

保存上游 X 前置 Host 而不是用自己的主机覆盖

当上游代理( Next.js) 设置 X- Forwarded- Host 到浏览器时 原主机, APIService 现在保存它而不是用它覆盖 拥有主机头. 当请求通过 内部 K8s 服务 URL.

Kamo·5mo ago
Fixkamo-internal

使用内部 K8s URL 用于 API 路由, 为非 KamoCRM orgs 修复可视化上传

API 代理正在计算每个矿石的外部 URL (https://api.{domain}), 它只解决了 KamoCRM。 现在直接使用 API SERVICE URL env var 内部出行. 并在APIService 和 APIService 中保留了上层的 X-Forwarded-Host 传播实际后端错误而不是...

kamo·5mo ago
Fixkamo-internal

Re-fetch notes after create/update to show decrypted content in preview

The backend returns encrypted content/contentPlain in POST/PUT responses, causing NoteCard previews to display ciphertext until page refresh. Now re-fetches via...

kamo·5mo ago
Fixkamo-internal

Disable all auto-link behaviors in KB editor to prevent paste-as-hyperlink bug

The linkExtension singleton from @lexkit/editor retains internal paste handler state across component remounts. Disabling autoLinkUrls, autoLinkText, and linkSe...

kamo·5mo ago
Fixkamo-internal

Prevent KB editor link extension state leaking between article creates

Move Lexical extensions from module-level singletons into a factory function called via useMemo per component mount, so each new article gets fresh extension in...

kamo·5mo ago
March 27, 2026

就像你看到的运输?

每一个都自动更新您工作空间的地盘。 开始自由,看它成长 一周又一周.

永远开始自由查看定价