Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: multica-agent <github@multica.ai>
6.7 KiB
B-185 / B-171 第二批交互补齐验收与回退
分支:agent/agent/7b089146
基线:fb58da6(B-171 第一批完成点)
架构:B-90;视觉:B-91 changlian-visual-spec-v2.md
本批不换标、不部署、不发安装包;LiveKit 未迁。
提交主题(可逐项 git revert)
从新到旧回退:先 B-189,再 B-188 验收补记与 d9d5853,再原第二批验收提交,再按下表从下往上 git revert。
| 主题 | SHA | 主要文件 |
|---|---|---|
| 状态线性图标与 toast/断网横幅动效 Token | ce2a3ae059be4de480b73ee585d36a051b303fd0 |
app_tokens.dart、state_views.dart |
| 手机会话页:搜索、+ 菜单、长按置顶/删除、去掉置顶角标 | 7f131457f7f5d0a30ca81414c7dc94ede6f59d84 |
conversation_view.dart |
| 通讯录部门分组、职务行、申请窄屏 | 49b346d375e9b9b62c3a59c6f6970c7facfba94b |
contacts_logic.dart、contacts_view.dart、friend_requests_view.dart |
| 聊天输入区、语音气泡、大图、录音与字号映射 | 3b87812db8945c3b7fa6d4c0eddddb35f5ab10f3 |
chat_*.dart、apply_official_styles.dart |
| 工号查询防抖、控制器生命周期、开关、资料页工号 | 26622676ed4f4898385d8e9e686296eb56adf4be |
add_colleague_page.dart、app_pages.dart、company_login_page.dart、my_info_view.dart、personal_info_view.dart |
| 断网横幅恢复后 300ms 收起、底栏 12px | d1657ea29f0fc59f248f2108d7cfb9bcc239921e |
home_view.dart |
| PC 第二批登录/会话/聊天/添加同事/职务行/i18n | a44537da4e8ce7b5b17b491c05592ad21cdd0bca |
pc-client/src/pages/**、ApplicationItem、i18n、global.scss、docs/acceptance/pc-boundary.md |
| 第二批验收记录 | a4d21ef36777440812c6746cd792eeaf7685cd5c |
docs/acceptance/b171-batch2.md |
B-188 定点返工:PC 会话置顶改 setConversation |
d9d5853f73aa8060c9ed768c326f00d691847e3e |
pc-client/src/pages/chat/ConversationSider/ConversationItem.tsx |
| B-188 验收补记 | e40ece1 |
docs/acceptance/b171-batch2.md |
回退 B-188:先 git revert e40ece1,再 git revert d9d5853f73aa8060c9ed768c326f00d691847e3e。
B-189 语音区返工(相对 e40ece1)
依据:B-187 打回三项阻塞 + 输入框/按住 说话 底色 searchBg。不处理其余黄色建议。
| 主题 | SHA | 主要文件 |
|---|---|---|
| 未听红点、录音浮层入场/取消区、50–60s 时限、searchBg | 15d7f1935e38c18d127319346cf03d278b596b2c |
chat_voice_*.dart、chat_item_view.dart、chat_input_box.dart、apply_official_styles.dart、styles.dart |
回退 B-189:先 git revert 本补记提交,再 git revert 15d7f1935e38c18d127319346cf03d278b596b2c。
静态核对(对照代码,非运行):
- 未听红点:接收且
message.isRead == false时在气泡右侧 8pxdanger;播放走既有_playVoiceMessage+_markMessageAsRead,不另造状态。 - 浮层入场:150ms ease-out 透明度 0→1,
Styles.motionOf接到AppMotion.reduce/AppDuration.overlay;取消区保持rgba(0,0,0,0.7)黑卡,仅垃圾桶与提示改danger;切换时长走AppDuration.overlaySwitch。 - 50s:计时改
warning文案「还可说 N 秒」;60s:既有ChatRecordVoiceView中断→dispose→一次onCompleted,toast「已达最长 60 秒,已自动发送」。实例级_completed避免重复发送;timer 在 dispose 取消。 - 输入框与「按住 说话」底色改为
Styles.c_F2F3F5←AppColors.searchBg,不再用c_F0F2F6/chatBg。
检查
dart format/flutter analyze/ Android debug+release:未跑。 本环境 PATH 中无flutter/dart/java,不推定通过。- PC
npm run lint/vite build:B-189 未改 PC、未重跑。B-188 当时npm run build通过,见下节。 - 运行截图:无 Flutter 工具链、无测试账号、无客户端进程,未截图、未实测未听红点/播放清除/取消手势/50–60s 倒计时/到限自动发送与 toast。不得推定通过。
B-188 定点返工检查(2026-08-20)
- 改动:
IMSDK.pinConversation(...)→IMSDK.setConversation({ conversationID, isPinned: !conversation.isPinned })。deleteConversationAndDeleteAllMsg未改。 - PC
npm run build:通过(vite✓ built in 31.30s,随后写出dist-electron/**)。 npx tsc --noEmit(实际调用node node_modules/typescript/bin/tsc --noEmit):ConversationItem.tsx无本批新增错误(无 TS2551 /pinConversation)。- 会话右键「置顶/取消置顶」:未实测(无登录运行环境、无客户端进程),不得推定通过。
- 黄色建议:未处理。
tsc --noEmit 上游存量错误(非本卡引入,未修):
src/hooks/useGroupMembers.tsTS18047 ×3(latestFetchState.currentpossibly null)src/layout/LeftNavBar/About.tsxTS2345 ×2(OnUploadLogsProgress回调类型)src/pages/chat/queryChat/useHistoryMessageList.tsxTS18047 ×1src/pages/common/ChooseModal/ChooseBox/index.tsxTS18047 ×2src/pages/common/RtcCallModal/index.tsxTS2786(LiveKitRoomJSX)src/pages/common/RtcCallModal/RtcControl.tsxTS2786 ×2(TrackToggle)src/pages/common/RtcCallModal/RtcLayout.tsxTS2786(VideoTrack)src/pages/common/UserCardModal/index.tsxTS2345src/utils/imCommon.tsTS2322 ×11(string | undefined→string)
越界比对(对比 e26abad)
零改动:mobile/、pc-client/src/store/、pc-client/src/layout/MainContentWrap.tsx、pc-client/src/pages/chat/queryChat/ChatFooter/useSendMessage.ts、pc-client/src/pages/chat/queryChat/useHistoryMessageList.tsx、account-service/。
pc-client/electron/:仅既有 main/windowManage.ts 的 minWidth=1080、minHeight=680(B-171 特批),本批未再改 electron。
pc-boundary.md 已扩到与 B-90 / B-185 一致:登录窗、chat 展示、AddColleague.tsx 列入可改;发送/历史/store/SDK 初始化仍冻结。PC 聊天顶栏去掉「语音通话」入口;RTC 死代码未删。
B-189 改动限于 mobile-next/openim_common 语音/输入部件、Token 接线、mobile-next/lib/pages/chat/chat_view.dart 自定义语音气泡防双重气泡,以及本验收记录。
未验证(缺账号环境,禁止推定通过)
- HTTP 正确密码登录
- 双向消息收发
- 服务端好友申请
status=2 - LiveKit / 语音通话(本阶段不迁、PC 不建设)
- 登录窗独立 360×480:受 electron 冻结限制,本批只改登录页展示,未改窗口尺寸
- B-189 全部录音/未听红点运行时表现
品牌
未换标。手机登录仍按开关保留 OpenIM 标识。不增删品牌资源。
功能质检与视觉审核须重新执行,本卡不自行宣布整批通过。