collapse the dual-world type layer and delete the widening shims
The types/bsky post/profile/starterPack unions drop their @atproto/api arms, and dangerousIsType/validate go with the old-world guards they wrapped. The moderation subjects.ts widening shim and rich-text-helpers' asSdkFacets both existed only to bridge branded and unbranded views, so their 55 and 14 callers now go straight to @bsky.app/sdk/moderation and the raw facets. Boundary fallout: lexicon token defs are camelCase schema objects needing .value, and the branded string slots that the widening used to absorb are now cast or branded at their producers. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -44,7 +44,7 @@ import {useSafeAreaInsets} from 'react-native-safe-area-context'
|
||||
import {scheduleOnUI} from 'react-native-worklets'
|
||||
import * as FileSystem from 'expo-file-system'
|
||||
import {type ImagePickerAsset} from 'expo-image-picker'
|
||||
import {type Client} from '@atproto/lex'
|
||||
import {type Client, type UriString} from '@atproto/lex'
|
||||
import {type AtUriString, AtUri} from '@atproto/syntax'
|
||||
import {type RichText} from '@bsky.app/sdk/richtext'
|
||||
import {plural} from '@lingui/core/macro'
|
||||
@@ -52,6 +52,7 @@ import {Trans, useLingui} from '@lingui/react/macro'
|
||||
import {useNavigation} from '@react-navigation/native'
|
||||
import {useQueries, useQueryClient} from '@tanstack/react-query'
|
||||
|
||||
import {matchXrpcError} from '#/lib/xrpc-error'
|
||||
import * as bsky from '#/types/bsky'
|
||||
import * as apilib from '#/lib/api/index'
|
||||
import {EmbeddingDisabledError} from '#/lib/api/resolve'
|
||||
@@ -766,7 +767,9 @@ export const ComposePost = ({
|
||||
|
||||
const getDraftSaveError = useCallback(
|
||||
(e: unknown): string => {
|
||||
if (e instanceof app.bsky.draft.createDraft.DraftLimitReachedError) {
|
||||
if (
|
||||
matchXrpcError(e, app.bsky.draft.createDraft) === 'DraftLimitReached'
|
||||
) {
|
||||
return l`You've reached the maximum number of drafts`
|
||||
}
|
||||
return l`Failed to save draft`
|
||||
@@ -1676,7 +1679,7 @@ let ComposerPost = memo(function ComposerPost({
|
||||
|
||||
const onNewLink = useCallback(
|
||||
(uri: string) => {
|
||||
dispatchPost({type: 'embed_add_uri', uri})
|
||||
dispatchPost({type: 'embed_add_uri', uri: uri as UriString})
|
||||
},
|
||||
[dispatchPost],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user