KamoCRM

直播更改日志

每个功能,固定和改进, 张贴在船。 发射时没有任何东西被挡住.

17,497
变动共计
5,985
特征
5,283
修补
30
项目
按项目过滤
所有项目17,497AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices738MCPGatewayService250MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
按类型过滤
所有类型Build16CI523Chore773Docs3,254Feature5,985Fix5,283Other994Performance165Refactor278Revert23Style42Test160Upgrade1
July 17, 2026
FixMediaService

将非候选成员排除在聊天参与和路由之外

非理事成员不得作为或作为 作为现场聊天的参与者 打开共享- lib 上的每个聊天路径 **************** 上游 : - DM 创建 / 组查找或创建 / 添加成员拒绝或放弃非竞争性 在创建媒体会议成员行之前设定目标。 - 会话成员/接收名册和聊天名单名册隐藏非竞争性 成员来自其他参加者(电话员自己的一行...

Kamo·3mo ago
July 16, 2026
July 15, 2026
FixMediaService

解决公共聊天系统成员( 将硬码的snadjafinia 化名)

创建支持会话, 创建 PublicTicket, 和所有者通知 帮助者全部通过硬码解析 Org 的“ 系统成员 ” 用户名Alias="snadjafinia"的查询,该查询只存在于 KamoCRM 上 种子 Org – 每个租户 Org 的公开聊天会扔出“ Org 拥有者成员不是 ” 发现。" 替换为 OrgOwne...

Kamo·3mo ago
July 14, 2026
FixMediaService

停止将信件内容放入 message 邮件

删除信件预览计算、分类账 PREVIEW 写入以及 消息预览模板变量; 放弃包含的预览偏好 。 电子邮件现在只载发件人+计数+CTA——内容在签入后读取.

Kamo·3mo ago
July 8, 2026
FixMediaService

通过目标更新, 坚持预定的缩略语标记

与转换管道相同的分离实体孤儿Removal问题:无头扫荡 持有分离的 ImgDat 并保存( )/ 相接( ) 级联到图像收藏中 。 使用 **************** 换句话说.

Kamo·3mo ago
FixMediaService

环绕记录上传, 所以 Media Service 编译

MinIOStorage Service.upload 扔出一个检查过的例外,但摄入( ) 也没有 被逮住或被宣布... ...在"嘉宾"的上方建立休息室 把它包起来 重排为运行时的例外, 因此上传失败会回滚@ Transactal .

Kamo·3mo ago
FixMediaService

Meeting Participant.isGuest () (被Guest 获得,不会编译); 重新将转录到通用终点

约会参与者曝光是Guest() (原始布尔语),而不是Guest()。 并在共享/api/转换/trancis中标注简要转录调用.

Kamo·3mo ago
July 7, 2026
FixMediaService

坚持邀请的参与者, 执行 MANAGE MEET SETTINGS, 放弃双输入路径

- 创建会议:邀请成员是数字雪花ID,而不是UUID字符串 - 像创建者一样通过长的TOUID。 之前的UUID,来自String 每个受邀者都被扔了,所以没有一个被记录为参与者。 - 满足Config Captain: 在所有写作上要求管理 MEET SETTINGS(配置 PUT, 背景上传/删除/重排). 读者对...

Kamo·3mo ago
July 1, 2026
May 1, 2026
FixMediaService

在交易承诺修正图像附件种族后公布 NATS CREATE 事件

NATS消息在@Transactional机构内发布,这意味着 收件人可以接收 CREATE 事件并通过 /image/proxy/{objImgId}在DB显示媒体ObjImg行之前, 导致404个图像渲染,直到聊天重新开始。 现在使用QQ,所以NATS只发布 一旦长期承诺进行DB交易,就会开火.

Kamo·5mo ago
FixMediaService

Serialize attachments in WS relay and message history; allow attachment-only sends

Three bugs fixed: 1. ChatSessionSubscriptionManager was building the STOMP messageMap manually and omitting attachments, sourceLanguageId, readMemberId, msg...

Kamo·5mo ago
FixMediaService

Fix NPE in getChatSessions from Map.of() rejecting null nextcoder

java.util.Map.of() throws NullPointerException when nextcoder is null (no more pages). Replace with HashMap that accepts null values. Also wrap entire handler i...

Kamo·5mo ago
FixMediaService

Fix upload 500 (missing EmbRecordState) and empty chats tab (Timestamp cast)

Defect A: ChatAttachmentService.upload omitted **************** causing a NOT NULL violation on imgs.is_active. Added the default recordState. Also hardened Cha...

Kamo·5mo ago
FixMediaService

Prefer usernameAlias over User.name in memberDisplayName

Switches display name priority to: Member.usernameAlias → User.name → User.alias → User.username. Also includes the paged query dispatch fix from the previous c...

Kamo·5mo ago
FixMediaService

Use split First/After queries for chat sessions paged endpoint

Addresses empty Chats tab by dispatching to ****************

Kamo·5mo ago
April 30, 2026
FixMediaService

Raise client read timeout to 120s for long messages

LibreTranslate runs CPU-only argos models — a paragraph-length chat message takes 20-30s to translate, and longer ones can push past 60s. The 8-second read time...

Kamo·5mo ago
April 26, 2026
FixMediaService

在 Redis 按会话 GUID 跟踪公共支持聊天

销售游客使用/ws/公-聊天-native 没有会员Id;门票仍然 将占位符成员作为请求者。 倍增强度 PUBLIC 公用STOMP连接/断接的密钥,广播会议 并返回成员+来自请求者-snapshot的会话地图。 心跳扩展 TTL 公开会议.

Kamo·6mo ago
April 25, 2026
FixMediaService

扩展 JPA 仓库扫描以包含商务包

新的 Kamo 共享图书馆带来 QQ 要求 **************** (中文(简体) ). Media Service只扫描了 donofy.dao.repos,所以豆子不见了 而应用程序无法启动 。 镜像更大的扫描 警卫 服务用途.

Kamo·6mo ago
FixMediaService

在 ChatWebSocket 控制器中恢复 HashMap 导入

上一个重构件已删除 HashMap 导入, 但手柄已切换 方法仍然为打字事件有效载荷构建一个 HashMap,导致 以“ 找不到符号: 类 HashMap” 来失败的 Forgejo 构建 .

Kamo·6mo ago
FixMediaService

在会话创建时主动创建NATS消费者,以防止信息丢失

之前,NATS JetStream 推力消费者只在一个STOMP客户端时创建. 发送/应用/聊天/订阅。 执行政策。 新建, 任何信件发布于 消费者的存在是永久的丢失——导致访客留言和姓名更改。 除非代理商碰巧先被订阅,否则绝不会在卡莫内部出现. - 将NATS订阅逻辑摘录到聊天会订阅管理器(专有) 确保订阅,将ID...

Kamo·6mo ago
April 21, 2026
FixMediaService

从核心 NATS 中继主题提供

匹配安全服务核心发布: 与调度器订阅 security.them.profile.* 而不是 JetStream(流只覆盖聊天).

Kamo·6mo ago
April 20, 2026
FixMediaService

在访客票上使用 PublicChatVisitor 显示Name 用于请求者Name

访客推出的门票 硬码请求员到Org系统成员,所以 DTO在请求者栏上刻出兽人所有者的名字。 坠落 返回到 PublicChatVisitor.display Name 当可用时,列表会显示 实际访客(匿名或姓名).

Kamo·6mo ago
FixMediaService

在 GeoLookupService 中建立错误, 并为代理信件添加 NATS 发布

- 在 QQ 中修复可选 vs 列表类型不匹配 - 向媒体管理员提供新闻服务 - 发布到聊天. session.{guid} 之后代理生成一个消息,所以两者都是 代理和访客在不刷新页面的情况下通过STOMP实时看到

Kamo·6mo ago
FixMediaService

Real-time chat delivery, message sides, notifications, and name sync

- Keep NATS subscription alive on client unsubscribe to avoid breaking agent real-time delivery - Tag visitor messages with messageType=VISITOR_MESSAGE in getMe...

Kamo·6mo ago
FixMediaService

将访问者信件标记为 VISTOR MESSAGE 类型, 添加发送者Name 以获取信件

- PublicChatService: 设置消息Type=VISITOR MESSAGE 这样前端可以区分 访问者回应代理商对STOMP专题的回应 - 媒体管理员。 名称字段, 使代理员看到是谁发送的 在 TicketChat 中装入聊天历史时每封消息

Kamo·6mo ago
FixMediaService

Three support/chat issues — NATS relay, auto-popup, topic fallback

1. Switch SupportNotificationService and SupportStompRelayController from JetStream to core NATS — the CHAT_MESSAGES stream only covers chat.> so JetStrea...

Kamo·6mo ago
FixMediaService

Write contact form description as chat message on public ticket creation

The description was only stored on the ticket entity and never appeared in the chat window. Added writeTextMessage() helper and call it after the system event s...

Kamo·6mo ago
April 18, 2026
FixMediaService

Bump kamo-shared-library to 1.4.0

Kamo·6mo ago
April 4, 2026
FixMediaService

Add debug logging and robust rights parsing for webinar controller

Adds info/warn logging for session data and rights on POST /types to diagnose 403 errors. Also adds fallback parsing for rights stored as JSON strings in Redis ...

Kamo·6mo ago
March 30, 2026
FixMediaService

Resolve org theme backgrounds not appearing in meet virtual backgrounds

- Add domain-based theme URL resolution for internal K8s service-to-service calls - getPublicBackgrounds now accepts optional domain param to derive correct the...

Kamo·7mo ago
FixMediaService

Upload meet backgrounds to public MinIO bucket with hash-based naming

Was uploading to private 'imaging-meet-recordings' bucket via **************** which caused: - MinIO region mismatch errors on the primary node - Connection tim...

Kamo·7mo ago
March 29, 2026
FixMediaService

Return serialization-safe Maps instead of raw JPA entities in MeetConfigController

All config/background endpoints were returning raw JPA entities with @ManyToOne(fetch=LAZY) Organization references. Jackson failed to serialize the Hibernate p...

Kamo·7mo ago
FixMediaService

Remove duplicate endpoints from MeetController, add org-themes to MeetConfigController

MeetConfigController already handled config/background endpoints. The duplicate endpoints in MeetController caused ambiguous mapping. Added org-theme background...

Kamo·7mo ago
FixMediaService

Update health probes to HTTP port 80 to match new server config

Startup, readiness, and liveness probes were still pointing to port 8443 with HTTPS scheme, causing pod restart loops.

Kamo·7mo ago
FixMediaService

Switch MediaService to HTTP port 80 — TLS termination at Traefik

Internal cluster traffic doesn't need HTTPS. Traefik handles TLS for external clients. This aligns MediaService with all other services.

Kamo·7mo 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·7mo ago
March 19, 2026
FixMediaService

将voip. > 添加到 NATS 流主题中, 并在 VoipStompRelay 控制器中处理非法状态例外

NATS 流只覆盖了聊天. > 因此订阅了voip. " 丢弃 非法状态例外([SUB-90007]) 没有匹配的流). 已添加发音。 " 将两个学科都包括在内,并扩大 抓取块以包含非法状态排除,防止启动失败 如果该流没有可用.

Kamo·7mo ago
March 11, 2026
FixMediaService

接受 *** 从查询参数获取跨子域 WebSocket 认证

先从 ? QQ 查询参数读取 *** ID, 返回到 饼干 这样可以让内部.kamocrm.com的前端认证 WebSocket连接到media.kamocrm.com 没有跨域饼干. 截取器直接对Redis验证会话.

Kamo·7mo ago
FixMediaService

处理Stale NATS 消费者与独特的消费者重试

- 提取信件处理器到创建 NatsMessageHandler () 方法 - 在“消费者已经绑定”时, 添加带有独有消费名称的重试逻辑 服务器重新启动后发生错误 - 清理动词调试记录

Kamo·7mo ago
March 10, 2026
FixMediaService

端口443处通过Traefik的WebSocket路线

- service.yaml: 固定端口 80–8443 以匹配 pock 的实际收听端口 - ingressroute.yaml: 后端使用方案 https + 端口 8443 - 服务器 transport.yaml: 为后端 TLS 证书添加不安全的SkipVify - 删除NodePort服务-websocke...

Kamo·7mo ago
FixMediaService

为 NATS 连接使用集群- 内部 DNS

将默认 NATS URL 从 WireGuard IPs (100. 64.x.x) 更改为 nats.kamo.svc. cluster. 本地服务器的本地化. 远程节点 (k0m1,k2m1)仍然保留在有线卫视IP上.

Kamo·7mo ago
December 23, 2025
FixMediaService

在媒体服务部署中使 TLS 证书具有可选性

- 添加可选内容:对通配符-kamocrm-com 密卷的真实性 - 更新证书转换器内容器,以优雅地处理缺失证书

snadjafinia·10mo ago
December 12, 2025
December 1, 2025

就像你看到的运输?

所有东西都是靠自己运入你的工作空间的 从免费计划开始,一个月后再读这页.

永远开始自由查看定价