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) {
 | 
			
		||||
    try {
 | 
			
		||||
      if (showStatus) {
 | 
			
		||||
        const regex = new RegExp(columnSettings.getIn(['regex', 'body']).trim(), 'i');
 | 
			
		||||
      showStatus = showStatus && !regex.test(statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'content']) : statusForId.get('content'));
 | 
			
		||||
        showStatus = !regex.test(statusForId.get('reblog') ? statuses.getIn([statusForId.get('reblog'), 'unescaped_content']) : statusForId.get('unescaped_content'));
 | 
			
		||||
      }
 | 
			
		||||
    } catch(e) {
 | 
			
		||||
      // Bad regex, don't affect filters
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,6 +48,9 @@ const normalizeStatus = (state, status) => {
 | 
			
		|||
    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)));
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue