Merge branch 'tusooa/1274-nonascii-tags' into 'develop'
Fix parsing non-ascii tags Closes #1274 See merge request pleroma/pleroma-fe!1848
This commit is contained in:
commit
cc0a63736a
1
changelog.d/nonascii-tags.fix
Normal file
1
changelog.d/nonascii-tags.fix
Normal file
@ -0,0 +1 @@
|
||||
Fix parsing non-ascii tags
|
@ -14,8 +14,11 @@ export const mentionMatchesUrl = (attention, url) => {
|
||||
* @param {string} url
|
||||
*/
|
||||
export const extractTagFromUrl = (url) => {
|
||||
const regex = /tag[s]*\/(\w+)$/g
|
||||
const result = regex.exec(url)
|
||||
const decoded = decodeURI(url)
|
||||
// https://git.pleroma.social/pleroma/elixir-libraries/linkify/-/blob/master/lib/linkify/parser.ex
|
||||
// https://www.pcre.org/original/doc/html/pcrepattern.html
|
||||
const regex = /tag[s]*\/([\p{L}\p{N}_]*[\p{Alphabetic}_·\u{200c}][\p{L}\p{N}_·\p{M}\u{200c}]*)$/ug
|
||||
const result = regex.exec(decoded)
|
||||
if (!result) {
|
||||
return false
|
||||
}
|
||||
|
@ -78,5 +78,11 @@ describe('MatcherService', () => {
|
||||
|
||||
expect(MatcherService.extractTagFromUrl(url)).to.eql(false)
|
||||
})
|
||||
|
||||
it('should return tag name from non-ascii tags', () => {
|
||||
const url = encodeURI('https://website.com/tag/喵喵喵')
|
||||
|
||||
expect(MatcherService.extractTagFromUrl(url)).to.eql('喵喵喵')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user