修复收藏/系统消息/通话记录批次的代码审查问题
- 通话结果"已拒绝"文案按视角区分(拒绝方看到"已拒绝"而非"对方已拒绝") - 通话记录页补充移动端返回头部与加载失败重试态 - 挂断时按是否已接通传递正确的挂断原因(cancelled) - 系统消息"全部标为已读"翻页加循环护栏,防止游标卡死;按钮可见性改用真实未读总数 - 收藏批量删除/转发在部分失败时保留失败项以便重试,而非无条件退出多选模式 - 收藏卡片边框/分类文字/侧栏图标颜色token修正
This commit is contained in:
@@ -152,7 +152,12 @@ export const useCallStore = create<CallState>((set, get) => ({
|
||||
|
||||
hangUp: () => {
|
||||
const { topic, seq, callId, connectedAt } = get();
|
||||
if (topic && seq != null && callId) sendCallHangup(getTinode().getTopic(topic), seq, callId);
|
||||
// `rejectCall()` right above already covers the callee-declines-before-accepting case, so
|
||||
// `hangUp()` seeing `!connectedAt` only ever means the CALLER is giving up on their own
|
||||
// still-ringing outgoing call (manual cancel, or the 60s ring-timeout below firing this same
|
||||
// function) -- IM-前后端对接文档.md's own wire example for exactly that case is
|
||||
// `{note event:"hang-up", payload:{reason:"cancelled"}}`, which this never actually sent.
|
||||
if (topic && seq != null && callId) sendCallHangup(getTinode().getTopic(topic), seq, callId, connectedAt ? undefined : 'cancelled');
|
||||
leaveCall();
|
||||
get()._endWithReason(connectedAt ? 'finished' : 'missed');
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user