File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed
apps/meteor/ee/server/hooks/federation Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change 77 type IRoom ,
88 type IUser ,
99} from '@rocket.chat/core-typings' ;
10+ import { validateFederatedUsername } from '@rocket.chat/federation-matrix' ;
1011import { Rooms } from '@rocket.chat/models' ;
1112
1213import { callbacks } from '../../../../lib/callbacks' ;
@@ -94,6 +95,11 @@ callbacks.add(
9495
9596beforeAddUsersToRoom . add ( async ( { usernames, inviter } , room ) => {
9697 if ( ! FederationActions . shouldPerformFederationAction ( room ) && inviter ) {
98+ // check if trying to invite a federated user to a non-federated room
99+ const federatedUsernames = usernames . filter ( ( u ) => validateFederatedUsername ( u ) ) ;
100+ if ( federatedUsernames . length > 0 ) {
101+ throw new MeteorError ( 'error-federated-users-in-non-federated-rooms' , 'Cannot add federated users to non-federated rooms' ) ;
102+ }
97103 return ;
98104 }
99105
You can’t perform that action at this time.
0 commit comments