RocketChat/Rocket.Chat · error · Meteor.Error
SlackBridge_disabled
SlackBridge_disabled
Error message
SlackBridge_disabled
What it means
Thrown by removeSlackBridgeChannelLinks when the caller passes the user and permission checks but settings.get('SlackBridge_Enabled') is not exactly true. The SlackBridge feature is disabled at the instance level, so removing its channel links is refused to avoid inconsistent state.
Source
Thrown at apps/meteor/server/bridges/slack/removeChannelLinks.ts:31
}
Meteor.methods<ServerMethods>({
async removeSlackBridgeChannelLinks() {
const user = await Meteor.userAsync();
if (!user) {
throw new Meteor.Error('error-invalid-user', 'Invalid user', {
method: 'removeSlackBridgeChannelLinks',
});
}
if (!(await hasPermissionAsync(user, 'remove-slackbridge-links'))) {
throw new Meteor.Error('error-not-authorized', 'Not authorized', {
method: 'removeSlackBridgeChannelLinks',
});
}
if (settings.get('SlackBridge_Enabled') !== true) {
throw new Meteor.Error('SlackBridge_disabled');
}
await Rooms.unsetAllImportIds();
return {
message: 'Slackbridge_channel_links_removed_successfully',
params: [],
};
},
});
View on GitHub (pinned to f9d3ec372b)
Solutions
- If link removal is genuinely needed, temporarily enable SlackBridge_Enabled, run the removal, then disable it again - or perform the cleanup directly via the Rooms.unsetAllImportIds in a maintenance script.
- If SlackBridge is off permanently, suppress the removal UI; there is nothing to link.
- Confirm with the admin whether importIds should be cleared at all when the bridge is inactive.
Example fix
// before
Meteor.call('removeSlackBridgeChannelLinks') // SlackBridge_Enabled = false
// after - enable then remove (or skip)
await Settings.set('SlackBridge_Enabled', true)
Meteor.call('removeSlackBridgeChannelLinks') Defensive patterns
Strategy: validation
Validate before calling
const enabled = settings.get('SlackBridge_Enabled');
if (enabled !== true) throw new ClientError('config','SlackBridge_Enabled is off; nothing to remove'); Type guard
function isSlackBridgeEnabled(v) { return v === true; } Try / catch
try { Meteor.call('removeSlackBridgeChannelLinks'); }
catch (e) {
if (e?.error === 'SlackBridge_disabled') { surface('Enable SlackBridge before removing links'); return; }
throw e;
} Prevention
- Hide the link-removal control when SlackBridge_Enabled is false.
- Enable SlackBridge before performing maintenance on its links.
- Communicate feature-disabled state to admins in the UI.
When it happens
Trigger: An authorized admin calls removeSlackBridgeChannelLinks while SlackBridge_Enabled is false (feature off, never configured, or disabled).
Common situations: SlackBridge was disabled after a migration but leftover admin UI still exposes the link-removal action. New instance where SlackBridge was never enabled.
Related errors
AI-assisted analysis of RocketChat/Rocket.Chat@f9d3ec372b (2026-08-12).
Data as JSON: /api/errors/5254ac90c9788852.
Report an issue: GitHub.