Compare commits

..
3 changed files with 29 additions and 1 deletions
@@ -62,6 +62,8 @@ describe('DM Privacy Bidirectional Enforcement', () => {
const target = await createTestAccount(harness);
await ensureSessionStarted(harness, sender.token);
await ensureSessionStarted(harness, target.token);
await updateUserSettings(harness, sender.token, {default_guilds_restricted: false});
await updateUserSettings(harness, target.token, {default_guilds_restricted: false});
const guild = await createGuild(harness, sender.token, 'Mutual Community');
const systemChannel = await getChannel(harness, sender.token, guild.system_channel_id!);
const invite = await createChannelInvite(harness, sender.token, systemChannel.id);
@@ -80,6 +82,8 @@ describe('DM Privacy Bidirectional Enforcement', () => {
await ensureSessionStarted(harness, sender.token);
await ensureSessionStarted(harness, target.token);
await createFriendship(harness, sender, target);
await updateUserSettings(harness, sender.token, {default_guilds_restricted: false});
await updateUserSettings(harness, target.token, {default_guilds_restricted: false});
const guild = await createGuild(harness, sender.token, 'Verified Community');
await createBuilder(harness, '')
.post(`/test/guilds/${guild.id}/features`)
@@ -97,6 +101,25 @@ describe('DM Privacy Bidirectional Enforcement', () => {
.expect(HTTP_STATUS.OK)
.execute();
});
it('blocks message from a non-friend guild member to a new account by default', async () => {
const sender = await createTestAccount(harness);
const target = await createTestAccount(harness);
await ensureSessionStarted(harness, sender.token);
await ensureSessionStarted(harness, target.token);
await updateUserSettings(harness, sender.token, {default_guilds_restricted: false});
await createFriendship(harness, sender, target);
const guild = await createGuild(harness, sender.token, 'Default Community');
const systemChannel = await getChannel(harness, sender.token, guild.system_channel_id!);
const invite = await createChannelInvite(harness, sender.token, systemChannel.id);
await acceptInvite(harness, target.token, invite.code);
const channel = await createDmChannel(harness, sender.token, target.userId);
await removeRelationship(harness, sender.token, target.userId);
await createBuilder(harness, sender.token)
.post(`/channels/${channel.id}/messages`)
.body({content: 'default restricted target'})
.expect(HTTP_STATUS.BAD_REQUEST, 'CANNOT_SEND_MESSAGES_TO_USER')
.execute();
});
it('blocks message when sender restricts the only mutual guild', async () => {
const sender = await createTestAccount(harness);
const target = await createTestAccount(harness);
@@ -175,6 +198,8 @@ describe('DM Privacy Bidirectional Enforcement', () => {
const user2 = await createTestAccount(harness);
await ensureSessionStarted(harness, user1.token);
await ensureSessionStarted(harness, user2.token);
await updateUserSettings(harness, user1.token, {default_guilds_restricted: false});
await updateUserSettings(harness, user2.token, {default_guilds_restricted: false});
const guild = await createGuild(harness, user1.token, 'Shared Community');
const systemChannel = await getChannel(harness, user1.token, guild.system_channel_id!);
const invite = await createChannelInvite(harness, user1.token, systemChannel.id);
+1 -1
View File
@@ -216,7 +216,7 @@ export class UserSettings {
friend_source_flags: friendSourceFlags,
incoming_call_flags: IncomingCallFlags.FRIENDS_ONLY,
group_dm_add_permission_flags: GroupDmAddPermissionFlags.FRIENDS_ONLY,
default_guilds_restricted: false,
default_guilds_restricted: true,
bot_default_guilds_restricted: false,
restricted_guilds: new Set(),
bot_restricted_guilds: new Set(),
@@ -9,6 +9,7 @@ import {
createGroupDmChannel,
createGuild,
getChannel,
updateUserSettings,
} from '@app/api/channel/tests/ChannelTestUtils';
import {ensureSessionStarted} from '@app/api/message/tests/MessageTestUtils';
import {type ApiTestHarness, createApiTestHarness} from '@app/api/test/ApiTestHarness';
@@ -39,6 +40,8 @@ describe('Voice Call Ringing', () => {
const user2 = await createTestAccount(harness);
await ensureSessionStarted(harness, user1.token);
await ensureSessionStarted(harness, user2.token);
await updateUserSettings(harness, user1.token, {default_guilds_restricted: false});
await updateUserSettings(harness, user2.token, {default_guilds_restricted: false});
const guild = await createGuild(harness, user1.token, 'Mutual Guild');
const invite = await createChannelInvite(harness, user1.token, guild.system_channel_id!);
await acceptInvite(harness, user2.token, invite.code);