How to config rocketchat to use JP Character for a room-name


#1

Hello.
I’m goma.
I have some technical question.

I installed Rocket.Chat(maybe latest) on linux(CentOS release 7.4.1708),
and we’re using this for the club-team communication during the project creating video games.

I’m administrator on our server.

I wanna set the room-name or channnel-name in Japanese,
but I can’t.
When I inputted JP Character for the room-name,
I confirmed the error message “%s is not a valid room-name, use only letters, numbers, hyphens and underscores”.
*Actually, this message that I confirmed is in Japanese.

“%s” ?
Where from this is.
I just inputted some JP characters, not “%s” nor any numbers.

I wanna name our room/channel in Japanese.
I suspect that it’s a problem around character encoding.

Someone could support me?
please.

*additional information
I Investigated this, and I found these files.
file: /opt/Rocket.Chat/programs/server/packages/rocketchat_channel-settings.js
file:/opt/Rocket.Chat/programs/server/packages/rocketchat_lib.js

*FROM rocketchat_channel-settings.js
RocketChat.saveRoomName = function (rid, displayName, user) { // 2
var sendMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; // 2
var room = RocketChat.models.Rooms.findOneById(rid); // 3
//
if (room.t !== ‘c’ && room.t !== ‘p’) { // 4
throw new Meteor.Error(‘error-not-allowed’, ‘Not allowed’, { // 5
‘function’: ‘RocketChat.saveRoomdisplayName’ // 6
}); // 5
} // 8
//
if (displayName === room.name) { // 9
return; // 10
} // 11
//
var slugifiedRoomName = RocketChat.getValidRoomName(displayName, rid); // 13
var update = RocketChat.models.Rooms.setNameById(rid, slugifiedRoomName, displayName) && RocketChat.models.Subscriptions.updateNameAndAlertByRoomId(rid, slugifiedRoomName, displayName);
//
if (update && sendMessage) { // 17
RocketChat.models.Messages.createRoomRenamedWithRoomIdRoomNameAndUser(rid, displayName, user); // 18
} // 19
//
return displayName; // 20
};

*FROM rocketchat_lib.js
if (!nameValidation.test(username)) { // 27
throw new Meteor.Error(‘username-invalid’, _.escape(username) + " is not a valid username, use only letters, numbers, dots, hyphens and underscores");
} // 29

Regards


#2

If you take a look at the code you sent especially this line:

If you go find nameValidation you’ll see its actually regex. This regex can be changed in the administration panel. Right now its set to something like [a-zA-Z1-9] which restricts to only those characters.


#3

Dear aaron.ogle

thank you for your support.

I solved most of the problem.
I really appreciate that.

However, ONLY in using the windows client, when I create the channel, the conversion to Kanji charactor doesn’t work.

We can use Kanji at our channnel without any problems.
The problem occurs only in the process creating the channnel.

I hope more supports.

Regards