fix: remove unread subscriptions on un-subscribe
This commit is contained in:
parent
c4adce2524
commit
6e88160e04
1 changed files with 6 additions and 1 deletions
|
@ -41,13 +41,18 @@ export default handleActions(
|
||||||
action: DoChannelUnsubscribe
|
action: DoChannelUnsubscribe
|
||||||
): SubscriptionState => {
|
): SubscriptionState => {
|
||||||
const subscriptionToRemove: Subscription = action.data;
|
const subscriptionToRemove: Subscription = action.data;
|
||||||
|
|
||||||
const newSubscriptions = state.subscriptions
|
const newSubscriptions = state.subscriptions
|
||||||
.slice()
|
.slice()
|
||||||
.filter(subscription => subscription.channelName !== subscriptionToRemove.channelName);
|
.filter(subscription => subscription.channelName !== subscriptionToRemove.channelName);
|
||||||
|
|
||||||
|
// Check if we need to remove it from the 'unread' state
|
||||||
|
const { unread } = state.unread;
|
||||||
|
if (unread[subscriptionToRemove.uri]) {
|
||||||
|
delete unread[subscriptionToRemove.uri];
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
|
...unread,
|
||||||
subscriptions: newSubscriptions,
|
subscriptions: newSubscriptions,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Reference in a new issue