Don't stream toots from users who have blocked the recipient user (#3300)
* Don't stream toots from users who have blocked the recipient user This filter was already applied on the `/api/v1/timelines/public` API, but not yet for the Streaming API. * Boosted status' account_id doesn't need for filtering in streaming/index.js This filtering is only for public/hashtag timelines, but boosts already filtered on FanOutOnWriteService because those timelines don't show boosts.
This commit is contained in:
		
							parent
							
								
									9ead3d1cdb
								
							
						
					
					
						commit
						91c789ec63
					
				
					 1 changed files with 2 additions and 2 deletions
				
			
		| 
						 | 
					@ -240,7 +240,7 @@ const startWorker = (workerId) => {
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          const unpackedPayload  = JSON.parse(payload);
 | 
					          const unpackedPayload  = JSON.parse(payload);
 | 
				
			||||||
          const targetAccountIds = [unpackedPayload.account.id].concat(unpackedPayload.mentions.map(item => item.id)).concat(unpackedPayload.reblog ? [unpackedPayload.reblog.account.id] : []);
 | 
					          const targetAccountIds = [unpackedPayload.account.id].concat(unpackedPayload.mentions.map(item => item.id));
 | 
				
			||||||
          const accountDomain    = unpackedPayload.account.acct.split('@')[1];
 | 
					          const accountDomain    = unpackedPayload.account.acct.split('@')[1];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          if (Array.isArray(req.filteredLanguages) && req.filteredLanguages.includes(unpackedPayload.language)) {
 | 
					          if (Array.isArray(req.filteredLanguages) && req.filteredLanguages.includes(unpackedPayload.language)) {
 | 
				
			||||||
| 
						 | 
					@ -250,7 +250,7 @@ const startWorker = (workerId) => {
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          const queries = [
 | 
					          const queries = [
 | 
				
			||||||
            client.query(`SELECT 1 FROM blocks WHERE account_id = $1 AND target_account_id IN (${placeholders(targetAccountIds, 1)}) UNION SELECT 1 FROM mutes WHERE account_id = $1 AND target_account_id IN (${placeholders(targetAccountIds, 1)})`, [req.accountId].concat(targetAccountIds)),
 | 
					            client.query(`SELECT 1 FROM blocks WHERE (account_id = $1 AND target_account_id IN (${placeholders(targetAccountIds, 2)})) OR (account_id = $2 AND target_account_id = $1) UNION SELECT 1 FROM mutes WHERE account_id = $1 AND target_account_id IN (${placeholders(targetAccountIds, 2)})`, [req.accountId, unpackedPayload.account.id].concat(targetAccountIds)),
 | 
				
			||||||
          ];
 | 
					          ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          if (accountDomain) {
 | 
					          if (accountDomain) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue