| 1-to-1 conversation with cross-cohort other user is dropped |
1-to-1 conversation with cross-cohort other user is dropped |
1 |
0 |
0 |
0.011s |
100% |
| 1-to-1 conversation with frozenAtMigration is dropped |
1-to-1 conversation with frozenAtMigration is dropped |
1 |
0 |
0 |
0.032s |
100% |
| blocked conversations are filtered out |
blocked conversations are filtered out |
1 |
0 |
0 |
0.020s |
100% |
| clearError clears error |
clearError clears error |
1 |
0 |
0 |
0.017s |
100% |
| closed group conversations are filtered out |
closed group conversations are filtered out |
1 |
0 |
0 |
0.026s |
100% |
| conversations flow error sets error state without crash |
conversations flow error sets error state without crash |
1 |
0 |
0 |
0.017s |
100% |
| conversations flow updates state |
conversations flow updates state |
1 |
0 |
0 |
0.017s |
100% |
| conversations still load when batch user fetch fails |
conversations still load when batch user fetch fails |
1 |
0 |
0 |
0.009s |
100% |
| current user fetch failure now fails CLOSED — conversations hidden |
current user fetch failure now fails CLOSED — conversations hidden |
1 |
0 |
0 |
0.013s |
100% |
| currentUser pmLocked hides all conversations from list |
currentUser pmLocked hides all conversations from list |
1 |
0 |
0 |
0.042s |
100% |
| empty conversations list results in empty state |
empty conversations list results in empty state |
1 |
0 |
0 |
0.510s |
100% |
| getFilteredConversations filters by display name |
getFilteredConversations filters by display name |
1 |
0 |
0 |
0.026s |
100% |
| getFilteredConversations returns all when query is blank |
getFilteredConversations returns all when query is blank |
1 |
0 |
0 |
0.034s |
100% |
| getUser failure fails CLOSED — list is empty until verified |
getUser failure fails CLOSED — list is empty until verified |
1 |
0 |
0 |
0.041s |
100% |
| group conversations appear in list with group fields |
group conversations appear in list with group fields |
1 |
0 |
0 |
0.018s |
100% |
| hidden conversations are filtered when no new messages |
hidden conversations are filtered when no new messages |
1 |
0 |
0 |
0.018s |
100% |
| hidden conversations shown when new message arrived after hiding |
hidden conversations shown when new message arrived after hiding |
1 |
0 |
0 |
0.018s |
100% |
| hideConversation removes from UI |
hideConversation removes from UI |
1 |
0 |
0 |
0.037s |
100% |
| init with no auth user does not observe |
init with no auth user does not observe |
1 |
0 |
0 |
0.014s |
100% |
| init with valid user starts observing |
init with valid user starts observing |
1 |
0 |
0 |
0.012s |
100% |
| markConversationRead sets unread count to zero |
markConversationRead sets unread count to zero |
1 |
0 |
0 |
0.029s |
100% |
| markConversationRead updates totalUnreadCount |
markConversationRead updates totalUnreadCount |
1 |
0 |
0 |
0.037s |
100% |
| multiple pinned conversations all appear before unpinned |
multiple pinned conversations all appear before unpinned |
1 |
0 |
0 |
0.009s |
100% |
| muted conversations appear in list with isMuted flag |
muted conversations appear in list with isMuted flag |
1 |
0 |
0 |
0.017s |
100% |
| muted conversations excluded from totalUnreadCount |
muted conversations excluded from totalUnreadCount |
1 |
0 |
0 |
0.018s |
100% |
| onSearchQueryChanged updates query |
onSearchQueryChanged updates query |
1 |
0 |
0 |
0.013s |
100% |
| pinConversation toggles pin state |
pinConversation toggles pin state |
1 |
0 |
0 |
0.083s |
100% |
| pinned conversations sort first |
pinned conversations sort first |
1 |
0 |
0 |
0.018s |
100% |
| same-cohort 1-to-1 conversation is kept |
same-cohort 1-to-1 conversation is kept |
1 |
0 |
0 |
0.026s |
100% |
| search filters group conversations by groupName |
search filters group conversations by groupName |
1 |
0 |
0 |
0.021s |
100% |