RocketChat/Rocket.Chat · error · Error

Unrecognized typing scope provided

Error message

Unrecognized typing scope provided

What it means

Error "Unrecognized typing scope provided" thrown in RocketChat/Rocket.Chat.

Solutions

  1. Use a supported typing scope such as 'room' in the ITypingDescriptor.
  2. Check the scope value sent by the app; unknown scope values are rejected.

Example fix

Restrict typing scope to known values: if (!['message', 'thread'].includes(scope)) { throw new Error('Unrecognized typing scope provided'); }

When it happens

Trigger: Thrown at apps/meteor/app/apps/server/bridges/messages.ts:116 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18). Data as JSON: /api/errors/97b68d263b15ec51. Report an issue: GitHub.

Appendix: source

Thrown at apps/meteor/app/apps/server/bridges/messages.ts:116

		await Users.findByIds(users, { projection: { _id: 1 } }).forEach(
			({ _id }: { _id: string }) =>
				void api.broadcast('notify.ephemeralMessage', _id, room.id, {
					...convertedMessage,
				}),
		);
	}

	protected async typing({ scope, id, username, isTyping }: ITypingDescriptor): Promise<void> {
		switch (scope) {
			case 'room':
				if (!username) {
					throw new Error('Invalid username');
				}

				notifications.notifyRoom(id, 'user-activity', username, isTyping ? ['user-typing'] : []);
				return;
			default:
				throw new Error('Unrecognized typing scope provided');
		}
	}

	private isValidReaction(reaction: Reaction): boolean {
		return reaction.startsWith(':') && reaction.endsWith(':');
	}

	protected async addReaction(messageId: string, userId: string, reaction: Reaction): Promise<void> {
		if (!this.isValidReaction(reaction)) {
			throw new Error('Invalid reaction');
		}

		return executeSetReaction(userId, reaction, messageId, true);
	}

	protected async removeReaction(messageId: string, userId: string, reaction: Reaction): Promise<void> {
		if (!this.isValidReaction(reaction)) {
			throw new Error('Invalid reaction');

View on GitHub (pinned to b2c16d5842)