diff options
author | Eric Bailey <git@esb.lol> | 2024-09-20 14:16:23 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-20 14:16:23 -0500 |
commit | c85a271ef63ac006bf10f71adae102552298b661 (patch) | |
tree | bdd21bf99a700904dd949bdf02d66ba5cfa0dc98 /src/state/queries | |
parent | 395edfe78f748b199be6417e9a2aac1482ac9bdc (diff) | |
download | voidsky-c85a271ef63ac006bf10f71adae102552298b661.tar.zst |
Additional moderation (#5172)
* Set up additional mod authorities * Filter out non-configurable mod authorities * WIP * Working * Cleanup, add mod * Cleanup * Add more debug logs * Tweak logs * Filter out imperative labels from typeaheads * Filter hideable content from notifications * Add api * Fall back in dev * Remove space * Use prod endpoint * Add tiny notice * Add notice to labeler card, show all labelers
Diffstat (limited to 'src/state/queries')
-rw-r--r-- | src/state/queries/actor-autocomplete.ts | 8 | ||||
-rw-r--r-- | src/state/queries/notifications/util.ts | 5 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/state/queries/actor-autocomplete.ts b/src/state/queries/actor-autocomplete.ts index abf78da3c..acc046771 100644 --- a/src/state/queries/actor-autocomplete.ts +++ b/src/state/queries/actor-autocomplete.ts @@ -2,7 +2,7 @@ import React from 'react' import {AppBskyActorDefs, moderateProfile, ModerationOpts} from '@atproto/api' import {keepPreviousData, useQuery, useQueryClient} from '@tanstack/react-query' -import {isJustAMute} from '#/lib/moderation' +import {isJustAMute, moduiContainsHideableOffense} from '#/lib/moderation' import {logger} from '#/logger' import {STALE} from '#/state/queries' import {useAgent} from '#/state/session' @@ -113,6 +113,10 @@ function computeSuggestions({ return items.filter(profile => { const modui = moderateProfile(profile, moderationOpts).ui('profileList') const isExactMatch = q && profile.handle.toLowerCase() === q - return isExactMatch || !modui.filter || isJustAMute(modui) + return ( + (isExactMatch && !moduiContainsHideableOffense(modui)) || + !modui.filter || + isJustAMute(modui) + ) }) } diff --git a/src/state/queries/notifications/util.ts b/src/state/queries/notifications/util.ts index e0ee02294..a251d170e 100644 --- a/src/state/queries/notifications/util.ts +++ b/src/state/queries/notifications/util.ts @@ -13,6 +13,7 @@ import { import {QueryClient} from '@tanstack/react-query' import chunk from 'lodash.chunk' +import {labelIsHideableOffense} from '#/lib/moderation' import {precacheProfile} from '../profile' import {FeedNotification, FeedPage, NotificationType} from './types' @@ -104,6 +105,10 @@ export function shouldFilterNotif( notif: AppBskyNotificationListNotifications.Notification, moderationOpts: ModerationOpts | undefined, ): boolean { + const containsImperative = !!notif.author.labels?.some(labelIsHideableOffense) + if (containsImperative) { + return true + } if (!moderationOpts) { return false } |