Page MenuHomePhabricator

D13540.id44770.diff
No OneTemporary

D13540.id44770.diff

diff --git a/lib/selectors/user-selectors.js b/lib/selectors/user-selectors.js
--- a/lib/selectors/user-selectors.js
+++ b/lib/selectors/user-selectors.js
@@ -130,16 +130,12 @@
[id: string]: AccountUserInfo,
} = createSelector(
(state: BaseAppState<>) => state.userStore.userInfos,
- (state: BaseAppState<>) => state.currentUserInfo && state.currentUserInfo.id,
- (
- userInfos: UserInfos,
- currentUserID: ?string,
- ): { [id: string]: AccountUserInfo } => {
+ (userInfos: UserInfos): { [id: string]: AccountUserInfo } => {
const availableUsers: { [id: string]: AccountUserInfo } = {};
for (const id in userInfos) {
const { username, relationshipStatus } = userInfos[id];
- if (id === currentUserID || !username) {
+ if (!username) {
continue;
}
if (
diff --git a/native/chat/compose-subchannel.react.js b/native/chat/compose-subchannel.react.js
--- a/native/chat/compose-subchannel.react.js
+++ b/native/chat/compose-subchannel.react.js
@@ -197,11 +197,16 @@
community ? threadInfoSelector(state)[community] : null,
);
const auxUserInfos = useSelector(state => state.auxUserStore.auxUserInfos);
+ const viewerID = useSelector(state => state.currentUserInfo?.id);
+ const excludeUserIDs = React.useMemo(
+ () => [...userInfoInputIDs, ...(viewerID ? [viewerID] : [])],
+ [userInfoInputIDs, viewerID],
+ );
const userSearchResults = usePotentialMemberItems({
text: usernameInputText,
userInfos: otherUserInfos,
auxUserInfos,
- excludeUserIDs: userInfoInputIDs,
+ excludeUserIDs,
inputParentThreadInfo: parentThreadInfo,
inputCommunityThreadInfo: communityThreadInfo,
threadType,
diff --git a/native/chat/settings/add-users-modal.react.js b/native/chat/settings/add-users-modal.react.js
--- a/native/chat/settings/add-users-modal.react.js
+++ b/native/chat/settings/add-users-modal.react.js
@@ -174,9 +174,14 @@
() => threadActualMembers(threadInfo.members),
[threadInfo.members],
);
+ const viewerID = useSelector(state => state.currentUserInfo?.id);
const excludeUserIDs = React.useMemo(
- () => userInfoInputIDs.concat(threadMemberIDs),
- [userInfoInputIDs, threadMemberIDs],
+ () => [
+ ...userInfoInputIDs,
+ ...threadMemberIDs,
+ ...(viewerID ? [viewerID] : []),
+ ],
+ [userInfoInputIDs, threadMemberIDs, viewerID],
);
const otherUserInfos = useSelector(userInfoSelectorForPotentialMembers);
diff --git a/web/settings/relationship/add-users-utils.js b/web/settings/relationship/add-users-utils.js
--- a/web/settings/relationship/add-users-utils.js
+++ b/web/settings/relationship/add-users-utils.js
@@ -139,12 +139,14 @@
community ? threadInfoSelector(state)[community] : null,
);
const otherUserInfos = useSelector(userInfoSelectorForPotentialMembers);
+ const viewerID = useSelector(state => state.currentUserInfo?.id);
const excludeUserIDs = React.useMemo(
- () =>
- threadActualMembers(threadInfo.members).concat(
- Array.from(previouslySelectedUsers.keys()),
- ),
- [previouslySelectedUsers, threadInfo.members],
+ () => [
+ ...threadActualMembers(threadInfo.members),
+ ...previouslySelectedUsers.keys(),
+ ...(viewerID ? [viewerID] : []),
+ ],
+ [previouslySelectedUsers, threadInfo.members, viewerID],
);
const auxUserInfos = useSelector(state => state.auxUserStore.auxUserInfos);
@@ -215,12 +217,18 @@
[previouslySelectedUsers],
);
+ const viewerID = useSelector(state => state.currentUserInfo?.id);
+ const excludeUserIDs = React.useMemo(
+ () => [...previouslySelectedUserIDs, ...(viewerID ? [viewerID] : [])],
+ [previouslySelectedUserIDs, viewerID],
+ );
+
const auxUserInfos = useSelector(state => state.auxUserStore.auxUserInfos);
const userSearchResults = usePotentialMemberItems({
text: searchText,
userInfos: otherUserInfos,
auxUserInfos,
- excludeUserIDs: previouslySelectedUserIDs,
+ excludeUserIDs,
inputParentThreadInfo: parentThreadInfo,
inputCommunityThreadInfo: communityThreadInfo,
threadType,

File Metadata

Mime Type
text/plain
Expires
Wed, Oct 2, 9:25 PM (21 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2213706
Default Alt Text
D13540.id44770.diff (4 KB)

Event Timeline