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
- Use a supported typing scope such as 'room' in the ITypingDescriptor.
- 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)