refactor(eslint): Add "no-floating-promises" eslint rule - Part 1 (#28463)

pull/28003/head
Rodrigo Nascimento 3 years ago committed by GitHub
parent a4a812e224
commit 276d012e7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      .github/workflows/ci-test-e2e.yml
  2. 12
      .github/workflows/ci.yml
  3. 6
      apps/meteor/.eslintrc.json
  4. 2
      apps/meteor/app/2fa/server/startup/settings.ts
  5. 2
      apps/meteor/app/analytics/server/settings.ts
  6. 2
      apps/meteor/app/api/server/settings.ts
  7. 2
      apps/meteor/app/api/server/v1/roles.ts
  8. 2
      apps/meteor/app/api/server/v1/stats.ts
  9. 2
      apps/meteor/app/api/server/v1/users.ts
  10. 2
      apps/meteor/app/apple/server/appleOauthRegisterService.ts
  11. 2
      apps/meteor/app/apps/server/bridges/commands.ts
  12. 11
      apps/meteor/app/apps/server/bridges/messages.ts
  13. 2
      apps/meteor/app/apps/server/bridges/uiInteraction.ts
  14. 6
      apps/meteor/app/assets/server/assets.ts
  15. 2
      apps/meteor/app/authentication/server/startup/settings.ts
  16. 2
      apps/meteor/app/authorization/server/methods/addUserToRole.ts
  17. 4
      apps/meteor/app/authorization/server/methods/removeUserFromRole.ts
  18. 10
      apps/meteor/app/autotranslate/server/settings.ts
  19. 2
      apps/meteor/app/bot-helpers/server/settings.ts
  20. 6
      apps/meteor/app/channel-settings/server/methods/saveRoomSettings.ts
  21. 2
      apps/meteor/app/colors/server/settings.ts
  22. 2
      apps/meteor/app/crowd/server/settings.ts
  23. 2
      apps/meteor/app/custom-sounds/server/methods/deleteCustomSound.ts
  24. 2
      apps/meteor/app/custom-sounds/server/methods/insertOrUpdateSound.ts
  25. 2
      apps/meteor/app/custom-sounds/server/startup/settings.ts
  26. 6
      apps/meteor/app/discussion/server/config.ts
  27. 16
      apps/meteor/app/dolphin/server/startup.ts
  28. 2
      apps/meteor/app/drupal/server/startup.ts
  29. 2
      apps/meteor/app/e2e/client/tabbar.ts
  30. 2
      apps/meteor/app/e2e/server/index.js
  31. 2
      apps/meteor/app/e2e/server/methods/requestSubscriptionKeys.js
  32. 2
      apps/meteor/app/e2e/server/settings.ts
  33. 2
      apps/meteor/app/emoji-custom/server/methods/deleteEmojiCustom.js
  34. 4
      apps/meteor/app/emoji-custom/server/methods/insertOrUpdateEmoji.js
  35. 2
      apps/meteor/app/emoji-custom/server/startup/settings.ts
  36. 2
      apps/meteor/app/error-handler/server/startup/settings.ts
  37. 2
      apps/meteor/app/federation/server/endpoints/dispatch.js
  38. 2
      apps/meteor/app/federation/server/startup/settings.ts
  39. 2
      apps/meteor/app/file-upload/server/startup/settings.ts
  40. 2
      apps/meteor/app/github-enterprise/server/startup.ts
  41. 2
      apps/meteor/app/gitlab/server/startup.ts
  42. 2
      apps/meteor/app/iframe-login/server/iframe_rocketchat.ts
  43. 2
      apps/meteor/app/invites/server/functions/findOrCreateInvite.js
  44. 2
      apps/meteor/app/irc/server/irc-settings.ts
  45. 6
      apps/meteor/app/katex/server/settings.ts
  46. 58
      apps/meteor/app/lib/server/functions/addOAuthService.ts
  47. 2
      apps/meteor/app/lib/server/functions/addUserToRoom.ts
  48. 2
      apps/meteor/app/lib/server/functions/cleanRoomHistory.ts
  49. 2
      apps/meteor/app/lib/server/functions/createDirectRoom.ts
  50. 2
      apps/meteor/app/lib/server/functions/createRoom.ts
  51. 4
      apps/meteor/app/lib/server/functions/deleteMessage.ts
  52. 2
      apps/meteor/app/lib/server/functions/deleteUser.ts
  53. 2
      apps/meteor/app/lib/server/functions/notifications/desktop.js
  54. 4
      apps/meteor/app/lib/server/functions/setRealName.ts
  55. 4
      apps/meteor/app/lib/server/functions/setRoomAvatar.ts
  56. 2
      apps/meteor/app/lib/server/functions/setStatusText.ts
  57. 2
      apps/meteor/app/lib/server/functions/setUserAvatar.ts
  58. 2
      apps/meteor/app/lib/server/functions/setUsername.ts
  59. 2
      apps/meteor/app/lib/server/functions/updateMessage.ts
  60. 2
      apps/meteor/app/lib/server/methods/addUsersToRoom.js
  61. 2
      apps/meteor/app/lib/server/methods/filterATAllTag.js
  62. 2
      apps/meteor/app/lib/server/methods/filterATHereTag.js
  63. 2
      apps/meteor/app/lib/server/methods/sendMessage.ts
  64. 2
      apps/meteor/app/lib/server/startup/email.ts
  65. 30
      apps/meteor/app/lib/server/startup/settings.ts
  66. 2
      apps/meteor/app/lib/server/startup/settingsOnLoadDirectReply.ts
  67. 6
      apps/meteor/app/livechat/server/config.ts
  68. 2
      apps/meteor/app/livechat/server/externalFrame/settings.ts
  69. 2
      apps/meteor/app/livechat/server/lib/Helper.js
  70. 4
      apps/meteor/app/livechat/server/lib/Livechat.js
  71. 4
      apps/meteor/app/livechat/server/lib/LivechatTyped.ts
  72. 3
      apps/meteor/app/mailer/server/api.ts
  73. 4
      apps/meteor/app/mapview/server/settings.ts
  74. 2
      apps/meteor/app/mentions/server/server.js
  75. 2
      apps/meteor/app/message-pin/server/settings.ts
  76. 2
      apps/meteor/app/message-star/server/settings.ts
  77. 2
      apps/meteor/app/meteor-accounts-saml/server/lib/settings.ts
  78. 2
      apps/meteor/app/models/client/models/CachedChatSubscription.ts
  79. 2
      apps/meteor/app/nextcloud/server/startup.ts
  80. 2
      apps/meteor/app/notifications/server/lib/Notifications.ts
  81. 3
      apps/meteor/app/oauth2-server-config/server/oauth/default-services.ts
  82. 2
      apps/meteor/app/otr/client/OTRRoom.ts
  83. 2
      apps/meteor/app/otr/server/settings.ts
  84. 2
      apps/meteor/app/reactions/server/setReaction.ts
  85. 2
      apps/meteor/app/retention-policy/server/startup/settings.ts
  86. 2
      apps/meteor/app/settings/server/SettingsRegistry.ts
  87. 2
      apps/meteor/app/slackbridge/server/settings.ts
  88. 6
      apps/meteor/app/slashcommands-archiveroom/server/server.ts
  89. 2
      apps/meteor/app/slashcommands-create/server/server.ts
  90. 2
      apps/meteor/app/slashcommands-help/server/server.ts
  91. 4
      apps/meteor/app/slashcommands-hide/server/hide.ts
  92. 8
      apps/meteor/app/slashcommands-invite/server/server.ts
  93. 8
      apps/meteor/app/slashcommands-inviteall/server/server.ts
  94. 2
      apps/meteor/app/slashcommands-join/server/server.ts
  95. 2
      apps/meteor/app/slashcommands-kick/server/server.ts
  96. 2
      apps/meteor/app/slashcommands-leave/server/leave.ts
  97. 4
      apps/meteor/app/slashcommands-msg/server/server.ts
  98. 2
      apps/meteor/app/slashcommands-mute/server/mute.ts
  99. 2
      apps/meteor/app/slashcommands-mute/server/unmute.ts
  100. 2
      apps/meteor/app/slashcommands-status/client/status.ts
  101. Some files were not shown because too many files have changed in this diff Show More

@ -197,7 +197,7 @@ jobs:
env:
IS_EE: ${{ inputs.release == 'ee' && 'true' || '' }}
run: |
for i in $(seq 1 5); do
for i in $(seq 1 2); do
npm run testapi && s=0 && break || s=$?
docker compose -f ../../docker-compose-ci.yml logs --tail=100

@ -201,7 +201,7 @@ jobs:
test-unit:
name: 🔨 Test Unit
needs: [build, checks, release-versions]
needs: [build, release-versions]
uses: ./.github/workflows/ci-test-unit.yml
with:
@ -209,7 +209,7 @@ jobs:
test-api:
name: 🔨 Test API (CE)
needs: [build, checks, release-versions]
needs: [build, release-versions]
uses: ./.github/workflows/ci-test-e2e.yml
with:
@ -229,7 +229,7 @@ jobs:
test-ui:
name: 🔨 Test UI (CE)
needs: [build, checks, release-versions]
needs: [build, release-versions]
uses: ./.github/workflows/ci-test-e2e.yml
with:
@ -252,7 +252,7 @@ jobs:
test-api-ee:
name: 🔨 Test API (EE)
needs: [build, checks, release-versions]
needs: [build, release-versions]
uses: ./.github/workflows/ci-test-e2e.yml
with:
@ -275,7 +275,7 @@ jobs:
test-ui-ee:
name: 🔨 Test UI (EE)
needs: [build, checks, release-versions]
needs: [build, release-versions]
uses: ./.github/workflows/ci-test-e2e.yml
with:
@ -300,7 +300,7 @@ jobs:
tests-done:
name: ✅ Tests Done
runs-on: ubuntu-20.04
needs: [test-unit, test-api, test-ui, test-api-ee, test-ui-ee]
needs: [checks, test-unit, test-api, test-ui, test-api-ee, test-ui-ee]
steps:
- name: Test finish aggregation

@ -43,11 +43,11 @@
"error",
{
"checksVoidReturn": {
"arguments": false,
"attributes": false
"arguments": false
}
}
]
],
"@typescript-eslint/no-floating-promises": "warn"
},
"parserOptions": {
"project": ["./tsconfig.json"]

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../../settings/server';
settingsRegistry.addGroup('Accounts', function () {
void settingsRegistry.addGroup('Accounts', function () {
this.section('Two Factor Authentication', function () {
const enable2FA = {
_id: 'Accounts_TwoFactorAuthentication_Enabled',

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.addGroup('Analytics', function addSettings() {
void settingsRegistry.addGroup('Analytics', function addSettings() {
this.section('Piwik', function () {
const enableQuery = { _id: 'PiwikAnalytics_enabled', value: true };
this.add('PiwikAnalytics_enabled', false, {

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.addGroup('General', function () {
void settingsRegistry.addGroup('General', function () {
this.section('REST API', function () {
this.add('API_Upper_Count_Limit', 100, { type: 'int', public: false });
this.add('API_Default_Count', 50, { type: 'int', public: false });

@ -227,7 +227,7 @@ API.v1.addRoute(
await Roles.removeUserRoles(user._id, [role._id], scope);
if (settings.get('UI_DisplayRoles')) {
api.broadcast('user.roleUpdate', {
void api.broadcast('user.roleUpdate', {
type: 'removed',
_id: role._id,
u: {

@ -52,7 +52,7 @@ API.v1.addRoute(
events.params.forEach((event) => {
const { eventName, ...params } = event;
telemetryEvent.call(eventName, params);
void telemetryEvent.call(eventName, params);
});
return API.v1.success();

@ -1119,7 +1119,7 @@ API.v1.addRoute(
});
const { _id, username, statusText, roles, name } = user;
api.broadcast('presence.status', {
void api.broadcast('presence.status', {
user: { status, _id, username, statusText, roles, name },
previousStatus: user.status,
});

@ -7,7 +7,7 @@ import { AppleCustomOAuth } from './AppleCustomOAuth';
new AppleCustomOAuth('apple', config);
settingsRegistry.addGroup('OAuth', function () {
void settingsRegistry.addGroup('OAuth', function () {
this.section('Apple', function () {
this.add('Accounts_OAuth_Apple', false, { type: 'boolean', public: true });

@ -181,7 +181,7 @@ export class AppCommandsBridge extends CommandBridge {
triggerId,
);
Promise.await(this.orch.getManager()?.getCommandManager().executeCommand(command, context));
void Promise.await(this.orch.getManager()?.getCommandManager().executeCommand(command, context));
}
private _appCommandPreviewer(command: string, parameters: any, message: RequiredField<Partial<IMessage>, 'rid'>): any {

@ -60,7 +60,7 @@ export class AppMessageBridge extends MessageBridge {
return;
}
api.broadcast('notify.ephemeralMessage', user.id, msg.rid, {
void api.broadcast('notify.ephemeralMessage', user.id, msg.rid, {
...msg,
});
}
@ -80,10 +80,11 @@ export class AppMessageBridge extends MessageBridge {
Users.findByIds(users, { fields: { _id: 1 } })
.fetch()
.forEach(({ _id }: { _id: string }) =>
api.broadcast('notify.ephemeralMessage', _id, room.id, {
...msg,
}),
.forEach(
({ _id }: { _id: string }) =>
void api.broadcast('notify.ephemeralMessage', _id, room.id, {
...msg,
}),
);
}

@ -20,6 +20,6 @@ export class UiInteractionBridge extends UiIntBridge {
throw new Error('Invalid app provided');
}
api.broadcast('notify.uiInteraction', user.id, interaction);
void api.broadcast('notify.uiInteraction', user.id, interaction);
}
}

@ -244,7 +244,7 @@ class RocketChatAssetsClass {
defaultUrl: assetInstance.defaultUrl,
};
Settings.updateValueById(key, value);
void Settings.updateValueById(key, value);
// eslint-disable-next-line @typescript-eslint/no-use-before-define
return RocketChatAssets.processAsset(key, value);
}, 200);
@ -267,7 +267,7 @@ class RocketChatAssetsClass {
defaultUrl: getAssetByKey(asset).defaultUrl,
};
Settings.updateValueById(key, value);
void Settings.updateValueById(key, value);
// eslint-disable-next-line @typescript-eslint/no-use-before-define
RocketChatAssets.processAsset(key, value);
}
@ -332,7 +332,7 @@ class RocketChatAssetsClass {
export const RocketChatAssets = new RocketChatAssetsClass();
settingsRegistry.addGroup('Assets', function () {
void settingsRegistry.addGroup('Assets', function () {
this.add('Assets_SvgFavicon_Enable', true, {
type: 'boolean',
group: 'Assets',

@ -3,7 +3,7 @@ import { Meteor } from 'meteor/meteor';
import { settingsRegistry } from '../../../settings/server';
Meteor.startup(function () {
settingsRegistry.addGroup('Accounts', function () {
void settingsRegistry.addGroup('Accounts', function () {
const enableQueryCollectData = { _id: 'Block_Multiple_Failed_Logins_Enabled', value: true };
this.section('Login_Attempts', function () {

@ -75,7 +75,7 @@ Meteor.methods<ServerMethods>({
const add = await Roles.addUserRoles(user._id, [role._id], scope);
if (settings.get('UI_DisplayRoles')) {
api.broadcast('user.roleUpdate', {
void api.broadcast('user.roleUpdate', {
type: 'added',
_id: role._id,
u: {

@ -90,9 +90,9 @@ Meteor.methods<ServerMethods>({
scope,
};
if (settings.get('UI_DisplayRoles')) {
api.broadcast('user.roleUpdate', event);
void api.broadcast('user.roleUpdate', event);
}
api.broadcast('federation.userRoleChanged', { ...event, givenByUserId: userId });
void api.broadcast('federation.userRoleChanged', { ...event, givenByUserId: userId });
return remove;
},

@ -3,14 +3,14 @@ import { Meteor } from 'meteor/meteor';
import { settingsRegistry } from '../../settings/server';
Meteor.startup(function () {
settingsRegistry.add('AutoTranslate_Enabled', false, {
void settingsRegistry.add('AutoTranslate_Enabled', false, {
type: 'boolean',
group: 'Message',
section: 'AutoTranslate',
public: true,
});
settingsRegistry.add('AutoTranslate_ServiceProvider', 'google-translate', {
void settingsRegistry.add('AutoTranslate_ServiceProvider', 'google-translate', {
type: 'select',
group: 'Message',
section: 'AutoTranslate',
@ -33,7 +33,7 @@ Meteor.startup(function () {
public: true,
});
settingsRegistry.add('AutoTranslate_GoogleAPIKey', '', {
void settingsRegistry.add('AutoTranslate_GoogleAPIKey', '', {
type: 'string',
group: 'Message',
section: 'AutoTranslate_Google',
@ -51,7 +51,7 @@ Meteor.startup(function () {
],
});
settingsRegistry.add('AutoTranslate_DeepLAPIKey', '', {
void settingsRegistry.add('AutoTranslate_DeepLAPIKey', '', {
type: 'string',
group: 'Message',
section: 'AutoTranslate_DeepL',
@ -69,7 +69,7 @@ Meteor.startup(function () {
],
});
settingsRegistry.add('AutoTranslate_MicrosoftAPIKey', '', {
void settingsRegistry.add('AutoTranslate_MicrosoftAPIKey', '', {
type: 'string',
group: 'Message',
section: 'AutoTranslate_Microsoft',

@ -3,7 +3,7 @@ import { Meteor } from 'meteor/meteor';
import { settingsRegistry } from '../../settings/server';
Meteor.startup(function () {
settingsRegistry.addGroup('Bots', function () {
void settingsRegistry.addGroup('Bots', function () {
this.add('BotHelpers_userFields', '_id, name, username, emails, language, utcOffset', {
type: 'string',
section: 'Helpers',

@ -217,7 +217,7 @@ const settingSavers: RoomSettingsSavers = {
}
if (room.teamId && room.teamMain) {
Team.update(user._id, room.teamId, {
void Team.update(user._id, room.teamId, {
type: room.t === 'c' ? TEAM_TYPE.PUBLIC : TEAM_TYPE.PRIVATE,
name: value,
updateRoom: false,
@ -264,7 +264,7 @@ const settingSavers: RoomSettingsSavers = {
if (room.teamId && room.teamMain) {
const type = value === 'c' ? TEAM_TYPE.PUBLIC : TEAM_TYPE.PRIVATE;
Team.update(user._id, room.teamId, { type, updateRoom: false });
void Team.update(user._id, room.teamId, { type, updateRoom: false });
}
},
streamingOptions({ value, rid }) {
@ -313,7 +313,7 @@ const settingSavers: RoomSettingsSavers = {
Rooms.saveRetentionOverrideGlobalById(rid, value);
},
encrypted({ value, room, rid, user }) {
saveRoomEncrypted(rid, value, user, Boolean(room.encrypted) !== Boolean(value));
void saveRoomEncrypted(rid, value, user, Boolean(room.encrypted) !== Boolean(value));
},
favorite({ value, rid }) {
Rooms.saveFavoriteById(rid, value.favorite, value.defaultValue);

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.add('HexColorPreview_Enabled', true, {
void settingsRegistry.add('HexColorPreview_Enabled', true, {
type: 'boolean',
i18nLabel: 'Enabled',
group: 'Message',

@ -3,7 +3,7 @@ import { Meteor } from 'meteor/meteor';
import { settingsRegistry } from '../../settings/server';
Meteor.startup(function () {
settingsRegistry.addGroup('AtlassianCrowd', function () {
void settingsRegistry.addGroup('AtlassianCrowd', function () {
const enableQuery = { _id: 'CROWD_Enable', value: true };
const enableSyncQuery = [enableQuery, { _id: 'CROWD_Sync_User_Data', value: true }];

@ -32,7 +32,7 @@ Meteor.methods<ServerMethods>({
RocketChatFileCustomSoundsInstance.deleteFile(`${sound._id}.${sound.extension}`);
await CustomSounds.removeById(_id);
api.broadcast('notify.deleteCustomSound', { soundData: sound });
void api.broadcast('notify.deleteCustomSound', { soundData: sound });
return true;
},

@ -88,7 +88,7 @@ Meteor.methods<ServerMethods>({
if (soundData.name !== soundData.previousName) {
await CustomSounds.setName(soundData._id, soundData.name);
api.broadcast('notify.updateCustomSound', {
void api.broadcast('notify.updateCustomSound', {
soundData: {
_id: soundData._id,
name: soundData.name,

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../../settings/server';
settingsRegistry.addGroup('CustomSoundsFilesystem', function () {
void settingsRegistry.addGroup('CustomSoundsFilesystem', function () {
this.add('CustomSounds_Storage_Type', 'GridFS', {
type: 'select',
values: [

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.addGroup('Discussion', function () {
void settingsRegistry.addGroup('Discussion', function () {
// the channel for which discussions are created if none is explicitly chosen
this.add('Discussion_enabled', true, {
@ -16,7 +16,7 @@ const globalQuery = {
value: true,
};
settingsRegistry.add('RetentionPolicy_DoNotPruneDiscussion', true, {
void settingsRegistry.add('RetentionPolicy_DoNotPruneDiscussion', true, {
group: 'RetentionPolicy',
section: 'Global Policy',
type: 'boolean',
@ -26,7 +26,7 @@ settingsRegistry.add('RetentionPolicy_DoNotPruneDiscussion', true, {
enableQuery: globalQuery,
});
settingsRegistry.add('RetentionPolicy_DoNotPruneThreads', true, {
void settingsRegistry.add('RetentionPolicy_DoNotPruneThreads', true, {
group: 'RetentionPolicy',
section: 'Global Policy',
type: 'boolean',

@ -1,32 +1,32 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.add('Accounts_OAuth_Dolphin_URL', '', {
void settingsRegistry.add('Accounts_OAuth_Dolphin_URL', '', {
type: 'string',
group: 'OAuth',
public: true,
section: 'Dolphin',
i18nLabel: 'URL',
});
settingsRegistry.add('Accounts_OAuth_Dolphin', false, {
void settingsRegistry.add('Accounts_OAuth_Dolphin', false, {
type: 'boolean',
group: 'OAuth',
section: 'Dolphin',
i18nLabel: 'Accounts_OAuth_Custom_Enable',
});
settingsRegistry.add('Accounts_OAuth_Dolphin_id', '', {
void settingsRegistry.add('Accounts_OAuth_Dolphin_id', '', {
type: 'string',
group: 'OAuth',
section: 'Dolphin',
i18nLabel: 'Accounts_OAuth_Custom_id',
});
settingsRegistry.add('Accounts_OAuth_Dolphin_secret', '', {
void settingsRegistry.add('Accounts_OAuth_Dolphin_secret', '', {
type: 'string',
group: 'OAuth',
section: 'Dolphin',
i18nLabel: 'Accounts_OAuth_Custom_Secret',
secret: true,
});
settingsRegistry.add('Accounts_OAuth_Dolphin_login_style', 'redirect', {
void settingsRegistry.add('Accounts_OAuth_Dolphin_login_style', 'redirect', {
type: 'select',
group: 'OAuth',
section: 'Dolphin',
@ -38,21 +38,21 @@ settingsRegistry.add('Accounts_OAuth_Dolphin_login_style', 'redirect', {
{ key: '', i18nLabel: 'Default' },
],
});
settingsRegistry.add('Accounts_OAuth_Dolphin_button_label_text', '', {
void settingsRegistry.add('Accounts_OAuth_Dolphin_button_label_text', '', {
type: 'string',
group: 'OAuth',
section: 'Dolphin',
i18nLabel: 'Accounts_OAuth_Custom_Button_Label_Text',
persistent: true,
});
settingsRegistry.add('Accounts_OAuth_Dolphin_button_label_color', '#FFFFFF', {
void settingsRegistry.add('Accounts_OAuth_Dolphin_button_label_color', '#FFFFFF', {
type: 'string',
group: 'OAuth',
section: 'Dolphin',
i18nLabel: 'Accounts_OAuth_Custom_Button_Label_Color',
persistent: true,
});
settingsRegistry.add('Accounts_OAuth_Dolphin_button_color', '#1d74f5', {
void settingsRegistry.add('Accounts_OAuth_Dolphin_button_color', '#1d74f5', {
type: 'string',
group: 'OAuth',
section: 'Dolphin',

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.addGroup('OAuth', function () {
void settingsRegistry.addGroup('OAuth', function () {
this.section('Drupal', function () {
const enableQuery = {
_id: 'Accounts_OAuth_Drupal',

@ -18,7 +18,7 @@ addAction('e2e', ({ room }) => {
const toggleE2E = useEndpoint('POST', '/v1/rooms.saveRoomSettings');
const action = useMutableCallback(() => {
toggleE2E({ rid: room._id, encrypted: !room.encrypted });
void toggleE2E({ rid: room._id, encrypted: !room.encrypted });
});
const enabledOnRoom = !!room.encrypted;

@ -15,7 +15,7 @@ import './methods/requestSubscriptionKeys';
callbacks.add(
'afterJoinRoom',
(user, room) => {
api.broadcast('notify.e2e.keyRequest', room._id, room.e2eKeyId);
void api.broadcast('notify.e2e.keyRequest', room._id, room.e2eKeyId);
},
callbacks.priority.MEDIUM,
'e2e',

@ -27,7 +27,7 @@ Meteor.methods({
const rooms = Rooms.find(query);
rooms.forEach((room) => {
api.broadcast('notify.e2e.keyRequest', room._id, room.e2eKeyId);
void api.broadcast('notify.e2e.keyRequest', room._id, room.e2eKeyId);
});
return true;

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.addGroup('E2E Encryption', function () {
void settingsRegistry.addGroup('E2E Encryption', function () {
this.add('E2E_Enable', false, {
type: 'boolean',
i18nLabel: 'Enabled',

@ -20,7 +20,7 @@ Meteor.methods({
RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${emoji.name}.${emoji.extension}`));
await EmojiCustom.removeById(emojiID);
api.broadcast('emoji.deleteCustom', emoji);
void api.broadcast('emoji.deleteCustom', emoji);
return true;
},

@ -96,7 +96,7 @@ Meteor.methods({
const _id = (await EmojiCustom.create(createEmoji)).insertedId;
api.broadcast('emoji.updateCustom', createEmoji);
void api.broadcast('emoji.updateCustom', createEmoji);
return _id;
}
@ -138,7 +138,7 @@ Meteor.methods({
await EmojiCustom.setAliases(emojiData._id, []);
}
api.broadcast('emoji.updateCustom', emojiData);
void api.broadcast('emoji.updateCustom', emojiData);
return true;
},

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../../settings/server';
settingsRegistry.addGroup('EmojiCustomFilesystem', function () {
void settingsRegistry.addGroup('EmojiCustomFilesystem', function () {
this.add('EmojiUpload_Storage_Type', 'GridFS', {
type: 'select',
values: [

@ -1,5 +1,5 @@
import { settingsRegistry } from '../../../settings/server';
settingsRegistry.addGroup('Logs', function () {
void settingsRegistry.addGroup('Logs', function () {
this.add('Log_Exceptions_to_Channel', '', { type: 'string' });
});

@ -327,7 +327,7 @@ const eventHandlers = {
Messages.removeById(messageId);
// Notify the room
api.broadcast('notify.deleteMessage', roomId, { _id: messageId });
void api.broadcast('notify.deleteMessage', roomId, { _id: messageId });
}
return eventResult;

@ -9,7 +9,7 @@ import { enableCallbacks, disableCallbacks } from '../lib/callbacks';
import { setupLogger } from '../lib/logger';
import { STATUS_ENABLED, STATUS_REGISTERING, STATUS_ERROR_REGISTERING, STATUS_DISABLED } from '../constants';
settingsRegistry.addGroup('Federation', function () {
void settingsRegistry.addGroup('Federation', function () {
this.section('Rocket.Chat Federation', async function () {
this.add('FEDERATION_Enabled', false, {
type: 'boolean',

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../../settings/server';
settingsRegistry.addGroup('FileUpload', function () {
void settingsRegistry.addGroup('FileUpload', function () {
this.add('FileUpload_Enabled', true, {
type: 'boolean',
public: true,

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.addGroup('OAuth', function () {
void settingsRegistry.addGroup('OAuth', function () {
this.section('GitHub Enterprise', function () {
const enableQuery = {
_id: 'Accounts_OAuth_GitHub_Enterprise',

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.addGroup('OAuth', function () {
void settingsRegistry.addGroup('OAuth', function () {
this.section('GitLab', function () {
const enableQuery = {
_id: 'Accounts_OAuth_Gitlab',

@ -3,7 +3,7 @@ import { Meteor } from 'meteor/meteor';
import { settingsRegistry } from '../../settings/server';
Meteor.startup(function () {
settingsRegistry.addGroup('Accounts', function () {
void settingsRegistry.addGroup('Accounts', function () {
this.section('Iframe', function () {
this.add('Accounts_iframe_enabled', false, { type: 'boolean', public: true });
this.add('Accounts_iframe_url', '', { type: 'string', public: true });

@ -100,7 +100,7 @@ export const findOrCreateInvite = async (userId, invite) => {
await Invites.insertOne(createInvite);
api.broadcast('notify.updateInvites', userId, { invite: createInvite });
void api.broadcast('notify.updateInvites', userId, { invite: createInvite });
createInvite.url = getInviteUrl(createInvite);
return createInvite;

@ -3,7 +3,7 @@ import { Meteor } from 'meteor/meteor';
import { settingsRegistry } from '../../settings/server';
Meteor.startup(function () {
settingsRegistry.addGroup('IRC_Federation', function () {
void settingsRegistry.addGroup('IRC_Federation', function () {
this.add('IRC_Enabled', false, {
type: 'boolean',
i18nLabel: 'Enabled',

@ -7,14 +7,14 @@ Meteor.startup(function () {
_id: 'Katex_Enabled',
value: true,
};
settingsRegistry.add('Katex_Enabled', true, {
void settingsRegistry.add('Katex_Enabled', true, {
type: 'boolean',
group: 'Message',
section: 'Katex',
public: true,
i18nDescription: 'Katex_Enabled_Description',
});
settingsRegistry.add('Katex_Parenthesis_Syntax', true, {
void settingsRegistry.add('Katex_Parenthesis_Syntax', true, {
type: 'boolean',
group: 'Message',
section: 'Katex',
@ -22,7 +22,7 @@ Meteor.startup(function () {
enableQuery,
i18nDescription: 'Katex_Parenthesis_Syntax_Description',
});
return settingsRegistry.add('Katex_Dollar_Syntax', false, {
return void settingsRegistry.add('Katex_Dollar_Syntax', false, {
type: 'boolean',
group: 'Message',
section: 'Katex',

@ -7,28 +7,28 @@ import { settingsRegistry } from '../../../settings/server';
export function addOAuthService(name: string, values: { [k: string]: string | boolean | undefined } = {}): void {
name = name.toLowerCase().replace(/[^a-z0-9_]/g, '');
name = capitalize(name);
settingsRegistry.add(`Accounts_OAuth_Custom-${name}`, values.enabled || false, {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}`, values.enabled || false, {
type: 'boolean',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Enable',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-url`, values.serverURL || '', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-url`, values.serverURL || '', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'URL',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-token_path`, values.tokenPath || '/oauth/token', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-token_path`, values.tokenPath || '/oauth/token', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Token_Path',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-token_sent_via`, values.tokenSentVia || 'payload', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-token_sent_via`, values.tokenSentVia || 'payload', {
type: 'select',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
@ -39,7 +39,7 @@ export function addOAuthService(name: string, values: { [k: string]: string | bo
{ key: 'payload', i18nLabel: 'Payload' },
],
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-identity_token_sent_via`, values.identityTokenSentVia || 'default', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-identity_token_sent_via`, values.identityTokenSentVia || 'default', {
type: 'select',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
@ -51,49 +51,49 @@ export function addOAuthService(name: string, values: { [k: string]: string | bo
{ key: 'payload', i18nLabel: 'Payload' },
],
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-identity_path`, values.identityPath || '/me', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-identity_path`, values.identityPath || '/me', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Identity_Path',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-authorize_path`, values.authorizePath || '/oauth/authorize', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-authorize_path`, values.authorizePath || '/oauth/authorize', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Authorize_Path',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-scope`, values.scope || 'openid', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-scope`, values.scope || 'openid', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Scope',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-access_token_param`, values.accessTokenParam || 'access_token', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-access_token_param`, values.accessTokenParam || 'access_token', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Access_Token_Param',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-id`, values.clientId || '', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-id`, values.clientId || '', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_id',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-secret`, values.clientSecret || '', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-secret`, values.clientSecret || '', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Secret',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-login_style`, values.loginStyle || 'popup', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-login_style`, values.loginStyle || 'popup', {
type: 'select',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
@ -105,28 +105,28 @@ export function addOAuthService(name: string, values: { [k: string]: string | bo
{ key: '', i18nLabel: 'Default' },
],
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-button_label_text`, values.buttonLabelText || '', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-button_label_text`, values.buttonLabelText || '', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Button_Label_Text',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-button_label_color`, values.buttonLabelColor || '#FFFFFF', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-button_label_color`, values.buttonLabelColor || '#FFFFFF', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Button_Label_Color',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-button_color`, values.buttonColor || '#1d74f5', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-button_color`, values.buttonColor || '#1d74f5', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Button_Color',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-key_field`, values.keyField || 'username', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-key_field`, values.keyField || 'username', {
type: 'select',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
@ -137,35 +137,35 @@ export function addOAuthService(name: string, values: { [k: string]: string | bo
{ key: 'email', i18nLabel: 'Email' },
],
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-username_field`, values.usernameField || '', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-username_field`, values.usernameField || '', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Username_Field',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-email_field`, values.emailField || '', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-email_field`, values.emailField || '', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Email_Field',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-name_field`, values.nameField || '', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-name_field`, values.nameField || '', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Name_Field',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-avatar_field`, values.avatarField || '', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-avatar_field`, values.avatarField || '', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Avatar_Field',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-roles_claim`, values.rolesClaim || 'roles', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-roles_claim`, values.rolesClaim || 'roles', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
@ -174,7 +174,7 @@ export function addOAuthService(name: string, values: { [k: string]: string | bo
invalidValue: 'roles',
modules: ['oauth-enterprise'],
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-groups_claim`, values.groupsClaim || 'groups', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-groups_claim`, values.groupsClaim || 'groups', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
@ -184,14 +184,14 @@ export function addOAuthService(name: string, values: { [k: string]: string | bo
modules: ['oauth-enterprise'],
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-channels_admin`, values.channelsAdmin || 'rocket.cat', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-channels_admin`, values.channelsAdmin || 'rocket.cat', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Channel_Admin',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-map_channels`, values.mapChannels || false, {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-map_channels`, values.mapChannels || false, {
type: 'boolean',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
@ -200,7 +200,7 @@ export function addOAuthService(name: string, values: { [k: string]: string | bo
invalidValue: false,
modules: ['oauth-enterprise'],
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-merge_roles`, values.mergeRoles || false, {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-merge_roles`, values.mergeRoles || false, {
type: 'boolean',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
@ -209,7 +209,7 @@ export function addOAuthService(name: string, values: { [k: string]: string | bo
invalidValue: false,
modules: ['oauth-enterprise'],
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-roles_to_sync`, values.rolesToSync || '', {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-roles_to_sync`, values.rolesToSync || '', {
type: 'string',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
@ -223,21 +223,21 @@ export function addOAuthService(name: string, values: { [k: string]: string | bo
invalidValue: '',
modules: ['oauth-enterprise'],
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-merge_users`, values.mergeUsers || false, {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-merge_users`, values.mergeUsers || false, {
type: 'boolean',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Merge_Users',
persistent: true,
});
settingsRegistry.add(`Accounts_OAuth_Custom-${name}-show_button`, values.showButton || true, {
void settingsRegistry.add(`Accounts_OAuth_Custom-${name}-show_button`, values.showButton || true, {
type: 'boolean',
group: 'OAuth',
section: `Custom OAuth: ${name}`,
i18nLabel: 'Accounts_OAuth_Custom_Show_Button_On_Login_Page',
persistent: true,
});
settingsRegistry.add(
void settingsRegistry.add(
`Accounts_OAuth_Custom-${name}-groups_channel_map`,
values.channelsMap || '{\n\t"rocket-admin": "admin",\n\t"tech-support": "support"\n}',
{

@ -107,7 +107,7 @@ export const addUserToRoom = function (
// Keep the current event
callbacks.run('afterJoinRoom', userToBeAdded, room);
Apps.triggerEvent(AppEvents.IPostRoomUserJoined, room, userToBeAdded, inviter);
void Apps.triggerEvent(AppEvents.IPostRoomUserJoined, room, userToBeAdded, inviter);
});
}

@ -70,7 +70,7 @@ export const cleanRoomHistory = function ({
const count = Messages.removeByIdPinnedTimestampLimitAndUsers(rid, excludePinned, ignoreDiscussion, ts, limit, fromUsers, ignoreThreads);
if (count) {
Rooms.resetLastMessageById(rid);
api.broadcast('notify.deleteMessageBulk', rid, {
void api.broadcast('notify.deleteMessageBulk', rid, {
rid,
excludePinned,
ignoreDiscussion,

@ -161,7 +161,7 @@ export const createDirectRoom = function (
callbacks.run('afterCreateDirectRoom', insertedRoom, { members: roomMembers, creatorId: options?.creator });
Apps.triggerEvent('IPostRoomCreate', insertedRoom);
void Apps.triggerEvent('IPostRoomCreate', insertedRoom);
}
return {

@ -176,7 +176,7 @@ export const createRoom = <T extends RoomType>(
callbacks.runAsync('federation.afterCreateFederatedRoom', room, { owner, originalMemberList: members as string[] });
}
Apps.triggerEvent('IPostRoomCreate', room);
void Apps.triggerEvent('IPostRoomCreate', room);
return {
rid: room._id, // backwards compatible

@ -65,10 +65,10 @@ export const deleteMessage = async function (message: IMessage, user: IUser): Pr
if (showDeletedStatus) {
Messages.setAsDeletedByIdAndUser(message._id, user);
} else {
api.broadcast('notify.deleteMessage', message.rid, { _id: message._id });
void api.broadcast('notify.deleteMessage', message.rid, { _id: message._id });
}
if (bridges) {
bridges.getListenerBridge().messageEvent('IPostMessageDeleted', deletedMsg, user);
void bridges.getListenerBridge().messageEvent('IPostMessageDeleted', deletedMsg, user);
}
};

@ -77,7 +77,7 @@ export async function deleteUser(userId: string, confirmRelinquish = false): Pro
// Don't broadcast user.deleted for Erasure Type of 'Keep' so that messages don't disappear from logged in sessions
if (messageErasureType !== 'Keep') {
api.broadcast('user.deleted', user);
void api.broadcast('user.deleted', user);
}
}

@ -37,7 +37,7 @@ export function notifyDesktopUser({ userId, user, message, room, duration, notif
metrics.notificationsSent.inc({ notification_type: 'desktop' });
api.broadcast('notify.desktop', userId, payload);
void api.broadcast('notify.desktop', userId, payload);
}
export function shouldNotifyDesktop({

@ -34,13 +34,13 @@ export const _setRealName = function (userId: string, name: string, fullUser: IU
user.name = name;
if (settings.get('UI_Use_Real_Name') === true) {
api.broadcast('user.nameChanged', {
void api.broadcast('user.nameChanged', {
_id: user._id,
name: user.name,
username: user.username,
});
}
api.broadcast('user.realNameChanged', {
void api.broadcast('user.realNameChanged', {
_id: user._id,
name,
username: user.username,

@ -15,7 +15,7 @@ export const setRoomAvatar = async function (rid: string, dataURI: string, user:
if (!dataURI) {
fileStore.deleteByRoomId(rid);
Messages.createRoomSettingsChangedWithTypeRoomIdMessageAndUser('room_changed_avatar', rid, '', user);
api.broadcast('room.avatarUpdate', { _id: rid });
void api.broadcast('room.avatarUpdate', { _id: rid });
return Rooms.unsetAvatarData(rid);
}
@ -43,7 +43,7 @@ export const setRoomAvatar = async function (rid: string, dataURI: string, user:
Meteor.setTimeout(function () {
Rooms.setAvatarData(rid, 'upload', result.etag);
Messages.createRoomSettingsChangedWithTypeRoomIdMessageAndUser('room_changed_avatar', rid, '', user);
api.broadcast('room.avatarUpdate', { _id: rid, avatarETag: result.etag });
void api.broadcast('room.avatarUpdate', { _id: rid, avatarETag: result.etag });
}, 500);
});
};

@ -28,7 +28,7 @@ async function _setStatusTextPromise(userId: string, statusText: string): Promis
await Users.updateStatusText(user._id, statusText);
const { _id, username, status, name, roles } = user;
api.broadcast('presence.status', {
void api.broadcast('presence.status', {
user: { _id, username, status, statusText, name, roles },
previousStatus: status,
});

@ -112,7 +112,7 @@ export function setUserAvatar(
Meteor.setTimeout(function () {
Users.setAvatarData(user._id, service, avatarETag);
api.broadcast('user.avatarUpdate', {
void api.broadcast('user.avatarUpdate', {
username: user.username,
avatarETag,
});

@ -81,7 +81,7 @@ export const _setUsername = function (userId: string, u: string, fullUser: IUser
}
}
api.broadcast('user.nameChanged', {
void api.broadcast('user.nameChanged', {
_id: user._id,
name: user.name,
username: user.username,

@ -61,7 +61,7 @@ export const updateMessage = function (message: IMessage, user: IUser, originalM
if (Apps?.isLoaded()) {
// This returns a promise, but it won't mutate anything about the message
// so, we don't really care if it is successful or fails
Apps.getBridges()?.getListenerBridge().messageEvent('IPostMessageUpdated', message);
void Apps.getBridges()?.getListenerBridge().messageEvent('IPostMessageUpdated', message);
}
Meteor.defer(function () {

@ -82,7 +82,7 @@ Meteor.methods({
if (!subscription) {
addUserToRoom(data.rid, newUser || username, user);
} else {
api.broadcast('notify.ephemeralMessage', userId, data.rid, {
void api.broadcast('notify.ephemeralMessage', userId, data.rid, {
msg: TAPi18n.__(
'Username_is_already_in_here',
{

@ -27,7 +27,7 @@ callbacks.add(
// Add a notification to the chat, informing the user that this
// action is not allowed.
api.broadcast('notify.ephemeralMessage', message.u._id, message.rid, {
void api.broadcast('notify.ephemeralMessage', message.u._id, message.rid, {
msg: TAPi18n.__('error-action-not-allowed', { action }, language),
});

@ -27,7 +27,7 @@ callbacks.add(
// Add a notification to the chat, informing the user that this
// action is not allowed.
api.broadcast('notify.ephemeralMessage', message.u._id, message.rid, {
void api.broadcast('notify.ephemeralMessage', message.u._id, message.rid, {
msg: TAPi18n.__('error-action-not-allowed', { action }, language),
});

@ -79,7 +79,7 @@ export function executeSendMessage(uid: IUser['_id'], message: AtLeast<IMessage,
SystemLogger.error({ msg: 'Error sending message:', err });
const errorMessage = typeof err === 'string' ? err : err.error || err.message;
api.broadcast('notify.ephemeralMessage', uid, message.rid, {
void api.broadcast('notify.ephemeralMessage', uid, message.rid, {
msg: TAPi18n.__(errorMessage, {}, user.language),
});

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../../settings/server';
settingsRegistry.addGroup('Email', function () {
void settingsRegistry.addGroup('Email', function () {
this.section('Style', function () {
this.add('email_plain_text_only', false, {
type: 'boolean',

@ -5,11 +5,11 @@ import './email';
import { MessageTypesValues } from '../../lib/MessageTypes';
// Insert server unique id if it doesn't exist
settingsRegistry.add('uniqueID', process.env.DEPLOYMENT_ID || Random.id(), {
void settingsRegistry.add('uniqueID', process.env.DEPLOYMENT_ID || Random.id(), {
public: true,
});
settingsRegistry.add('Initial_Channel_Created', false, {
void settingsRegistry.add('Initial_Channel_Created', false, {
type: 'boolean',
hidden: true,
});
@ -17,7 +17,7 @@ settingsRegistry.add('Initial_Channel_Created', false, {
// When you define a setting and want to add a description, you don't need to automatically define the i18nDescription
// if you add a node to the i18n.json with the same setting name but with `_Description` it will automatically work.
settingsRegistry.addGroup('Accounts', function () {
void settingsRegistry.addGroup('Accounts', function () {
this.add('Accounts_AllowAnonymousRead', false, {
type: 'boolean',
public: true,
@ -660,7 +660,7 @@ settingsRegistry.addGroup('Accounts', function () {
});
});
settingsRegistry.addGroup('OAuth', function () {
void settingsRegistry.addGroup('OAuth', function () {
this.section('Facebook', function () {
const enableQuery = {
_id: 'Accounts_OAuth_Facebook',
@ -817,7 +817,7 @@ settingsRegistry.addGroup('OAuth', function () {
});
});
settingsRegistry.addGroup('General', function () {
void settingsRegistry.addGroup('General', function () {
this.add('Show_Setup_Wizard', 'pending', {
type: 'select',
public: true,
@ -1151,7 +1151,7 @@ settingsRegistry.addGroup('General', function () {
});
});
settingsRegistry.addGroup('Message', function () {
void settingsRegistry.addGroup('Message', function () {
this.section('Message_Attachments', function () {
this.add('Message_Attachments_Thumbnails_Enabled', true, {
type: 'boolean',
@ -1379,7 +1379,7 @@ settingsRegistry.addGroup('Message', function () {
});
});
settingsRegistry.addGroup('Meta', function () {
void settingsRegistry.addGroup('Meta', function () {
this.add('Meta_language', '', {
type: 'string',
});
@ -1405,7 +1405,7 @@ settingsRegistry.addGroup('Meta', function () {
});
});
settingsRegistry.addGroup('Mobile', function () {
void settingsRegistry.addGroup('Mobile', function () {
this.add('Allow_Save_Media_to_Gallery', true, {
type: 'boolean',
public: true,
@ -1436,7 +1436,7 @@ const pushEnabledWithoutGateway = [
},
];
settingsRegistry.addGroup('Push', function () {
void settingsRegistry.addGroup('Push', function () {
this.add('Push_enable', true, {
type: 'boolean',
public: true,
@ -1556,7 +1556,7 @@ settingsRegistry.addGroup('Push', function () {
});
});
settingsRegistry.addGroup('Layout', function () {
void settingsRegistry.addGroup('Layout', function () {
this.section('Login', function () {
this.add('Layout_Login_Hide_Logo', false, {
type: 'boolean',
@ -1766,7 +1766,7 @@ settingsRegistry.addGroup('Layout', function () {
});
});
settingsRegistry.addGroup('Logs', function () {
void settingsRegistry.addGroup('Logs', function () {
this.add('Log_Level', '0', {
type: 'select',
values: [
@ -1841,7 +1841,7 @@ settingsRegistry.addGroup('Logs', function () {
});
});
settingsRegistry.addGroup('Setup_Wizard', function () {
void settingsRegistry.addGroup('Setup_Wizard', function () {
this.section('Organization_Info', function () {
this.add('Organization_Type', '', {
type: 'select',
@ -3190,7 +3190,7 @@ settingsRegistry.addGroup('Setup_Wizard', function () {
});
});
settingsRegistry.addGroup('Rate Limiter', function () {
void settingsRegistry.addGroup('Rate Limiter', function () {
this.section('DDP_Rate_Limiter', function () {
this.add('DDP_Rate_Limit_IP_Enabled', true, { type: 'boolean' });
this.add('DDP_Rate_Limit_IP_Requests_Allowed', 120000, {
@ -3267,7 +3267,7 @@ settingsRegistry.addGroup('Rate Limiter', function () {
});
});
settingsRegistry.addGroup('Troubleshoot', function () {
void settingsRegistry.addGroup('Troubleshoot', function () {
this.add('Troubleshoot_Disable_Notifications', false, {
type: 'boolean',
alert: 'Troubleshoot_Disable_Notifications_Alert',
@ -3312,7 +3312,7 @@ settingsRegistry.addGroup('Troubleshoot', function () {
});
});
settingsRegistry.addGroup('Call_Center', function () {
void settingsRegistry.addGroup('Call_Center', function () {
// TODO: Check with the backend team if an i18nPlaceholder is possible
this.with({ tab: 'Settings' }, function () {
this.section('General_Settings', function () {

@ -40,4 +40,4 @@ const startEmailInterceptor = _.debounce(async function () {
settings.watchByRegex(/^Direct_Reply_.+/, startEmailInterceptor);
startEmailInterceptor();
void startEmailInterceptor();

@ -6,7 +6,7 @@ import { settingsRegistry } from '../../settings/server';
const omnichannelEnabledQuery = { _id: 'Livechat_enabled', value: true };
Meteor.startup(function () {
settingsRegistry.addGroup('Omnichannel', function () {
void settingsRegistry.addGroup('Omnichannel', function () {
this.add('Livechat_enabled', true, {
type: 'boolean',
group: 'Omnichannel',
@ -369,7 +369,7 @@ Meteor.startup(function () {
enableQuery: omnichannelEnabledQuery,
});
settingsRegistry.addGroup('Omnichannel', function () {
void settingsRegistry.addGroup('Omnichannel', function () {
this.section('Business_Hours', function () {
this.add('Livechat_enable_business_hours', false, {
type: 'boolean',
@ -616,7 +616,7 @@ Meteor.startup(function () {
enableQuery: omnichannelEnabledQuery,
});
});
settingsRegistry.addGroup('SMS', function () {
void settingsRegistry.addGroup('SMS', function () {
this.add('SMS_Enabled', false, {
type: 'boolean',
i18nLabel: 'Enabled',

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../../settings/server';
settingsRegistry.addGroup('Omnichannel', function () {
void settingsRegistry.addGroup('Omnichannel', function () {
this.section('External Frame', function () {
this.add('Omnichannel_External_Frame_Enabled', false, {
type: 'boolean',

@ -270,7 +270,7 @@ export const normalizeAgent = (agentId) => {
export const dispatchAgentDelegated = (rid, agentId) => {
const agent = normalizeAgent(agentId);
api.broadcast('omnichannel.room', rid, {
void api.broadcast('omnichannel.room', rid, {
type: 'agentData',
data: agent,
});

@ -1225,7 +1225,7 @@ export const Livechat = {
}
LivechatRooms.findOpenByAgent(userId).forEach((room) => {
api.broadcast('omnichannel.room', room._id, {
void api.broadcast('omnichannel.room', room._id, {
type: 'agentStatus',
status,
});
@ -1241,7 +1241,7 @@ export const Livechat = {
},
notifyRoomVisitorChange(roomId, visitor) {
api.broadcast('omnichannel.room', roomId, {
void api.broadcast('omnichannel.room', roomId, {
type: 'visitorData',
visitor,
});

@ -135,8 +135,8 @@ class LivechatClass {
* @deprecated the `AppEvents.ILivechatRoomClosedHandler` event will be removed
* in the next major version of the Apps-Engine
*/
Apps.getBridges()?.getListenerBridge().livechatEvent(AppEvents.ILivechatRoomClosedHandler, room);
Apps.getBridges()?.getListenerBridge().livechatEvent(AppEvents.IPostLivechatRoomClosed, room);
void Apps.getBridges()?.getListenerBridge().livechatEvent(AppEvents.ILivechatRoomClosedHandler, room);
void Apps.getBridges()?.getListenerBridge().livechatEvent(AppEvents.IPostLivechatRoomClosed, room);
});
callbacks.runAsync('livechat.closeRoom', {
room,

@ -165,7 +165,8 @@ export const sendNoWrap = ({
html = undefined;
}
Settings.incrementValueById('Triggered_Emails_Count');
// TODO change to await once Email.send is converted to Email.sendAsync
void Settings.incrementValueById('Triggered_Emails_Count');
const email = { to, from, replyTo, subject, html, text, headers };

@ -3,7 +3,7 @@ import { Meteor } from 'meteor/meteor';
import { settingsRegistry } from '../../settings/server';
Meteor.startup(function () {
settingsRegistry.add('MapView_Enabled', false, {
void settingsRegistry.add('MapView_Enabled', false, {
type: 'boolean',
group: 'Message',
section: 'Google Maps',
@ -11,7 +11,7 @@ Meteor.startup(function () {
i18nLabel: 'MapView_Enabled',
i18nDescription: 'MapView_Enabled_Description',
});
settingsRegistry.add('MapView_GMapsAPIKey', '', {
void settingsRegistry.add('MapView_GMapsAPIKey', '', {
type: 'string',
group: 'Message',
section: 'Google Maps',

@ -59,7 +59,7 @@ const mention = new MentionsServer({
const { language } = this.getUser(sender._id);
const msg = TAPi18n.__('Group_mentions_disabled_x_members', { total: this.messageMaxAll }, language);
api.broadcast('notify.ephemeralMessage', sender._id, rid, {
void api.broadcast('notify.ephemeralMessage', sender._id, rid, {
msg,
});

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.add('Message_AllowPinning', true, {
void settingsRegistry.add('Message_AllowPinning', true, {
type: 'boolean',
group: 'Message',
public: true,

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.add('Message_AllowStarring', true, {
void settingsRegistry.add('Message_AllowStarring', true, {
type: 'boolean',
group: 'Message',
public: true,

@ -139,7 +139,7 @@ export const addSamlService = function (name: string): void {
};
export const addSettings = function (name: string): void {
settingsRegistry.addGroup('SAML', function () {
void settingsRegistry.addGroup('SAML', function () {
this.with(
{
tab: 'SAML_Connection',

@ -27,7 +27,7 @@ class CachedChatSubscription extends CachedCollection<SubscriptionWithRoom, ISub
if (action === 'removed') {
ChatRoom.remove(newRecord.rid);
CachedChatRoom.save();
void CachedChatRoom.save();
}
return newRecord;

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.addGroup('OAuth', function () {
void settingsRegistry.addGroup('OAuth', function () {
this.section('Nextcloud', function () {
const enableQuery = {
_id: 'Accounts_OAuth_Nextcloud',

@ -32,7 +32,7 @@ const notifications = new NotificationsModule(Stream);
notifications.configure();
notifications.streamLocal.on('broadcast', ({ eventName, args }) => {
api.broadcastLocal(eventName, ...args);
void api.broadcastLocal(eventName, ...args);
});
export default notifications;

@ -17,4 +17,5 @@ async function run(): Promise<void> {
});
}
}
run();
void run();

@ -94,7 +94,7 @@ export class OTRRoom implements IOTRRoom {
}
acknowledge(): void {
APIClient.post('/v1/statistics.telemetry', { params: [{ eventName: 'otrStats', timestamp: Date.now(), rid: this._roomId }] });
void APIClient.post('/v1/statistics.telemetry', { params: [{ eventName: 'otrStats', timestamp: Date.now(), rid: this._roomId }] });
this.peerId &&
Notifications.notifyUser(this.peerId, 'otr', 'acknowledge', {

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.addGroup('OTR', function () {
void settingsRegistry.addGroup('OTR', function () {
this.add('OTR_Enable', true, {
type: 'boolean',
i18nLabel: 'Enabled',

@ -148,7 +148,7 @@ Meteor.methods<ServerMethods>({
return executeSetReaction(reaction, messageId, shouldReact);
} catch (e: any) {
if (e.error === 'error-not-allowed' && e.reason && e.details && e.details.rid) {
api.broadcast('notify.ephemeralMessage', uid, e.details.rid, {
void api.broadcast('notify.ephemeralMessage', uid, e.details.rid, {
msg: e.reason,
});

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../../settings/server';
settingsRegistry.addGroup('RetentionPolicy', function () {
void settingsRegistry.addGroup('RetentionPolicy', function () {
const globalQuery = {
_id: 'RetentionPolicy_Enabled',
value: true,

@ -229,7 +229,7 @@ export class SettingsRegistry {
(preset: ISettingAddOptions) =>
(id: string, value: SettingValue, options: ISettingAddOptions = {}): void => {
const mergedOptions = { ...preset, ...options };
this.add(id, value, mergedOptions);
void this.add(id, value, mergedOptions);
};
const sectionSetWith =
(preset: ISettingAddOptions) =>

@ -1,6 +1,6 @@
import { settingsRegistry } from '../../settings/server';
settingsRegistry.addGroup('SlackBridge', function () {
void settingsRegistry.addGroup('SlackBridge', function () {
this.add('SlackBridge_Enabled', false, {
type: 'boolean',
i18nLabel: 'Enabled',

@ -28,7 +28,7 @@ slashCommands.add({
}
if (!room) {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Channel_doesnt_exist', {
postProcess: 'sprintf',
sprintf: [channel],
@ -44,7 +44,7 @@ slashCommands.add({
}
if (room.archived) {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Duplicate_archived_channel_name', {
postProcess: 'sprintf',
sprintf: [channel],
@ -56,7 +56,7 @@ slashCommands.add({
Meteor.call('archiveRoom', room._id);
Messages.createRoomArchivedByRoomIdAndUser(room._id, Meteor.user());
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Channel_Archived', {
postProcess: 'sprintf',
sprintf: [channel],

@ -38,7 +38,7 @@ slashCommands.add({
const room = Rooms.findOneByName(channelStr);
if (room != null) {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Channel_already_exist', {
postProcess: 'sprintf',
sprintf: [channelStr],

@ -57,7 +57,7 @@ slashCommands.add({
},
];
keys.forEach((key) => {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__(key.key, {
postProcess: 'sprintf',
sprintf: [key.command],

@ -43,7 +43,7 @@ slashCommands.add({
usernames: { $all: [user.username, strippedRoom] },
});
if (!roomObject) {
api.broadcast('notify.ephemeralMessage', user._id, item.rid, {
void api.broadcast('notify.ephemeralMessage', user._id, item.rid, {
msg: TAPi18n.__('Channel_doesnt_exist', {
postProcess: 'sprintf',
sprintf: [room],
@ -52,7 +52,7 @@ slashCommands.add({
});
}
if (!Subscriptions.findOneByRoomIdAndUserId(roomObject._id, user._id, { fields: { _id: 1 } })) {
api.broadcast('notify.ephemeralMessage', user._id, item.rid, {
void api.broadcast('notify.ephemeralMessage', user._id, item.rid, {
msg: TAPi18n.__('error-logged-user-not-in-room', {
postProcess: 'sprintf',
sprintf: [room],

@ -27,7 +27,7 @@ slashCommands.add({
});
const userId = Meteor.userId() as string;
if (users.count() === 0) {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('User_doesnt_exist', {
postProcess: 'sprintf',
sprintf: [usernames.join(' @')],
@ -44,7 +44,7 @@ slashCommands.add({
return true;
}
const usernameStr = user.username as string;
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Username_is_already_in_here', {
postProcess: 'sprintf',
sprintf: [usernameStr],
@ -65,11 +65,11 @@ slashCommands.add({
return;
}
if (error === 'cant-invite-for-direct-room') {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Cannot_invite_users_to_direct_rooms', { lng: settings.get('Language') || 'en' }),
});
} else {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__(error, { lng: settings.get('Language') || 'en' }),
});
}

@ -40,7 +40,7 @@ function inviteAll<T extends string>(type: T): SlashCommand<T>['callback'] {
const targetChannel = type === 'from' ? Rooms.findOneById(item.rid) : Rooms.findOneByName(channel);
if (!baseChannel) {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Channel_doesnt_exist', {
postProcess: 'sprintf',
sprintf: [channel],
@ -67,7 +67,7 @@ function inviteAll<T extends string>(type: T): SlashCommand<T>['callback'] {
if (!targetChannel && ['c', 'p'].indexOf(baseChannel.t) > -1) {
Meteor.call(baseChannel.t === 'c' ? 'createChannel' : 'createPrivateGroup', channel, users);
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Channel_created', {
postProcess: 'sprintf',
sprintf: [channel],
@ -80,13 +80,13 @@ function inviteAll<T extends string>(type: T): SlashCommand<T>['callback'] {
users,
});
}
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Users_added', { lng }),
});
return;
} catch (e: any) {
const msg = e.error === 'cant-invite-for-direct-room' ? 'Cannot_invite_users_to_direct_rooms' : e.error;
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__(msg, { lng }),
});
}

@ -25,7 +25,7 @@ slashCommands.add({
}
if (!room) {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Channel_doesnt_exist', {
postProcess: 'sprintf',
sprintf: [channel],

@ -21,7 +21,7 @@ slashCommands.add({
const kickedUser = Users.findOneByUsernameIgnoringCase(username);
if (kickedUser == null) {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Username_doesnt_exist', {
postProcess: 'sprintf',
sprintf: [username],

@ -20,7 +20,7 @@ const Leave: SlashCommand<'leave'>['callback'] = function Leave(_command, _param
return;
}
const user = Users.findOneById(userId);
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__(error, { lng: user?.language || settings.get('Language') || 'en' }),
});
}

@ -18,7 +18,7 @@ slashCommands.add({
const separator = trimmedParams.indexOf(' ');
const userId = Meteor.userId() as string;
if (separator === -1) {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Username_and_message_must_not_be_empty', { lng: settings.get('Language') || 'en' }),
});
return;
@ -29,7 +29,7 @@ slashCommands.add({
const targetUser = Users.findOneByUsernameIgnoringCase(targetUsername);
if (targetUser == null) {
const user = Users.findOneById(userId, { fields: { language: 1 } });
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Username_doesnt_exist', {
postProcess: 'sprintf',
sprintf: [targetUsernameOrig],

@ -21,7 +21,7 @@ slashCommands.add({
const userId = Meteor.userId() as string;
const mutedUser = Users.findOneByUsernameIgnoringCase(username);
if (mutedUser == null) {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Username_doesnt_exist', {
postProcess: 'sprintf',
sprintf: [username],

@ -20,7 +20,7 @@ slashCommands.add({
const userId = Meteor.userId() as string;
const unmutedUser = Users.findOneByUsernameIgnoringCase(username);
if (unmutedUser == null) {
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('Username_doesnt_exist', {
postProcess: 'sprintf',
sprintf: [username],

@ -16,7 +16,7 @@ slashCommands.add({
dispatchToastMessage({ type: 'error', message: error });
return;
}
api.broadcast('notify.ephemeralMessage', userId, item.rid, {
void api.broadcast('notify.ephemeralMessage', userId, item.rid, {
msg: TAPi18n.__('StatusMessage_Changed_Successfully', { lng: settings.get('Language') || 'en' }),
});
});

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save