fix(app): apply streamer mode to member nicknames and stop guild scope leaking into global surfaces (#1697)

This commit is contained in:
Hampus authored and GitHub committed 2026-08-17 14:58:56 +02:00
1 parent 3fa766c39c
commit 3ff7189566
32 files changed
+82 -61

No files matched your search

@@ -107,7 +107,7 @@ export function buildChannelCandidate(
const participantNames = channel.recipientIds
.map((recipientId) => {
const user = Users.getUser(recipientId);
return user ? NicknameUtils.getNickname(user) : null;
return user ? NicknameUtils.getNickname(user, null) : null;
})
.filter(Boolean) as Array<string>;
const subtitle = participantNames.length > 0 ? participantNames.join(', ') : i18n._(GROUP_MESSAGE_DESCRIPTOR);
@@ -233,7 +233,7 @@ export function buildCandidateSets(i18n: I18n): CandidateSets {
}
const user = relationship.user;
if (!userCandidates.has(user.id)) {
const title = NicknameUtils.getNickname(user);
const title = NicknameUtils.getNickname(user, null);
const subtitle = NicknameUtils.formatUserTagForStreamerMode(user);
const searchValues = [title, subtitle, user.username, user.id].filter(Boolean);
userCandidates.set(user.id, {
@@ -251,7 +251,7 @@ export function buildCandidateSets(i18n: I18n): CandidateSets {
for (const user of Users.getUsers()) {
if (user.id === currentUserId) continue;
if (!userCandidates.has(user.id)) {
const title = NicknameUtils.getNickname(user);
const title = NicknameUtils.getNickname(user, null);
const subtitle = NicknameUtils.formatUserTagForStreamerMode(user);
const searchValues = [title, subtitle, user.username, user.id].filter(Boolean);
userCandidates.set(user.id, {
@@ -272,7 +272,9 @@ export function buildCandidateSets(i18n: I18n): CandidateSets {
for (const member of guildMembers) {
if (member.user.id === currentUserId) continue;
if (!userCandidates.has(member.user.id)) {
const title = member.nick ?? NicknameUtils.getNickname(member.user);
const title = member.nick
? NicknameUtils.formatNicknameForStreamerMode(member.nick)
: NicknameUtils.getNickname(member.user, member.guildId);
const subtitle = NicknameUtils.formatUserTagForStreamerMode(member.user);
const searchValues = [title, subtitle, member.user.username, member.user.id, member.nick].filter(
Boolean,
@@ -235,7 +235,9 @@ function buildUserCandidatesWithMemberSearch(
}
function createUserCandidateFromMember(member: GuildMember): UserCandidate {
const title = member.nick ?? NicknameUtils.getNickname(member.user);
const title = member.nick
? NicknameUtils.formatNicknameForStreamerMode(member.nick)
: NicknameUtils.getNickname(member.user, member.guildId);
const subtitle = NicknameUtils.formatUserTagForStreamerMode(member.user);
const searchValues = [title, subtitle, member.user.username, member.user.id, member.nick].filter(
Boolean,