Skip to content

Commit

Permalink
fix: correct parameter order in afterSaveMessage to restore outgoing …
Browse files Browse the repository at this point in the history
…webhooks and related features (#33295)
  • Loading branch information
ricardogarim authored Sep 17, 2024
1 parent e22ea8f commit 05e8e25
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 4 deletions.
5 changes: 5 additions & 0 deletions .changeset/rotten-rabbits-brush.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Resolves the issue where outgoing integrations failed to trigger after the version 6.12.0 upgrade by correcting the parameter order from the `afterSaveMessage` callback to listener functions. This ensures the correct room information is passed, restoring the functionality of outgoing webhooks, IRC bridge, Autotranslate, and Engagement Dashboard.
7 changes: 6 additions & 1 deletion apps/meteor/app/autotranslate/server/autotranslate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,12 @@ export class TranslationProviderRegistry {
return;
}

callbacks.add('afterSaveMessage', provider.translateMessage.bind(provider), callbacks.priority.MEDIUM, 'autotranslate');
callbacks.add(
'afterSaveMessage',
(message, { room }) => provider.translateMessage(message, { room }),
callbacks.priority.MEDIUM,
'autotranslate',
);
}
}

Expand Down
7 changes: 6 additions & 1 deletion apps/meteor/app/integrations/server/triggers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,12 @@ const callbackHandler = function _callbackHandler(eventType: string) {
};
};

callbacks.add('afterSaveMessage', callbackHandler('sendMessage'), callbacks.priority.LOW, 'integrations-sendMessage');
callbacks.add(
'afterSaveMessage',
(message, { room }) => callbackHandler('sendMessage')(message, room),
callbacks.priority.LOW,
'integrations-sendMessage',
);
callbacks.add('afterCreateChannel', callbackHandler('roomCreated'), callbacks.priority.LOW, 'integrations-roomCreated');
callbacks.add('afterCreatePrivateGroup', callbackHandler('roomCreated'), callbacks.priority.LOW, 'integrations-roomCreated');
callbacks.add('afterCreateUser', callbackHandler('userCreated'), callbacks.priority.LOW, 'integrations-userCreated');
Expand Down
2 changes: 1 addition & 1 deletion apps/meteor/app/irc/server/irc-bridge/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ class Bridge {
// Chatting
callbacks.add(
'afterSaveMessage',
this.onMessageReceived.bind(this, 'local', 'onSaveMessage'),
(message, { room }) => this.onMessageReceived('local', 'onSaveMessage', message, room),
callbacks.priority.LOW,
'irc-on-save-message',
);
Expand Down
7 changes: 6 additions & 1 deletion apps/meteor/ee/server/lib/engagementDashboard/startup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@ import { fillFirstDaysOfMessagesIfNeeded, handleMessagesDeleted, handleMessagesS
import { fillFirstDaysOfUsersIfNeeded, handleUserCreated } from './users';

export const attachCallbacks = (): void => {
callbacks.add('afterSaveMessage', handleMessagesSent, callbacks.priority.MEDIUM, 'engagementDashboard.afterSaveMessage');
callbacks.add(
'afterSaveMessage',
(message, { room }) => handleMessagesSent(message, { room }),
callbacks.priority.MEDIUM,
'engagementDashboard.afterSaveMessage',
);
callbacks.add('afterDeleteMessage', handleMessagesDeleted, callbacks.priority.MEDIUM, 'engagementDashboard.afterDeleteMessage');
callbacks.add('afterCreateUser', handleUserCreated, callbacks.priority.MEDIUM, 'engagementDashboard.afterCreateUser');
};
Expand Down

0 comments on commit 05e8e25

Please sign in to comment.