fix: real-time friend request cancel/decline via WebSocket
Cancelled requests now disappear from receiver's UI instantly, and declined requests revert the sender's discover card from "Request Pending" to "Send Friend Request" — no page refresh needed. Also includes the discover endpoint and sendFriendRequest return type changes from the prior session.
This commit is contained in:
@@ -495,6 +495,24 @@ function handleEvent(origin: string, event: ServerEvent): void {
|
||||
break;
|
||||
}
|
||||
|
||||
case 'friend_request_cancelled': {
|
||||
const { removeRequestById } = useSocialStore.getState();
|
||||
removeRequestById(event.requestId, origin);
|
||||
import('../stores/discoverStore').then(({ useDiscoverStore }) => {
|
||||
useDiscoverStore.getState().updateRelationship(event.userId, origin, 'none');
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
case 'friend_request_declined': {
|
||||
const { removeRequestById } = useSocialStore.getState();
|
||||
removeRequestById(event.requestId, origin);
|
||||
import('../stores/discoverStore').then(({ useDiscoverStore }) => {
|
||||
useDiscoverStore.getState().updateRelationship(event.userId, origin, 'none');
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
// ─── Channel ack (all origins) ──────────────────────────────────────────
|
||||
|
||||
case 'channel_ack': {
|
||||
|
||||
Reference in New Issue
Block a user