fix(invites): код приглашения не подменяется слабым при отказе crypto/rand

Вместо предсказуемого запасного кода ручка возвращает 500: приглашение —
это доступ к серверу, маскировать отказ источника энтропии нельзя.
This commit is contained in:
2026-09-19 23:33:59 +03:00
parent 61a84bfeae
commit 63bf1e63b5
5 changed files with 84 additions and 13 deletions
@@ -30,7 +30,7 @@ export function GuildMembersSection({
return (
<SettingsSection
title={t('settings.servers.members.title')}
description={t('settings.servers.members.description', { count: PREVIEW_LIMIT })}
description={t('settings.servers.members.description', { limit: PREVIEW_LIMIT })}
>
{isPending ? (
<SkeletonLines className="mt-4" rows={4} />
@@ -65,7 +65,7 @@ export function GuildMembersSection({
</span>
</span>
<Badge>
{t('settings.servers.members.roles', { count: member.role_ids.length })}
{t('settings.servers.members.roles', { roles: member.role_ids.length })}
</Badge>
</li>
);
@@ -90,17 +90,18 @@ export default function ServersSettingsPage() {
});
const guild = detail.data;
const sessionGuild = sessionGuilds.find((item) => item.id === activeId) ?? null;
const myPermissions = guild?.my_permissions ?? active?.my_permissions ?? [];
const ownerId = guild?.owner_id ?? active?.owner_id ?? '';
const canManage = canManageGuildSettings(myPermissions, ownerId, currentUser.data?.id);
const currentNickname = useMemo(() => {
const fromSnapshot = active?.my_nickname;
const fromSnapshot = sessionGuild?.my_nickname;
if (fromSnapshot !== undefined && fromSnapshot !== '') {
return fromSnapshot;
}
const mine = members.data?.find((member) => member.user_id === currentUser.data?.id);
return mine?.nickname ?? '';
}, [active, members.data, currentUser.data?.id]);
}, [sessionGuild, members.data, currentUser.data?.id]);
return (
<div className="flex flex-col gap-5">