YunaiV
|
1ead6888e9
|
fix(ai): 修复会话列表排序并收敛 createTime 类型
- 三端会话 VO createTime 改为必填字段
- 修复 conversationList.toSorted(...) 未写回导致排序不生效
- 排序和分组时间计算直接使用 Number(createTime)
- IM 群聊消息 index > 0 改为 Number(index) > 0
对齐 Vue3 管理后台 e58fe91a2
|
2026-06-21 08:51:40 -07:00 |
YunaiV
|
0a76bed471
|
fix(im): 清理 RTC 媒体元素卸载时的 srcObject
- 对齐 Vue3 管理后台 63dfc5e 的 RTC 媒体元素处理
- useMediaStreamElement 改为 callback ref 闭包保存当前元素
- 组件卸载或 ref 置空时清理旧 video/audio 元素的 srcObject,避免流关闭后画面残留
- 同步适配 web-antd、web-ele、web-antdv-next
验证:
- pnpm -F @vben/web-antd run typecheck
- pnpm -F @vben/web-ele run typecheck
- web-antdv-next 仍为既有 55 个类型错误,无 RTC 新增错误
|
2026-06-21 07:55:13 -07:00 |
YunaiV
|
210443c833
|
feat(im): 优化免打扰会话未读展示
- 免打扰会话保留头像小红点提示
- 会话预览行展示免打扰未读条数
- 总未读统计继续排除免打扰会话
- 同步 Vue3 + Vben 三端会话项展示
|
2026-06-19 18:29:16 -07:00 |
YunaiV
|
1d1b0a1d0f
|
fix(im): 修复 vben 三端 IM 组件库属性适配
- 修复 web-ele Element Plus 属性误用
- Switch 使用 model-value 展示开关状态
- Badge 使用 value 展示未读角标
- Image 使用 preview-src-list 恢复图片预览
- TabPane 使用 label/name 恢复已读状态切换
- Select 改用 ElOption 渲染频道和素材选项
- Popover 使用 v-model:visible 控制显示
- Input 使用 show-word-limit 展示字数统计
- Descriptions/Table 使用 border 展示边框
- 清理 web-ele 无效 closable 和误用 content 属性
- 清理 web-antdv-next 直接组件的 deprecated prop
- destroy-on-close 改为 destroy-on-hidden
- mask-closable 改为 mask.closable
- body-style 改为 styles.body
|
2026-06-19 17:39:37 -07:00 |
YunaiV
|
fac0190ca8
|
fix(im):修复迁移评审发现的组件与目录问题
- 修复 antdv-next 群详情缺少 DescriptionsItem 导入的问题
- 对齐 antdv-next 群详情、RTC 详情的数据访问写法,移除多余辅助函数
- 修复 web-ele 弹窗、抽屉、原生元素、头像、图标的 title/content 误用
- 将三端表情 API 目录 useritem 统一为 userItem
- 同步更新普通表情和管理端表情相关 import 路径
|
2026-06-19 17:12:42 -07:00 |
YunaiV
|
010da63c7c
|
fix(im):同步已读补上报字段与群通话竞态修复
- web-antd、web-antdv-next、web-ele 同步 reportedReadMessageId 字段
- 避免旧 readMessageId 本地缓存污染 read API 跳过判断
- RTC_CALL_END 按 room 移除群通话胶囊,避免旧房间结束事件误删新房间通话
- participantsLoaded 仅在同 room 下继承,避免新房间误跳过参与者补齐
|
2026-06-19 11:16:58 -07:00 |
YunaiV
|
09b97f1e04
|
feat(im):同步已读上报补偿与群通话探测优化
- web-antd、web-antdv-next、web-ele 同步会话 readMessageId 逻辑
- readActive 与 WebSocket 自动已读改为基于服务端已上报读位置判断是否跳过接口
- read 接口成功后同步 readMessageId,失败时保留本端已读体验并允许后续重新进入补上报
- 拉取服务端 read 进度时同步更新会话 readMessageId,同时保持本地读位置单调合并
- 三端同步 activeCallLoaded / activeCallExpired 群通话探测状态
- 首登与重连时失效群通话探测缓存,本地无通话且探测过期时懒加载 getActiveCall
- 群通话写入或移除时标记探测已加载,并避免通话探测状态写入 IndexedDB
- 为 IndexedDB DO 类型补充存储结构注释,并修复 conversationStore lint 写法
|
2026-06-19 11:05:19 -07:00 |
YunaiV
|
c0ead15bc3
|
feat(im):优化已读上报、群详情缓存与 RTC 通话状态
- 已读上报增加本地读位置覆盖判断,避免切换会话和当前会话自动已读时重复调用 read 接口
- 标记会话已读时同步推进本地 read 游标并写入 IndexedDB,接口失败仅记录日志
- 缓存私聊对方 maxReadMessageId,并在状态补拉、回执更新和退出 IM 时维护缓存
- 增加群详情 infoLoaded 内存标记,减少切群时重复拉取群详情,手动刷新和关键通知仍强制刷新
- 同步 GROUP_INFO_UPDATE 的 joinApproval,避免群审批配置在前端缓存中陈旧
- 优化群通话胶囊条状态,记录 participantsLoaded,按需补齐参与者并在通话无人时移除胶囊
- RTC_CALL_START 生成群通话最小胶囊条,后续由参与者事件和 getActiveCall 补齐
- 退出 IM 时清理 RTC 状态和群通话缓存
- Vben antd/antd-next 调整媒体元素为函数 ref,修复 MediaStream 与元素挂载时序问题
- 修复 Vben 消息历史弹窗回调类型标注
|
2026-06-19 10:05:22 -07:00 |
YunaiV
|
efc75e2608
|
fix(im): 修复 antd next 一些样式问题
|
2026-06-19 02:11:26 -07:00 |
YunaiV
|
c71e250b79
|
fix(im): 修复 antd next 一些样式问题
|
2026-06-19 01:46:54 -07:00 |
YunaiV
|
8279089eb9
|
fix(im): 将频道消息的 pull 改成 pullChannelMessageList
|
2026-06-18 21:59:42 -07:00 |
YunaiV
|
b1bc5fa0bd
|
fix(im):修复会话侧栏抽屉样式(分隔底色 / body 内边距 / 空 header)
- web-antd 私聊侧栏:残留的 .el-drawer__body 改为 antd 的 .ant-drawer-body,
去掉抽屉默认 24px 内边距,内容铺满贴边;底色与行分隔线对齐群聊侧栏
- web-antd 私聊 / 群聊侧栏:卡片间灰底 --im-conversation-side-bg 的亮色定义改用 :global(),
修复 antd Drawer 传送到 body 后 scoped data-v 落不到、灰色分隔条亮色下失效(显白)的问题
- web-ele 私聊 / 群聊侧栏:ElDrawer 补 :with-header="false" 去掉空 header;
群聊 --im-conversation-side-bg 同样改 :global(),对齐 Vue3 + EP
|
2026-06-18 16:55:40 -07:00 |
YunaiV
|
dfe4c8a040
|
feat(im):初始化 ele 的 im 迁移
|
2026-06-18 16:09:40 -07:00 |