Commit Graph

  • 750f25410c feat(im): 基于 livekit 构建 im 通话(语音聊天、视频聊天、共享桌面)v0.1:推进中 im YunaiV 2026-05-09 15:23:07 +0800
  • e12596ad7c ♻️ refactor(im): 移动 IM 相关 API 引用至新路径 YunaiV 2026-05-09 01:25:03 +0800
  • 2935d7d112 feat(im): 拆出私聊 / 群聊已读两个全局开关,关闭后禁用接口与所有 UI 入口(含群回执) ImProperties.message 新增 privateReadEnabled / groupReadEnabled,前端 config.ts 同步镜像。关闭后: - 后端:read 系列接口(read / getMaxReadMessageId / getGroupReadUserIds)抛业务异常;sendGroupMessage 强制 NO_RECEIPT 忽略 receipt=true;pull 群消息跳过 Redis 已读游标读取与 readCount 补齐 - 前端:气泡已读标签 / 群回执 popover / 「发送回执消息」下拉入口 / admin 列表「状态」「回执」列与详情对应字段按开关隐藏;自动上报 / 冷启动同步对方已读位置 / WS READ & RECEIPT handler 全部按开关短路兜底,避免打到禁用接口 - 单测:补 @Spy ImProperties 修复原本就在的 NPE,加 disabled 分支断言 YunaiV 2026-05-09 01:07:18 +0800
  • 46b06b0444 【新增】IM:群头像支持成员头像九宫格兜底 群头像为空时,取前 9 个成员头像在 Canvas 上拼九宫格 dataURL;空头像 / 加载失败的格子画跟 UserAvatar 同款色卡(首字 + charCode 哈希调色板)。 - 新增 GroupAvatar 组件包一层 UserAvatar;按容器 size × DPR 自适应画布像素,避免 retina 屏糊 - utils/group.ts 加 buildGroupAvatar 与 LRU 缓存 facade(上限 200);utils/image.ts 抽公共 loadImage;utils/user.ts 抽 getAvatarText / getAvatarBgColor 供 UserAvatar 与拼图共用 - GroupItem / GroupInfo / ConversationItem / ConversationPickerPanel 按会话类型分支换用 GroupAvatar YunaiV 2026-05-08 18:28:02 +0800
  • 70e7a1c900 【新增】IM:群头像支持成员头像九宫格兜底 群头像为空时,取前 9 个成员头像在 Canvas 上拼九宫格 dataURL;空头像 / 加载失败的格子画跟 UserAvatar 同款色卡(首字 + charCode 哈希调色板)。 - 新增 GroupAvatar 组件包一层 UserAvatar;按容器 size × DPR 自适应画布像素,避免 retina 屏糊 - utils/group.ts 加 buildGroupAvatar 与 LRU 缓存 facade(上限 200);utils/image.ts 抽公共 loadImage;utils/user.ts 抽 getAvatarText / getAvatarBgColor 供 UserAvatar 与拼图共用 - GroupItem / GroupInfo / ConversationItem / ConversationPickerPanel 按会话类型分支换用 GroupAvatar YunaiV 2026-05-08 18:27:53 +0800
  • c5b082ca80 ♻️ refactor(im): 业务策略数值从 ImCommonConstants 上移到 ImProperties(按 group / message 子模块分组),常量类仅保留 AT_USER_ID_ALL 协议契约值 YunaiV 2026-05-08 17:42:13 +0800
  • dfd5b39a17 feat(im): MessageForwardDialog 接入「创建聊天」分支 + 收尾打磨 YunaiV 2026-05-08 16:16:01 +0800
  • 312df4c73d refactor(im): 抽象 IM 选择类弹窗为 PickerPanel 体系,对齐微信 PC YunaiV 2026-05-08 14:06:48 +0800
  • 40ac2daca8 feat(im):文本气泡 @ 高亮支持点击 + URL 自动识别成可点击链接 YunaiV 2026-05-08 01:23:09 +0800
  • 094ab44094 🎨 refactor(im): joinMentionSegments 用 flatMap 替代命令式 push YunaiV 2026-05-07 23:59:00 +0800
  • 9eb221e8d2 feat(im): 灰条 tip 文案的 mention 段支持点击弹 UserInfoCard YunaiV 2026-05-07 23:46:50 +0800
  • 5b85a4c469 feat(im): 浏览器标签 title 拼上未读数前缀 YunaiV 2026-05-07 22:17:03 +0800
  • 7fa1dbc55c 🐛 fix(im): 当前打开的会话在列表里不再展示 [草稿] 前缀 YunaiV 2026-05-07 21:55:45 +0800
  • cc93b8a742 feat(im): 初始化消息转发 v0.4:第四次评审(语音播放器资源释放打磨) YunaiV 2026-05-07 21:46:33 +0800
  • 0b07091e79 🐛 fix(im): 修复切会话 watch 仅监听 targetId 导致私聊与群聊 id 同号时不触发 YunaiV 2026-05-07 21:26:40 +0800
  • 0323566878 feat(im): 初始化消息转发 v0.3:第三次评审(语音播放全局互斥) YunaiV 2026-05-07 21:26:12 +0800
  • 82d065c270 feat(im): 初始化消息转发 v0.2:第二次优化部分代码(一些工具类等) YunaiV 2026-05-07 20:34:09 +0800
  • cf01143632 feat(im): 初始化消息转发 v0.1:第一次评审 YunaiV 2026-05-07 19:47:27 +0800
  • 9bcdc92806 feat(im): 初始化群名片 v0.2:第二次评审(需求各种进群的小问题) YunaiV 2026-05-07 19:07:37 +0800
  • f5936a6e7f feat(im): 初始化群名片 v0.2:第二次评审(需求各种进群的小问题) YunaiV 2026-05-07 18:01:43 +0800
  • d175fe86be feat(im): 初始化群名片 v0.2:第二次评审(需求各种进群的小问题) YunaiV 2026-05-07 17:28:16 +0800
  • ce66a507ef feat(im): 初始化群名片 v0.2:第二次评审(需求各种进群的小问题) YunaiV 2026-05-07 17:25:03 +0800
  • 65d5aacac9 feat(im): 初始化群名片 v0.1:第一次评审 YunaiV 2026-05-07 13:07:56 +0800
  • 808ad575fc feat(im): 初始化群申请 v0.5:第六把 review(性能 / 健壮性 / 简洁度收口) YunaiV 2026-05-07 08:13:27 +0800
  • cb26df3ca1 feat(im): 初始化群申请 v0.4:第五把 review(多轮 finding 修复 + 通知静默化) YunaiV 2026-05-07 00:51:48 +0800
  • b2ba42049b feat(im): 初始化群申请 v0.3:第四把 review(优化界面,进一步对齐微信界面)【之前提交错了】 YunaiV 2026-05-06 23:57:54 +0800
  • f746aebe08 feat(im): 初始化群申请 v0.3:第四把 review(优化界面,进一步对齐微信界面) YunaiV 2026-05-06 23:57:03 +0800
  • 0eca952c6a feat(im): 初始化表情包 v0.3:第四把 review(增加表情管理的界面) YunaiV 2026-05-06 23:00:08 +0800
  • a98e32554c feat(im): 初始化表情包 v0.2:第三把 review YunaiV 2026-05-06 21:08:46 +0800
  • 2f513f7b8f feat(im): 初始化群申请 v0.2:第三把 review YunaiV 2026-05-06 20:51:45 +0800
  • 8eebfd4744 feat(im): 初始化表情包 v0.1:第二把 review YunaiV 2026-05-06 20:50:55 +0800
  • 1ed5dc7e6a feat(im): 初始化表情包 v0.0:第一把 review YunaiV 2026-05-06 19:42:19 +0800
  • 8fc5273a88 feat(im): 初始化群申请 v0.1:第二把 review YunaiV 2026-05-06 18:52:30 +0800
  • 3be0daf115 feat(im): 初始化群申请 v0.0:第一把 review YunaiV 2026-05-06 14:53:47 +0800
  • 4868d69ed8 feat(im): 优化名片消息类型 v0.4:增加转发成功失败的提示 YunaiV 2026-05-06 12:18:31 +0800
  • 1ac0650984 ♻️ refactor(im):注释对齐 + patchMessage 复用 applyServerMessageUpdate YunaiV 2026-05-06 10:38:43 +0800
  • 30d695d702 🐛 fix(im):codex 评审修复发送中状态边角 YunaiV 2026-05-06 10:18:49 +0800
  • 459eaa5428 ♻️ refactor(im): 优化消息存储逻辑,减少不必要的处理 YunaiV 2026-05-06 08:50:13 +0800
  • 59aab8ecdc feat(im): 优化名片消息类型 v0.3:增加表情选择 YunaiV 2026-05-06 08:47:18 +0800
  • b17f7a57e5 feat(im): 优化发送中的能力 v0.2:简化各种 kind、复用各种逻辑 YunaiV 2026-05-06 08:46:33 +0800
  • 957a63f8f4 feat(im): 优化名片消息类型 v0.2:优化转发弹窗的界面样式 YunaiV 2026-05-06 08:33:03 +0800
  • c15d75ba91 feat(im): 优化发送中的能力 v0.1:各种清理时的边界 YunaiV 2026-05-06 08:22:41 +0800
  • 3836467481 feat(im): 优化名片消息类型 v0.1:补充缺失的名片展示 YunaiV 2026-05-06 08:21:52 +0800
  • f3de29f95f feat(im): 增加名片消息类型 YunaiV 2026-05-06 08:00:36 +0800
  • 8f2eddea4a feat(im): 增加发送中的能力,针对图片、文件、视频等 YunaiV 2026-05-06 08:00:23 +0800
  • f8cc9d14d9 feat(im): 优化下禁言弹窗的样式 YunaiV 2026-05-05 22:51:26 +0800
  • 5bd99c53c2 🐛 fix(im):codex 评审修复 FRIEND_ADD / FRIEND_DELETE 接收方 peer 与 clear 气泡 YunaiV 2026-05-05 22:32:04 +0800
  • c653c2fa2b feat(im): 增强消息处理逻辑,支持好友通知与撤回消息 YunaiV 2026-05-05 22:15:48 +0800
  • 4e181564b8 feat(im): 清理一些 TODO 的修复 YunaiV 2026-05-05 22:04:45 +0800
  • a9f54fdee1 feat(im): 重构普通消息类型,和 openim 的消息编号对齐 YunaiV 2026-05-05 21:56:05 +0800
  • 055d4bab27 feat(im): 联动好友 / 群通知重构,抽 useMuteOverlay 统一禁言拦截与媒体上传公共骨架 YunaiV 2026-05-05 21:33:27 +0800
  • e48316231c feat(im): 增加好友申请的管理界面 YunaiV 2026-05-05 19:36:29 +0800
  • 390b66aee8 feat(im): 群禁言/封禁 UI 交互 + 群主解散群聊 YunaiV 2026-05-05 18:41:28 +0800
  • 659f4e3153
    Pre Merge pull request !824 from 灬霍霍/master 灬霍霍 2026-05-05 10:10:48 +0000
  • 9d8d0647be
    !877 feat(system): 优化用户选择 UserSelectV2 布局,多选支持、默认选中当前用户支持、禁选支持、默认部门支持,可替代… master 芋道源码 2026-05-05 10:10:47 +0000
  • 7b4c7028a0 feat(im):群禁言功能(阶段三管理后台 UI) YunaiV 2026-05-05 16:58:51 +0800
  • 4d006f8e73 feat(im):将"免打扰"字段从 muted 全量重命名为 silent(DO/VO/Service/Mapper/测试/SQL + 前端 types/store/组件/管理后台),为后续 mute 禁言功能腾出词族 YunaiV 2026-05-05 13:51:53 +0800
  • 5f7c90cf6f
    Pre Merge pull request !877 from 半栈幼儿员/hotfix/user 半栈幼儿员 2026-05-05 04:48:11 +0000
  • 536e54062e feat(system): 优化用户选择 UserSelectV2 布局,多选支持、默认选中当前用户支持、禁选支持、默认部门支持,可替代项目所有位置,可移除原 UserSelectForm、UserSelect,避免一次性查询所有用户 preschooler 2026-05-05 12:35:31 +0800
  • dd75c702db feat(im):删好友「同时清空聊天记录」弹窗 + 顶部「对方还不是你的朋友」胶囊(点击弹 UserInfoCard)+ fetchFriends 不动 DISABLE 尊重用户选择 YunaiV 2026-05-05 00:57:58 +0800
  • 2a55748296 feat(im):增加好友删除时,增加是否删除本地聊天的选项 YunaiV 2026-05-05 00:33:06 +0800
  • 1400bd80dd 🐛 fix(im):loadFriendRequest 按 id 大小决定插入位置,老 id 不入避免破坏倒序 + loadMore 重复 push YunaiV 2026-05-04 23:06:12 +0800
  • 14e3f85cb0 ♻️ refactor(im):用户申请列表,增加流式查询,避免一次性加载过多,或者历史无法被加载到。 YunaiV 2026-05-04 22:46:20 +0800
  • 9fc25b7109 ♻️ refactor(im):friendStore 修 setMuted/removeFriend 一致性 + 新申请直推列表 + 清 dispatcher 防御兜底 YunaiV 2026-05-04 21:13:36 +0800
  • 45bac49ec0 ♻️ refactor(im):friendStore 回调参数 f 改全名 friend / existing YunaiV 2026-05-04 19:52:44 +0800
  • b242b017c0 feat(im):fetchFriends 加 pending 去重 + FRIEND_APPLICATION 重命名 RECEIVED + inflight 命名调整为 pending YunaiV 2026-05-04 19:14:51 +0800
  • cfd152addf feat(im):实现 1209 FRIEND_INFO_UPDATED 推送(system 发 AdminUserProfileUpdateMessage,IM Consumer 监听后批量推好友多端) YunaiV 2026-05-04 18:24:08 +0800
  • 7618d58a66 feat(im):好友模块 code review 多项修复(补 block/unblock 全链路 + UserInfo 菜单入口、silent 后主动入库、防 currentUserId 切账号失活、雪崩去重与命名/枚举清理) YunaiV 2026-05-04 17:31:21 +0800
  • 5c2a185ff9 【IM 优化】通讯录顶部搜索栏改为 h-14,与消息 Tab 顶部对齐,避免切换抖动 YunaiV 2026-05-04 16:47:33 +0800
  • 42566d1e86 feat(im): 优化好友申请逻辑,增加自我添加校验与异常处理 YunaiV 2026-05-04 16:41:55 +0800
  • 7141e431e2 feat(im): 前端增加「黑名单」的操作 YunaiV 2026-05-04 16:24:12 +0800
  • 1b51926b19 refactor(im): 移除 TIP_TIME 消息类型,时间分隔条改为渲染时按 prevMessage.sendTime 计算 YunaiV 2026-05-04 16:05:23 +0800
  • 63c4dd1096 fix(im):修复对话置顶被关闭时,默认还选择了第一个置顶对话,导致又被打开。 YunaiV 2026-05-04 12:00:03 +0800
  • b6ca1187b1 feat(im): 增加好友申请的逻辑(v1.3:修复各种边界情况,包括静默添加好友) YunaiV 2026-05-04 11:08:03 +0800
  • 89ee5d51ea feat(im): 增加好友申请的逻辑(v1.2:增加相关枚举、字典,减少硬编码) YunaiV 2026-05-04 10:44:09 +0800
  • 5b9acb4813 fix(im):从群聊,点击好友聊天时,关闭之前的群聊面板 YunaiV 2026-05-04 10:31:02 +0800
  • 0e979a9f67 fix(im):私聊头像,也可以点击,方便好友管理。 YunaiV 2026-05-04 10:30:30 +0800
  • ce2cdc112f fix(im):仅普通消息进行声音通知 YunaiV 2026-05-04 10:29:41 +0800
  • 1469d8bb3d feat(im): 增加好友申请的逻辑(v1.1:增加各种 code review 注释) YunaiV 2026-05-04 09:47:25 +0800
  • f86cd30af4 feat(im): 增加好友申请的逻辑(v1) YunaiV 2026-05-04 09:18:35 +0800
  • 5e937d797d
    !851 feat:增加说明文案 芋道源码 2026-05-03 10:59:47 +0000
  • 0efcf2c67e
    Pre Merge pull request !851 from steven/feat-自定义海报代码补充开发 steven 2026-05-03 10:55:55 +0000
  • 3a1f520dc6
    !876 回退 'Pull Request !870 : fix: 菜单名称过长时没有正确显示省略号' 芋道源码 2026-05-03 10:55:53 +0000
  • 40f78571ca
    Pre Merge pull request !876 from 芋道源码/revert-merge-870-master 芋道源码 2026-05-03 10:55:40 +0000
  • 5e6b6bdd8e
    回退 'Pull Request !870 : fix: 菜单名称过长时没有正确显示省略号' revert-merge-870-master 芋道源码 2026-05-03 10:55:35 +0000
  • 53b96f87a0 Merge remote-tracking branch 'origin/feat/mes' into feat/mes feat/mes YunaiV 2026-05-03 18:48:25 +0800
  • b7a13a0000 ♻️ refactor(service): 优化请求拦截器中的 token 设置逻辑,简化白名单判断 YunaiV 2026-05-03 18:48:04 +0800
  • 6d5705b655 fix(bpm):修正流程实例审批弹窗网关分支重算的并发与提交问题 YunaiV 2026-05-03 16:34:55 +0800
  • 8571a27a15 fix: 【framework】关闭 TagsView 标签后 keep-alive 缓存未收缩,导致 DOM/JS heap 不回收 YunaiV 2026-05-03 00:28:27 +0800
  • cdcd200c7d 【修复】form-create 单图上传规则 disabled 字段标题与默认值错配 YunaiV 2026-05-02 22:56:56 +0800
  • 6232330c81 【修复】IoT 场景联动:事件触发器比较值改普通文本输入,允许留空(事件发生即匹配) YunaiV 2026-05-02 14:32:42 +0800
  • 418f0c4f52 🐛 fix(system):修复租户 get-by-website 接口不支持端口的问题 🐛 fix(mes):修复常见缺陷的「检测项类型」错用独立字典的问题 YunaiV 2026-05-02 00:35:16 +0800
  • 5bce60fd29 ♻️ refactor(service): 优化请求拦截器中的 token 设置逻辑,简化白名单判断 YunaiV 2026-05-03 18:48:04 +0800
  • beddbe7785 Merge remote-tracking branch 'origin/feat/mes' into feat/mes YunaiV 2026-05-03 18:39:16 +0800
  • 2e65691737
    !870 fix: 菜单名称过长时没有正确显示省略号 芋道源码 2026-05-03 10:38:57 +0000
  • 95cecc8870 fix(bpm):修正流程实例审批弹窗网关分支重算的并发与提交问题 YunaiV 2026-05-03 16:34:55 +0800
  • 7a4300116e fix: 【framework】关闭 TagsView 标签后 keep-alive 缓存未收缩,导致 DOM/JS heap 不回收 YunaiV 2026-05-03 00:28:27 +0800
  • 51542e336b 【修复】form-create 单图上传规则 disabled 字段标题与默认值错配 YunaiV 2026-05-02 22:56:56 +0800
  • 7f33206057 【修复】IoT 场景联动:事件触发器比较值改普通文本输入,允许留空(事件发生即匹配) YunaiV 2026-05-02 14:32:42 +0800
  • 8e1430c1a4 🐛 fix(system):修复租户 get-by-website 接口不支持端口的问题 🐛 fix(mes):修复常见缺陷的「检测项类型」错用独立字典的问题 YunaiV 2026-05-02 00:35:16 +0800