RocketChat/Rocket.Chat · error · Error

Method not implemented.

Error message

Method not implemented.

What it means

Thrown by hideGroup because the method is a permanent stub: the Apps Engine bridge declares the operation but Rocket.Chat's implementation never provided the behavior. Any app that calls hideGroup will always hit this error regardless of arguments.

Source

Thrown at apps/meteor/app/apps/server/bridges/settings.ts:36

		const settings = await Settings.find({ secret: false }).toArray();
		return settings.map((s) => this.orch.getConverters()?.get('settings').convertToApp(s));
	}

	protected async getOneById(id: string, appId: string): Promise<ISetting> {
		this.orch.debugLog(`The App ${appId} is getting the setting by id ${id}.`);

		const setting = await this.getReadableSettingById(id, appId);
		if (!setting) {
			throw new Error(`The setting "${id}" is not readable.`);
		}

		return setting;
	}

	protected async hideGroup(name: string, appId: string): Promise<void> {
		this.orch.debugLog(`The App ${appId} is hidding the group ${name}.`);

		throw new Error('Method not implemented.');
	}

	protected async hideSetting(id: string, appId: string): Promise<void> {
		this.orch.debugLog(`The App ${appId} is hidding the setting ${id}.`);

		if (!(await this.isReadableById(id, appId))) {
			throw new Error(`The setting "${id}" is not readable.`);
		}

		throw new Error('Method not implemented.');
	}

	protected async isReadableById(id: string, appId: string): Promise<boolean> {
		this.orch.debugLog(`The App ${appId} is checking if they can read the setting ${id}.`);
		const setting = await Settings.findOneById(id);
		return Boolean(setting && !setting.secret);
	}

View on GitHub (pinned to f9d3ec372b)

Solutions

  1. Do not call hideGroup; it is unsupported in this Rocket.Chat version.
  2. Hide individual settings via hideSetting instead (also currently stubbed — see error 68), or conditionally render settings in your app's config UI.
  3. Track the upstream issue for implementation and migrate once shipped.
Defensive patterns

Strategy: validation

Validate before calling

// hideGroup is unimplemented — do not call it.
// Guard against accidental use:
if (typeof bridge.hideGroup === 'function') {
  // unsupported; skip
}

Prevention

When it happens

Trigger: An app calls the settings modifier to hide an entire settings group. The bridge logs the intent and immediately throws 'Method not implemented.'

Common situations: App imported a UI pattern from another platform that hides settings groups; app author assumed parity with hideSetting; exploratory use of the SDK API surface.

Related errors


AI-assisted analysis of RocketChat/Rocket.Chat@f9d3ec372b (2026-08-12). Data as JSON: /api/errors/05d88371d33abf2f. Report an issue: GitHub.