Dont suggest users that are muted or blocked (close #1185) (#1209)

zio/stable
Paul Frazee 2023-08-17 17:44:48 -07:00 committed by GitHub
parent 55ad56f689
commit 43d1f002f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 6 deletions

View File

@ -105,11 +105,24 @@ export class FoafsModel {
const profile = profiles.data.profiles[i] const profile = profiles.data.profiles[i]
const source = this.sources[i] const source = this.sources[i]
if (res.status === 'fulfilled' && profile) { if (res.status === 'fulfilled' && profile) {
// filter out users already followed by the user or that *is* the user // filter out inappropriate suggestions
res.value.data.follows = res.value.data.follows.filter(follow => { res.value.data.follows = res.value.data.follows.filter(follow => {
return ( const viewer = follow.viewer
follow.did !== this.rootStore.me.did && !follow.viewer?.following if (viewer) {
) if (
viewer.following ||
viewer.muted ||
viewer.mutedByList ||
viewer.blockedBy ||
viewer.blocking
) {
return false
}
}
if (follow.did === this.rootStore.me.did) {
return false
}
return true
}) })
runInAction(() => { runInAction(() => {

View File

@ -85,9 +85,18 @@ export class SuggestedActorsModel {
this.hasMore = !!cursor this.hasMore = !!cursor
this.suggestions = this.suggestions.concat( this.suggestions = this.suggestions.concat(
actors.filter(actor => { actors.filter(actor => {
if (actor.viewer?.following) { const viewer = actor.viewer
if (viewer) {
if (
viewer.following ||
viewer.muted ||
viewer.mutedByList ||
viewer.blockedBy ||
viewer.blocking
) {
return false return false
} }
}
if (actor.did === this.rootStore.me.did) { if (actor.did === this.rootStore.me.did) {
return false return false
} }