diff options
Diffstat (limited to 'src/lib/api')
-rw-r--r-- | src/lib/api/feed-manip.ts | 11 | ||||
-rw-r--r-- | src/lib/api/feed/merge.ts | 1 | ||||
-rw-r--r-- | src/lib/api/hack-add-deleted-embed.ts | 24 | ||||
-rw-r--r-- | src/lib/api/index.ts | 21 |
4 files changed, 19 insertions, 38 deletions
diff --git a/src/lib/api/feed-manip.ts b/src/lib/api/feed-manip.ts index 4aa20fd12..a1b2e2bc9 100644 --- a/src/lib/api/feed-manip.ts +++ b/src/lib/api/feed-manip.ts @@ -6,6 +6,7 @@ import { AppBskyFeedPost, } from '@atproto/api' +import * as bsky from '#/types/bsky' import {isPostInLanguage} from '../../locale/helpers' import {FALLBACK_MARKER_POST} from './feed/home' import {ReasonFeedSource} from './feed/types' @@ -57,7 +58,9 @@ export class FeedViewPostsSlice { } this._feedPost = feedPost this._reactKey = `slice-${post.uri}-${ - feedPost.reason?.indexedAt || post.indexedAt + feedPost.reason && 'indexedAt' in feedPost.reason + ? feedPost.reason.indexedAt + : post.indexedAt }` if (feedPost.post.uri === FALLBACK_MARKER_POST.post.uri) { this.isFallbackMarker = true @@ -65,7 +68,7 @@ export class FeedViewPostsSlice { } if ( !AppBskyFeedPost.isRecord(post.record) || - !AppBskyFeedPost.validateRecord(post.record).success + !bsky.validate(post.record, AppBskyFeedPost.validateRecord) ) { return } @@ -97,7 +100,7 @@ export class FeedViewPostsSlice { if ( !AppBskyFeedDefs.isPostView(parent) || !AppBskyFeedPost.isRecord(parent.record) || - !AppBskyFeedPost.validateRecord(parent.record).success + !bsky.validate(parent.record, AppBskyFeedPost.validateRecord) ) { this.isOrphan = true return @@ -139,7 +142,7 @@ export class FeedViewPostsSlice { if ( !AppBskyFeedDefs.isPostView(root) || !AppBskyFeedPost.isRecord(root.record) || - !AppBskyFeedPost.validateRecord(root.record).success + !bsky.validate(root.record, AppBskyFeedPost.validateRecord) ) { this.isOrphan = true return diff --git a/src/lib/api/feed/merge.ts b/src/lib/api/feed/merge.ts index 35c344055..7f8c1c275 100644 --- a/src/lib/api/feed/merge.ts +++ b/src/lib/api/feed/merge.ts @@ -311,6 +311,7 @@ class MergeFeedSource_Custom extends MergeFeedSource { ) // attach source info for (const post of res.data.feed) { + // @ts-ignore post.__source = this.sourceInfo } return res diff --git a/src/lib/api/hack-add-deleted-embed.ts b/src/lib/api/hack-add-deleted-embed.ts deleted file mode 100644 index 59aad21a2..000000000 --- a/src/lib/api/hack-add-deleted-embed.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { - AppBskyFeedDefs, - AppBskyFeedPost, - ComAtprotoRepoStrongRef, -} from '@atproto/api' - -/** - * HACK - * The server doesnt seem to be correctly giving the notFound view yet - * so I'm adding it manually for now - * -prf - */ -export function hackAddDeletedEmbed(post: AppBskyFeedDefs.PostView) { - const record = post.record as AppBskyFeedPost.Record - if (record.embed?.$type === 'app.bsky.embed.record' && !post.embed) { - post.embed = { - $type: 'app.bsky.embed.record#view', - record: { - $type: 'app.bsky.embed.record#viewNotFound', - uri: (record.embed.record as ComAtprotoRepoStrongRef.Main).uri, - }, - } - } -} diff --git a/src/lib/api/index.ts b/src/lib/api/index.ts index 5cc0d6336..d1f304d4a 100644 --- a/src/lib/api/index.ts +++ b/src/lib/api/index.ts @@ -1,4 +1,5 @@ import { + $Typed, AppBskyEmbedExternal, AppBskyEmbedImages, AppBskyEmbedRecord, @@ -74,7 +75,7 @@ export async function post( } const did = agent.assertDid - const writes: ComAtprotoRepoApplyWrites.Create[] = [] + const writes: $Typed<ComAtprotoRepoApplyWrites.Create>[] = [] const uris: string[] = [] let now = new Date() @@ -91,7 +92,7 @@ export async function post( draft, opts.onStateChange, ) - let labels: ComAtprotoLabelDefs.SelfLabels | undefined + let labels: $Typed<ComAtprotoLabelDefs.SelfLabels> | undefined if (draft.labels.length) { labels = { $type: 'com.atproto.label.defs#selfLabels', @@ -230,11 +231,11 @@ async function resolveEmbed( draft: PostDraft, onStateChange: ((state: string) => void) | undefined, ): Promise< - | AppBskyEmbedImages.Main - | AppBskyEmbedVideo.Main - | AppBskyEmbedExternal.Main - | AppBskyEmbedRecord.Main - | AppBskyEmbedRecordWithMedia.Main + | $Typed<AppBskyEmbedImages.Main> + | $Typed<AppBskyEmbedVideo.Main> + | $Typed<AppBskyEmbedExternal.Main> + | $Typed<AppBskyEmbedRecord.Main> + | $Typed<AppBskyEmbedRecordWithMedia.Main> | undefined > { if (draft.embed.quote) { @@ -288,9 +289,9 @@ async function resolveMedia( embedDraft: EmbedDraft, onStateChange: ((state: string) => void) | undefined, ): Promise< - | AppBskyEmbedExternal.Main - | AppBskyEmbedImages.Main - | AppBskyEmbedVideo.Main + | $Typed<AppBskyEmbedExternal.Main> + | $Typed<AppBskyEmbedImages.Main> + | $Typed<AppBskyEmbedVideo.Main> | undefined > { if (embedDraft.media?.type === 'images') { |