fix(federation-v2): don't throw on username validation before creating dm (#33280)

pull/34134/head^2
Debdut Chakraborty 1 year ago committed by GitHub
parent 156da2ad77
commit 1a113034fd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      .changeset/fifty-parrots-wonder.md
  2. 4
      apps/meteor/server/services/federation/infrastructure/rocket-chat/hooks/index.ts
  3. 9
      apps/meteor/tests/unit/server/federation/infrastructure/rocket-chat/hooks/hooks.spec.ts

@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---
Fixes an issue preventing the creation of normal direct message rooms due to an invalid federation configuration, allowing proper room creation under standard settings.

@ -74,12 +74,10 @@ export class FederationHooks {
callbacks.add(
'federation.beforeCreateDirectMessage',
async (members: IUser[]): Promise<void> => {
if (!members) {
if (!members || !isFederationEnabled()) {
return;
}
throwIfFederationNotEnabledOrNotReady();
await callback(members);
},
callbacks.priority.HIGH,

@ -279,9 +279,18 @@ describe('Federation - Infrastructure - RocketChat - Hooks', () => {
it('should execute the callback when everything is correct', () => {
const stub = sinon.stub();
FederationHooks.canCreateDirectMessageFromUI(stub);
isFederationEnabled.returns(true);
hooks['federation-v2-can-create-direct-message-from-ui-ce']([]);
expect(stub.calledWith([])).to.be.true;
});
it('should not execute callback or throw error when federation is disabled', () => {
const stub = sinon.stub();
FederationHooks.canCreateDirectMessageFromUI(stub);
isFederationEnabled.returns(false);
hooks['federation-v2-can-create-direct-message-from-ui-ce']([]);
expect(stub.calledWith([])).to.be.false;
});
});
describe('#afterMessageReacted()', () => {

Loading…
Cancel
Save