fix: only send non-direct messages over websockets
This commit is contained in:
		
							parent
							
								
									97b05d787f
								
							
						
					
					
						commit
						507b7349ba
					
				
					 2 changed files with 16 additions and 7 deletions
				
			
		|  | @ -63,7 +63,11 @@ const ( | ||||||
| 
 | 
 | ||||||
| func (s TokenScope) IsValid() bool { | func (s TokenScope) IsValid() bool { | ||||||
| 	switch s { | 	switch s { | ||||||
| 	case TokenScopeAccountsRead, TokenScopeAccountsMe, TokenScopeAccountsWrite: | 	case TokenScopeAccountsRead, TokenScopeAccountsMe, | ||||||
|  | 	TokenScopeAccountsWrite, TokenScopeBlogsRead, | ||||||
|  | 	TokenScopeBlogsWrite, TokenScopePostsRead, | ||||||
|  | 	TokenScopePostsWrite, TokenScopeTimeline, | ||||||
|  | 	TokenScopeStreaming: | ||||||
| 		return true | 		return true | ||||||
| 	default: | 	default: | ||||||
| 		return false | 		return false | ||||||
|  |  | ||||||
|  | @ -71,6 +71,8 @@ func (p *Processor) handlePostLocal( | ||||||
| 	apiPost := api.DBPostToPost(post, blog, acct) | 	apiPost := api.DBPostToPost(post, blog, acct) | ||||||
| 	p.SocketHolder.Send(acct.ID, streaming.EventTypePost, apiPost) | 	p.SocketHolder.Send(acct.ID, streaming.EventTypePost, apiPost) | ||||||
| 
 | 
 | ||||||
|  | 	// send to followers | ||||||
|  | 	if post.Visibility != database.DirectVisibility { | ||||||
| 		for _, follower := range followers { | 		for _, follower := range followers { | ||||||
| 			if !follower.IsLocal { | 			if !follower.IsLocal { | ||||||
| 				continue | 				continue | ||||||
|  | @ -78,4 +80,7 @@ func (p *Processor) handlePostLocal( | ||||||
| 
 | 
 | ||||||
| 			p.SocketHolder.Send(follower.AccountID, streaming.EventTypePost, apiPost) | 			p.SocketHolder.Send(follower.AccountID, streaming.EventTypePost, apiPost) | ||||||
| 		} | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	// TODO: send to mentions | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue