Fix notification filters not applying to poll options (#12269)
This commit is contained in:
		
							parent
							
								
									1018097c40
								
							
						
					
					
						commit
						1a12943924
					
				| @ -10,6 +10,12 @@ const makeEmojiMap = record => record.emojis.reduce((obj, emoji) => { | ||||
|   return obj; | ||||
| }, {}); | ||||
| 
 | ||||
| export function searchTextFromRawStatus (status) { | ||||
|   const spoilerText   = status.spoiler_text || ''; | ||||
|   const searchContent = ([spoilerText, status.content].concat((status.poll && status.poll.options) ? status.poll.options.map(option => option.title) : [])).join('\n\n').replace(/<br\s*\/?>/g, '\n').replace(/<\/p><p>/g, '\n\n'); | ||||
|   return domParser.parseFromString(searchContent, 'text/html').documentElement.textContent; | ||||
| } | ||||
| 
 | ||||
| export function normalizeAccount(account) { | ||||
|   account = { ...account }; | ||||
| 
 | ||||
|  | ||||
| @ -14,6 +14,7 @@ import { unescapeHTML } from '../utils/html'; | ||||
| import { getFiltersRegex } from '../selectors'; | ||||
| import { usePendingItems as preferPendingItems } from 'mastodon/initial_state'; | ||||
| import compareId from 'mastodon/compare_id'; | ||||
| import { searchTextFromRawStatus } from 'mastodon/actions/importer/normalizer'; | ||||
| 
 | ||||
| export const NOTIFICATIONS_UPDATE      = 'NOTIFICATIONS_UPDATE'; | ||||
| export const NOTIFICATIONS_UPDATE_NOOP = 'NOTIFICATIONS_UPDATE_NOOP'; | ||||
| @ -60,7 +61,7 @@ export function updateNotifications(notification, intlMessages, intlLocale) { | ||||
|     if (notification.type === 'mention') { | ||||
|       const dropRegex   = filters[0]; | ||||
|       const regex       = filters[1]; | ||||
|       const searchIndex = notification.status.spoiler_text + '\n' + unescapeHTML(notification.status.content); | ||||
|       const searchIndex = searchTextFromRawStatus(notification.status); | ||||
| 
 | ||||
|       if (dropRegex && dropRegex.test(searchIndex)) { | ||||
|         return; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user