Fix issues with notification cleaning mode when there is a disconnection gap (#1867)

th-downstream
Claire 2 years ago committed by GitHub
parent dc4e84cebd
commit 96a738e51f

@ -162,7 +162,9 @@ const deleteByStatus = (state, statusId) => {
const markForDelete = (state, notificationId, yes) => { const markForDelete = (state, notificationId, yes) => {
return state.update('items', list => list.map(item => { return state.update('items', list => list.map(item => {
if(item.get('id') === notificationId) { if (item === null) {
return null;
} else if(item.get('id') === notificationId) {
return item.set('markedForDelete', yes); return item.set('markedForDelete', yes);
} else { } else {
return item; return item;
@ -172,7 +174,9 @@ const markForDelete = (state, notificationId, yes) => {
const markAllForDelete = (state, yes) => { const markAllForDelete = (state, yes) => {
return state.update('items', list => list.map(item => { return state.update('items', list => list.map(item => {
if(yes !== null) { if (item === null) {
return null;
} else if(yes !== null) {
return item.set('markedForDelete', yes); return item.set('markedForDelete', yes);
} else { } else {
return item.set('markedForDelete', !item.get('markedForDelete')); return item.set('markedForDelete', !item.get('markedForDelete'));
@ -181,11 +185,11 @@ const markAllForDelete = (state, yes) => {
}; };
const unmarkAllForDelete = (state) => { const unmarkAllForDelete = (state) => {
return state.update('items', list => list.map(item => item.set('markedForDelete', false))); return state.update('items', list => list.map(item => item === null ? item : item.set('markedForDelete', false)));
}; };
const deleteMarkedNotifs = (state) => { const deleteMarkedNotifs = (state) => {
return state.update('items', list => list.filterNot(item => item.get('markedForDelete'))); return state.update('items', list => list.filterNot(item => item === null ? item : item.get('markedForDelete')));
}; };
const updateMounted = (state) => { const updateMounted = (state) => {

Loading…
Cancel
Save