-
- 已读上报增加本地读位置覆盖判断,避免切换会话和当前会话自动已读时重复调用 read 接口 - 标记会话已读时同步推进本地 read 游标并写入 IndexedDB,接口失败仅记录日志 - 缓存私聊对方 maxReadMessageId,并在状态补拉、回执更新和退出 IM 时维护缓存 - 增加群详情 infoLoaded 内存标记,减少切群时重复拉取群详情,手动刷新和关键通知仍强制刷新 - 同步 GROUP_INFO_UPDATE 的 joinApproval,避免群审批配置在前端缓存中陈旧 - 优化群通话胶囊条状态,记录 participantsLoaded,按需补齐参与者并在通话无人时移除胶囊 - RTC_CALL_START 生成群通话最小胶囊条,后续由参与者事件和 getActiveCall 补齐 - 退出 IM 时清理 RTC 状态和群通话缓存 - Vben antd/antd-next 调整媒体元素为函数 ref,修复 MediaStream 与元素挂载时序问题 - 修复 Vben 消息历史弹窗回调类型标注
-
- 后端群 VO 返回当前用户维度的 groupRemark 和 silent - 群列表构建时通过成员关系回填个人群设置,并继续仅对有效成员回填置顶消息 - Vue3 群列表同步时以接口返回的个人群设置为准,只保留成员缓存 - 会话名写入入口统一使用 getGroupDisplayName,避免群备注被原群名覆盖 - 空群头像且成员未加载时异步预拉群成员,用于合成群头像 - 启用 IM Maven 模块和 yudao-server 对 IM 模块的依赖
-
- 移除 agreeFriendRequest 中对申请双方的重复 validateUserList 校验 - 保留申请存在、未处理、操作人必须为接收方的校验,避免削弱处理权限边界 - 调整单测,断言同意好友申请不再触发双方用户复验
-
- 后端将 GROUP_MEMBER_NICKNAME_UPDATE 改为非持久化事件,避免写入群聊历史消息 - 保留群昵称变更的 WebSocket 在线同步,继续更新成员 displayUserName - Vue3 聊天侧栏从当前群成员的 displayUserName 回填「我在本群的昵称」 - Vue3 WebSocket 收到 GROUP_MEMBER_NICKNAME_UPDATE 时只同步 groupStore,不再插入消息列表 - 补充后端单测,覆盖群昵称变更事件不入库但仍推送
-
- 统一 IM 单测类注释为 {@link Xxx} 的单元测试 - 保留方法分组注释,收敛不符合规范的分组文案 - 删除少量冗余字段说明注释
-
- 已读上报使用会话末条消息编号兜底 - 历史退群群不再请求群成员列表 - 群聊 read 放开当前成员校验,保留可见性校验 - Vben 群详情补齐 joinStatus - 补充退群群已读边界测试
-
Merge pull request !1559 from 芋道源码/master-jdk17
-
- 将 WebSocket 推送入口统一为 userId/userIds + conversationType + contentType + payload - 移除业务侧 ImNotificationWebSocketDTO 构造和无会话专用发送入口 - 收敛私聊、群聊、频道、好友、加群申请、RTC 通知调用路径 - 精简 ImNotificationWebSocketDTO,仅保留统一外壳字段 - 保留群消息 payload 的 receiptStatus、readCount、receiverUserIds - 更新相关单元测试,覆盖群消息通知 payload 字段
-
- 将 WebSocket 推送入口统一为 userId/userIds + conversationType + contentType + payload - 移除业务侧 ImNotificationWebSocketDTO 构造和无会话专用发送入口 - 收敛私聊、群聊、频道、好友、加群申请、RTC 通知调用路径 - 精简 ImNotificationWebSocketDTO,仅保留统一外壳字段 - 保留群消息 payload 的 receiptStatus、readCount、receiverUserIds - 更新相关单元测试,覆盖群消息通知 payload 字段
-
- 新增会话读位置持久化接口与前端同步逻辑 - 增加好友、好友申请、加群申请的增量拉取补偿 - 统一前端 pull 编排,增加回扫窗口、落库等待和账号切换守卫 - 调整群成员为按群懒加载缓存,并移除全局成员增量链路 - 修复消息落库、读位置补偿、READ 事件乱序下的未读状态一致性 - 完善群申请红点快照刷新和管理员角色变化补偿 - 更新消息存储设计与修复记录文档
-
- 批量 FOR UPDATE 查询前复制并排序库存 id,保持查询输入顺序稳定 - 补充多条已存在库存变更单测,验证库存余额更新和流水顺序
-
- 新增 im_conversation_read 会话读位置表,并补充消息存储推拉相关索引 - 群消息固化 receiver_user_ids 快照,按可见成员快照拉取和统计回执 - 统一消息 status 为 NORMAL/RECALL,新增私聊 receipt_status 并复用统一回执状态 - 前端改用 receiptStatus 展示私聊已读、群回执和频道已读态 - 补齐私聊、群聊、频道 WebSocket 已读同步和离线补偿逻辑 - 更新 IM 消息状态、回执状态字典和管理后台展示 - 调整相关单测和测试建表脚本
-
- 后端群列表返回历史群成员状态 joinStatus,用于区分当前群和历史退群群 - 群消息拉取支持基于 receiver_user_ids 快照过滤可见消息 - 补充群消息 pull、群成员候选、私聊 pull 相关索引与 SQL 脚本 - 前端接入 joinStatus,并封装历史退群群判断 - 历史退群群禁发、隐藏群操作入口,并从通讯录、转发、推荐名片候选中排除 - 保留历史群会话展示能力,用于查看退群前历史消息
-
- 新增 highgo SQL 脚本与转换器类型 - 增加 HighGo Docker Compose 示例和工具文档 - 后端运行包引入 PostgreSQL JDBC 驱动 - 补充本地瀚高连接配置示例
-
将 Redis、RabbitMQ、RocketMQ 的多租户 Bean 拆到独立条件配置, 避免未引入 yudao-spring-boot-starter-mq 的模块启动时因解析 YudaoTenantAutoConfiguration 方法签名触发 NoClassDefFoundError。 Closes https://gitee.com/zhijiantianya/yudao-cloud/issues/IJTOF4
-
Merge pull request !1556 from Jason/master-jdk17-bpm-bug-fix
-
- 固化群消息 receiver_user_ids 快照,并按快照过滤离线拉取和历史查询 - 新增 im_conversation_read,统一私聊、群聊、频道的已读位置存储 - 移除群聊、频道已读位置的 Redis 存储 - 补充群消息、群成员、私聊拉取相关索引 - 调整群回执统计、引用消息可见性和退群历史查询口径 - 补充消息拉取与会话已读位置相关测试
-
Merge pull request !1557 from 芋道源码/master-jdk17
-
- 新增 SN 码条码业务类型与配置 - 支持按 SN 明细查询对应条码 - 抽离 SN 码明细弹窗组件 - 同步 vben antd/ele 的条码入口 Refs: https://t.zsxq.com/1YCqD
-
为本地 TDengine 示例 URL 增加 enableAutoReconnect=true
-
- 后端售后申请接口启用请求体参数校验 - 前端申请售后提交前校验售后类型 - 修正售后类型 radio 选中态绑定字段
-
在 yudao-dependencies 中新增 fastjson2.version 属性及 dependencyManagement 条目, 统一锁定 fastjson2 版本,避免由 rocketmq 等依赖间接引入导致版本不可控(原 2.0.43)。
-
当 Redis 流水号落后于历史数据时,生成的编码可能与已有记录重复,原逻辑会直接抛出 AUTO_CODE_GENERATE_FAILED 异常。现改为循环重试(最多 10 次),重复时自动跳过并 生成下一个可用编码,仅在重试耗尽后才抛异常。 - 抽取 generateCode 方法,分离编码拼接/补齐与重复校验、记录保存逻辑 - 补充重复重试场景的单元测试
-
1. returnTask 在 moveExecutionsToSingleActivityId 前校验 runExecutionIds 非空, 避免传入空集合导致 Flowable 内部报错 2. approveTask 清理退回标记变量改为先判断存在再删除,避免每次完成任务产生无谓的 DB delete,并补充 info 日志便于排查 3. processTaskAssigned 中 sameAssigneeQuery 重命名为 approvedTaskQuery, 贴合其「已审批通过历史任务查询」的实际语义
-
Merge pull request !1554 from 芋道源码/master-jdk17-bpm-bug-fix
-
- 新增 IotKafkaMessageBus,支持 IoT gateway 与 yudao-server 通过 Kafka 通信 - 增加 type=kafka 自动配置,并补充消息总线类型说明 - 为 iot-gateway 补充 spring-kafka 依赖和 Kafka 连接配置 - 将 iot-gateway 与 yudao-server 的 IoT message-bus 默认切换为 kafka
-
- 新增 IotKafkaMessageBus,支持 IoT gateway 与 yudao-server 通过 Kafka 通信 - 增加 type=kafka 自动配置,并补充消息总线类型说明 - 为 iot-gateway 补充 spring-kafka 依赖和 Kafka 连接配置 - 将 iot-gateway 与 yudao-server 的 IoT message-bus 默认切换为 kafka
-
- 新增 URL Path 编解码工具,保留 + 字符语义 - 文件访问基于原始 URI 解码 path,避免中文、空格、% 等字符下载异常 - 文件客户端生成 URL 时按路径段编码,S3 兼容完整 URL 和裸 path - 优化 Content-Disposition 文件名,支持 filename 和 filename* - 下载文件名优先使用文件记录的原始名称 - 补充 HTTP、Local、S3、文件服务相关单测
-
- 新增 URL Path 编解码工具,保留 + 字符语义 - 文件访问基于原始 URI 解码 path,避免中文、空格、% 等字符下载异常 - 文件客户端生成 URL 时按路径段编码,S3 兼容完整 URL 和裸 path - 优化 Content-Disposition 文件名,支持 filename 和 filename* - 下载文件名优先使用文件记录的原始名称 - 补充 HTTP、Local、S3、文件服务相关单测
-
Merge pull request !1544 from 熊猫大侠/master-jdk17-iotalert
-
Merge pull request !1543 from 熊猫大侠/master-jdk17-iotscene
-
- 泛化 Modbus 轮询任务为 taskKey,保持默认单点轮询兼容 - 支持 TCP Client 按功能码、轮询间隔和连续地址聚合读取段 - 新增区间读取方法,批量读取后按点位切片上报 - 按 Modbus 单次读取上限拆分读取段 - 补充连续、重叠、拆段和线圈切片单测 https://github.com/YunaiV/ruoyi-vue-pro/issues/1147