Parameterize image max dimension and blob size
Replace the hardcoded POST_IMG_MAX limits baked into the resize helpers with explicit per-caller maxDimension/maxBytes parameters. Pasted image URLs now pre-shrink at the high-res 4000px/2MB post limits instead of 2000px/1MB, removing a quality bottleneck before compressImage runs. Avatar/banner/onboarding and link thumbnails keep their 2000px/1MB limits. Also bring web doResize to parity with native by clamping dimensions via a shared getResizedDimensions (hoisted into media/util.ts), and shadow the mutated maxDimension param in compressImage as a local. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -16,7 +16,7 @@ import {type PasteEventPayload, TextInputWrapper} from 'expo-paste-input'
|
||||
import {AppBskyRichtextFacet, RichText} from '@atproto/api'
|
||||
import {useLingui} from '@lingui/react/macro'
|
||||
|
||||
import {POST_IMG_MAX} from '#/lib/constants'
|
||||
import {POST_IMG_MAX_HIGH_RES} from '#/lib/constants'
|
||||
import {downloadAndResize} from '#/lib/media/manip'
|
||||
import {isUriImage} from '#/lib/media/util'
|
||||
import {getMentionAt, insertMentionAt} from '#/lib/strings/mention-manip'
|
||||
@@ -93,10 +93,8 @@ export function TextInput({
|
||||
if (isUriImage(feature.uri)) {
|
||||
const res = await downloadAndResize({
|
||||
uri: feature.uri,
|
||||
width: POST_IMG_MAX.width,
|
||||
height: POST_IMG_MAX.height,
|
||||
mode: 'contain',
|
||||
maxSize: POST_IMG_MAX.size,
|
||||
maxDimension: POST_IMG_MAX_HIGH_RES.width,
|
||||
maxSize: POST_IMG_MAX_HIGH_RES.size,
|
||||
timeout: 15e3,
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user