forked from fedi/mastodon
fix regex filter (#1845)
* fix regex filter * fixed br to linebreak and, stlip tags. * change to send raw content * changed to unescape in reducer
This commit is contained in:
parent
fc34e0e191
commit
90760eae4c
|
@ -24,8 +24,10 @@ const makeGetStatusIds = () => createSelector([
|
||||||
|
|
||||||
if (columnSettings.getIn(['regex', 'body'], '').trim().length > 0) {
|
if (columnSettings.getIn(['regex', 'body'], '').trim().length > 0) {
|
||||||
try {
|
try {
|
||||||
const regex = new RegExp(columnSettings.getIn(['regex', 'body']).trim(), 'i');
|
if (showStatus) {
|
||||||
showStatus = showStatus && !regex.test(statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'content']) : statusForId.get('content'));
|
const regex = new RegExp(columnSettings.getIn(['regex', 'body']).trim(), 'i');
|
||||||
|
showStatus = !regex.test(statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'unescaped_content']) : statusForId.get('unescaped_content'));
|
||||||
|
}
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
// Bad regex, don't affect filters
|
// Bad regex, don't affect filters
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,6 +48,9 @@ const normalizeStatus = (state, status) => {
|
||||||
normalStatus.reblog = status.reblog.id;
|
normalStatus.reblog = status.reblog.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const linebreakComplemented = status.content.replace(/<br \/>/g, '\n').replace(/<\/p><p>/g, '\n\n');
|
||||||
|
normalStatus.unescaped_content = new DOMParser().parseFromString(linebreakComplemented, 'text/html').documentElement.textContent;
|
||||||
|
|
||||||
return state.update(status.id, Immutable.Map(), map => map.mergeDeep(Immutable.fromJS(normalStatus)));
|
return state.update(status.id, Immutable.Map(), map => map.mergeDeep(Immutable.fromJS(normalStatus)));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue