chore: Enable Participating tab for conversations (#11714)
## Summary This PR enables the **Participating** conversation view in the main sidebar and keeps the behavior aligned with existing conversation views. ## What changed - Added **Participating** under Conversations in the new sidebar. - Added a guard in conversation realtime `addConversation` flow so generic `conversation.created` events are not injected while the user is on Participating view. - Added participating route mapping in conversation-list redirect helper so list redirects resolve correctly to `/participating/conversations`. ## Scope notes - Kept changes minimal and consistent with current `develop` behavior. - No additional update-event filtering was added beyond what existing views already do. --------- Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Co-authored-by: iamsivin <iamsivin@gmail.com>
This commit is contained in:
@@ -102,6 +102,19 @@ const getters = {
|
||||
return isUnAssigned && shouldFilter;
|
||||
});
|
||||
},
|
||||
getParticipatingChats: (_state, _, __, rootGetters) => activeFilters => {
|
||||
const currentUserId = rootGetters.getCurrentUser?.id;
|
||||
const getWatchers = rootGetters['conversationWatchers/getByConversationId'];
|
||||
return _state.allConversations.filter(conversation => {
|
||||
const watchers = getWatchers(conversation.id);
|
||||
// Watchers are only loaded for the conversation open in the detail
|
||||
// panel. If loaded and current user is not in them, filter it out.
|
||||
if (watchers && !watchers.some(w => w.id === currentUserId)) {
|
||||
return false;
|
||||
}
|
||||
return applyPageFilters(conversation, activeFilters);
|
||||
});
|
||||
},
|
||||
getAllStatusChats: (_state, _, __, rootGetters) => activeFilters => {
|
||||
const currentUser = rootGetters.getCurrentUser;
|
||||
const currentUserId = rootGetters.getCurrentUser.id;
|
||||
|
||||
Reference in New Issue
Block a user