diff --git a/src/user-picker/New1to1PmScreen.js b/src/user-picker/New1to1PmScreen.js
index 06f9f68cf6f..7eec8e35852 100644
--- a/src/user-picker/New1to1PmScreen.js
+++ b/src/user-picker/New1to1PmScreen.js
@@ -9,7 +9,7 @@ import UserList from '../users/UserList';
import type { UserOrBot } from '../types';
import { useSelector, useDispatch } from '../react-redux';
import { pm1to1NarrowFromUser } from '../utils/narrow';
-import { getUsers, getPresence } from '../selectors';
+import { getUsers } from '../selectors';
import { navigateBack, doNarrow } from '../actions';
import { useNavigation } from '../react-navigation';
@@ -21,7 +21,6 @@ type Props = $ReadOnly<{|
export default function New1to1PmScreen(props: Props): Node {
const dispatch = useDispatch();
const users = useSelector(getUsers);
- const presences = useSelector(getPresence);
const navigation = useNavigation();
const handleUserNarrow = useCallback(
@@ -36,7 +35,7 @@ export default function New1to1PmScreen(props: Props): Node {
return (
-
+
);
}
diff --git a/src/user-picker/UserPickerCard.js b/src/user-picker/UserPickerCard.js
index 2353aa170c8..02a55c7e0d9 100644
--- a/src/user-picker/UserPickerCard.js
+++ b/src/user-picker/UserPickerCard.js
@@ -14,7 +14,7 @@ import { IconDone } from '../common/Icons';
import UserList from '../users/UserList';
import AvatarList from './AvatarList';
import AnimatedScaleComponent from '../animation/AnimatedScaleComponent';
-import { getUsers, getPresence } from '../selectors';
+import { getUsers } from '../selectors';
import { getOwnUserId } from '../users/userSelectors';
const styles = createStyleSheet({
@@ -51,7 +51,6 @@ export default function UserPickerCard(props: Props): Node {
const { filter, showOwnUser } = props;
const users = useSelector(state => getUsersToShow(state, showOwnUser));
- const presences = useSelector(getPresence);
const [selectedState, setSelectedState] = useState<$ReadOnlyArray>([]);
const listRef = useRef | null>(null);
@@ -80,7 +79,6 @@ export default function UserPickerCard(props: Props): Node {
{
setSelectedState(state => {
diff --git a/src/users/UserList.js b/src/users/UserList.js
index 5302ae53cb0..c62d4d4e27a 100644
--- a/src/users/UserList.js
+++ b/src/users/UserList.js
@@ -4,13 +4,14 @@ import type { Node } from 'react';
import { SectionList } from 'react-native';
import { useSelector } from '../react-redux';
-import type { PresenceState, UserOrBot } from '../types';
+import type { UserOrBot } from '../types';
import { createStyleSheet } from '../styles';
import SectionHeader from '../common/SectionHeader';
import SearchEmptyState from '../common/SearchEmptyState';
import UserItem from './UserItem';
import { sortUserList, filterUserList, groupUsersByStatus } from './userHelpers';
import { getMutedUsers } from '../selectors';
+import { getPresence } from '../directSelectors';
const styles = createStyleSheet({
list: {
@@ -22,13 +23,14 @@ type Props = $ReadOnly<{|
filter: string,
users: $ReadOnlyArray,
selected?: $ReadOnlyArray,
- presences: PresenceState,
onPress: (user: UserOrBot) => void,
|}>;
export default function UserList(props: Props): Node {
- const { filter, users, presences, onPress, selected = [] } = props;
+ const { filter, users, onPress, selected = [] } = props;
const mutedUsers = useSelector(getMutedUsers);
+ const presences = useSelector(getPresence);
+
const filteredUsers = filterUserList(users, filter).filter(user => !mutedUsers.has(user.user_id));
if (filteredUsers.length === 0) {