misc (room id) : relax room id regex pattern to match new versions
This commit is contained in:
parent
344db204cc
commit
d92a089553
2 changed files with 9 additions and 2 deletions
|
|
@ -28,11 +28,15 @@ object MatrixPatterns {
|
|||
private const val MATRIX_USER_IDENTIFIER_REGEX = "^@\\S*?$DOMAIN_REGEX$"
|
||||
private val PATTERN_CONTAIN_MATRIX_USER_IDENTIFIER = MATRIX_USER_IDENTIFIER_REGEX.toRegex()
|
||||
|
||||
// regex pattern to match room ids.
|
||||
// !localpart:domain" used in most room versions prior to MSC4291
|
||||
// Note: roomId can be arbitrary strings, including space and new line char
|
||||
private const val MATRIX_ROOM_IDENTIFIER_REGEX = "^!.+$DOMAIN_REGEX$"
|
||||
private val PATTERN_CONTAIN_MATRIX_ROOM_IDENTIFIER = MATRIX_ROOM_IDENTIFIER_REGEX.toRegex(RegexOption.DOT_MATCHES_ALL)
|
||||
|
||||
// "!event_id_base_64" used in room versions post MSC4291
|
||||
private const val MATRIX_ROOM_IDENTIFIER_DOMAINLESS_REGEX = "!$BASE_64_URL_SAFE_ALPHABET"
|
||||
private val PATTERN_CONTAIN_MATRIX_ROOM_IDENTIFIER_DOMAINLESS = MATRIX_ROOM_IDENTIFIER_DOMAINLESS_REGEX.toRegex()
|
||||
|
||||
// regex pattern to match room aliases.
|
||||
private const val MATRIX_ROOM_ALIAS_REGEX = "^#\\S+$DOMAIN_REGEX$"
|
||||
private val PATTERN_CONTAIN_MATRIX_ALIAS = MATRIX_ROOM_ALIAS_REGEX.toRegex(RegexOption.IGNORE_CASE)
|
||||
|
|
@ -82,7 +86,8 @@ object MatrixPatterns {
|
|||
fun isRoomId(str: String?): Boolean {
|
||||
return str != null &&
|
||||
str.length <= MAX_IDENTIFIER_LENGTH &&
|
||||
str matches PATTERN_CONTAIN_MATRIX_ROOM_IDENTIFIER
|
||||
(str matches PATTERN_CONTAIN_MATRIX_ROOM_IDENTIFIER_DOMAINLESS ||
|
||||
str matches PATTERN_CONTAIN_MATRIX_ROOM_IDENTIFIER)
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue