YunaiV
|
a98e32554c
|
✨ feat(im): 初始化表情包 v0.2:第三把 review
|
2026-05-06 21:08:46 +08:00 |
YunaiV
|
2f513f7b8f
|
✨ feat(im): 初始化群申请 v0.2:第三把 review
|
2026-05-06 20:51:45 +08:00 |
YunaiV
|
8eebfd4744
|
✨ feat(im): 初始化表情包 v0.1:第二把 review
|
2026-05-06 20:50:55 +08:00 |
YunaiV
|
1ed5dc7e6a
|
✨ feat(im): 初始化表情包 v0.0:第一把 review
|
2026-05-06 19:42:19 +08:00 |
YunaiV
|
8fc5273a88
|
✨ feat(im): 初始化群申请 v0.1:第二把 review
|
2026-05-06 18:52:30 +08:00 |
YunaiV
|
1ac0650984
|
♻️ refactor(im):注释对齐 + patchMessage 复用 applyServerMessageUpdate
- recomputeConversationLast / videoCoverUrl / showSendingLoading 三处 JSDoc 跟实现对齐:
原描述还停留在旧设计(lastSendTime 不重算 / 占位 coverUrl 用 blob / 「外层 loading 多余」),
这轮一并改成当前事实,避免后续维护被误导
- patchMessage 删手写 revoke + Object.assign,改调 applyServerMessageUpdate,
与 ackMessage / insertMessage(existingIndex) 共用一份服务端字段合并语义;
「值未变早返回」保留在 patchMessage 顶部
- 抽 BLOB_URL_PREFIX 常量替代散落在 utils/message.ts 与 useMediaUploader.ts 的 3 处 'blob:' 字面量
|
2026-05-06 10:38:43 +08:00 |
YunaiV
|
30d695d702
|
🐛 fix(im):codex 评审修复发送中状态边角
- recomputeConversationLast 空 messages 时一并清 lastSendTime,
避免刷新后被 drop 的媒体占位让空会话仍按旧时间排在列表前面
- 视频占位 coverUrl 不再赋 blob URL:<video poster> 期待图片资源,
传 video blob 在部分浏览器会退化成黑底,cover 等 probe 出真实 URL 后由 commit 阶段一起 patch
- useMediaUploader 暴露 requireMediaHandler typed accessor,
消除 video 链路 mediaTypeHandlers[VIDEO]! 非空断言
- MessageItem 把外层 loading 的 (!isUploading || isVoice) 抽成 showSendingLoading computed
|
2026-05-06 10:18:49 +08:00 |
YunaiV
|
59aab8ecdc
|
✨ feat(im): 优化名片消息类型 v0.3:增加表情选择
|
2026-05-06 08:47:18 +08:00 |
YunaiV
|
b17f7a57e5
|
✨ feat(im): 优化发送中的能力 v0.2:简化各种 kind、复用各种逻辑
|
2026-05-06 08:46:33 +08:00 |
YunaiV
|
957a63f8f4
|
✨ feat(im): 优化名片消息类型 v0.2:优化转发弹窗的界面样式
|
2026-05-06 08:33:03 +08:00 |
YunaiV
|
3836467481
|
✨ feat(im): 优化名片消息类型 v0.1:补充缺失的名片展示
|
2026-05-06 08:21:52 +08:00 |
YunaiV
|
8f2eddea4a
|
✨ feat(im): 增加发送中的能力,针对图片、文件、视频等
|
2026-05-06 08:00:23 +08:00 |
YunaiV
|
4e181564b8
|
feat(im): 清理一些 TODO 的修复
|
2026-05-05 22:04:45 +08:00 |
YunaiV
|
a9f54fdee1
|
feat(im): 重构普通消息类型,和 openim 的消息编号对齐
|
2026-05-05 21:56:05 +08:00 |
YunaiV
|
055d4bab27
|
✨ feat(im): 联动好友 / 群通知重构,抽 useMuteOverlay 统一禁言拦截与媒体上传公共骨架
|
2026-05-05 21:33:27 +08:00 |
YunaiV
|
390b66aee8
|
feat(im): 群禁言/封禁 UI 交互 + 群主解散群聊
一、群禁言交互
- MessageItem 右键菜单新增「禁言/解除禁言/移除」(权限校验)
- 新增 GroupMuteMemberDialog 禁言时长选择弹窗
- ConversationGroupSide 新增「全群禁言」开关
- MessageInput 新增禁言/封禁覆盖层,拦截所有发送入口
- canManageSender 目标角色未知时不展示管理菜单
- 全群禁言群主按 ownerUserId 直接豁免,不依赖成员列表
二、群封禁(GROUP_BANNED 1533)
- constants 激活 GROUP_BANNED 常量,扩展 isGroupNotification 范围
- groupStore 处理 1533 事件,实时更新 banned 字段
- MessageInput 覆盖层最高优先级判断 banned(红底)
- Group 类型、convertGroup 映射 banned 字段
三、禁言事件(1512-1515)
- constants 激活 GROUP_MEMBER_MUTED / CANCEL_MUTED / MUTED / CANCEL_MUTED
- groupStore 处理 1512-1515 事件,更新 muteEndTime / mutedAll
- user.ts 新增 4 条禁言 + 2 条封禁通知文案
- GroupNotificationPayload 扩展 mutedUserId / muteEndTime / banned
四、群主解散群聊
- ConversationGroupSide 底部按钮:群主显示「解散群聊」,非群主显示「退出群聊」
- 新增 handleDissolve 实现(二次确认 → dissolveGroup API → 清本地数据)
|
2026-05-05 18:41:28 +08:00 |
YunaiV
|
4d006f8e73
|
feat(im):将"免打扰"字段从 muted 全量重命名为 silent(DO/VO/Service/Mapper/测试/SQL + 前端 types/store/组件/管理后台),为后续 mute 禁言功能腾出词族
|
2026-05-05 13:51:53 +08:00 |
YunaiV
|
dd75c702db
|
✨ feat(im):删好友「同时清空聊天记录」弹窗 + 顶部「对方还不是你的朋友」胶囊(点击弹 UserInfoCard)+ fetchFriends 不动 DISABLE 尊重用户选择
|
2026-05-05 00:57:58 +08:00 |
YunaiV
|
2a55748296
|
✨ feat(im):增加好友删除时,增加是否删除本地聊天的选项
|
2026-05-05 00:33:06 +08:00 |
YunaiV
|
1b51926b19
|
refactor(im): 移除 TIP_TIME 消息类型,时间分隔条改为渲染时按 prevMessage.sendTime 计算
顺带修复 Bug-Y(删除最后一条消息后孤立时间分隔条)
|
2026-05-04 16:05:23 +08:00 |
YunaiV
|
5b9acb4813
|
fix(im):从群聊,点击好友聊天时,关闭之前的群聊面板
|
2026-05-04 10:31:02 +08:00 |
YunaiV
|
0e979a9f67
|
fix(im):私聊头像,也可以点击,方便好友管理。
|
2026-05-04 10:30:30 +08:00 |
YunaiV
|
1469d8bb3d
|
✨ feat(im): 增加好友申请的逻辑(v1.1:增加各种 code review 注释)
|
2026-05-04 09:47:25 +08:00 |
YunaiV
|
bf79e07d5c
|
♻️ refactor(im): 清理代码中的 TODO 注释并优化逻辑
|
2026-05-03 13:27:31 +08:00 |
YunaiV
|
7c129c18c4
|
✨ feat(im): 增加群消息的置顶
|
2026-05-03 12:53:24 +08:00 |
YunaiV
|
01e0e8e37b
|
✨ feat(im): 增加群消息的置顶
|
2026-05-03 12:15:39 +08:00 |
YunaiV
|
ffb69063b9
|
✨ feat(im): 重构群通知相关,对齐 openim 的消息编号(继续优化代码)
|
2026-05-03 09:22:53 +08:00 |
YunaiV
|
43372c05ad
|
✨ feat(im): 重构群通知相关,对齐 openim 的消息编号
|
2026-05-03 02:00:43 +08:00 |
YunaiV
|
fa27c27831
|
✨ feat(im): 增加群角色(管理员)
|
2026-05-02 14:31:42 +08:00 |
YunaiV
|
fbd8615398
|
✨ feat(im): 消息右键菜单优化 + 修复图片场景滚不到底
- MessageItem:「回复」→「引用」并加图标;撤回 / 删除互斥(自己消息 2 分钟内显示撤回,超出 / 对方消息显示删除),均加分割线 + 红色样式对齐微信;MENU_KEYS 抽 const 防 typo;引用块从气泡上方移到下方,selfSend 时竖线镜像到右侧
- MessagePanel:scrollToBottom 改 async + waitMediaSettled 等图片 / 视频元数据加载;用 expectedScrollTop drift 替代 distanceFromBottom,修复「图片加载完底部上移、误判用户已滚走」导致到不了底
- ReplyPreview:删等价的 filePayload / voicePayload alias,直接复用 parsedPayload
- uiStore:ContextMenuItem 加 icon? 字段,支持菜单项前置图标
|
2026-05-01 23:06:14 +08:00 |
YunaiV
|
52fdf0bcab
|
✨ feat(im): 消息右键菜单优化 + 修复图片场景滚不到底
- MessageItem:「回复」→「引用」并加图标;撤回 / 删除互斥(自己消息 2 分钟内显示撤回,超出 / 对方消息显示删除),均加分割线 + 红色样式对齐微信;MENU_KEYS 抽 const 防 typo;引用块从气泡上方移到下方,selfSend 时竖线镜像到右侧
- MessagePanel:scrollToBottom 改 async + waitMediaSettled 等图片 / 视频元数据加载;用 expectedScrollTop drift 替代 distanceFromBottom,修复「图片加载完底部上移、误判用户已滚走」导致到不了底
- ReplyPreview:删等价的 filePayload / voicePayload alias,直接复用 parsedPayload
- uiStore:ContextMenuItem 加 icon? 字段,支持菜单项前置图标
|
2026-05-01 23:04:56 +08:00 |
YunaiV
|
43666dc56c
|
✨ feat(im): 优化【消息引用】的功能,增加文件、图片的展示调整
|
2026-05-01 19:05:57 +08:00 |
YunaiV
|
ef901b5381
|
✨ feat(im): 优化【消息引用】的功能,来自第二波 code review,解决安全性问题
|
2026-05-01 18:20:04 +08:00 |
YunaiV
|
cfeee7bbb7
|
✨ feat(im): 优化【消息引用】的功能,来自第一波 code review
|
2026-05-01 18:09:02 +08:00 |
YunaiV
|
1dfab43b8a
|
✨ feat(im): 增加【消息引用】的功能
|
2026-05-01 18:03:05 +08:00 |
YunaiV
|
744229a02e
|
✨ feat(im): 优化语音输入的交互。
|
2026-05-01 09:59:27 +08:00 |
YunaiV
|
63c711f9e2
|
✨ feat(im): 增加视频消息
|
2026-05-01 09:47:01 +08:00 |
YunaiV
|
f5656c8a2f
|
✨ feat(im): 同步输入框状态以支持粘贴功能
|
2026-05-01 08:50:51 +08:00 |
YunaiV
|
8564788b11
|
✨ feat(im): 对齐微信的图标展示
|
2026-05-01 08:17:24 +08:00 |
YunaiV
|
238862b572
|
✨ feat(im): 增加发送草稿,切换对话的时候,不丢失。对齐微信
|
2026-05-01 07:52:18 +08:00 |
YunaiV
|
dfbae06afa
|
✨ feat(im): 优化输入框的样式
|
2026-05-01 06:59:14 +08:00 |
YunaiV
|
9f1fc9ef78
|
reviewed
|
2026-04-30 21:38:17 +08:00 |
YunaiV
|
4b4c4fab11
|
✨ feat(im): 优化群聊的功能界面
|
2026-04-30 16:59:56 +08:00 |
YunaiV
|
0c7d1f0df6
|
✨ feat(im): 新增通讯录界面
|
2026-04-30 14:07:03 +08:00 |
YunaiV
|
a762dfff84
|
✨ feat(im): 优化整体包结构,将 friend、group 通用组件抽过去。
|
2026-04-30 10:11:20 +08:00 |
YunaiV
|
4b64153044
|
✨ feat(im): 完善 friend、group 相关的本地存储(疯狂优化)
|
2026-04-29 22:03:54 +08:00 |
YunaiV
|
e90f9e5237
|
✨ feat(im): 增加 friend、group 相关的本地存储
|
2026-04-29 15:50:49 +08:00 |
YunaiV
|
de39bc7fc1
|
✨ feat(im): 优化代码,移除 message 里的 name 存储,避免更新困难。(为 friend、group 独立存储做准备)
|
2026-04-28 23:32:40 +08:00 |
YunaiV
|
f0fc144e8a
|
✨ feat(im): 调整代码结构,优化 side 样式
|
2026-04-28 20:14:24 +08:00 |
YunaiV
|
431a0bfb93
|
✨ feat(im): 调整代码结构,优化 side 样式
|
2026-04-28 20:13:01 +08:00 |