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 };
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';
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;