From 25d20c6395a093a6cfc6aed4d08469f7f128f358 Mon Sep 17 00:00:00 2001 From: dan Date: Thu, 19 Dec 2024 21:12:58 +0000 Subject: [PATCH 1/6] Add iOS hack to fix cropper failing to show (#7191) * Add iOS hack to fix cropper failing to show * Make it 800 --- src/screens/Onboarding/StepProfile/index.tsx | 6 +++++- src/view/com/util/UserAvatar.tsx | 6 +++++- src/view/com/util/UserBanner.tsx | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/screens/Onboarding/StepProfile/index.tsx b/src/screens/Onboarding/StepProfile/index.tsx index 73472ec332..f8f6ecf4ed 100644 --- a/src/screens/Onboarding/StepProfile/index.tsx +++ b/src/screens/Onboarding/StepProfile/index.tsx @@ -15,7 +15,7 @@ import {openCropper} from '#/lib/media/picker' import {getDataUriSize} from '#/lib/media/util' import {useRequestNotificationsPermission} from '#/lib/notifications/notifications' import {logEvent, useGate} from '#/lib/statsig/statsig' -import {isNative, isWeb} from '#/platform/detection' +import {isIOS, isNative, isWeb} from '#/platform/detection' import { DescriptionText, OnboardingControls, @@ -181,6 +181,10 @@ export function StepProfile() { if (!image) return if (!isWeb) { + if (isIOS) { + // https://github.com/ivpusic/react-native-image-crop-picker/issues/1631 + await new Promise(resolve => setTimeout(resolve, 800)) + } image = await openCropper({ mediaType: 'photo', cropperCircleOverlay: true, diff --git a/src/view/com/util/UserAvatar.tsx b/src/view/com/util/UserAvatar.tsx index dbd68f8ef5..db35776afc 100644 --- a/src/view/com/util/UserAvatar.tsx +++ b/src/view/com/util/UserAvatar.tsx @@ -16,7 +16,7 @@ import { import {makeProfileLink} from '#/lib/routes/links' import {colors} from '#/lib/styles' import {logger} from '#/logger' -import {isAndroid, isNative, isWeb} from '#/platform/detection' +import {isAndroid, isIOS, isNative, isWeb} from '#/platform/detection' import {precacheProfile} from '#/state/queries/profile' import {HighPriorityImage} from '#/view/com/util/images/Image' import {tokens, useTheme} from '#/alf' @@ -319,6 +319,10 @@ let EditableUserAvatar = ({ } try { + if (isIOS) { + // https://github.com/ivpusic/react-native-image-crop-picker/issues/1631 + await new Promise(resolve => setTimeout(resolve, 800)) + } const croppedImage = await openCropper({ mediaType: 'photo', cropperCircleOverlay: true, diff --git a/src/view/com/util/UserBanner.tsx b/src/view/com/util/UserBanner.tsx index 7e71a04e9f..12f52c29ef 100644 --- a/src/view/com/util/UserBanner.tsx +++ b/src/view/com/util/UserBanner.tsx @@ -14,7 +14,7 @@ import { import {colors} from '#/lib/styles' import {useTheme} from '#/lib/ThemeContext' import {logger} from '#/logger' -import {isAndroid, isNative} from '#/platform/detection' +import {isAndroid, isIOS, isNative} from '#/platform/detection' import {EventStopper} from '#/view/com/util/EventStopper' import {tokens, useTheme as useAlfTheme} from '#/alf' import {useSheetWrapper} from '#/components/Dialog/sheet-wrapper' @@ -68,6 +68,10 @@ export function UserBanner({ } try { + if (isIOS) { + // https://github.com/ivpusic/react-native-image-crop-picker/issues/1631 + await new Promise(resolve => setTimeout(resolve, 800)) + } onSelectNewBanner?.( await openCropper({ mediaType: 'photo', From fb920f89d1afd091ab336d8fc8975607787c9a27 Mon Sep 17 00:00:00 2001 From: dan Date: Thu, 19 Dec 2024 21:45:44 +0000 Subject: [PATCH 2/6] Revert "Fix post time localization on Android (#6742)" (#7196) This reverts commit b1b6affb715326402674f6d6457dbe45288cbb2a. --- package.json | 1 - src/locale/i18n.ts | 29 ----------------------------- yarn.lock | 9 --------- 3 files changed, 39 deletions(-) diff --git a/package.json b/package.json index 8d84b6284a..85b5968e4f 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,6 @@ "@expo/webpack-config": "^19.0.0", "@floating-ui/dom": "^1.6.3", "@floating-ui/react-dom": "^2.0.8", - "@formatjs/intl-datetimeformat": "^6.17.1", "@formatjs/intl-locale": "^4.2.8", "@formatjs/intl-numberformat": "^8.15.1", "@formatjs/intl-pluralrules": "^5.4.1", diff --git a/src/locale/i18n.ts b/src/locale/i18n.ts index a78288b901..2c600276d5 100644 --- a/src/locale/i18n.ts +++ b/src/locale/i18n.ts @@ -1,10 +1,8 @@ // Don't remove -force from these because detection is VERY slow on low-end Android. // https://github.com/formatjs/formatjs/issues/4463#issuecomment-2176070577 import '@formatjs/intl-locale/polyfill-force' -import '@formatjs/intl-datetimeformat/polyfill-force' import '@formatjs/intl-pluralrules/polyfill-force' import '@formatjs/intl-numberformat/polyfill-force' -import '@formatjs/intl-datetimeformat/locale-data/en' import '@formatjs/intl-pluralrules/locale-data/en' import '@formatjs/intl-numberformat/locale-data/en' @@ -54,7 +52,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.an: { i18n.loadAndActivate({locale, messages: messagesAn}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/es'), import('@formatjs/intl-pluralrules/locale-data/an'), import('@formatjs/intl-numberformat/locale-data/es'), ]) @@ -63,7 +60,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.ast: { i18n.loadAndActivate({locale, messages: messagesAst}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/ast'), import('@formatjs/intl-pluralrules/locale-data/ast'), import('@formatjs/intl-numberformat/locale-data/ast'), ]) @@ -72,7 +68,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.ca: { i18n.loadAndActivate({locale, messages: messagesCa}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/ca'), import('@formatjs/intl-pluralrules/locale-data/ca'), import('@formatjs/intl-numberformat/locale-data/ca'), ]) @@ -81,7 +76,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.de: { i18n.loadAndActivate({locale, messages: messagesDe}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/de'), import('@formatjs/intl-pluralrules/locale-data/de'), import('@formatjs/intl-numberformat/locale-data/de'), ]) @@ -90,7 +84,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.en_GB: { i18n.loadAndActivate({locale, messages: messagesEn_GB}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/en-GB'), import('@formatjs/intl-pluralrules/locale-data/en'), import('@formatjs/intl-numberformat/locale-data/en-GB'), ]) @@ -99,7 +92,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.es: { i18n.loadAndActivate({locale, messages: messagesEs}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/es'), import('@formatjs/intl-pluralrules/locale-data/es'), import('@formatjs/intl-numberformat/locale-data/es'), ]) @@ -108,7 +100,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.fi: { i18n.loadAndActivate({locale, messages: messagesFi}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/fi'), import('@formatjs/intl-pluralrules/locale-data/fi'), import('@formatjs/intl-numberformat/locale-data/fi'), ]) @@ -117,7 +108,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.fr: { i18n.loadAndActivate({locale, messages: messagesFr}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/fr'), import('@formatjs/intl-pluralrules/locale-data/fr'), import('@formatjs/intl-numberformat/locale-data/fr'), ]) @@ -126,7 +116,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.ga: { i18n.loadAndActivate({locale, messages: messagesGa}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/ga'), import('@formatjs/intl-pluralrules/locale-data/ga'), import('@formatjs/intl-numberformat/locale-data/ga'), ]) @@ -135,7 +124,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.gl: { i18n.loadAndActivate({locale, messages: messagesGl}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/gl'), import('@formatjs/intl-pluralrules/locale-data/gl'), import('@formatjs/intl-numberformat/locale-data/gl'), ]) @@ -144,7 +132,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.hi: { i18n.loadAndActivate({locale, messages: messagesHi}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/hi'), import('@formatjs/intl-pluralrules/locale-data/hi'), import('@formatjs/intl-numberformat/locale-data/hi'), ]) @@ -153,7 +140,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.hu: { i18n.loadAndActivate({locale, messages: messagesHu}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/hu'), import('@formatjs/intl-pluralrules/locale-data/hu'), import('@formatjs/intl-numberformat/locale-data/hu'), ]) @@ -162,7 +148,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.id: { i18n.loadAndActivate({locale, messages: messagesId}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/id'), import('@formatjs/intl-pluralrules/locale-data/id'), import('@formatjs/intl-numberformat/locale-data/id'), ]) @@ -171,7 +156,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.it: { i18n.loadAndActivate({locale, messages: messagesIt}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/it'), import('@formatjs/intl-pluralrules/locale-data/it'), import('@formatjs/intl-numberformat/locale-data/it'), ]) @@ -180,7 +164,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.ja: { i18n.loadAndActivate({locale, messages: messagesJa}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/ja'), import('@formatjs/intl-pluralrules/locale-data/ja'), import('@formatjs/intl-numberformat/locale-data/ja'), ]) @@ -199,7 +182,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.ko: { i18n.loadAndActivate({locale, messages: messagesKo}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/ko'), import('@formatjs/intl-pluralrules/locale-data/ko'), import('@formatjs/intl-numberformat/locale-data/ko'), ]) @@ -208,7 +190,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.nl: { i18n.loadAndActivate({locale, messages: messagesNl}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/nl'), import('@formatjs/intl-pluralrules/locale-data/nl'), import('@formatjs/intl-numberformat/locale-data/nl'), ]) @@ -221,7 +202,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.pl: { i18n.loadAndActivate({locale, messages: messagesPl}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/pl'), import('@formatjs/intl-pluralrules/locale-data/pl'), import('@formatjs/intl-numberformat/locale-data/pl'), ]) @@ -230,7 +210,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.pt_BR: { i18n.loadAndActivate({locale, messages: messagesPt_BR}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/pt'), import('@formatjs/intl-pluralrules/locale-data/pt'), import('@formatjs/intl-numberformat/locale-data/pt'), ]) @@ -248,7 +227,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.ru: { i18n.loadAndActivate({locale, messages: messagesRu}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/ru'), import('@formatjs/intl-pluralrules/locale-data/ru'), import('@formatjs/intl-numberformat/locale-data/ru'), ]) @@ -257,7 +235,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.th: { i18n.loadAndActivate({locale, messages: messagesTh}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/th'), import('@formatjs/intl-pluralrules/locale-data/th'), import('@formatjs/intl-numberformat/locale-data/th'), ]) @@ -266,7 +243,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.tr: { i18n.loadAndActivate({locale, messages: messagesTr}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/tr'), import('@formatjs/intl-pluralrules/locale-data/tr'), import('@formatjs/intl-numberformat/locale-data/tr'), ]) @@ -275,7 +251,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.uk: { i18n.loadAndActivate({locale, messages: messagesUk}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/uk'), import('@formatjs/intl-pluralrules/locale-data/uk'), import('@formatjs/intl-numberformat/locale-data/uk'), ]) @@ -284,7 +259,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.vi: { i18n.loadAndActivate({locale, messages: messagesVi}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/vi'), import('@formatjs/intl-pluralrules/locale-data/vi'), import('@formatjs/intl-numberformat/locale-data/vi'), ]) @@ -293,7 +267,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.zh_CN: { i18n.loadAndActivate({locale, messages: messagesZh_CN}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/zh-Hans'), import('@formatjs/intl-pluralrules/locale-data/zh'), import('@formatjs/intl-numberformat/locale-data/zh'), ]) @@ -302,7 +275,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.zh_HK: { i18n.loadAndActivate({locale, messages: messagesZh_HK}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/yue'), import('@formatjs/intl-pluralrules/locale-data/zh'), import('@formatjs/intl-numberformat/locale-data/zh'), ]) @@ -311,7 +283,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.zh_TW: { i18n.loadAndActivate({locale, messages: messagesZh_TW}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/zh-Hant'), import('@formatjs/intl-pluralrules/locale-data/zh'), import('@formatjs/intl-numberformat/locale-data/zh'), ]) diff --git a/yarn.lock b/yarn.lock index d022a15e74..bce716f6e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4202,15 +4202,6 @@ dependencies: tslib "2" -"@formatjs/intl-datetimeformat@^6.17.1": - version "6.17.1" - resolved "https://registry.yarnpkg.com/@formatjs/intl-datetimeformat/-/intl-datetimeformat-6.17.1.tgz#d5e800891f9d79c8f1af1999f51db51f1384eca1" - integrity sha512-a18NqRo6R73xpREuMZo8FqjO+LnYFDHoeoviTh5de4ebI46wqLSDgbAIKoceuWblTQt8bvCpJIwvKgLItea88Q== - dependencies: - "@formatjs/ecma402-abstract" "2.3.1" - "@formatjs/intl-localematcher" "0.5.9" - tslib "2" - "@formatjs/intl-enumerator@1.8.7": version "1.8.7" resolved "https://registry.yarnpkg.com/@formatjs/intl-enumerator/-/intl-enumerator-1.8.7.tgz#3f004753333f80cc468ae34046bd8416772a0412" From 10981eec50a8e744e4878d2efbb39fa7847ad4d1 Mon Sep 17 00:00:00 2001 From: dan Date: Thu, 19 Dec 2024 21:47:00 +0000 Subject: [PATCH 3/6] Proper fix for iOS cropper being stuck (#7194) * Revert "Add iOS hack to fix cropper failing to show (#7191)" This reverts commit 25d20c6395a093a6cfc6aed4d08469f7f128f358. * Proper fix --- .../react-native-image-crop-picker+0.41.6.patch | 14 ++++++++++++++ src/screens/Onboarding/StepProfile/index.tsx | 6 +----- src/view/com/util/UserAvatar.tsx | 6 +----- src/view/com/util/UserBanner.tsx | 6 +----- 4 files changed, 17 insertions(+), 15 deletions(-) create mode 100644 patches/react-native-image-crop-picker+0.41.6.patch diff --git a/patches/react-native-image-crop-picker+0.41.6.patch b/patches/react-native-image-crop-picker+0.41.6.patch new file mode 100644 index 0000000000..7017ac80ea --- /dev/null +++ b/patches/react-native-image-crop-picker+0.41.6.patch @@ -0,0 +1,14 @@ +diff --git a/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m b/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m +index 9f20973..68d4766 100644 +--- a/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m ++++ b/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m +@@ -126,7 +126,8 @@ - (void) setConfiguration:(NSDictionary *)options + + - (UIViewController*) getRootVC { + UIViewController *root = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; +- while (root.presentedViewController != nil) { ++ while (root.presentedViewController != nil && ++ !root.presentedViewController.isBeingDismissed) { + root = root.presentedViewController; + } + diff --git a/src/screens/Onboarding/StepProfile/index.tsx b/src/screens/Onboarding/StepProfile/index.tsx index f8f6ecf4ed..73472ec332 100644 --- a/src/screens/Onboarding/StepProfile/index.tsx +++ b/src/screens/Onboarding/StepProfile/index.tsx @@ -15,7 +15,7 @@ import {openCropper} from '#/lib/media/picker' import {getDataUriSize} from '#/lib/media/util' import {useRequestNotificationsPermission} from '#/lib/notifications/notifications' import {logEvent, useGate} from '#/lib/statsig/statsig' -import {isIOS, isNative, isWeb} from '#/platform/detection' +import {isNative, isWeb} from '#/platform/detection' import { DescriptionText, OnboardingControls, @@ -181,10 +181,6 @@ export function StepProfile() { if (!image) return if (!isWeb) { - if (isIOS) { - // https://github.com/ivpusic/react-native-image-crop-picker/issues/1631 - await new Promise(resolve => setTimeout(resolve, 800)) - } image = await openCropper({ mediaType: 'photo', cropperCircleOverlay: true, diff --git a/src/view/com/util/UserAvatar.tsx b/src/view/com/util/UserAvatar.tsx index db35776afc..dbd68f8ef5 100644 --- a/src/view/com/util/UserAvatar.tsx +++ b/src/view/com/util/UserAvatar.tsx @@ -16,7 +16,7 @@ import { import {makeProfileLink} from '#/lib/routes/links' import {colors} from '#/lib/styles' import {logger} from '#/logger' -import {isAndroid, isIOS, isNative, isWeb} from '#/platform/detection' +import {isAndroid, isNative, isWeb} from '#/platform/detection' import {precacheProfile} from '#/state/queries/profile' import {HighPriorityImage} from '#/view/com/util/images/Image' import {tokens, useTheme} from '#/alf' @@ -319,10 +319,6 @@ let EditableUserAvatar = ({ } try { - if (isIOS) { - // https://github.com/ivpusic/react-native-image-crop-picker/issues/1631 - await new Promise(resolve => setTimeout(resolve, 800)) - } const croppedImage = await openCropper({ mediaType: 'photo', cropperCircleOverlay: true, diff --git a/src/view/com/util/UserBanner.tsx b/src/view/com/util/UserBanner.tsx index 12f52c29ef..7e71a04e9f 100644 --- a/src/view/com/util/UserBanner.tsx +++ b/src/view/com/util/UserBanner.tsx @@ -14,7 +14,7 @@ import { import {colors} from '#/lib/styles' import {useTheme} from '#/lib/ThemeContext' import {logger} from '#/logger' -import {isAndroid, isIOS, isNative} from '#/platform/detection' +import {isAndroid, isNative} from '#/platform/detection' import {EventStopper} from '#/view/com/util/EventStopper' import {tokens, useTheme as useAlfTheme} from '#/alf' import {useSheetWrapper} from '#/components/Dialog/sheet-wrapper' @@ -68,10 +68,6 @@ export function UserBanner({ } try { - if (isIOS) { - // https://github.com/ivpusic/react-native-image-crop-picker/issues/1631 - await new Promise(resolve => setTimeout(resolve, 800)) - } onSelectNewBanner?.( await openCropper({ mediaType: 'photo', From 975e61d4509dfc14142085f93cdc85684c67e2e3 Mon Sep 17 00:00:00 2001 From: Hailey Date: Thu, 19 Dec 2024 13:51:18 -0800 Subject: [PATCH 4/6] bump (#7197) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 85b5968e4f..574ca2639d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bsky.app", - "version": "1.96.0", + "version": "1.96.1", "private": true, "engines": { "node": ">=20" From 7f63679a5ebb27f3f509e70e34ba9eb09cd3dc12 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Thu, 19 Dec 2024 21:57:45 +0000 Subject: [PATCH 5/6] Fix build --- src/locale/i18n.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/locale/i18n.ts b/src/locale/i18n.ts index 2c600276d5..167e36d354 100644 --- a/src/locale/i18n.ts +++ b/src/locale/i18n.ts @@ -172,8 +172,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.km: { i18n.loadAndActivate({locale, messages: messagesKm}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/km'), - import('@formatjs/intl-datetimeformat/locale-data/km'), import('@formatjs/intl-pluralrules/locale-data/km'), import('@formatjs/intl-numberformat/locale-data/km'), ]) @@ -218,7 +216,6 @@ export async function dynamicActivate(locale: AppLanguage) { case AppLanguage.ro: { i18n.loadAndActivate({locale, messages: messagesRo}) await Promise.all([ - import('@formatjs/intl-datetimeformat/locale-data/ro'), import('@formatjs/intl-pluralrules/locale-data/ro'), import('@formatjs/intl-numberformat/locale-data/ro'), ]) From ab0697a0ecc5a0c96fc8512051121d384311c16d Mon Sep 17 00:00:00 2001 From: dan Date: Thu, 19 Dec 2024 23:14:33 +0000 Subject: [PATCH 6/6] Bump clamp max value (#7198) --- src/view/com/post-thread/PostThread.tsx | 2 +- src/view/shell/bottom-bar/BottomBar.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/view/com/post-thread/PostThread.tsx b/src/view/com/post-thread/PostThread.tsx index a0073b02f9..1bdee53075 100644 --- a/src/view/com/post-thread/PostThread.tsx +++ b/src/view/com/post-thread/PostThread.tsx @@ -714,7 +714,7 @@ function MobileComposePrompt({onPressReply}: {onPressReply: () => unknown}) { styles.prompt, fabMinimalShellTransform, { - bottom: clamp(safeAreaInsets.bottom, 13, 30), + bottom: clamp(safeAreaInsets.bottom, 13, 60), }, ]}> diff --git a/src/view/shell/bottom-bar/BottomBar.tsx b/src/view/shell/bottom-bar/BottomBar.tsx index 47a525c04d..f814468b51 100644 --- a/src/view/shell/bottom-bar/BottomBar.tsx +++ b/src/view/shell/bottom-bar/BottomBar.tsx @@ -134,7 +134,7 @@ export function BottomBar({navigation}: BottomTabBarProps) { styles.bottomBar, pal.view, pal.border, - {paddingBottom: clamp(safeAreaInsets.bottom, 15, 30)}, + {paddingBottom: clamp(safeAreaInsets.bottom, 15, 60)}, footerMinimalShellTransform, ]} onLayout={e => {