Port post embeds to new arch (#7408)

* Direct port of embeds to new arch

(cherry picked from commit cc3fa1f6cea396dd9222486c633a508bfee1ecd6)

* Re-org

* Split out ListEmbed and FeedEmbed

* Split out ImageEmbed

* DRY up a bit

* Port over ExternalLinkEmbed

* Port over Player and Gif embeds

* Migrate ComposerReplyTo

* Replace other usages of old post-embeds

* Migrate view contexts

* Copy pasta VideoEmbed

* Copy pasta GifEmbed

* Swap in new file location

* Clean up

* Fix up native

* Add back in correct moderation on List and Feed embeds

* Format

* Prettier

* delete old video utils

* move bandwidth-estimate.ts

* Remove log

* Add LazyQuoteEmbed for composer use

* Clean up unused things

* Remove remaining items

* Prettier

* Fix imports

* Handle nested quotes same as prod

* Add back silenced error handling

* Fix lint

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>
This commit is contained in:
Eric Bailey
2025-06-13 12:05:41 -05:00
committed by GitHub
parent ba0f5a9bde
commit 45f0f7eefe
75 changed files with 812 additions and 799 deletions
+4 -4
View File
@@ -1,4 +1,4 @@
import {BskyAgent, ChatBskyConvoGetLog} from '@atproto/api'
import {type BskyAgent, type ChatBskyConvoGetLog} from '@atproto/api'
import EventEmitter from 'eventemitter3'
import {nanoid} from 'nanoid/non-secure'
@@ -9,11 +9,11 @@ import {
DEFAULT_POLL_INTERVAL,
} from '#/state/messages/events/const'
import {
MessagesEventBusDispatch,
type MessagesEventBusDispatch,
MessagesEventBusDispatchEvent,
MessagesEventBusErrorCode,
MessagesEventBusEvent,
MessagesEventBusParams,
type MessagesEventBusEvent,
type MessagesEventBusParams,
MessagesEventBusStatus,
} from '#/state/messages/events/types'
import {DM_SERVICE_HEADERS} from '#/state/queries/messages/const'
+4 -3
View File
@@ -1,9 +1,9 @@
import {
$Typed,
type $Typed,
AppBskyEmbedRecord,
AppBskyEmbedRecordWithMedia,
AppBskyFeedDefs,
AppBskyFeedPostgate,
type AppBskyFeedDefs,
type AppBskyFeedPostgate,
AtUri,
} from '@atproto/api'
@@ -113,6 +113,7 @@ export function createEmbedViewRecordFromPost(
likeCount: post.likeCount,
quoteCount: post.quoteCount,
indexedAt: post.indexedAt,
embeds: post.embed ? [post.embed] : [],
}
}
+2 -2
View File
@@ -1,5 +1,5 @@
import {LogEvents} from '#/lib/statsig/statsig'
import {PersistedAccount} from '#/state/persisted'
import {type LogEvents} from '#/lib/statsig/statsig'
import {type PersistedAccount} from '#/state/persisted'
export type SessionAccount = PersistedAccount
+1 -1
View File
@@ -1,5 +1,5 @@
import React from 'react'
import {AppBskyFeedThreadgate} from '@atproto/api'
import {type AppBskyFeedThreadgate} from '@atproto/api'
type StateContext = {
uris: Set<string>