diff --git a/src/features/liveEvents/context.tsx b/src/features/liveEvents/context.tsx index 3de2534a8e..0d333ba3a1 100644 --- a/src/features/liveEvents/context.tsx +++ b/src/features/liveEvents/context.tsx @@ -1,5 +1,5 @@ import {createContext, useContext, useMemo} from 'react' -import {hasMutedWord} from '@atproto/api' +import {hasMutedWord} from '@bsky.app/sdk/moderation' import {QueryClient, useQuery} from '@tanstack/react-query' import {useOnAppStateChange} from '#/lib/appState' diff --git a/src/features/liveNow/components/LiveStatusDialog.tsx b/src/features/liveNow/components/LiveStatusDialog.tsx index 0d3598451c..ba69b35ff9 100644 --- a/src/features/liveNow/components/LiveStatusDialog.tsx +++ b/src/features/liveNow/components/LiveStatusDialog.tsx @@ -1,16 +1,13 @@ import {useCallback, useMemo} from 'react' import {View} from 'react-native' import {Image} from 'expo-image' -import { - type AppBskyActorDefs, - type AppBskyEmbedExternal, - moderateStatus, -} from '@atproto/api' +import {type AppBskyActorDefs, type AppBskyEmbedExternal} from '@atproto/api' import {Trans, useLingui} from '@lingui/react/macro' import {useNavigation} from '@react-navigation/native' import {useQueryClient} from '@tanstack/react-query' import {useOpenLink} from '#/lib/hooks/useOpenLink' +import {moderateStatus} from '#/lib/moderation/subjects' import {type NavigationProp} from '#/lib/routes/types' import {sanitizeHandle} from '#/lib/strings/handles' import {toNiceDomain} from '#/lib/strings/url-helpers' diff --git a/src/features/liveNow/index.tsx b/src/features/liveNow/index.tsx index a9a14fc2d3..ec96777e85 100644 --- a/src/features/liveNow/index.tsx +++ b/src/features/liveNow/index.tsx @@ -3,7 +3,6 @@ import { type $Typed, type AppBskyActorDefs, AppBskyEmbedExternal, - moderateStatus, } from '@atproto/api' import {retry} from '@atproto/common-web' import {type l} from '@atproto/lex' @@ -16,6 +15,7 @@ import {isAfter, parseISO} from 'date-fns' import {uploadBlob} from '#/lib/api' import {imageToThumb} from '#/lib/api/resolve' import {getLinkMeta, type LinkMeta} from '#/lib/link-meta/link-meta' +import {moderateStatus} from '#/lib/moderation/subjects' import {matchXrpcError} from '#/lib/xrpc-error' import {useAppConfig} from '#/state/appConfig' import { diff --git a/src/state/queries/actor-autocomplete.ts b/src/state/queries/actor-autocomplete.ts index 14377c5347..111a8aaab4 100644 --- a/src/state/queries/actor-autocomplete.ts +++ b/src/state/queries/actor-autocomplete.ts @@ -1,12 +1,10 @@ import {useCallback} from 'react' -import { - type AppBskyActorDefs, - moderateProfile, - type ModerationOpts, -} from '@atproto/api' +import {type AppBskyActorDefs} from '@atproto/api' +import {type ModerationOpts} from '@bsky.app/sdk/moderation' import {keepPreviousData, useQuery, useQueryClient} from '@tanstack/react-query' import {isJustAMute, moduiContainsHideableOffense} from '#/lib/moderation' +import {moderateProfile} from '#/lib/moderation/subjects' import {logger} from '#/logger' import {STALE} from '#/state/queries' import {useAppviewClient} from '#/state/session' diff --git a/src/state/queries/explore-feed-previews.tsx b/src/state/queries/explore-feed-previews.tsx index c340078603..884b46d2df 100644 --- a/src/state/queries/explore-feed-previews.tsx +++ b/src/state/queries/explore-feed-previews.tsx @@ -1,10 +1,5 @@ import {useMemo, useRef} from 'react' -import { - type AppBskyActorDefs, - AppBskyFeedDefs, - AtUri, - moderatePost, -} from '@atproto/api' +import {type AppBskyActorDefs, AppBskyFeedDefs, AtUri} from '@atproto/api' import {type AtUriString} from '@atproto/syntax' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' @@ -17,6 +12,7 @@ import { import {CustomFeedAPI} from '#/lib/api/feed/custom' import {aggregateUserInterests} from '#/lib/api/feed/utils' import {FeedTuner} from '#/lib/api/feed-manip' +import {moderatePost} from '#/lib/moderation/subjects' import {cleanError} from '#/lib/strings/errors' import {useModerationOpts} from '#/state/preferences/moderation-opts' import { diff --git a/src/state/queries/feed.ts b/src/state/queries/feed.ts index a3b90de32b..669ec04263 100644 --- a/src/state/queries/feed.ts +++ b/src/state/queries/feed.ts @@ -4,7 +4,6 @@ import { type AppBskyFeedDefs, type AppBskyGraphDefs, AtUri, - moderateFeedGenerator, } from '@atproto/api' import {type AtUriString} from '@atproto/syntax' import {RichText} from '@bsky.app/sdk/richtext' @@ -20,6 +19,7 @@ import { } from '@tanstack/react-query' import {DISCOVER_FEED_URI, DISCOVER_SAVED_FEED} from '#/lib/constants' +import {moderateFeedGenerator} from '#/lib/moderation/subjects' import {sanitizeDisplayName} from '#/lib/strings/display-names' import {sanitizeHandle} from '#/lib/strings/handles' import {asSdkFacets} from '#/lib/strings/rich-text-helpers' diff --git a/src/state/queries/notifications/feed.ts b/src/state/queries/notifications/feed.ts index 51740e8d50..4dc23db47e 100644 --- a/src/state/queries/notifications/feed.ts +++ b/src/state/queries/notifications/feed.ts @@ -17,12 +17,7 @@ */ import {useCallback, useEffect, useMemo, useRef} from 'react' -import { - AppBskyFeedDefs, - AppBskyFeedPost, - AtUri, - moderatePost, -} from '@atproto/api' +import {AppBskyFeedDefs, AppBskyFeedPost, AtUri} from '@atproto/api' import { type InfiniteData, type QueryClient, @@ -31,6 +26,7 @@ import { useQueryClient, } from '@tanstack/react-query' +import {moderatePost} from '#/lib/moderation/subjects' import {useModerationOpts} from '#/state/preferences/moderation-opts' import {STALE} from '#/state/queries' import {useAppviewClient} from '#/state/session' diff --git a/src/state/queries/notifications/util.ts b/src/state/queries/notifications/util.ts index 4606507700..929517d9fb 100644 --- a/src/state/queries/notifications/util.ts +++ b/src/state/queries/notifications/util.ts @@ -6,16 +6,15 @@ import { type AppBskyGraphDefs, AppBskyGraphStarterpack, type AppBskyNotificationListNotifications, - hasMutedWord, - moderateNotification, - type ModerationOpts, } from '@atproto/api' import {type Client} from '@atproto/lex' import {type AtUriString} from '@atproto/syntax' +import {type ModerationOpts} from '@bsky.app/sdk/moderation' import {type QueryClient} from '@tanstack/react-query' import chunk from 'lodash.chunk' import {labelIsHideableOffense} from '#/lib/moderation' +import {hasMutedWord, moderateNotification} from '#/lib/moderation/subjects' import {app} from '#/lexicons' import * as bsky from '#/types/bsky' import {precacheProfile} from '../profile' diff --git a/src/state/queries/post-feed.ts b/src/state/queries/post-feed.ts index 0d5b48acde..c3d5ada4d2 100644 --- a/src/state/queries/post-feed.ts +++ b/src/state/queries/post-feed.ts @@ -5,12 +5,13 @@ import { AppBskyFeedDefs, type AppBskyFeedPost, AtUri, - moderatePost, - type ModerationDecision, - type ModerationPrefs, } from '@atproto/api' import {type Client} from '@atproto/lex' import {type AtIdentifierString, type AtUriString} from '@atproto/syntax' +import { + type ModerationDecision, + type ModerationPrefs, +} from '@bsky.app/sdk/moderation' import { type InfiniteData, type QueryClient, @@ -31,6 +32,7 @@ import {type FeedAPI, type ReasonFeedSource} from '#/lib/api/feed/types' import {aggregateUserInterests} from '#/lib/api/feed/utils' import {FeedTuner, type FeedTunerFn} from '#/lib/api/feed-manip' import {DISCOVER_FEED_URI} from '#/lib/constants' +import {moderatePost} from '#/lib/moderation/subjects' import {logger} from '#/logger' import {STALE} from '#/state/queries' import {DEFAULT_LOGGED_OUT_PREFERENCES} from '#/state/queries/preferences/const' diff --git a/src/state/queries/profile-feedgens.ts b/src/state/queries/profile-feedgens.ts index 7bdcd62b64..7a78c0a6c6 100644 --- a/src/state/queries/profile-feedgens.ts +++ b/src/state/queries/profile-feedgens.ts @@ -1,4 +1,3 @@ -import {moderateFeedGenerator} from '@atproto/api' import {type DidString} from '@atproto/syntax' import { type InfiniteData, @@ -6,6 +5,7 @@ import { useInfiniteQuery, } from '@tanstack/react-query' +import {moderateFeedGenerator} from '#/lib/moderation/subjects' import {useAppviewClient} from '#/state/session' import {app} from '#/lexicons' import {useModerationOpts} from '../preferences/moderation-opts' diff --git a/src/state/queries/profile-lists.ts b/src/state/queries/profile-lists.ts index 0237876513..3d795def0d 100644 --- a/src/state/queries/profile-lists.ts +++ b/src/state/queries/profile-lists.ts @@ -1,4 +1,3 @@ -import {moderateUserList} from '@atproto/api' import {type DidString} from '@atproto/syntax' import { type InfiniteData, @@ -6,6 +5,7 @@ import { useInfiniteQuery, } from '@tanstack/react-query' +import {moderateUserList} from '#/lib/moderation/subjects' import {useAppviewClient} from '#/state/session' import {app} from '#/lexicons' import {useModerationOpts} from '../preferences/moderation-opts' diff --git a/src/state/queries/search-posts-v2.ts b/src/state/queries/search-posts-v2.ts index 185212f8ef..9716383654 100644 --- a/src/state/queries/search-posts-v2.ts +++ b/src/state/queries/search-posts-v2.ts @@ -1,5 +1,5 @@ import {useCallback, useMemo, useRef} from 'react' -import {type AppBskyFeedDefs, AtUri, moderatePost} from '@atproto/api' +import {type AppBskyFeedDefs, AtUri} from '@atproto/api' import { type InfiniteData, type QueryClient, @@ -7,6 +7,7 @@ import { useInfiniteQuery, } from '@tanstack/react-query' +import {moderatePost} from '#/lib/moderation/subjects' import {useModerationOpts} from '#/state/preferences/moderation-opts' import {useAppviewClient} from '#/state/session' import {type SearchFilters} from '#/screens/Search/searchParams' diff --git a/src/state/queries/trending/useGetTrendsQuery.ts b/src/state/queries/trending/useGetTrendsQuery.ts index 8fe0ad845e..5ba9b4d4b2 100644 --- a/src/state/queries/trending/useGetTrendsQuery.ts +++ b/src/state/queries/trending/useGetTrendsQuery.ts @@ -1,5 +1,5 @@ import {useCallback, useMemo} from 'react' -import {hasMutedWord} from '@atproto/api' +import {hasMutedWord} from '@bsky.app/sdk/moderation' import {useQuery} from '@tanstack/react-query' import { diff --git a/src/state/queries/usePostThread/traversal.ts b/src/state/queries/usePostThread/traversal.ts index 81abd958fb..2aca5dfa96 100644 --- a/src/state/queries/usePostThread/traversal.ts +++ b/src/state/queries/usePostThread/traversal.ts @@ -1,4 +1,5 @@ -import {AppBskyUnspeccedDefs, type ModerationOpts} from '@atproto/api' +import {AppBskyUnspeccedDefs} from '@atproto/api' +import {type ModerationOpts} from '@bsky.app/sdk/moderation' import { type ApiThreadItem, diff --git a/src/state/queries/usePostThread/types.ts b/src/state/queries/usePostThread/types.ts index 295fd8bd3e..561490c328 100644 --- a/src/state/queries/usePostThread/types.ts +++ b/src/state/queries/usePostThread/types.ts @@ -5,8 +5,8 @@ import { type AppBskyUnspeccedDefs, type AppBskyUnspeccedGetPostThreadOtherV2, type AppBskyUnspeccedGetPostThreadV2, - type ModerationDecision, } from '@atproto/api' +import {type ModerationDecision} from '@bsky.app/sdk/moderation' export type ApiThreadItem = | AppBskyUnspeccedGetPostThreadV2.ThreadItem diff --git a/src/state/queries/usePostThread/views.ts b/src/state/queries/usePostThread/views.ts index 4e7140eab0..af23ee2959 100644 --- a/src/state/queries/usePostThread/views.ts +++ b/src/state/queries/usePostThread/views.ts @@ -5,10 +5,10 @@ import { type AppBskyUnspeccedDefs, type AppBskyUnspeccedGetPostThreadV2, AtUri, - moderatePost, - type ModerationOpts, } from '@atproto/api' +import {type ModerationOpts} from '@bsky.app/sdk/moderation' +import {moderatePost} from '#/lib/moderation/subjects' import {makeProfileLink} from '#/lib/routes/links' import { type ApiThreadItem, diff --git a/src/state/shell/composer/index.tsx b/src/state/shell/composer/index.tsx index 9a1e212f48..087a3b348a 100644 --- a/src/state/shell/composer/index.tsx +++ b/src/state/shell/composer/index.tsx @@ -3,8 +3,8 @@ import { type AppBskyActorDefs, type AppBskyFeedDefs, type AppBskyUnspeccedGetPostThreadV2, - type ModerationDecision, } from '@atproto/api' +import {type ModerationDecision} from '@bsky.app/sdk/moderation' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' import {useQueryClient} from '@tanstack/react-query'