the browser-facing portion of osu!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'master' into rank-changes

authored by

Edho Arief and committed by
GitHub
a9328559 779934ee

+5 -2
+3 -2
app/Singletons/ChatFilters.php
··· 25 25 private static function combinedFilterRegex($filters): string 26 26 { 27 27 $regex = $filters->map(fn ($filter) => self::singleFilterRegex($filter, '/'))->join('|'); 28 - return '/'.$regex.'/i'; 28 + 29 + return "/{$regex}/iu"; 29 30 } 30 31 31 32 /** ··· 53 54 54 55 $ret['whitespace_delimited_replaces'] = $replaceFilters 55 56 ->where('whitespace_delimited', true) 56 - ->mapWithKeys(fn ($filter) => ['/'.self::singleFilterRegex($filter, '/').'/i' => $filter->replacement]) 57 + ->mapWithKeys(fn ($filter) => ['/'.self::singleFilterRegex($filter, '/').'/iu' => $filter->replacement]) 57 58 ->all(); 58 59 $ret['non_whitespace_delimited_replaces'] = $replaceFilters 59 60 ->where('whitespace_delimited', false)
+2
tests/Singletons/ChatFiltersTest.php
··· 32 32 ['fullword fullword2', 'okay great'], 33 33 ['fullwordfullword2', 'fullwordfullword2'], 34 34 ['i do a delimiter/inside', 'i do a nice try'], 35 + ['español', 'español'], 35 36 ]; 36 37 } 37 38 ··· 70 71 ['match' => 'fullword2', 'replacement' => 'great', 'whitespace_delimited' => true], 71 72 ['match' => 'delimiter/inside', 'replacement' => 'nice try', 'whitespace_delimited' => true], 72 73 ['match' => 'absolutely forbidden', 'replacement' => '', 'block' => true], 74 + ['match' => 'ñ', 'replacement' => 'nnnn', 'whitespace_delimited' => true], 73 75 ]); 74 76 75 77 $result = app('chat-filters')->filter($input);