Still need to support both eventId legacy and v4
This commit is contained in:
parent
79d29d680b
commit
67e09295de
2 changed files with 10 additions and 1 deletions
|
|
@ -49,6 +49,9 @@ object MatrixPatterns {
|
|||
private const val MATRIX_EVENT_IDENTIFIER_REGEX = "^\\$$OPAQUE_ID_REGEX$DOMAIN_REGEX$"
|
||||
private val PATTERN_CONTAIN_MATRIX_EVENT_IDENTIFIER = MATRIX_EVENT_IDENTIFIER_REGEX.toRegex(RegexOption.IGNORE_CASE)
|
||||
|
||||
private const val MATRIX_EVENT_IDENTIFIER_V4_REGEX = "\\$$OPAQUE_ID_REGEX"
|
||||
private val PATTERN_CONTAIN_MATRIX_EVENT_IDENTIFIER_V4 = MATRIX_EVENT_IDENTIFIER_V4_REGEX.toRegex(RegexOption.IGNORE_CASE)
|
||||
|
||||
private const val MAX_IDENTIFIER_LENGTH = 255
|
||||
|
||||
/**
|
||||
|
|
@ -96,7 +99,10 @@ object MatrixPatterns {
|
|||
* @return true if the string is a valid event id.
|
||||
*/
|
||||
fun isEventId(str: String?): Boolean {
|
||||
return str != null && str matches PATTERN_CONTAIN_MATRIX_EVENT_IDENTIFIER && str.length <= MAX_IDENTIFIER_LENGTH
|
||||
return str != null &&
|
||||
(str matches PATTERN_CONTAIN_MATRIX_EVENT_IDENTIFIER ||
|
||||
str matches PATTERN_CONTAIN_MATRIX_EVENT_IDENTIFIER_V4) &&
|
||||
str.length <= MAX_IDENTIFIER_LENGTH
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -136,9 +136,12 @@ class MatrixPatternsTest {
|
|||
assertThat(MatrixPatterns.isEventId("!event:server.com")).isFalse()
|
||||
assertThat(MatrixPatterns.isEventId("#event:server.com")).isFalse()
|
||||
assertThat(MatrixPatterns.isEventId("$${longLocalPart}a:server.com")).isFalse()
|
||||
assertThat(MatrixPatterns.isEventId("\$" + "a".repeat(255))).isFalse()
|
||||
|
||||
assertThat(MatrixPatterns.isEventId("\$event:server.com")).isTrue()
|
||||
assertThat(MatrixPatterns.isEventId("$$longLocalPart:server.com")).isTrue()
|
||||
assertThat(MatrixPatterns.isEventId("\$9BozuV4TBw6rfRW3rMEgZ5v-jNk1D6FA8Hd1OsWqT9k")).isTrue()
|
||||
assertThat(MatrixPatterns.isEventId("\$" + "a".repeat(254))).isTrue()
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue