Remove image upload flags (#10687)

This commit is contained in:
Eric Bailey
2026-06-02 12:42:10 -05:00
committed by GitHub
parent 59765138ce
commit 61e10f7e0b
4 changed files with 11 additions and 52 deletions
-2
View File
@@ -9,8 +9,6 @@ export enum Features {
ImportContactsOnboardingDisable = 'import_contacts:onboarding:disable', ImportContactsOnboardingDisable = 'import_contacts:onboarding:disable',
ImportContactsSettingsDisable = 'import_contacts:settings:disable', ImportContactsSettingsDisable = 'import_contacts:settings:disable',
LiveNowBetaDisable = 'live_now_beta:disable', LiveNowBetaDisable = 'live_now_beta:disable',
ImageUploadsHighResolution = 'image_uploads:high_resolution',
ImageUploadsBlobSize2mbEnabled = 'image_uploads:blob_size_2mb:enabled',
GroupChatsEnable = 'group_chats:enable', GroupChatsEnable = 'group_chats:enable',
GroupChatsHasBeenReleased = 'group_chats:has_been_released', GroupChatsHasBeenReleased = 'group_chats:has_been_released',
DmsNewMessageComposerEnable = 'dms:new_message_composer:enable', DmsNewMessageComposerEnable = 'dms:new_message_composer:enable',
+2 -21
View File
@@ -51,16 +51,10 @@ interface PostOpts {
langs?: string[] langs?: string[]
} }
type FeatureFlags = {
highResolutionImages?: boolean
increasedBlobSizeLimit?: boolean
}
export async function post( export async function post(
agent: BskyAgent, agent: BskyAgent,
queryClient: QueryClient, queryClient: QueryClient,
opts: PostOpts, opts: PostOpts,
featureFlags?: FeatureFlags,
) { ) {
const thread = opts.thread const thread = opts.thread
opts.onStateChange?.(t`Processing...`) opts.onStateChange?.(t`Processing...`)
@@ -97,7 +91,6 @@ export async function post(
queryClient, queryClient,
draft, draft,
opts.onStateChange, opts.onStateChange,
featureFlags,
) )
let labels: $Typed<ComAtprotoLabelDefs.SelfLabels> | undefined let labels: $Typed<ComAtprotoLabelDefs.SelfLabels> | undefined
if (draft.labels.length) { if (draft.labels.length) {
@@ -257,7 +250,6 @@ async function resolveEmbed(
queryClient: QueryClient, queryClient: QueryClient,
draft: PostDraft, draft: PostDraft,
onStateChange: ((state: string) => void) | undefined, onStateChange: ((state: string) => void) | undefined,
featureFlags?: FeatureFlags,
): Promise< ): Promise<
| $Typed<AppBskyEmbedImages.Main> | $Typed<AppBskyEmbedImages.Main>
| $Typed<AppBskyEmbedVideo.Main> | $Typed<AppBskyEmbedVideo.Main>
@@ -268,13 +260,7 @@ async function resolveEmbed(
> { > {
if (draft.embed.quote) { if (draft.embed.quote) {
const [resolvedMedia, resolvedQuote] = await Promise.all([ const [resolvedMedia, resolvedQuote] = await Promise.all([
resolveMedia( resolveMedia(agent, queryClient, draft.embed, onStateChange),
agent,
queryClient,
draft.embed,
onStateChange,
featureFlags,
),
resolveRecord(agent, queryClient, draft.embed.quote.uri), resolveRecord(agent, queryClient, draft.embed.quote.uri),
]) ])
if (resolvedMedia) { if (resolvedMedia) {
@@ -297,7 +283,6 @@ async function resolveEmbed(
queryClient, queryClient,
draft.embed, draft.embed,
onStateChange, onStateChange,
featureFlags,
) )
if (resolvedMedia) { if (resolvedMedia) {
return resolvedMedia return resolvedMedia
@@ -323,7 +308,6 @@ async function resolveMedia(
queryClient: QueryClient, queryClient: QueryClient,
embedDraft: EmbedDraft, embedDraft: EmbedDraft,
onStateChange: ((state: string) => void) | undefined, onStateChange: ((state: string) => void) | undefined,
featureFlags?: FeatureFlags,
): Promise< ): Promise<
| $Typed<AppBskyEmbedExternal.Main> | $Typed<AppBskyEmbedExternal.Main>
| $Typed<AppBskyEmbedImages.Main> | $Typed<AppBskyEmbedImages.Main>
@@ -339,10 +323,7 @@ async function resolveMedia(
const images: AppBskyEmbedImages.Image[] = await Promise.all( const images: AppBskyEmbedImages.Image[] = await Promise.all(
imagesDraft.map(async (image, i) => { imagesDraft.map(async (image, i) => {
logger.debug(`Compressing image #${i}`) logger.debug(`Compressing image #${i}`)
const {path, width, height, mime} = await compressImage(image, { const {path, width, height, mime} = await compressImage(image)
highResolution: featureFlags?.highResolutionImages,
increasedBlobSizeLimit: featureFlags?.increasedBlobSizeLimit,
})
logger.debug(`Uploading image #${i}`) logger.debug(`Uploading image #${i}`)
const res = await uploadBlob(agent, path, mime) const res = await uploadBlob(agent, path, mime)
return { return {
+3 -11
View File
@@ -13,7 +13,6 @@ import {
} from 'expo-image-manipulator' } from 'expo-image-manipulator'
import {nanoid} from 'nanoid/non-secure' import {nanoid} from 'nanoid/non-secure'
import {POST_IMG_MAX} from '#/lib/constants'
import {getImageDim} from '#/lib/media/manip' import {getImageDim} from '#/lib/media/manip'
import {openCropper} from '#/lib/media/picker' import {openCropper} from '#/lib/media/picker'
import {type PickerImage} from '#/lib/media/picker.shared' import {type PickerImage} from '#/lib/media/picker.shared'
@@ -202,19 +201,12 @@ export function resetImageManipulation(
return img return img
} }
export async function compressImage( export async function compressImage(img: ComposerImage): Promise<PickerImage> {
img: ComposerImage,
options?: {
highResolution?: boolean
increasedBlobSizeLimit?: boolean
},
): Promise<PickerImage> {
const source = img.transformed || img.source const source = img.transformed || img.source
const highResolution = options?.highResolution ?? false
let attempts = 0 let attempts = 0
let maxDimension = highResolution ? 4000 : POST_IMG_MAX.width let maxDimension = 4000
let maxBytes = options?.increasedBlobSizeLimit ? 2000000 : POST_IMG_MAX.size let maxBytes = 2000000
let minQualityPercentage = 0 let minQualityPercentage = 0
let maxQualityPercentage = 101 // exclusive let maxQualityPercentage = 101 // exclusive
+6 -18
View File
@@ -877,24 +877,12 @@ export const ComposePost = ({
try { try {
logger.info(`composer: posting...`) logger.info(`composer: posting...`)
postUri = ( postUri = (
await apilib.post( await apilib.post(agent, queryClient, {
agent, thread: filteredThread,
queryClient, replyTo: replyTo?.uri,
{ onStateChange: setPublishingStage,
thread: filteredThread, langs: currentLanguages,
replyTo: replyTo?.uri, })
onStateChange: setPublishingStage,
langs: currentLanguages,
},
{
highResolutionImages: ax.features.enabled(
ax.features.ImageUploadsHighResolution,
),
increasedBlobSizeLimit: ax.features.enabled(
ax.features.ImageUploadsBlobSize2mbEnabled,
),
},
)
).uris[0] ).uris[0]
/* /*