diff --git a/patches/sonner-native@0.21.0.patch b/patches/sonner-native@0.21.0.patch index 8b6ce6fcf..f04590052 100644 --- a/patches/sonner-native@0.21.0.patch +++ b/patches/sonner-native@0.21.0.patch @@ -1,22 +1,39 @@ -diff --git a/lib/commonjs/toast.js b/lib/commonjs/toast.js -index 121816a452339c1088aeba87928ff63a0bdacca5..47e74bce47323201f0bb4e5ed9dc55b373c07b97 100644 ---- a/lib/commonjs/toast.js -+++ b/lib/commonjs/toast.js -@@ -264,7 +264,7 @@ const Toast = exports.Toast = /*#__PURE__*/React.forwardRef(({ +diff --git a/lib/module/toast.js b/lib/module/toast.js +index be089f3ff23017a6844e2010cedc547729e198aa..c2dd0fa2df93f929c33bf2bcc3e6f921941fa006 100644 +--- a/lib/module/toast.js ++++ b/lib/module/toast.js +@@ -1,8 +1,8 @@ + "use strict"; + + import * as React from 'react'; +-import { ActivityIndicator, Pressable, Text, View } from 'react-native'; +-import Animated, { useAnimatedStyle, useSharedValue, withRepeat, withTiming } from 'react-native-reanimated'; ++import { ActivityIndicator, Pressable, Text, View, Platform } from 'react-native'; ++import Animated, { useAnimatedStyle, useSharedValue, withRepeat, withTiming, FadeOut } from 'react-native-reanimated'; + import { ANIMATION_DURATION, useToastLayoutAnimations } from "./animations.js"; + import { toastDefaultValues } from "./constants.js"; + import { useToastContext } from "./context.js"; +@@ -258,7 +258,10 @@ export const Toast = /*#__PURE__*/React.forwardRef(({ ...toastSwipeHandlerProps, - children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, { + children: /*#__PURE__*/_jsx(Animated.View, { entering: entering, - exiting: exiting, -+ exiting: _reactNative.Platform.OS === 'android' ? undefined : exiting, ++ exiting: Platform.select({ ++ android: undefined, ++ default: exiting ++ }), children: jsx }) }); -@@ -274,7 +274,7 @@ const Toast = exports.Toast = /*#__PURE__*/React.forwardRef(({ - children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, { +@@ -268,7 +271,10 @@ export const Toast = /*#__PURE__*/React.forwardRef(({ + children: /*#__PURE__*/_jsx(Animated.View, { style: [unstyled ? undefined : elevationStyle, defaultStyles.toast, toastStyleCtx, styles?.toast, style, wiggleAnimationStyle], entering: entering, - exiting: exiting, -+ exiting: _reactNative.Platform.OS === 'android' ? undefined : exiting, - children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, { ++ exiting: Platform.select({ ++ android: undefined, ++ default: exiting ++ }), + children: /*#__PURE__*/_jsxs(View, { style: [defaultStyles.toastContent, toastContentStyleCtx, styles?.toastContent], - children: [promiseOptions || variant === 'loading' ? 'loading' in icons ? icons.loading : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {}) : icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, { + children: [promiseOptions || variant === 'loading' ? 'loading' in icons ? icons.loading : /*#__PURE__*/_jsx(ActivityIndicator, {}) : icon ? /*#__PURE__*/_jsx(View, { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ee7f8313..86d20ca5f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -235,7 +235,7 @@ patchedDependencies: react-native-uitextview@1.4.0: 62de26caadfc39d1bdff204cdc03a705c0cd343999825e06d8c0c120de06cc99 react-native-view-shot@4.0.3: a2457dc30a82cc8c21f371a6f860d9396d450a2a1b4265b1a4ee13bdb24d3268 react-native@0.81.5: 2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194 - sonner-native@0.21.0: a07ea00b9f97634a402875e49a5231407e82733dd49c5dbc230afc3d1bc7dcf5 + sonner-native@0.21.0: 4bcd0da0fec32e943460e6e788a9e4adf601b507d2dfd0c8246a6c8c74d8f638 importers: @@ -693,7 +693,7 @@ importers: version: 2.0.7(react-dom@19.1.0(react@19.1.0))(react@19.1.0) sonner-native: specifier: 0.21.0 - version: 0.21.0(patch_hash=a07ea00b9f97634a402875e49a5231407e82733dd49c5dbc230afc3d1bc7dcf5)(4e42d15c94c2c56af69d343a007eb893) + version: 0.21.0(patch_hash=4bcd0da0fec32e943460e6e788a9e4adf601b507d2dfd0c8246a6c8c74d8f638)(4e42d15c94c2c56af69d343a007eb893) tippy.js: specifier: ^6.3.7 version: 6.3.7 @@ -18539,7 +18539,7 @@ snapshots: uuid: 8.3.2 websocket-driver: 0.7.4 - sonner-native@0.21.0(patch_hash=a07ea00b9f97634a402875e49a5231407e82733dd49c5dbc230afc3d1bc7dcf5)(4e42d15c94c2c56af69d343a007eb893): + sonner-native@0.21.0(patch_hash=4bcd0da0fec32e943460e6e788a9e4adf601b507d2dfd0c8246a6c8c74d8f638)(4e42d15c94c2c56af69d343a007eb893): dependencies: react: 19.1.0 react-native: 0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0) -- 2.51.2 From 855d785bf851598c71b38c02ed1439d1d7aeb0dc Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Mon, 1 Jun 2026 15:18:15 +0300 Subject: [PATCH 02/32] Gate new group chat creation on canCreateGroups (#10656) Co-authored-by: Claude Opus 4.8 (1M context) --- src/components/dms/InitiateChatFlow.tsx | 38 +++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/src/components/dms/InitiateChatFlow.tsx b/src/components/dms/InitiateChatFlow.tsx index f58d168cb..09760aefd 100644 --- a/src/components/dms/InitiateChatFlow.tsx +++ b/src/components/dms/InitiateChatFlow.tsx @@ -14,6 +14,7 @@ import {sanitizeDisplayName} from '#/lib/strings/display-names' import {sanitizeHandle} from '#/lib/strings/handles' import {useModerationOpts} from '#/state/preferences/moderation-opts' import {useActorAutocompleteQuery} from '#/state/queries/actor-autocomplete' +import {useChatActorStatusQuery} from '#/state/queries/messages/get-status' import {useProfileFollowsQuery} from '#/state/queries/profile-follows' import {useSession} from '#/state/session' import {type ListMethods} from '#/view/com/util/List' @@ -31,6 +32,7 @@ import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRightIcon} from '#/compon import {PersonGroup_Stroke2_Corner2_Rounded as PersonGroupIcon} from '#/components/icons/Person' import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Times' import * as ProfileCard from '#/components/ProfileCard' +import * as Prompt from '#/components/Prompt' import {Text} from '#/components/Typography' import {IS_NATIVE, IS_WEB} from '#/env' import type * as bsky from '#/types/bsky' @@ -206,6 +208,10 @@ export function InitiateChatFlow({ const listRef = useRef(null) const {currentAccount} = useSession() const inputRef = useRef(null) + const accountTooNewPromptControl = Dialog.useDialogControl() + + const {data: chatStatus} = useChatActorStatusQuery() + const canCreateGroups = chatStatus?.canCreateGroups ?? true const [searchText, setSearchText] = useState('') @@ -358,9 +364,13 @@ export function InitiateChatFlow({ }, [chatState, control, newGroupChatTitle, title]) const handlePressNewGroupChat = useCallback(() => { + if (!canCreateGroups) { + accountTooNewPromptControl.open() + return + } LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) dispatch({type: 'startNewGroupChat', screenTitle: newGroupChatTitle}) - }, [newGroupChatTitle]) + }, [accountTooNewPromptControl, canCreateGroups, newGroupChatTitle]) const handlePressNext = useCallback(() => { LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) @@ -384,6 +394,7 @@ export function InitiateChatFlow({ ) } @@ -429,7 +440,13 @@ export function InitiateChatFlow({ return null } }, - [chatState, handlePressNewGroupChat, moderationOpts, onSelectChat], + [ + canCreateGroups, + chatState, + handlePressNewGroupChat, + moderationOpts, + onSelectChat, + ], ) useLayoutEffect(() => { @@ -652,6 +669,14 @@ export function InitiateChatFlow({ : l`Start chat` } style={web([a.contents])}> + {}} + showCancel={false} + /> void}) { +function NewGroupChatButton({ + onPress, + dimmed = false, +}: { + onPress: () => void + dimmed?: boolean +}) { const t = useTheme() const {t: l} = useLingui() @@ -726,6 +757,7 @@ function NewGroupChatButton({onPress}: {onPress: () => void}) { a.align_center, a.gap_sm, pressed || focused || hovered ? t.atoms.bg_contrast_25 : t.atoms.bg, + dimmed && {opacity: 0.5}, ]}> Date: Mon, 1 Jun 2026 15:35:37 +0300 Subject: [PATCH 03/32] [pnpm] Use latest pnpm (#10585) --- Dockerfile.embedr | 2 +- package.json | 2 +- pnpm-lock.yaml | 78 +++++++++++++++++++++++------------------------ 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/Dockerfile.embedr b/Dockerfile.embedr index b134bfa48..a55ddf11a 100644 --- a/Dockerfile.embedr +++ b/Dockerfile.embedr @@ -33,7 +33,7 @@ RUN mkdir --parents $NVM_DIR && \ RUN \. "$NVM_DIR/nvm.sh" && \ nvm install $NODE_VERSION && \ nvm use $NODE_VERSION && \ - npm install --global pnpm@11.1.3 && \ + npm install --global pnpm@11.5.0 && \ pnpm install --frozen-lockfile && \ cd bskyembed && pnpm install --frozen-lockfile && cd .. && \ pnpm intl:build && \ diff --git a/package.json b/package.json index 46308b1af..a5060568e 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "devEngines": { "packageManager": { "name": "pnpm", - "version": "11.1.3", + "version": "11.5.0", "onFail": "warn" }, "runtime": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 86d20ca5f..9f3c33bb4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,52 +7,52 @@ importers: configDependencies: {} packageManagerDependencies: '@pnpm/exe': - specifier: 11.1.3 - version: 11.1.3 + specifier: 11.5.0 + version: 11.5.0 pnpm: - specifier: 11.1.3 - version: 11.1.3 + specifier: 11.5.0 + version: 11.5.0 packages: - '@pnpm/exe@11.1.3': - resolution: {integrity: sha512-J6bSMpZlHVUKuMKtPT/+lrFPpvBiOIgk6HnNC3vmoM/fsMgFhao6ITFwdsUMzdCl2qHf9cnVYA4ZBdsGmVUnpg==} + '@pnpm/exe@11.5.0': + resolution: {integrity: sha512-4hzOXq1HHrNPjwI8k1rt7Ot/Yrdx1JX3pn/L/M95ii1gid1Q6ZK6dVg4+gbSgUdPsYmYDZ4/Yfc0A7vd5C0ndg==} hasBin: true - '@pnpm/linux-arm64@11.1.3': - resolution: {integrity: sha512-sz3fc0hSqguk2eGe/InelpBD3LP82MzF+8pLzDpYNGuhasGY+VWkuxEo02HczQYRVXTsbpZVepk+Qs2CONc04Q==} + '@pnpm/linux-arm64@11.5.0': + resolution: {integrity: sha512-NV9HdzzCB0epuI9LqZZeTaqjH3OweNQSQCS76GzEkFxJHS9e5Gvu7tgex91gxVL7bCZ+R4yr/3d3yexBFtr2ug==} cpu: [arm64] os: [linux] - '@pnpm/linux-x64@11.1.3': - resolution: {integrity: sha512-UadJh5fJZWa47OtdZTWLKWDj4z5WpZFB5pS2wOh/kfKypUmQyjmbOMClP7/yJGS2ZtrSjRgYjIEWAjndkWsMaA==} + '@pnpm/linux-x64@11.5.0': + resolution: {integrity: sha512-vH83rRx4iPk/bwm9pBVCn+5hXbcQI66I/4zk6Vc09SusJgTqOdbN4U6VhMcGIqSEdr901ksYGCyIbMv7f6Guew==} cpu: [x64] os: [linux] - '@pnpm/linuxstatic-arm64@11.1.3': - resolution: {integrity: sha512-lWmGr96w+VrIRVsEfTXROB3GeQNxrX2Hy32j3USHr6WlqmpH1i7YjavJGpoXeVZbb77fCFjNFAtsJzGXSgy/Og==} + '@pnpm/linuxstatic-arm64@11.5.0': + resolution: {integrity: sha512-2nOnMW1rSwGv22q2yZz1HlGT3ly/Ij8wUlX0NB4n+Krx7nETRHA3MgWsbkVejxHknDcTulRVudAghuX9rgrXcw==} cpu: [arm64] os: [linux] libc: [musl] - '@pnpm/linuxstatic-x64@11.1.3': - resolution: {integrity: sha512-I74GDBOPbr5TXgob3ct4hv6BQtLGdsjGJrII2qNl/e2xYHXekjIWE4Eh7RGN4C7xu+BZYKtvnOOr149yR7KxUw==} + '@pnpm/linuxstatic-x64@11.5.0': + resolution: {integrity: sha512-ONOC1Mg0JusHtjzkRlre9di1QO+GAjy4HP7jMjDx21yGhrSheNdUweTXbekMH1EflRd19kTU6d8M3zewJFPtVg==} cpu: [x64] os: [linux] libc: [musl] - '@pnpm/macos-arm64@11.1.3': - resolution: {integrity: sha512-nWn155BVa54iNyg4iolVhjMtqumXHPh8ul5CFjQFJXdwgr9MRUgc5EUBML1+7mS8C/7Wcex5HUgn/w3fliHCsQ==} + '@pnpm/macos-arm64@11.5.0': + resolution: {integrity: sha512-od0ALdTxs4A7s5vAH5q2l2phzCJb98+PVOW1rq7BGpWGeYxQ+EwvL+vq0KaO6iLsn/eVVoncCkgZ/k6QNYuTgw==} cpu: [arm64] os: [darwin] - '@pnpm/win-arm64@11.1.3': - resolution: {integrity: sha512-4u6PQL7/WgwdweC2ZJcdCzhM1koRFG5ofcUSrIVsdyo9ePfGq2D9p1rkZbiLEfIGvl3GKOsfMB5DRTgs8es4AQ==} + '@pnpm/win-arm64@11.5.0': + resolution: {integrity: sha512-9HqbI80FjVVqFx4+EPxYYNfeP9Sx69W6kYqUDvOJn9G7RJ/2NNNQ898cVHTMpXlW1/PrMEcijmdpa/NjZIrWiQ==} cpu: [arm64] os: [win32] - '@pnpm/win-x64@11.1.3': - resolution: {integrity: sha512-JmhH7ljJ3MWjvWFz/YHbu/27ISCNLZsQb1JG+ib3uHlfUwIJuF6BudXYsbS5Uu0o7xUvC9sPPm+Uho4Or6R3vA==} + '@pnpm/win-x64@11.5.0': + resolution: {integrity: sha512-Q89CQqFGAsWmfvHZs5Kbbar45q3GBYtfAdPUCiVMVNJoLi3dsBS2LCvUq8ak3AufkFDaJBpvhaFcDP2M1NXr3A==} cpu: [x64] os: [win32] @@ -116,45 +116,45 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - pnpm@11.1.3: - resolution: {integrity: sha512-yFNX/hfKEt0j3XBxgiZm39fjy3b+IU4zcLXqL7NPKiMRhVCbY+cX880KyzjdP42CvNXoFyQArmeLcOpPvtCJbQ==} + pnpm@11.5.0: + resolution: {integrity: sha512-2/zE+Bz0hZev1Lw5H/3xLBHxqfuDo5W/prCi2cwv2P/rr9scy9UpYyFT95OQTCYVt/Cf4aNFRz/Rw1hFFyqOsQ==} engines: {node: '>=22.13'} hasBin: true snapshots: - '@pnpm/exe@11.1.3': + '@pnpm/exe@11.5.0': dependencies: '@reflink/reflink': 0.1.19 detect-libc: 2.1.2 optionalDependencies: - '@pnpm/linux-arm64': 11.1.3 - '@pnpm/linux-x64': 11.1.3 - '@pnpm/linuxstatic-arm64': 11.1.3 - '@pnpm/linuxstatic-x64': 11.1.3 - '@pnpm/macos-arm64': 11.1.3 - '@pnpm/win-arm64': 11.1.3 - '@pnpm/win-x64': 11.1.3 - - '@pnpm/linux-arm64@11.1.3': + '@pnpm/linux-arm64': 11.5.0 + '@pnpm/linux-x64': 11.5.0 + '@pnpm/linuxstatic-arm64': 11.5.0 + '@pnpm/linuxstatic-x64': 11.5.0 + '@pnpm/macos-arm64': 11.5.0 + '@pnpm/win-arm64': 11.5.0 + '@pnpm/win-x64': 11.5.0 + + '@pnpm/linux-arm64@11.5.0': optional: true - '@pnpm/linux-x64@11.1.3': + '@pnpm/linux-x64@11.5.0': optional: true - '@pnpm/linuxstatic-arm64@11.1.3': + '@pnpm/linuxstatic-arm64@11.5.0': optional: true - '@pnpm/linuxstatic-x64@11.1.3': + '@pnpm/linuxstatic-x64@11.5.0': optional: true - '@pnpm/macos-arm64@11.1.3': + '@pnpm/macos-arm64@11.5.0': optional: true - '@pnpm/win-arm64@11.1.3': + '@pnpm/win-arm64@11.5.0': optional: true - '@pnpm/win-x64@11.1.3': + '@pnpm/win-x64@11.5.0': optional: true '@reflink/reflink-darwin-arm64@0.1.19': @@ -194,7 +194,7 @@ snapshots: detect-libc@2.1.2: {} - pnpm@11.1.3: {} + pnpm@11.5.0: {} --- lockfileVersion: '9.0' -- 2.51.2 From 601dae0cdae8eaa68d8348e9727520811b7b3dae Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Mon, 1 Jun 2026 17:56:34 +0300 Subject: [PATCH 04/32] fix(ios): fix Hermes startup race in ExpoBridgeModule (patch) (#10672) Co-authored-by: Claude Opus 4.8 (1M context) --- patches/expo-modules-core@3.0.30.patch | 36 +++++++++++++++++++++++ patches/expo-modules-core@3.0.30.patch.md | 25 +++++++++++++++- pnpm-lock.yaml | 6 ++-- 3 files changed, 63 insertions(+), 4 deletions(-) diff --git a/patches/expo-modules-core@3.0.30.patch b/patches/expo-modules-core@3.0.30.patch index 7de1337aa..1be4787a2 100644 --- a/patches/expo-modules-core@3.0.30.patch +++ b/patches/expo-modules-core@3.0.30.patch @@ -13,3 +13,39 @@ index 47c4d15f6b10bbd77858cfff425cda9a618735b9..afe138d22d566244482498a7be0e14b8 // Check for Content-Type val skipContentTypes = listOf( "text/event-stream", // Server Sent Events +diff --git a/ios/Core/ExpoBridgeModule.mm b/ios/Core/ExpoBridgeModule.mm +index 2ed1c00f47406e109750cc27ace7e0d88e42c00e..99d0d140eddf95a8db7beb57c61dfcb12c1424b4 100644 +--- a/ios/Core/ExpoBridgeModule.mm ++++ b/ios/Core/ExpoBridgeModule.mm +@@ -7,6 +7,9 @@ + // The runtime executor is included as of React Native 0.74 in bridgeless mode. + #if __has_include() + #import ++#else // React Native <0.74 ++// dispatchBlock:queue: is declared in RCTBridge+Private.h, not the public header. ++#import + #endif // React Native >=0.74 + + @implementation ExpoBridgeModule +@@ -46,7 +49,20 @@ - (void)setBridge:(RCTBridge *)bridge + _appContext.reactBridge = bridge; + + #if !__has_include() +- _appContext._runtime = [EXJavaScriptRuntimeManager runtimeFromBridge:bridge]; ++ // Hop the runtime install (and the prepareRuntime() chain it triggers via ++ // _runtime.didSet) onto RCTJSThread. The original line ran synchronously ++ // on whatever thread called setBridge: - typically the main thread - and ++ // raced JSIExecutor::initializeRuntime() on the JS thread, corrupting ++ // Hermes' Hades GC (HadesGC::writeBarrierSlow EXC_BAD_ACCESS). ++ __weak EXAppContext *weakAppContext = _appContext; ++ __weak RCTBridge *weakBridge = bridge; ++ [bridge dispatchBlock:^{ ++ EXAppContext *strongAppContext = weakAppContext; ++ RCTBridge *strongBridge = weakBridge; ++ if (strongAppContext != nil && strongBridge != nil && strongAppContext._runtime == nil) { ++ strongAppContext._runtime = [EXJavaScriptRuntimeManager runtimeFromBridge:strongBridge]; ++ } ++ } queue:RCTJSThread]; + #endif // React Native <0.74 + } + diff --git a/patches/expo-modules-core@3.0.30.patch.md b/patches/expo-modules-core@3.0.30.patch.md index a71324c19..3ce964a7a 100644 --- a/patches/expo-modules-core@3.0.30.patch.md +++ b/patches/expo-modules-core@3.0.30.patch.md @@ -1,3 +1,26 @@ ## expo-modules-core Patch -This patch fixes an issue where bitdrift's API stream gets blocked by the Expo interceptor used to power the devtools +This patch contains two unrelated fixes: + +### Android: bitdrift interceptor + +Fixes an issue where bitdrift's API stream gets blocked by the Expo interceptor used to power the devtools. + +### iOS: Hermes startup race in `ExpoBridgeModule.setBridge:` + +On the legacy bridge (old architecture, where `RCTRuntimeExecutor.h` is +absent), `setBridge:` installed the Expo runtime synchronously on whatever +thread called it - typically the main thread, since RN's lazy module-load +path ignores `+requiresMainQueueSetup`. The `_runtime.didSet` then ran +`prepareRuntime()` (JSI mutations) on the main thread while the JS thread was +concurrently inside `JSIExecutor::initializeRuntime()`. Two threads mutating +the same Hermes runtime corrupted Hades GC, producing intermittent +`EXC_BAD_ACCESS` launch crashes (e.g. `HadesGC::writeBarrierSlow`, +`prepareRuntime` / `bindNativePerformanceNow`). + +The fix hops the runtime install onto `RCTJSThread` so all JSI mutation is +serialized on the JS thread. This backports the upstream fix discussed in +expo/expo#45374; the racy `ExpoBridgeModule` is removed entirely in SDK 55+ +(expo/expo#44351), so this patch can be dropped on that upgrade. + +Refs: expo/expo#43003, expo/expo#45374, expo/expo#44351 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9f3c33bb4..0880afc3d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -222,7 +222,7 @@ patchedDependencies: expo-image-picker@17.0.11: 47b28f6ddb8bcaa6483f8714c82daaa0001122f2b0dac6c05d19e98a61a6ceab expo-image@3.0.11: 6d46ffac33426c5285777da5bf5f88c68c8ce27290595dfa65f38c478930c2c4 expo-media-library@18.2.1: 2b84c17999bb0c977eaef7fa8ac297f7074d91c94fb63726b42d2a277b26b39a - expo-modules-core@3.0.30: 86e57bb33bc6c3f7021e948e099c2b5378772147b92a82a16e2e90ddcb857ace + expo-modules-core@3.0.30: 952fb1c8cb6dc8a0d8ef4e1114942a341d89b025e011f1acfff788929997346e expo-notifications@0.32.17: a45a8dcf3d8c4b5df4ee0e62bc79b755fcf9d28ca51a6f685b85830bf4afc2e5 expo-updates@29.0.17: 04f28cb005b770e9ae8f0065eab96e43cbb1e58107f5f6ad1bdd18f6deb66487 react-native-compressor@1.13.0: 58379dfaace6ced8590cb341c77f2ca8099dfa8f7df6297032ec51de767a9925 @@ -15033,7 +15033,7 @@ snapshots: require-from-string: 2.0.2 resolve-from: 5.0.0 - expo-modules-core@3.0.30(patch_hash=86e57bb33bc6c3f7021e948e099c2b5378772147b92a82a16e2e90ddcb857ace)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): + expo-modules-core@3.0.30(patch_hash=952fb1c8cb6dc8a0d8ef4e1114942a341d89b025e011f1acfff788929997346e)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): dependencies: invariant: 2.2.4 react: 19.1.0 @@ -15169,7 +15169,7 @@ snapshots: expo-font: 14.0.11(expo@54.0.34(@babel/core@7.29.0)(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) expo-keep-awake: 15.0.8(expo@54.0.34(@babel/core@7.29.0)(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react@19.1.0) expo-modules-autolinking: 3.0.25 - expo-modules-core: 3.0.30(patch_hash=86e57bb33bc6c3f7021e948e099c2b5378772147b92a82a16e2e90ddcb857ace)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + expo-modules-core: 3.0.30(patch_hash=952fb1c8cb6dc8a0d8ef4e1114942a341d89b025e011f1acfff788929997346e)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) pretty-format: 29.7.0 react: 19.1.0 react-native: 0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0) -- 2.51.2 From bccca283b9521c1d7d2a16ba295f72826e0d0f1e Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Mon, 1 Jun 2026 18:28:38 +0300 Subject: [PATCH 05/32] [Chat] Add `/c/:code` handler to bskyweb (#10630) --- bskyweb/cmd/bskyweb/main.go | 6 +++ bskyweb/cmd/bskyweb/server.go | 68 ++++++++++++++++++++++++++++--- bskyweb/go.mod | 2 +- bskyweb/go.sum | 6 +-- bskyweb/templates/chatinvite.html | 25 ++++++++++++ 5 files changed, 96 insertions(+), 11 deletions(-) create mode 100644 bskyweb/templates/chatinvite.html diff --git a/bskyweb/cmd/bskyweb/main.go b/bskyweb/cmd/bskyweb/main.go index da8a30953..c3ded18e7 100644 --- a/bskyweb/cmd/bskyweb/main.go +++ b/bskyweb/cmd/bskyweb/main.go @@ -46,6 +46,12 @@ func run(args []string) { Required: false, EnvVars: []string{"OGCARD_HOST"}, }, + &cli.StringFlag{ + Name: "chat-host", + Usage: "scheme, hostname, and port of chat appview", + Required: false, + EnvVars: []string{"CHAT_HOST"}, + }, &cli.StringFlag{ Name: "http-address", Usage: "Specify the local IP/port to bind to", diff --git a/bskyweb/cmd/bskyweb/server.go b/bskyweb/cmd/bskyweb/server.go index 44e79bd3f..4a4ba2fde 100644 --- a/bskyweb/cmd/bskyweb/server.go +++ b/bskyweb/cmd/bskyweb/server.go @@ -17,11 +17,13 @@ import ( "net/url" "os" "os/signal" + "regexp" "strings" "syscall" "time" appbsky "github.com/bluesky-social/indigo/api/bsky" + chat "github.com/bluesky-social/indigo/api/chat" "github.com/bluesky-social/indigo/atproto/syntax" "github.com/bluesky-social/indigo/util/cliutil" "github.com/bluesky-social/indigo/xrpc" @@ -37,10 +39,11 @@ import ( ) type Server struct { - echo *echo.Echo - httpd *http.Server - xrpcc *xrpc.Client - cfg *Config + echo *echo.Echo + httpd *http.Server + xrpcc *xrpc.Client + chatXrpcc *xrpc.Client + cfg *Config ipccClient http.Client @@ -54,6 +57,7 @@ type Config struct { debug bool httpAddress string appviewHost string + chatHost string ogcardHost string linkHost string ipccHost string @@ -64,6 +68,7 @@ func serve(cctx *cli.Context) error { debug := cctx.Bool("debug") httpAddress := cctx.String("http-address") appviewHost := cctx.String("appview-host") + chatHost := cctx.String("chat-host") ogcardHost := cctx.String("ogcard-host") linkHost := cctx.String("link-host") ipccHost := cctx.String("ipcc-host") @@ -83,6 +88,15 @@ func serve(cctx *cli.Context) error { Host: appviewHost, } + // optional client for the chat appview, used by /c/ for OG previews. + var chatXrpcc *xrpc.Client + if chatHost != "" { + chatXrpcc = &xrpc.Client{ + Client: cliutil.NewHttpClient(), + Host: chatHost, + } + } + // httpd var ( httpTimeout = 2 * time.Minute @@ -106,12 +120,14 @@ func serve(cctx *cli.Context) error { // server // server := &Server{ - echo: e, - xrpcc: xrpcc, + echo: e, + xrpcc: xrpcc, + chatXrpcc: chatXrpcc, cfg: &Config{ debug: debug, httpAddress: httpAddress, appviewHost: appviewHost, + chatHost: chatHost, ogcardHost: ogcardHost, linkHost: linkHost, ipccHost: ipccHost, @@ -349,6 +365,9 @@ func serve(cctx *cli.Context) error { e.GET("/starter-pack-short/:code", server.WebGeneric) e.GET("/start/:handleOrDID/:rkey", server.WebStarterPack) + // chat invites + e.GET("/c/:code", server.WebChatInvite) + // bookmarks e.GET("/saved", server.WebGeneric) @@ -644,6 +663,43 @@ func (srv *Server) WebStarterPack(c echo.Context) error { return c.Render(http.StatusOK, "starterpack.html", data) } +// chatInviteCodeRe is a permissive sanity check on the join code so we don't +// proxy obviously-bad input to the chat appview. Codes are opaque per the +// lexicon, but in practice URL-safe and short. +var chatInviteCodeRe = regexp.MustCompile(`^[A-Za-z0-9_-]{1,64}$`) + +func (srv *Server) WebChatInvite(c echo.Context) error { + req := c.Request() + ctx := req.Context() + data := srv.NewTemplateContext() + data["requestURI"] = fmt.Sprintf("https://%s%s", req.Host, req.URL.Path) + + code := c.Param("code") + if !chatInviteCodeRe.MatchString(code) { + return c.Render(http.StatusOK, "chatinvite.html", data) + } + if srv.chatXrpcc == nil { + return c.Render(http.StatusOK, "chatinvite.html", data) + } + + out, err := chat.GroupGetJoinLinkPreviews(ctx, srv.chatXrpcc, []string{code}) + if err != nil { + log.Errorf("failed to fetch chat invite preview for code=%s: %v", code, err) + return c.Render(http.StatusOK, "chatinvite.html", data) + } + if len(out.JoinLinkPreviews) == 0 { + return c.Render(http.StatusOK, "chatinvite.html", data) + } + preview := out.JoinLinkPreviews[0] + + data["title"] = preview.Name + if srv.cfg.ogcardHost != "" { + // bskyogcard registers this route as /chat-invite/:code, not /c/:code. + data["imgThumbUrl"] = fmt.Sprintf("%s/chat-invite/%s", srv.cfg.ogcardHost, code) + } + return c.Render(http.StatusOK, "chatinvite.html", data) +} + func (srv *Server) WebProfile(c echo.Context) error { ctx := c.Request().Context() data := srv.NewTemplateContext() diff --git a/bskyweb/go.mod b/bskyweb/go.mod index 44be241e1..50ab9a162 100644 --- a/bskyweb/go.mod +++ b/bskyweb/go.mod @@ -3,7 +3,7 @@ module github.com/bluesky-social/social-app/bskyweb go 1.26 require ( - github.com/bluesky-social/indigo v0.0.0-20260528134852-3e368bd18814 + github.com/bluesky-social/indigo v0.0.0-20260529183052-5368f55344e0 github.com/flosch/pongo2/v6 v6.0.0 github.com/ipfs/go-log v1.0.5 github.com/joho/godotenv v1.5.1 diff --git a/bskyweb/go.sum b/bskyweb/go.sum index be46f5753..235e37f52 100644 --- a/bskyweb/go.sum +++ b/bskyweb/go.sum @@ -2,10 +2,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bluesky-social/indigo v0.0.0-20260527160159-3b7634c713b8 h1:heYuihJZQZMNij7+dKIEfApG10xrGnDV2rtKpvFyYYU= -github.com/bluesky-social/indigo v0.0.0-20260527160159-3b7634c713b8/go.mod h1:JqQkz8lrOI6YZivP38GHmtVOTtzsNToITKj1gMpU5Jo= -github.com/bluesky-social/indigo v0.0.0-20260528134852-3e368bd18814 h1:UZK0qmB7LAe2IZY6RASlsE0Mm1Rjasddd2T5zWWvT54= -github.com/bluesky-social/indigo v0.0.0-20260528134852-3e368bd18814/go.mod h1:JqQkz8lrOI6YZivP38GHmtVOTtzsNToITKj1gMpU5Jo= +github.com/bluesky-social/indigo v0.0.0-20260529183052-5368f55344e0 h1:eijBaF59A5c+kPqufH7YO1GOqDMkyUhtM9P9aAWtfJY= +github.com/bluesky-social/indigo v0.0.0-20260529183052-5368f55344e0/go.mod h1:JqQkz8lrOI6YZivP38GHmtVOTtzsNToITKj1gMpU5Jo= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= diff --git a/bskyweb/templates/chatinvite.html b/bskyweb/templates/chatinvite.html new file mode 100644 index 000000000..63ae03ee3 --- /dev/null +++ b/bskyweb/templates/chatinvite.html @@ -0,0 +1,25 @@ +{% extends "base.html" %} + +{% block html_head_extra -%} + {%- if requestURI %} + + {% endif -%} + {%- if imgThumbUrl %} + + + {%- else -%} + + + {% endif -%} + + {%- if title %} + + + {%- else -%} + + + {% endif -%} + + + +{%- endblock %} -- 2.51.2 From 0d38e2ab3fbcc35bdba1cc12492be43d063eeccf Mon Sep 17 00:00:00 2001 From: DS Boyce <260543580+ds-boyce@users.noreply.github.com> Date: Mon, 1 Jun 2026 10:15:21 -0700 Subject: [PATCH 06/32] Show chat info panel for empty chats (#10677) --- src/screens/Messages/components/MessagesList.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/screens/Messages/components/MessagesList.tsx b/src/screens/Messages/components/MessagesList.tsx index e1e4849fc..99b725267 100644 --- a/src/screens/Messages/components/MessagesList.tsx +++ b/src/screens/Messages/components/MessagesList.tsx @@ -240,7 +240,11 @@ export function MessagesList({ // Initial scroll to bottom — unconditional, not gated on isAtBottom. This is separated because contentInset // can cause an early onScroll with a negative offset that sets isAtBottom to false before we get here. - if (!hasInitiallyScrolled.current && renderItems.length > 0) { + // Empty convos take this path too (once history is done) so hasScrolled gets set without an animated scroll. + if ( + !hasInitiallyScrolled.current && + (renderItems.length > 0 || !convoState.isFetchingHistory) + ) { hasInitiallyScrolled.current = true flatListRef.current?.scrollToOffset({offset: height, animated: false}) // If history is already done loading, mark ready after a frame for the scroll to settle. -- 2.51.2 From ba24c7c35752b8ba278d4402ad9cde9b79240344 Mon Sep 17 00:00:00 2001 From: DS Boyce <260543580+ds-boyce@users.noreply.github.com> Date: Mon, 1 Jun 2026 14:32:36 -0700 Subject: [PATCH 07/32] Display join requests on chat list (#10679) --- .../MembersAndRequests.tsx | 2 +- .../Messages/components/ChatListItem.tsx | 15 +++++++ .../queries/messages/list-conversations.tsx | 41 +++++++++++++++++-- 3 files changed, 53 insertions(+), 5 deletions(-) diff --git a/src/screens/Messages/ConversationSettings/MembersAndRequests.tsx b/src/screens/Messages/ConversationSettings/MembersAndRequests.tsx index 837e55392..b9d9ecc2b 100644 --- a/src/screens/Messages/ConversationSettings/MembersAndRequests.tsx +++ b/src/screens/Messages/ConversationSettings/MembersAndRequests.tsx @@ -48,7 +48,7 @@ export function MembersAndRequests({ ? l({ message: `${requestCount}+ requests`, comment: - 'Displayed when there are more than 50 requests to join a group chat', + 'Displayed when there are more than 20 requests to join a group chat', }) : l({ message: plural(requestCount, { diff --git a/src/screens/Messages/components/ChatListItem.tsx b/src/screens/Messages/components/ChatListItem.tsx index aba329517..eb002c581 100644 --- a/src/screens/Messages/components/ChatListItem.tsx +++ b/src/screens/Messages/components/ChatListItem.tsx @@ -6,6 +6,7 @@ import { type ModerationDecision, type ModerationOpts, } from '@atproto/api' +import {plural} from '@lingui/core/macro' import {useLingui} from '@lingui/react/macro' import {useQueryClient} from '@tanstack/react-query' @@ -213,6 +214,20 @@ function GroupChatItem({ primaryProfileModeration={moderation} isBlockedAccount={false} isDeletedAccount={false} + subtitle={ + convo.details.joinRequestCount + ? convo.details.joinRequestCount > 20 + ? l({ + message: '20+ new join requests', + context: + 'Displayed when there are more than 20 requests to join a group chat', + }) + : plural(convo.details.joinRequestCount, { + one: '# new join request', + other: '# new join requests', + }) + : undefined + } showProfileBadges={false} selected={selected} showMenu={showMenu}> diff --git a/src/state/queries/messages/list-conversations.tsx b/src/state/queries/messages/list-conversations.tsx index 56c8a5d4a..f026e57d3 100644 --- a/src/state/queries/messages/list-conversations.tsx +++ b/src/state/queries/messages/list-conversations.tsx @@ -489,12 +489,22 @@ export function ListConvosProviderInner({ // Join link data not included in the log event, trigger refetch to get it debouncedRefetch() } else if ( - ChatBskyConvoDefs.isLogIncomingJoinRequest(log) || ChatBskyConvoDefs.isLogApproveJoinRequest(log) || - ChatBskyConvoDefs.isLogRejectJoinRequest(log) || - ChatBskyConvoDefs.isLogOutgoingJoinRequest(log) + ChatBskyConvoDefs.isLogRejectJoinRequest(log) ) { - // TODO Update join request count here when available. -dsb + queryClient.setQueriesData( + {queryKey: [RQKEY_ROOT]}, + (old?: ConvoListQueryData) => + updateGroupConvoJoinRequestCount(log, old, -1), + ) + } else if (ChatBskyConvoDefs.isLogIncomingJoinRequest(log)) { + queryClient.setQueriesData( + {queryKey: [RQKEY_ROOT]}, + (old?: ConvoListQueryData) => + updateGroupConvoJoinRequestCount(log, old, 1), + ) + } else if (ChatBskyConvoDefs.isLogOutgoingJoinRequest(log)) { + // Viewer isn't in the chat yet, no need to do anything } else if (ChatBskyConvoDefs.isLogAddReaction(log)) { queryClient.setQueriesData( {queryKey: [RQKEY_ROOT]}, @@ -762,6 +772,29 @@ function optimisticUpdate( } } +function updateGroupConvoJoinRequestCount( + log: {convoId: string; rev: string}, + old: ConvoListQueryData | undefined, + delta: 1 | -1, +) { + return optimisticUpdate(log.convoId, old, convo => { + // Join requests are only meaningful for group convos. + if (!ChatBskyConvoDefs.isGroupConvo(convo.kind)) { + return {...convo, rev: log.rev} + } + const current = convo.kind.joinRequestCount ?? 0 + const next = Math.max(0, current + delta) + return { + ...convo, + kind: { + ...convo.kind, + joinRequestCount: next === 0 ? undefined : next, + }, + rev: log.rev, + } + }) +} + function removeMemberFromConvoView( convo: ChatBskyConvoDefs.ConvoView, did: string, -- 2.51.2 From 62d1e88ce1b3946f07a69caf8cda1b3d2d155e15 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Tue, 2 Jun 2026 00:32:41 +0300 Subject: [PATCH 08/32] Fix Android crash in chat keyboard scroll (#10673) Co-authored-by: Claude Opus 4.8 (1M context) --- .../react-native-keyboard-controller@1.21.8.patch | 13 +++++++++++-- pnpm-lock.yaml | 6 +++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/patches/react-native-keyboard-controller@1.21.8.patch b/patches/react-native-keyboard-controller@1.21.8.patch index 209a551b2..09575139e 100644 --- a/patches/react-native-keyboard-controller@1.21.8.patch +++ b/patches/react-native-keyboard-controller@1.21.8.patch @@ -1,5 +1,5 @@ diff --git a/src/components/KeyboardChatScrollView/useExtraContentPadding/index.ts b/src/components/KeyboardChatScrollView/useExtraContentPadding/index.ts -index 0f6d7c67a307885310ab184fdf9e7a5c7b296825..1e0bdd5b1d3b1eceb47bfb0050da84061fd7f77c 100644 +index 0f6d7c67a307885310ab184fdf9e7a5c7b296825..1a01093e7909973cef5268f999158df389e77634 100644 --- a/src/components/KeyboardChatScrollView/useExtraContentPadding/index.ts +++ b/src/components/KeyboardChatScrollView/useExtraContentPadding/index.ts @@ -1,8 +1,6 @@ @@ -19,7 +19,7 @@ index 0f6d7c67a307885310ab184fdf9e7a5c7b296825..1e0bdd5b1d3b1eceb47bfb0050da8406 inverted, keyboardLiftBehavior, freeze, -@@ -62,20 +59,14 @@ function useExtraContentPadding(options: UseExtraContentPaddingOptions): void { +@@ -62,20 +59,23 @@ function useExtraContentPadding(options: UseExtraContentPaddingOptions): void { (target: number) => { "worklet"; @@ -37,6 +37,15 @@ index 0f6d7c67a307885310ab184fdf9e7a5c7b296825..1e0bdd5b1d3b1eceb47bfb0050da8406 + // otherwise the native ScrollView clamps contentOffset to the old + // contentInset range (iOS Fabric) or the old contentInsetBottom (Android). + requestAnimationFrame(() => { ++ // The ScrollView can detach between scheduling this frame and now (e.g. ++ // navigating away from the screen, or the list re-creating its scroll ++ // component). Once detached, scrollViewRef() resolves to null, and on ++ // Paper reanimated's scrollTo hands that null to the native ++ // _scrollToPaper HostFunction, which throws "Value is null, expected a ++ // number". Re-check the ref now that the frame has arrived. ++ if (scrollViewRef() == null) { ++ return; ++ } scrollTo(scrollViewRef, 0, target, false); - } + }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0880afc3d..255d70f12 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -228,7 +228,7 @@ patchedDependencies: react-native-compressor@1.13.0: 58379dfaace6ced8590cb341c77f2ca8099dfa8f7df6297032ec51de767a9925 react-native-date-picker@5.0.13: f2a6697da7a7ca79b4f39efda142eee1b82db6de3aa5010ad4bd59df41fe2ce1 react-native-drawer-layout@4.2.3: 74f2c043cc22ab87054f219e7c7373a509b779b18bfa79d27e7d051d73355130 - react-native-keyboard-controller@1.21.8: 642d128c971380a1858f7a938dd715d6eb3bbc260c93188b65580d92e2226afe + react-native-keyboard-controller@1.21.8: 2f6791837622fb391c3e41fc044b91ddedbe503da14da86165ee0a73924b05f1 react-native-pager-view@6.8.0: 0979d6fe1e2fa43b2784cc0b5e0ff0117d53b53423e85ee5855eefdc41a00108 react-native-reanimated@3.19.1: 97a1967f37a4213fbab59e1fd59a1bf859b5efc79af5e1b528a47fe488e6c5d6 react-native-svg@15.12.1: 31401fa6ff01498773afb51a7b066821c471eb3e71b0764a10017938beed49e9 @@ -633,7 +633,7 @@ importers: version: 2.28.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-keyboard-controller: specifier: ^1.21.8 - version: 1.21.8(patch_hash=642d128c971380a1858f7a938dd715d6eb3bbc260c93188b65580d92e2226afe)(react-native-reanimated@3.19.1(patch_hash=97a1967f37a4213fbab59e1fd59a1bf859b5efc79af5e1b528a47fe488e6c5d6)(@babel/core@7.29.0)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + version: 1.21.8(patch_hash=2f6791837622fb391c3e41fc044b91ddedbe503da14da86165ee0a73924b05f1)(react-native-reanimated@3.19.1(patch_hash=97a1967f37a4213fbab59e1fd59a1bf859b5efc79af5e1b528a47fe488e6c5d6)(@babel/core@7.29.0)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-pager-view: specifier: 6.8.0 version: 6.8.0(patch_hash=0979d6fe1e2fa43b2784cc0b5e0ff0117d53b53423e85ee5855eefdc41a00108)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) @@ -17926,7 +17926,7 @@ snapshots: react: 19.1.0 react-native: 0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0) - react-native-keyboard-controller@1.21.8(patch_hash=642d128c971380a1858f7a938dd715d6eb3bbc260c93188b65580d92e2226afe)(react-native-reanimated@3.19.1(patch_hash=97a1967f37a4213fbab59e1fd59a1bf859b5efc79af5e1b528a47fe488e6c5d6)(@babel/core@7.29.0)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): + react-native-keyboard-controller@1.21.8(patch_hash=2f6791837622fb391c3e41fc044b91ddedbe503da14da86165ee0a73924b05f1)(react-native-reanimated@3.19.1(patch_hash=97a1967f37a4213fbab59e1fd59a1bf859b5efc79af5e1b528a47fe488e6c5d6)(@babel/core@7.29.0)(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): dependencies: react: 19.1.0 react-native: 0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0) -- 2.51.2 From 751eda59fd99edb8c5aaf359ea9b279c273194e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1igo=20Cilveti?= Date: Mon, 1 Jun 2026 23:40:48 +0200 Subject: [PATCH 09/32] Fix duplicate haptic feedback when liking posts (#10678) --- src/components/PostControls/index.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/components/PostControls/index.tsx b/src/components/PostControls/index.tsx index 99bcf95a4..1f6be5ab6 100644 --- a/src/components/PostControls/index.tsx +++ b/src/components/PostControls/index.tsx @@ -11,7 +11,6 @@ import {useLingui} from '@lingui/react/macro' import {CountWheel} from '#/lib/custom-animations/CountWheel' import {AnimatedLikeIcon} from '#/lib/custom-animations/LikeIcon' -import {useHaptics} from '#/lib/haptics' import {useOpenComposer} from '#/lib/hooks/useOpenComposer' import {type Shadow} from '#/state/cache/types' import {useFeedFeedbackContext} from '#/state/feed-feedback' @@ -93,7 +92,6 @@ let PostControls = ({ const requireAuth = useRequireAuth() const {sendInteraction} = useFeedFeedbackContext() const {captureAction} = useProgressGuideControls() - const playHaptic = useHaptics() const isBlocked = Boolean( post.author.viewer?.blocking || post.author.viewer?.blockedBy || @@ -116,7 +114,6 @@ let PostControls = ({ try { setHasLikeIconBeenToggled(true) if (!post.viewer?.like) { - playHaptic('Light') sendInteraction({ item: post.uri, event: 'app.bsky.feed.defs#interactionLike', -- 2.51.2 From db1c4dc6e338dc9c8b662de2b334235488ce1d5f Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Tue, 2 Jun 2026 01:03:53 +0300 Subject: [PATCH 10/32] Update Intl polyfills (#10587) Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com> --- package.json | 8 +- pnpm-lock.yaml | 107 ++++++++----------- src/locale/i18n.ts | 255 ++++++++++++++++++++++----------------------- tsconfig.json | 2 - 4 files changed, 175 insertions(+), 197 deletions(-) diff --git a/package.json b/package.json index a5060568e..f82c2922e 100644 --- a/package.json +++ b/package.json @@ -112,10 +112,10 @@ "@expo/webpack-config": "^19.0.1", "@floating-ui/dom": "^1.6.3", "@floating-ui/react-dom": "^2.0.8", - "@formatjs/intl-displaynames": "^6.8.13", - "@formatjs/intl-locale": "^4.2.13", - "@formatjs/intl-numberformat": "^8.15.6", - "@formatjs/intl-pluralrules": "^5.4.6", + "@formatjs/intl-displaynames": "^7.3.9", + "@formatjs/intl-locale": "^5.3.8", + "@formatjs/intl-numberformat": "^9.3.10", + "@formatjs/intl-pluralrules": "^6.3.9", "@growthbook/growthbook": "^1.6.5", "@growthbook/growthbook-react": "^1.6.5", "@ipld/dag-cbor": "^9.2.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 255d70f12..0b4789ac5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -302,17 +302,17 @@ importers: specifier: ^2.0.8 version: 2.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@formatjs/intl-displaynames': - specifier: ^6.8.13 - version: 6.8.13 + specifier: ^7.3.9 + version: 7.3.9 '@formatjs/intl-locale': - specifier: ^4.2.13 - version: 4.2.13 + specifier: ^5.3.8 + version: 5.3.8 '@formatjs/intl-numberformat': - specifier: ^8.15.6 - version: 8.15.6 + specifier: ^9.3.10 + version: 9.3.10 '@formatjs/intl-pluralrules': - specifier: ^5.4.6 - version: 5.4.6 + specifier: ^6.3.9 + version: 6.3.9 '@growthbook/growthbook': specifier: ^1.6.5 version: 1.6.5 @@ -2065,33 +2065,32 @@ packages: '@floating-ui/utils@0.2.11': resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} - '@formatjs/ecma402-abstract@2.3.6': - resolution: {integrity: sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==} + '@formatjs/bigdecimal@0.2.5': + resolution: {integrity: sha512-2XTKNrZRaCUyXK2976wfutqxMBuPO/S/zbJnQdysLI2Zy5mWPVNVEkE6tsTcSVWSE7DgO88t8DtBy+uf3I8bxg==} - '@formatjs/fast-memoize@2.2.7': - resolution: {integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==} + '@formatjs/fast-memoize@3.1.5': + resolution: {integrity: sha512-KLi3fan6WnCHmigd9pmEEN8Hid0v4wiFBW576M/d07KMWYecf1CvyMI3n34vCmHT4AoVqG2n702kiHbXjzZX2A==} - '@formatjs/intl-displaynames@6.8.13': - resolution: {integrity: sha512-VbY7BdYJX5eURVKLk2grndUQtnbCLNbcJId/Sb/PsX7fWXiqWvg7qt/mecVHRzqoSEoGCQToKDxzpJj8RC0s3g==} + '@formatjs/intl-displaynames@7.3.9': + resolution: {integrity: sha512-UELvrHS171ElQW9iMCGqMR/HmUYQPYkYSz1A/SSkQtJ62ZH7aUWC1QnXPxL0CInQmxa/MgC7oE402XBoTe5nTQ==} - '@formatjs/intl-enumerator@1.8.12': - resolution: {integrity: sha512-rT2hnyQ0q6RDG1jISMH+MP6wlHQLUC81C0BeYEzabJb48S4tU2HGCPUxsOqMa3vDAUmpnz9Kw5vYTD5hTkOVgg==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + '@formatjs/intl-getcanonicallocales@3.2.9': + resolution: {integrity: sha512-b1dLzhFSeccG5X1PY2KodVFRGd0p6tBPc7pRBJaW6A7+fMeZnwHOAJLkMsGNDyvM9XailkkstE4jzmNa1GVh5w==} - '@formatjs/intl-getcanonicallocales@2.5.6': - resolution: {integrity: sha512-CnBbc4St61RL06gDXlCZG08Gt41uiySgsdZNBExh8/c0FBONJCrAlQ9FsyalUdq9ze0nCeknJtMmO8JnB9xHgQ==} + '@formatjs/intl-locale@5.3.8': + resolution: {integrity: sha512-pJgqQlg4zFoyCiVMXlKPBWpY7fAxvsUiShNmB/l8BW2ZwmFMefMWCrDzgocSH9WR+Z3pkihfjh1XbalCZhXc1Q==} - '@formatjs/intl-locale@4.2.13': - resolution: {integrity: sha512-Qcs0mP9JhEPCinPfpZ5JKzOa+VYDg94TQSFZozYuqG8R+hEGUTKyoyMqB5xi5QZT/hlB0CSgeNc/0fWMGtTFXA==} + '@formatjs/intl-localematcher@0.8.9': + resolution: {integrity: sha512-GmB0F/gYh4Hdl4rLWjgDsgT+x4pB54fkJeRh8kAZ4XFzKeCK8dGs+SBJWXO42QZtOUni+IDWKNuCw6wiL4lTvw==} - '@formatjs/intl-localematcher@0.6.2': - resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==} + '@formatjs/intl-numberformat@9.3.10': + resolution: {integrity: sha512-wYboXVXZyTvuMBgwE0AxcXYxV8LM0IkH+lfCoBlRVNjCwNzdHVbRcUxDRHE+HbFkQ6/zWFkyguvIP5y3PAt+jw==} - '@formatjs/intl-numberformat@8.15.6': - resolution: {integrity: sha512-htynTNKm5WOnbR521tNSMkWzX3yO6Z77qjOxvRujh5/A/UBKeoNElyuKCJltizdx3X33QNWQZC4aWjLKcccyeQ==} + '@formatjs/intl-pluralrules@6.3.9': + resolution: {integrity: sha512-0405uU1npNs5/N04tfIQ3pme96Xb51tEkCBTBKy8HMjAsssbhnK70gf8v3ogj1WqHf7WFRoFZu8clQTsvwBQNg==} - '@formatjs/intl-pluralrules@5.4.6': - resolution: {integrity: sha512-2HlOq+c7KsSps829SJ3B5987coX5mzKx9NbPcNwQ07eq8FBHgB3HfMoxt5HvLsdk4oQwCjAEnocbtd+wVwZ2Kg==} + '@formatjs/intl-supportedvaluesof@2.3.7': + resolution: {integrity: sha512-ZTXEKijV5H08z19odngZPsXlmGndfukHuVnjd9qyER77XSk/yJwDMiSjoJYY5C5WxFs2UN4s/EMtu75e6Tp3ug==} '@gorhom/portal@1.0.14': resolution: {integrity: sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A==} @@ -11055,56 +11054,38 @@ snapshots: '@floating-ui/utils@0.2.11': {} - '@formatjs/ecma402-abstract@2.3.6': - dependencies: - '@formatjs/fast-memoize': 2.2.7 - '@formatjs/intl-localematcher': 0.6.2 - decimal.js: 10.6.0 - tslib: 2.8.1 + '@formatjs/bigdecimal@0.2.5': {} - '@formatjs/fast-memoize@2.2.7': - dependencies: - tslib: 2.8.1 + '@formatjs/fast-memoize@3.1.5': {} - '@formatjs/intl-displaynames@6.8.13': + '@formatjs/intl-displaynames@7.3.9': dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - '@formatjs/intl-localematcher': 0.6.2 - tslib: 2.8.1 + '@formatjs/intl-localematcher': 0.8.9 - '@formatjs/intl-enumerator@1.8.12': - dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - tslib: 2.8.1 + '@formatjs/intl-getcanonicallocales@3.2.9': {} - '@formatjs/intl-getcanonicallocales@2.5.6': + '@formatjs/intl-locale@5.3.8': dependencies: - tslib: 2.8.1 + '@formatjs/intl-getcanonicallocales': 3.2.9 + '@formatjs/intl-supportedvaluesof': 2.3.7 - '@formatjs/intl-locale@4.2.13': + '@formatjs/intl-localematcher@0.8.9': dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - '@formatjs/intl-enumerator': 1.8.12 - '@formatjs/intl-getcanonicallocales': 2.5.6 - tslib: 2.8.1 + '@formatjs/fast-memoize': 3.1.5 - '@formatjs/intl-localematcher@0.6.2': + '@formatjs/intl-numberformat@9.3.10': dependencies: - tslib: 2.8.1 + '@formatjs/bigdecimal': 0.2.5 + '@formatjs/intl-localematcher': 0.8.9 - '@formatjs/intl-numberformat@8.15.6': + '@formatjs/intl-pluralrules@6.3.9': dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - '@formatjs/intl-localematcher': 0.6.2 - decimal.js: 10.6.0 - tslib: 2.8.1 + '@formatjs/bigdecimal': 0.2.5 + '@formatjs/intl-localematcher': 0.8.9 - '@formatjs/intl-pluralrules@5.4.6': + '@formatjs/intl-supportedvaluesof@2.3.7': dependencies: - '@formatjs/ecma402-abstract': 2.3.6 - '@formatjs/intl-localematcher': 0.6.2 - decimal.js: 10.6.0 - tslib: 2.8.1 + '@formatjs/fast-memoize': 3.1.5 '@gorhom/portal@1.0.14(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)': dependencies: diff --git a/src/locale/i18n.ts b/src/locale/i18n.ts index c063f30a4..88d85d473 100644 --- a/src/locale/i18n.ts +++ b/src/locale/i18n.ts @@ -1,12 +1,12 @@ // 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-pluralrules/polyfill-force' -import '@formatjs/intl-numberformat/polyfill-force' -import '@formatjs/intl-displaynames/polyfill-force' -import '@formatjs/intl-pluralrules/locale-data/en' -import '@formatjs/intl-numberformat/locale-data/en' -import '@formatjs/intl-displaynames/locale-data/en' +import '@formatjs/intl-locale/polyfill-force.js' +import '@formatjs/intl-pluralrules/polyfill-force.js' +import '@formatjs/intl-numberformat/polyfill-force.js' +import '@formatjs/intl-displaynames/polyfill-force.js' +import '@formatjs/intl-pluralrules/locale-data/en.js' +import '@formatjs/intl-numberformat/locale-data/en.js' +import '@formatjs/intl-displaynames/locale-data/en.js' import {useEffect, useState} from 'react' import {i18n} from '@lingui/core' @@ -66,9 +66,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesAn}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/es'), - import('@formatjs/intl-pluralrules/locale-data/an'), - import('@formatjs/intl-numberformat/locale-data/es'), - import('@formatjs/intl-displaynames/locale-data/es'), + import('@formatjs/intl-pluralrules/locale-data/an.js'), + import('@formatjs/intl-numberformat/locale-data/an.js'), + import('@formatjs/intl-displaynames/locale-data/an.js'), ]) return dateLocale } @@ -76,9 +76,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesAst}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/es'), - import('@formatjs/intl-pluralrules/locale-data/ast'), - import('@formatjs/intl-numberformat/locale-data/ast'), - import('@formatjs/intl-displaynames/locale-data/ast'), + import('@formatjs/intl-pluralrules/locale-data/ast.js'), + import('@formatjs/intl-numberformat/locale-data/ast.js'), + import('@formatjs/intl-displaynames/locale-data/ast.js'), ]) return dateLocale } @@ -86,9 +86,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesCa}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/ca'), - import('@formatjs/intl-pluralrules/locale-data/ca'), - import('@formatjs/intl-numberformat/locale-data/ca'), - import('@formatjs/intl-displaynames/locale-data/ca'), + import('@formatjs/intl-pluralrules/locale-data/ca.js'), + import('@formatjs/intl-numberformat/locale-data/ca.js'), + import('@formatjs/intl-displaynames/locale-data/ca.js'), ]) return dateLocale } @@ -96,9 +96,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesCy}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/cy'), - import('@formatjs/intl-pluralrules/locale-data/cy'), - import('@formatjs/intl-numberformat/locale-data/cy'), - import('@formatjs/intl-displaynames/locale-data/cy'), + import('@formatjs/intl-pluralrules/locale-data/cy.js'), + import('@formatjs/intl-numberformat/locale-data/cy.js'), + import('@formatjs/intl-displaynames/locale-data/cy.js'), ]) return dateLocale } @@ -106,9 +106,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesDa}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/da'), - import('@formatjs/intl-pluralrules/locale-data/da'), - import('@formatjs/intl-numberformat/locale-data/da'), - import('@formatjs/intl-displaynames/locale-data/da'), + import('@formatjs/intl-pluralrules/locale-data/da.js'), + import('@formatjs/intl-numberformat/locale-data/da.js'), + import('@formatjs/intl-displaynames/locale-data/da.js'), ]) return dateLocale } @@ -116,9 +116,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesDe}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/de'), - import('@formatjs/intl-pluralrules/locale-data/de'), - import('@formatjs/intl-numberformat/locale-data/de'), - import('@formatjs/intl-displaynames/locale-data/de'), + import('@formatjs/intl-pluralrules/locale-data/de.js'), + import('@formatjs/intl-numberformat/locale-data/de.js'), + import('@formatjs/intl-displaynames/locale-data/de.js'), ]) return dateLocale } @@ -126,9 +126,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesEl}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/el'), - import('@formatjs/intl-pluralrules/locale-data/el'), - import('@formatjs/intl-numberformat/locale-data/el'), - import('@formatjs/intl-displaynames/locale-data/el'), + import('@formatjs/intl-pluralrules/locale-data/el.js'), + import('@formatjs/intl-numberformat/locale-data/el.js'), + import('@formatjs/intl-displaynames/locale-data/el.js'), ]) return dateLocale } @@ -136,9 +136,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesEn_GB}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/en-GB'), - import('@formatjs/intl-pluralrules/locale-data/en'), - import('@formatjs/intl-numberformat/locale-data/en-GB'), - import('@formatjs/intl-displaynames/locale-data/en-GB'), + import('@formatjs/intl-pluralrules/locale-data/en.js'), + import('@formatjs/intl-numberformat/locale-data/en-GB.js'), + import('@formatjs/intl-displaynames/locale-data/en-GB.js'), ]) return dateLocale } @@ -146,10 +146,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesEo}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/eo'), - import('@formatjs/intl-pluralrules/locale-data/eo'), - import('@formatjs/intl-numberformat/locale-data/eo'), - // borked, see https://github.com/bluesky-social/social-app/pull/9574 - // import('@formatjs/intl-displaynames/locale-data/eo'), + import('@formatjs/intl-pluralrules/locale-data/eo.js'), + import('@formatjs/intl-numberformat/locale-data/eo.js'), + import('@formatjs/intl-displaynames/locale-data/eo.js'), ]) return dateLocale } @@ -157,9 +156,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesEs}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/es'), - import('@formatjs/intl-pluralrules/locale-data/es'), - import('@formatjs/intl-numberformat/locale-data/es'), - import('@formatjs/intl-displaynames/locale-data/es'), + import('@formatjs/intl-pluralrules/locale-data/es.js'), + import('@formatjs/intl-numberformat/locale-data/es.js'), + import('@formatjs/intl-displaynames/locale-data/es.js'), ]) return dateLocale } @@ -167,9 +166,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesEu}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/eu'), - import('@formatjs/intl-pluralrules/locale-data/eu'), - import('@formatjs/intl-numberformat/locale-data/eu'), - import('@formatjs/intl-displaynames/locale-data/eu'), + import('@formatjs/intl-pluralrules/locale-data/eu.js'), + import('@formatjs/intl-numberformat/locale-data/eu.js'), + import('@formatjs/intl-displaynames/locale-data/eu.js'), ]) return dateLocale } @@ -177,9 +176,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesFi}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/fi'), - import('@formatjs/intl-pluralrules/locale-data/fi'), - import('@formatjs/intl-numberformat/locale-data/fi'), - import('@formatjs/intl-displaynames/locale-data/fi'), + import('@formatjs/intl-pluralrules/locale-data/fi.js'), + import('@formatjs/intl-numberformat/locale-data/fi.js'), + import('@formatjs/intl-displaynames/locale-data/fi.js'), ]) return dateLocale } @@ -187,9 +186,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesFr}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/fr'), - import('@formatjs/intl-pluralrules/locale-data/fr'), - import('@formatjs/intl-numberformat/locale-data/fr'), - import('@formatjs/intl-displaynames/locale-data/fr'), + import('@formatjs/intl-pluralrules/locale-data/fr.js'), + import('@formatjs/intl-numberformat/locale-data/fr.js'), + import('@formatjs/intl-displaynames/locale-data/fr.js'), ]) return dateLocale } @@ -197,18 +196,18 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesFy}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/fy'), - import('@formatjs/intl-pluralrules/locale-data/fy'), - import('@formatjs/intl-numberformat/locale-data/fy'), - import('@formatjs/intl-displaynames/locale-data/fy'), + import('@formatjs/intl-pluralrules/locale-data/fy.js'), + import('@formatjs/intl-numberformat/locale-data/fy.js'), + import('@formatjs/intl-displaynames/locale-data/fy.js'), ]) return dateLocale } case AppLanguage.ga: { i18n.loadAndActivate({locale, messages: messagesGa}) await Promise.all([ - import('@formatjs/intl-pluralrules/locale-data/ga'), - import('@formatjs/intl-numberformat/locale-data/ga'), - import('@formatjs/intl-displaynames/locale-data/ga'), + import('@formatjs/intl-pluralrules/locale-data/ga.js'), + import('@formatjs/intl-numberformat/locale-data/ga.js'), + import('@formatjs/intl-displaynames/locale-data/ga.js'), ]) return undefined } @@ -216,9 +215,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesGd}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/gd'), - import('@formatjs/intl-pluralrules/locale-data/gd'), - import('@formatjs/intl-numberformat/locale-data/gd'), - import('@formatjs/intl-displaynames/locale-data/gd'), + import('@formatjs/intl-pluralrules/locale-data/gd.js'), + import('@formatjs/intl-numberformat/locale-data/gd.js'), + import('@formatjs/intl-displaynames/locale-data/gd.js'), ]) return dateLocale } @@ -226,9 +225,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesGl}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/gl'), - import('@formatjs/intl-pluralrules/locale-data/gl'), - import('@formatjs/intl-numberformat/locale-data/gl'), - import('@formatjs/intl-displaynames/locale-data/gl'), + import('@formatjs/intl-pluralrules/locale-data/gl.js'), + import('@formatjs/intl-numberformat/locale-data/gl.js'), + import('@formatjs/intl-displaynames/locale-data/gl.js'), ]) return dateLocale } @@ -236,9 +235,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesHi}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/hi'), - import('@formatjs/intl-pluralrules/locale-data/hi'), - import('@formatjs/intl-numberformat/locale-data/hi'), - import('@formatjs/intl-displaynames/locale-data/hi'), + import('@formatjs/intl-pluralrules/locale-data/hi.js'), + import('@formatjs/intl-numberformat/locale-data/hi.js'), + import('@formatjs/intl-displaynames/locale-data/hi.js'), ]) return dateLocale } @@ -246,18 +245,18 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesHu}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/hu'), - import('@formatjs/intl-pluralrules/locale-data/hu'), - import('@formatjs/intl-numberformat/locale-data/hu'), - import('@formatjs/intl-displaynames/locale-data/hu'), + import('@formatjs/intl-pluralrules/locale-data/hu.js'), + import('@formatjs/intl-numberformat/locale-data/hu.js'), + import('@formatjs/intl-displaynames/locale-data/hu.js'), ]) return dateLocale } case AppLanguage.ia: { i18n.loadAndActivate({locale, messages: messagesIa}) await Promise.all([ - import('@formatjs/intl-pluralrules/locale-data/ia'), - import('@formatjs/intl-numberformat/locale-data/ia'), - import('@formatjs/intl-displaynames/locale-data/ia'), + import('@formatjs/intl-pluralrules/locale-data/ia.js'), + import('@formatjs/intl-numberformat/locale-data/ia.js'), + import('@formatjs/intl-displaynames/locale-data/ia.js'), ]) return undefined } @@ -265,9 +264,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesId}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/id'), - import('@formatjs/intl-pluralrules/locale-data/id'), - import('@formatjs/intl-numberformat/locale-data/id'), - import('@formatjs/intl-displaynames/locale-data/id'), + import('@formatjs/intl-pluralrules/locale-data/id.js'), + import('@formatjs/intl-numberformat/locale-data/id.js'), + import('@formatjs/intl-displaynames/locale-data/id.js'), ]) return dateLocale } @@ -275,9 +274,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesIt}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/it'), - import('@formatjs/intl-pluralrules/locale-data/it'), - import('@formatjs/intl-numberformat/locale-data/it'), - import('@formatjs/intl-displaynames/locale-data/it'), + import('@formatjs/intl-pluralrules/locale-data/it.js'), + import('@formatjs/intl-numberformat/locale-data/it.js'), + import('@formatjs/intl-displaynames/locale-data/it.js'), ]) return dateLocale } @@ -285,9 +284,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesJa}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/ja'), - import('@formatjs/intl-pluralrules/locale-data/ja'), - import('@formatjs/intl-numberformat/locale-data/ja'), - import('@formatjs/intl-displaynames/locale-data/ja'), + import('@formatjs/intl-pluralrules/locale-data/ja.js'), + import('@formatjs/intl-numberformat/locale-data/ja.js'), + import('@formatjs/intl-displaynames/locale-data/ja.js'), ]) return dateLocale } @@ -295,9 +294,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesKm}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/km'), - import('@formatjs/intl-pluralrules/locale-data/km'), - import('@formatjs/intl-numberformat/locale-data/km'), - import('@formatjs/intl-displaynames/locale-data/km'), + import('@formatjs/intl-pluralrules/locale-data/km.js'), + import('@formatjs/intl-numberformat/locale-data/km.js'), + import('@formatjs/intl-displaynames/locale-data/km.js'), ]) return dateLocale } @@ -305,18 +304,18 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesKo}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/ko'), - import('@formatjs/intl-pluralrules/locale-data/ko'), - import('@formatjs/intl-numberformat/locale-data/ko'), - import('@formatjs/intl-displaynames/locale-data/ko'), + import('@formatjs/intl-pluralrules/locale-data/ko.js'), + import('@formatjs/intl-numberformat/locale-data/ko.js'), + import('@formatjs/intl-displaynames/locale-data/ko.js'), ]) return dateLocale } case AppLanguage.ne: { i18n.loadAndActivate({locale, messages: messagesNe}) await Promise.all([ - import('@formatjs/intl-pluralrules/locale-data/ne'), - import('@formatjs/intl-numberformat/locale-data/ne'), - import('@formatjs/intl-displaynames/locale-data/ne'), + import('@formatjs/intl-pluralrules/locale-data/ne.js'), + import('@formatjs/intl-numberformat/locale-data/ne.js'), + import('@formatjs/intl-displaynames/locale-data/ne.js'), ]) return undefined } @@ -324,9 +323,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesNl}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/nl'), - import('@formatjs/intl-pluralrules/locale-data/nl'), - import('@formatjs/intl-numberformat/locale-data/nl'), - import('@formatjs/intl-displaynames/locale-data/nl'), + import('@formatjs/intl-pluralrules/locale-data/nl.js'), + import('@formatjs/intl-numberformat/locale-data/nl.js'), + import('@formatjs/intl-displaynames/locale-data/nl.js'), ]) return dateLocale } @@ -334,9 +333,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesPl}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/pl'), - import('@formatjs/intl-pluralrules/locale-data/pl'), - import('@formatjs/intl-numberformat/locale-data/pl'), - import('@formatjs/intl-displaynames/locale-data/pl'), + import('@formatjs/intl-pluralrules/locale-data/pl.js'), + import('@formatjs/intl-numberformat/locale-data/pl.js'), + import('@formatjs/intl-displaynames/locale-data/pl.js'), ]) return dateLocale } @@ -344,9 +343,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesPt_BR}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/pt-BR'), - import('@formatjs/intl-pluralrules/locale-data/pt'), - import('@formatjs/intl-numberformat/locale-data/pt'), - import('@formatjs/intl-displaynames/locale-data/pt'), + import('@formatjs/intl-pluralrules/locale-data/pt.js'), + import('@formatjs/intl-numberformat/locale-data/pt.js'), + import('@formatjs/intl-displaynames/locale-data/pt.js'), ]) return dateLocale } @@ -354,9 +353,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesPt_PT}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/pt'), - import('@formatjs/intl-pluralrules/locale-data/pt-PT'), - import('@formatjs/intl-numberformat/locale-data/pt-PT'), - import('@formatjs/intl-displaynames/locale-data/pt-PT'), + import('@formatjs/intl-pluralrules/locale-data/pt-PT.js'), + import('@formatjs/intl-numberformat/locale-data/pt-PT.js'), + import('@formatjs/intl-displaynames/locale-data/pt-PT.js'), ]) return dateLocale } @@ -364,9 +363,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesRo}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/ro'), - import('@formatjs/intl-pluralrules/locale-data/ro'), - import('@formatjs/intl-numberformat/locale-data/ro'), - import('@formatjs/intl-displaynames/locale-data/ro'), + import('@formatjs/intl-pluralrules/locale-data/ro.js'), + import('@formatjs/intl-numberformat/locale-data/ro.js'), + import('@formatjs/intl-displaynames/locale-data/ro.js'), ]) return dateLocale } @@ -374,9 +373,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesRu}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/ru'), - import('@formatjs/intl-pluralrules/locale-data/ru'), - import('@formatjs/intl-numberformat/locale-data/ru'), - import('@formatjs/intl-displaynames/locale-data/ru'), + import('@formatjs/intl-pluralrules/locale-data/ru.js'), + import('@formatjs/intl-numberformat/locale-data/ru.js'), + import('@formatjs/intl-displaynames/locale-data/ru.js'), ]) return dateLocale } @@ -384,9 +383,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesSv}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/sv'), - import('@formatjs/intl-pluralrules/locale-data/sv'), - import('@formatjs/intl-numberformat/locale-data/sv'), - import('@formatjs/intl-displaynames/locale-data/sv'), + import('@formatjs/intl-pluralrules/locale-data/sv.js'), + import('@formatjs/intl-numberformat/locale-data/sv.js'), + import('@formatjs/intl-displaynames/locale-data/sv.js'), ]) return dateLocale } @@ -394,9 +393,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesTh}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/th'), - import('@formatjs/intl-pluralrules/locale-data/th'), - import('@formatjs/intl-numberformat/locale-data/th'), - import('@formatjs/intl-displaynames/locale-data/th'), + import('@formatjs/intl-pluralrules/locale-data/th.js'), + import('@formatjs/intl-numberformat/locale-data/th.js'), + import('@formatjs/intl-displaynames/locale-data/th.js'), ]) return dateLocale } @@ -404,9 +403,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesTr}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/tr'), - import('@formatjs/intl-pluralrules/locale-data/tr'), - import('@formatjs/intl-numberformat/locale-data/tr'), - import('@formatjs/intl-displaynames/locale-data/tr'), + import('@formatjs/intl-pluralrules/locale-data/tr.js'), + import('@formatjs/intl-numberformat/locale-data/tr.js'), + import('@formatjs/intl-displaynames/locale-data/tr.js'), ]) return dateLocale } @@ -414,9 +413,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesUk}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/uk'), - import('@formatjs/intl-pluralrules/locale-data/uk'), - import('@formatjs/intl-numberformat/locale-data/uk'), - import('@formatjs/intl-displaynames/locale-data/uk'), + import('@formatjs/intl-pluralrules/locale-data/uk.js'), + import('@formatjs/intl-numberformat/locale-data/uk.js'), + import('@formatjs/intl-displaynames/locale-data/uk.js'), ]) return dateLocale } @@ -424,9 +423,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesVi}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/vi'), - import('@formatjs/intl-pluralrules/locale-data/vi'), - import('@formatjs/intl-numberformat/locale-data/vi'), - import('@formatjs/intl-displaynames/locale-data/vi'), + import('@formatjs/intl-pluralrules/locale-data/vi.js'), + import('@formatjs/intl-numberformat/locale-data/vi.js'), + import('@formatjs/intl-displaynames/locale-data/vi.js'), ]) return dateLocale } @@ -434,9 +433,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesZh_CN}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/zh-CN'), - import('@formatjs/intl-pluralrules/locale-data/zh'), - import('@formatjs/intl-numberformat/locale-data/zh'), - import('@formatjs/intl-displaynames/locale-data/zh'), + import('@formatjs/intl-pluralrules/locale-data/zh.js'), + import('@formatjs/intl-numberformat/locale-data/zh.js'), + import('@formatjs/intl-displaynames/locale-data/zh.js'), ]) return dateLocale } @@ -444,9 +443,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesZh_HK}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/zh-HK'), - import('@formatjs/intl-pluralrules/locale-data/zh'), - import('@formatjs/intl-numberformat/locale-data/zh'), - import('@formatjs/intl-displaynames/locale-data/zh'), + import('@formatjs/intl-pluralrules/locale-data/zh.js'), + import('@formatjs/intl-numberformat/locale-data/yue-Hant.js'), + import('@formatjs/intl-displaynames/locale-data/yue-Hant.js'), ]) return dateLocale } @@ -454,9 +453,9 @@ export async function dynamicActivate(locale: AppLanguage) { i18n.loadAndActivate({locale, messages: messagesZh_TW}) const [{default: dateLocale}] = await Promise.all([ import('date-fns/locale/zh-TW'), - import('@formatjs/intl-pluralrules/locale-data/zh'), - import('@formatjs/intl-numberformat/locale-data/zh'), - import('@formatjs/intl-displaynames/locale-data/zh'), + import('@formatjs/intl-pluralrules/locale-data/zh.js'), + import('@formatjs/intl-numberformat/locale-data/zh-Hant.js'), + import('@formatjs/intl-displaynames/locale-data/zh-Hant.js'), ]) return dateLocale } diff --git a/tsconfig.json b/tsconfig.json index 8d76de8a0..c3f559d91 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,8 +8,6 @@ "paths": { "#/*": ["./src/*"], "crypto": ["./src/platform/crypto.ts"], - "multiformats/cid": ["./node_modules/multiformats/types/src/cid.d.ts"], - "multiformats/hashes/hasher": ["./node_modules/multiformats/types/src/hashes/hasher.d.ts"] }, "plugins": [ { -- 2.51.2 From 237232f96cf8cfad715a0d1651efaf71eff20da3 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Tue, 2 Jun 2026 01:21:50 +0300 Subject: [PATCH 11/32] Update `date-fns` to latest (#10545) --- eslint-suppressions.json | 10 -- package.json | 2 +- pnpm-lock.yaml | 17 +-- src/locale/i18n.ts | 158 ++++++++++---------- src/locale/i18n.web.ts | 241 ++++++++++++++++--------------- src/logger/transports/console.ts | 2 +- src/platform/polyfills.web.ts | 3 +- 7 files changed, 212 insertions(+), 221 deletions(-) diff --git a/eslint-suppressions.json b/eslint-suppressions.json index 2bbe927a1..40b918e77 100644 --- a/eslint-suppressions.json +++ b/eslint-suppressions.json @@ -317,16 +317,6 @@ "count": 1 } }, - "src/locale/i18n.web.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 1 - } - }, - "src/platform/polyfills.web.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 1 - } - }, "src/screens/Bookmarks/index.tsx": { "@typescript-eslint/no-explicit-any": { "count": 1 diff --git a/package.json b/package.json index f82c2922e..e156d7280 100644 --- a/package.json +++ b/package.json @@ -150,7 +150,7 @@ "babel-plugin-transform-remove-console": "^6.9.4", "bcp-47": "^2.1.0", "bcp-47-match": "^2.0.3", - "date-fns": "^2.30.0", + "date-fns": "^4.4.0", "email-validator": "^2.0.4", "emoji-mart": "^5.6.0", "emoji-regex": "^10.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0b4789ac5..d0157ed61 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -416,8 +416,8 @@ importers: specifier: ^2.0.3 version: 2.0.3 date-fns: - specifier: ^2.30.0 - version: 2.30.0 + specifier: ^4.4.0 + version: 4.4.0 email-validator: specifier: ^2.0.4 version: 2.0.4 @@ -4788,13 +4788,12 @@ packages: resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} - date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} - date-fns@3.6.0: resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + date-fns@4.4.0: + resolution: {integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==} + debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -14216,12 +14215,10 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.2 - date-fns@2.30.0: - dependencies: - '@babel/runtime': 7.29.2 - date-fns@3.6.0: {} + date-fns@4.4.0: {} + debounce@1.2.1: {} debug@2.6.9: diff --git a/src/locale/i18n.ts b/src/locale/i18n.ts index 88d85d473..17445d99b 100644 --- a/src/locale/i18n.ts +++ b/src/locale/i18n.ts @@ -10,7 +10,7 @@ import '@formatjs/intl-displaynames/locale-data/en.js' import {useEffect, useState} from 'react' import {i18n} from '@lingui/core' -import defaultLocale from 'date-fns/locale/en-US' +import {enUS as defaultLocale} from 'date-fns/locale/en-US' import {sanitizeAppLanguageSetting} from '#/locale/helpers' import {AppLanguage} from '#/locale/languages' @@ -64,8 +64,8 @@ export async function dynamicActivate(locale: AppLanguage) { switch (locale) { case AppLanguage.an: { i18n.loadAndActivate({locale, messages: messagesAn}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/es'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/es').then(m => m.es), import('@formatjs/intl-pluralrules/locale-data/an.js'), import('@formatjs/intl-numberformat/locale-data/an.js'), import('@formatjs/intl-displaynames/locale-data/an.js'), @@ -74,8 +74,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.ast: { i18n.loadAndActivate({locale, messages: messagesAst}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/es'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/es').then(m => m.es), import('@formatjs/intl-pluralrules/locale-data/ast.js'), import('@formatjs/intl-numberformat/locale-data/ast.js'), import('@formatjs/intl-displaynames/locale-data/ast.js'), @@ -84,8 +84,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.ca: { i18n.loadAndActivate({locale, messages: messagesCa}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/ca'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/ca').then(m => m.ca), import('@formatjs/intl-pluralrules/locale-data/ca.js'), import('@formatjs/intl-numberformat/locale-data/ca.js'), import('@formatjs/intl-displaynames/locale-data/ca.js'), @@ -94,8 +94,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.cy: { i18n.loadAndActivate({locale, messages: messagesCy}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/cy'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/cy').then(m => m.cy), import('@formatjs/intl-pluralrules/locale-data/cy.js'), import('@formatjs/intl-numberformat/locale-data/cy.js'), import('@formatjs/intl-displaynames/locale-data/cy.js'), @@ -104,8 +104,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.da: { i18n.loadAndActivate({locale, messages: messagesDa}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/da'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/da').then(m => m.da), import('@formatjs/intl-pluralrules/locale-data/da.js'), import('@formatjs/intl-numberformat/locale-data/da.js'), import('@formatjs/intl-displaynames/locale-data/da.js'), @@ -114,8 +114,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.de: { i18n.loadAndActivate({locale, messages: messagesDe}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/de'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/de').then(m => m.de), import('@formatjs/intl-pluralrules/locale-data/de.js'), import('@formatjs/intl-numberformat/locale-data/de.js'), import('@formatjs/intl-displaynames/locale-data/de.js'), @@ -124,8 +124,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.el: { i18n.loadAndActivate({locale, messages: messagesEl}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/el'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/el').then(m => m.el), import('@formatjs/intl-pluralrules/locale-data/el.js'), import('@formatjs/intl-numberformat/locale-data/el.js'), import('@formatjs/intl-displaynames/locale-data/el.js'), @@ -134,8 +134,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.en_GB: { i18n.loadAndActivate({locale, messages: messagesEn_GB}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/en-GB'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/en-GB').then(m => m.enGB), import('@formatjs/intl-pluralrules/locale-data/en.js'), import('@formatjs/intl-numberformat/locale-data/en-GB.js'), import('@formatjs/intl-displaynames/locale-data/en-GB.js'), @@ -144,8 +144,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.eo: { i18n.loadAndActivate({locale, messages: messagesEo}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/eo'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/eo').then(m => m.eo), import('@formatjs/intl-pluralrules/locale-data/eo.js'), import('@formatjs/intl-numberformat/locale-data/eo.js'), import('@formatjs/intl-displaynames/locale-data/eo.js'), @@ -154,8 +154,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.es: { i18n.loadAndActivate({locale, messages: messagesEs}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/es'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/es').then(m => m.es), import('@formatjs/intl-pluralrules/locale-data/es.js'), import('@formatjs/intl-numberformat/locale-data/es.js'), import('@formatjs/intl-displaynames/locale-data/es.js'), @@ -164,8 +164,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.eu: { i18n.loadAndActivate({locale, messages: messagesEu}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/eu'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/eu').then(m => m.eu), import('@formatjs/intl-pluralrules/locale-data/eu.js'), import('@formatjs/intl-numberformat/locale-data/eu.js'), import('@formatjs/intl-displaynames/locale-data/eu.js'), @@ -174,8 +174,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.fi: { i18n.loadAndActivate({locale, messages: messagesFi}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/fi'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/fi').then(m => m.fi), import('@formatjs/intl-pluralrules/locale-data/fi.js'), import('@formatjs/intl-numberformat/locale-data/fi.js'), import('@formatjs/intl-displaynames/locale-data/fi.js'), @@ -184,8 +184,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.fr: { i18n.loadAndActivate({locale, messages: messagesFr}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/fr'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/fr').then(m => m.fr), import('@formatjs/intl-pluralrules/locale-data/fr.js'), import('@formatjs/intl-numberformat/locale-data/fr.js'), import('@formatjs/intl-displaynames/locale-data/fr.js'), @@ -194,8 +194,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.fy: { i18n.loadAndActivate({locale, messages: messagesFy}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/fy'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/fy').then(m => m.fy), import('@formatjs/intl-pluralrules/locale-data/fy.js'), import('@formatjs/intl-numberformat/locale-data/fy.js'), import('@formatjs/intl-displaynames/locale-data/fy.js'), @@ -213,8 +213,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.gd: { i18n.loadAndActivate({locale, messages: messagesGd}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/gd'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/gd').then(m => m.gd), import('@formatjs/intl-pluralrules/locale-data/gd.js'), import('@formatjs/intl-numberformat/locale-data/gd.js'), import('@formatjs/intl-displaynames/locale-data/gd.js'), @@ -223,8 +223,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.gl: { i18n.loadAndActivate({locale, messages: messagesGl}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/gl'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/gl').then(m => m.gl), import('@formatjs/intl-pluralrules/locale-data/gl.js'), import('@formatjs/intl-numberformat/locale-data/gl.js'), import('@formatjs/intl-displaynames/locale-data/gl.js'), @@ -233,8 +233,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.hi: { i18n.loadAndActivate({locale, messages: messagesHi}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/hi'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/hi').then(m => m.hi), import('@formatjs/intl-pluralrules/locale-data/hi.js'), import('@formatjs/intl-numberformat/locale-data/hi.js'), import('@formatjs/intl-displaynames/locale-data/hi.js'), @@ -243,8 +243,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.hu: { i18n.loadAndActivate({locale, messages: messagesHu}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/hu'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/hu').then(m => m.hu), import('@formatjs/intl-pluralrules/locale-data/hu.js'), import('@formatjs/intl-numberformat/locale-data/hu.js'), import('@formatjs/intl-displaynames/locale-data/hu.js'), @@ -262,8 +262,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.id: { i18n.loadAndActivate({locale, messages: messagesId}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/id'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/id').then(m => m.id), import('@formatjs/intl-pluralrules/locale-data/id.js'), import('@formatjs/intl-numberformat/locale-data/id.js'), import('@formatjs/intl-displaynames/locale-data/id.js'), @@ -272,8 +272,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.it: { i18n.loadAndActivate({locale, messages: messagesIt}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/it'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/it').then(m => m.it), import('@formatjs/intl-pluralrules/locale-data/it.js'), import('@formatjs/intl-numberformat/locale-data/it.js'), import('@formatjs/intl-displaynames/locale-data/it.js'), @@ -282,8 +282,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.ja: { i18n.loadAndActivate({locale, messages: messagesJa}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/ja'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/ja').then(m => m.ja), import('@formatjs/intl-pluralrules/locale-data/ja.js'), import('@formatjs/intl-numberformat/locale-data/ja.js'), import('@formatjs/intl-displaynames/locale-data/ja.js'), @@ -292,8 +292,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.km: { i18n.loadAndActivate({locale, messages: messagesKm}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/km'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/km').then(m => m.km), import('@formatjs/intl-pluralrules/locale-data/km.js'), import('@formatjs/intl-numberformat/locale-data/km.js'), import('@formatjs/intl-displaynames/locale-data/km.js'), @@ -302,8 +302,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.ko: { i18n.loadAndActivate({locale, messages: messagesKo}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/ko'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/ko').then(m => m.ko), import('@formatjs/intl-pluralrules/locale-data/ko.js'), import('@formatjs/intl-numberformat/locale-data/ko.js'), import('@formatjs/intl-displaynames/locale-data/ko.js'), @@ -321,8 +321,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.nl: { i18n.loadAndActivate({locale, messages: messagesNl}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/nl'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/nl').then(m => m.nl), import('@formatjs/intl-pluralrules/locale-data/nl.js'), import('@formatjs/intl-numberformat/locale-data/nl.js'), import('@formatjs/intl-displaynames/locale-data/nl.js'), @@ -331,8 +331,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.pl: { i18n.loadAndActivate({locale, messages: messagesPl}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/pl'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/pl').then(m => m.pl), import('@formatjs/intl-pluralrules/locale-data/pl.js'), import('@formatjs/intl-numberformat/locale-data/pl.js'), import('@formatjs/intl-displaynames/locale-data/pl.js'), @@ -341,8 +341,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.pt_BR: { i18n.loadAndActivate({locale, messages: messagesPt_BR}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/pt-BR'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/pt-BR').then(m => m.ptBR), import('@formatjs/intl-pluralrules/locale-data/pt.js'), import('@formatjs/intl-numberformat/locale-data/pt.js'), import('@formatjs/intl-displaynames/locale-data/pt.js'), @@ -351,8 +351,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.pt_PT: { i18n.loadAndActivate({locale, messages: messagesPt_PT}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/pt'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/pt').then(m => m.pt), import('@formatjs/intl-pluralrules/locale-data/pt-PT.js'), import('@formatjs/intl-numberformat/locale-data/pt-PT.js'), import('@formatjs/intl-displaynames/locale-data/pt-PT.js'), @@ -361,8 +361,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.ro: { i18n.loadAndActivate({locale, messages: messagesRo}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/ro'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/ro').then(m => m.ro), import('@formatjs/intl-pluralrules/locale-data/ro.js'), import('@formatjs/intl-numberformat/locale-data/ro.js'), import('@formatjs/intl-displaynames/locale-data/ro.js'), @@ -371,8 +371,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.ru: { i18n.loadAndActivate({locale, messages: messagesRu}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/ru'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/ru').then(m => m.ru), import('@formatjs/intl-pluralrules/locale-data/ru.js'), import('@formatjs/intl-numberformat/locale-data/ru.js'), import('@formatjs/intl-displaynames/locale-data/ru.js'), @@ -381,8 +381,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.sv: { i18n.loadAndActivate({locale, messages: messagesSv}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/sv'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/sv').then(m => m.sv), import('@formatjs/intl-pluralrules/locale-data/sv.js'), import('@formatjs/intl-numberformat/locale-data/sv.js'), import('@formatjs/intl-displaynames/locale-data/sv.js'), @@ -391,8 +391,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.th: { i18n.loadAndActivate({locale, messages: messagesTh}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/th'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/th').then(m => m.th), import('@formatjs/intl-pluralrules/locale-data/th.js'), import('@formatjs/intl-numberformat/locale-data/th.js'), import('@formatjs/intl-displaynames/locale-data/th.js'), @@ -401,8 +401,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.tr: { i18n.loadAndActivate({locale, messages: messagesTr}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/tr'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/tr').then(m => m.tr), import('@formatjs/intl-pluralrules/locale-data/tr.js'), import('@formatjs/intl-numberformat/locale-data/tr.js'), import('@formatjs/intl-displaynames/locale-data/tr.js'), @@ -411,8 +411,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.uk: { i18n.loadAndActivate({locale, messages: messagesUk}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/uk'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/uk').then(m => m.uk), import('@formatjs/intl-pluralrules/locale-data/uk.js'), import('@formatjs/intl-numberformat/locale-data/uk.js'), import('@formatjs/intl-displaynames/locale-data/uk.js'), @@ -421,8 +421,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.vi: { i18n.loadAndActivate({locale, messages: messagesVi}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/vi'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/vi').then(m => m.vi), import('@formatjs/intl-pluralrules/locale-data/vi.js'), import('@formatjs/intl-numberformat/locale-data/vi.js'), import('@formatjs/intl-displaynames/locale-data/vi.js'), @@ -431,8 +431,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.zh_CN: { i18n.loadAndActivate({locale, messages: messagesZh_CN}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/zh-CN'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/zh-CN').then(m => m.zhCN), import('@formatjs/intl-pluralrules/locale-data/zh.js'), import('@formatjs/intl-numberformat/locale-data/zh.js'), import('@formatjs/intl-displaynames/locale-data/zh.js'), @@ -441,8 +441,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.zh_HK: { i18n.loadAndActivate({locale, messages: messagesZh_HK}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/zh-HK'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/zh-HK').then(m => m.zhHK), import('@formatjs/intl-pluralrules/locale-data/zh.js'), import('@formatjs/intl-numberformat/locale-data/yue-Hant.js'), import('@formatjs/intl-displaynames/locale-data/yue-Hant.js'), @@ -451,8 +451,8 @@ export async function dynamicActivate(locale: AppLanguage) { } case AppLanguage.zh_TW: { i18n.loadAndActivate({locale, messages: messagesZh_TW}) - const [{default: dateLocale}] = await Promise.all([ - import('date-fns/locale/zh-TW'), + const [dateLocale] = await Promise.all([ + import('date-fns/locale/zh-TW').then(m => m.zhTW), import('@formatjs/intl-pluralrules/locale-data/zh.js'), import('@formatjs/intl-numberformat/locale-data/zh-Hant.js'), import('@formatjs/intl-displaynames/locale-data/zh-Hant.js'), @@ -471,9 +471,11 @@ export function useLocaleLanguage() { const [dateLocale, setDateLocale] = useState(defaultLocale) useEffect(() => { - dynamicActivate(sanitizeAppLanguageSetting(appLanguage)).then(locale => { - setDateLocale(locale ?? defaultLocale) - }) + void dynamicActivate(sanitizeAppLanguageSetting(appLanguage)).then( + locale => { + setDateLocale(locale ?? defaultLocale) + }, + ) }, [appLanguage]) return dateLocale diff --git a/src/locale/i18n.web.ts b/src/locale/i18n.web.ts index 2b79ae7f2..4d36ccb28 100644 --- a/src/locale/i18n.web.ts +++ b/src/locale/i18n.web.ts @@ -1,6 +1,7 @@ import {useEffect, useState} from 'react' -import {i18n} from '@lingui/core' -import defaultLocale from 'date-fns/locale/en-US' +import {i18n, type Messages} from '@lingui/core' +import {type Locale} from 'date-fns/locale' +import {enUS as defaultLocale} from 'date-fns/locale/en-US' import {sanitizeAppLanguageSetting} from '#/locale/helpers' import {AppLanguage} from '#/locale/languages' @@ -10,288 +11,288 @@ import {useLanguagePrefs} from '#/state/preferences' * We do a dynamic import of just the catalog that we need */ export async function dynamicActivate(locale: AppLanguage) { - let mod: any + let messages: Messages let dateLocale: Locale = defaultLocale switch (locale) { case AppLanguage.an: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/an/messages`), - import('date-fns/locale/es'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/an/messages`).then(m => m.messages), + import('date-fns/locale/es').then(m => m.es), ]) break } case AppLanguage.ast: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/ast/messages`), - import('date-fns/locale/es'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/ast/messages`).then(m => m.messages), + import('date-fns/locale/es').then(m => m.es), ]) break } case AppLanguage.ca: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/ca/messages`), - import('date-fns/locale/ca'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/ca/messages`).then(m => m.messages), + import('date-fns/locale/ca').then(m => m.ca), ]) break } case AppLanguage.cy: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/cy/messages`), - import('date-fns/locale/cy'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/cy/messages`).then(m => m.messages), + import('date-fns/locale/cy').then(m => m.cy), ]) break } case AppLanguage.da: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/da/messages`), - import('date-fns/locale/da'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/da/messages`).then(m => m.messages), + import('date-fns/locale/da').then(m => m.da), ]) break } case AppLanguage.de: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/de/messages`), - import('date-fns/locale/de'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/de/messages`).then(m => m.messages), + import('date-fns/locale/de').then(m => m.de), ]) break } case AppLanguage.el: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/el/messages`), - import('date-fns/locale/el'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/el/messages`).then(m => m.messages), + import('date-fns/locale/el').then(m => m.el), ]) break } case AppLanguage.en_GB: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/en-GB/messages`), - import('date-fns/locale/en-GB'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/en-GB/messages`).then(m => m.messages), + import('date-fns/locale/en-GB').then(m => m.enGB), ]) break } case AppLanguage.eo: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/eo/messages`), - import('date-fns/locale/eo'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/eo/messages`).then(m => m.messages), + import('date-fns/locale/eo').then(m => m.eo), ]) break } case AppLanguage.es: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/es/messages`), - import('date-fns/locale/es'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/es/messages`).then(m => m.messages), + import('date-fns/locale/es').then(m => m.es), ]) break } case AppLanguage.eu: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/eu/messages`), - import('date-fns/locale/eu'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/eu/messages`).then(m => m.messages), + import('date-fns/locale/eu').then(m => m.eu), ]) break } case AppLanguage.fi: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/fi/messages`), - import('date-fns/locale/fi'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/fi/messages`).then(m => m.messages), + import('date-fns/locale/fi').then(m => m.fi), ]) break } case AppLanguage.fr: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/fr/messages`), - import('date-fns/locale/fr'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/fr/messages`).then(m => m.messages), + import('date-fns/locale/fr').then(m => m.fr), ]) break } case AppLanguage.fy: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/fy/messages`), - import('date-fns/locale/fy'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/fy/messages`).then(m => m.messages), + import('date-fns/locale/fy').then(m => m.fy), ]) break } case AppLanguage.ga: { - mod = await import(`./locales/ga/messages`) + messages = await import(`./locales/ga/messages`).then(m => m.messages) break } case AppLanguage.gd: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/gd/messages`), - import('date-fns/locale/gd'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/gd/messages`).then(m => m.messages), + import('date-fns/locale/gd').then(m => m.gd), ]) break } case AppLanguage.gl: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/gl/messages`), - import('date-fns/locale/gl'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/gl/messages`).then(m => m.messages), + import('date-fns/locale/gl').then(m => m.gl), ]) break } case AppLanguage.hi: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/hi/messages`), - import('date-fns/locale/hi'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/hi/messages`).then(m => m.messages), + import('date-fns/locale/hi').then(m => m.hi), ]) break } case AppLanguage.hu: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/hu/messages`), - import('date-fns/locale/hu'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/hu/messages`).then(m => m.messages), + import('date-fns/locale/hu').then(m => m.hu), ]) break } case AppLanguage.ia: { - mod = await import(`./locales/ia/messages`) + messages = await import(`./locales/ia/messages`).then(m => m.messages) break } case AppLanguage.id: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/id/messages`), - import('date-fns/locale/id'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/id/messages`).then(m => m.messages), + import('date-fns/locale/id').then(m => m.id), ]) break } case AppLanguage.it: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/it/messages`), - import('date-fns/locale/it'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/it/messages`).then(m => m.messages), + import('date-fns/locale/it').then(m => m.it), ]) break } case AppLanguage.ja: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/ja/messages`), - import('date-fns/locale/ja'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/ja/messages`).then(m => m.messages), + import('date-fns/locale/ja').then(m => m.ja), ]) break } case AppLanguage.km: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/km/messages`), - import('date-fns/locale/km'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/km/messages`).then(m => m.messages), + import('date-fns/locale/km').then(m => m.km), ]) break } case AppLanguage.ko: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/ko/messages`), - import('date-fns/locale/ko'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/ko/messages`).then(m => m.messages), + import('date-fns/locale/ko').then(m => m.ko), ]) break } case AppLanguage.ne: { - mod = await import(`./locales/ne/messages`) + messages = await import(`./locales/ne/messages`).then(m => m.messages) break } case AppLanguage.nl: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/nl/messages`), - import('date-fns/locale/nl'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/nl/messages`).then(m => m.messages), + import('date-fns/locale/nl').then(m => m.nl), ]) break } case AppLanguage.pl: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/pl/messages`), - import('date-fns/locale/pl'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/pl/messages`).then(m => m.messages), + import('date-fns/locale/pl').then(m => m.pl), ]) break } case AppLanguage.pt_BR: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/pt-BR/messages`), - import('date-fns/locale/pt-BR'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/pt-BR/messages`).then(m => m.messages), + import('date-fns/locale/pt-BR').then(m => m.ptBR), ]) break } case AppLanguage.pt_PT: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/pt-PT/messages`), - import('date-fns/locale/pt'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/pt-PT/messages`).then(m => m.messages), + import('date-fns/locale/pt').then(m => m.pt), ]) break } case AppLanguage.ro: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/ro/messages`), - import('date-fns/locale/ro'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/ro/messages`).then(m => m.messages), + import('date-fns/locale/ro').then(m => m.ro), ]) break } case AppLanguage.ru: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/ru/messages`), - import('date-fns/locale/ru'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/ru/messages`).then(m => m.messages), + import('date-fns/locale/ru').then(m => m.ru), ]) break } case AppLanguage.sv: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/sv/messages`), - import('date-fns/locale/sv'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/sv/messages`).then(m => m.messages), + import('date-fns/locale/sv').then(m => m.sv), ]) break } case AppLanguage.th: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/th/messages`), - import('date-fns/locale/th'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/th/messages`).then(m => m.messages), + import('date-fns/locale/th').then(m => m.th), ]) break } case AppLanguage.tr: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/tr/messages`), - import('date-fns/locale/tr'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/tr/messages`).then(m => m.messages), + import('date-fns/locale/tr').then(m => m.tr), ]) break } case AppLanguage.uk: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/uk/messages`), - import('date-fns/locale/uk'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/uk/messages`).then(m => m.messages), + import('date-fns/locale/uk').then(m => m.uk), ]) break } case AppLanguage.vi: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/vi/messages`), - import('date-fns/locale/vi'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/vi/messages`).then(m => m.messages), + import('date-fns/locale/vi').then(m => m.vi), ]) break } case AppLanguage.zh_CN: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/zh-CN/messages`), - import('date-fns/locale/zh-CN'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/zh-CN/messages`).then(m => m.messages), + import('date-fns/locale/zh-CN').then(m => m.zhCN), ]) break } case AppLanguage.zh_HK: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/zh-HK/messages`), - import('date-fns/locale/zh-HK'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/zh-HK/messages`).then(m => m.messages), + import('date-fns/locale/zh-HK').then(m => m.zhHK), ]) break } case AppLanguage.zh_TW: { - ;[mod, {default: dateLocale}] = await Promise.all([ - import(`./locales/zh-TW/messages`), - import('date-fns/locale/zh-TW'), + ;[messages, dateLocale] = await Promise.all([ + import(`./locales/zh-TW/messages`).then(m => m.messages), + import('date-fns/locale/zh-TW').then(m => m.zhTW), ]) break } default: { - mod = await import(`./locales/en/messages`) + messages = await import(`./locales/en/messages`).then(m => m.messages) break } } - i18n.load(locale, mod.messages) + i18n.load(locale, messages) i18n.activate(locale) return dateLocale @@ -305,7 +306,7 @@ export function useLocaleLanguage() { const sanitizedLanguage = sanitizeAppLanguageSetting(appLanguage) document.documentElement.lang = sanitizedLanguage - dynamicActivate(sanitizedLanguage).then(locale => { + void dynamicActivate(sanitizedLanguage).then(locale => { setDateLocale(locale) }) }, [appLanguage]) diff --git a/src/logger/transports/console.ts b/src/logger/transports/console.ts index f43ddaaca..d67031ac4 100644 --- a/src/logger/transports/console.ts +++ b/src/logger/transports/console.ts @@ -1,4 +1,4 @@ -import format from 'date-fns/format' +import {format} from 'date-fns/format' import {LogLevel, type Transport} from '#/logger/types' import {prepareMetadata} from '#/logger/util' diff --git a/src/platform/polyfills.web.ts b/src/platform/polyfills.web.ts index 460ac8d04..dce9b284c 100644 --- a/src/platform/polyfills.web.ts +++ b/src/platform/polyfills.web.ts @@ -25,7 +25,8 @@ if (process.env.NODE_ENV !== 'production') { thrownErrors.add(err) throw err } else if (!thrownErrors.has(msgOrError)) { - return realConsoleError.apply(this, arguments as any) + // @ts-expect-error + return realConsoleError.apply(this, arguments) } } } -- 2.51.2 From 0dfd7cfa12655ceddd7482e486af86ff5708b9d6 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Mon, 1 Jun 2026 17:26:50 -0500 Subject: [PATCH 12/32] Update mod SDK (#10682) --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index e156d7280..8d4580c30 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ "icons:optimize": "svgo -f ./assets/icons" }, "dependencies": { - "@atproto/api": "0.20.6", + "@atproto/api": "0.20.8", "@atproto/syntax": "0.6.1", "@bitdrift/react-native": "^0.6.8", "@braintree/sanitize-url": "^6.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d0157ed61..ff8a98cd7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -242,8 +242,8 @@ importers: .: dependencies: '@atproto/api': - specifier: 0.20.6 - version: 0.20.6 + specifier: 0.20.8 + version: 0.20.8 '@atproto/syntax': specifier: 0.6.1 version: 0.6.1 @@ -877,8 +877,8 @@ packages: graphql: optional: true - '@atproto/api@0.20.6': - resolution: {integrity: sha512-WnFPcUl+qZdXmt27+Tg93BDIvBt/WpXfLIiBzBTp3ms9aszM5hAsfc7G8KEsnsmnRvcm0xRfiKEjIt5FxTKdYg==} + '@atproto/api@0.20.8': + resolution: {integrity: sha512-rTkA6kOmA2axSrg6VgpdXpsCFWpofnHBOn6pKg69Ju5MpIHqk4haQMgjBcVh1G3kUxzwgSAr7SYrPS3dFe5Etg==} engines: {node: '>=22'} '@atproto/common-web@0.5.0': @@ -9492,7 +9492,7 @@ snapshots: '@0no-co/graphql.web@1.2.0': {} - '@atproto/api@0.20.6': + '@atproto/api@0.20.8': dependencies: '@atproto/common-web': 0.5.0 '@atproto/lexicon': 0.7.1 -- 2.51.2 From 2abfba97710481599f72633f80d074e87e209cee Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Tue, 2 Jun 2026 01:36:34 +0300 Subject: [PATCH 13/32] Remove unused slider dep (#10618) --- package.json | 1 - pnpm-lock.yaml | 14 -------------- 2 files changed, 15 deletions(-) diff --git a/package.json b/package.json index 8d4580c30..e76f590e9 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,6 @@ "@ipld/dag-cbor": "^9.2.7", "@lingui/core": "^5.9.2", "@lingui/react": "^5.9.2", - "@miblanchard/react-native-slider": "^2.6.0", "@mozzius/expo-dynamic-app-icon": "^1.8.0", "@react-native-async-storage/async-storage": "2.2.0", "@react-navigation/bottom-tabs": "^7.15.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff8a98cd7..6d9210cc2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -328,9 +328,6 @@ importers: '@lingui/react': specifier: ^5.9.2 version: 5.9.5(@lingui/babel-plugin-lingui-macro@5.9.5(typescript@6.0.3))(react@19.1.0) - '@miblanchard/react-native-slider': - specifier: ^2.6.0 - version: 2.6.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) '@mozzius/expo-dynamic-app-icon': specifier: ^1.8.0 version: 1.8.1(expo@54.0.34(@babel/core@7.29.0)(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) @@ -2320,12 +2317,6 @@ packages: '@messageformat/parser@5.1.1': resolution: {integrity: sha512-3p0YRGCcTUCYvBKLIxtDDyrJ0YijGIwrTRu1DT8gIviIDZru8H23+FkY6MJBzM1n9n20CiM4VeDYuBsrrwnLjg==} - '@miblanchard/react-native-slider@2.6.0': - resolution: {integrity: sha512-o7hk/f/8vkqh6QNR5L52m+ws846fQeD/qNCC9CCSRdBqjq66KiCgbxzlhRzKM/gbtxcvMYMIEEJ1yes5cr6I3A==} - peerDependencies: - react: '>=16.8' - react-native: '>=0.59' - '@mozzius/expo-dynamic-app-icon@1.8.1': resolution: {integrity: sha512-JWNY9gw06s+q54b2SqWf6BEo7IYuJCtjJDtca+wTo6kP5dH/wYK85JdLrMbdy+cwOMScEY85uU6Mjn0wkWTLnw==} peerDependencies: @@ -11442,11 +11433,6 @@ snapshots: dependencies: moo: 0.5.3 - '@miblanchard/react-native-slider@2.6.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)': - dependencies: - react: 19.1.0 - react-native: 0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0) - '@mozzius/expo-dynamic-app-icon@1.8.1(expo@54.0.34(@babel/core@7.29.0)(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)': dependencies: '@expo/image-utils': 0.8.12 -- 2.51.2 From 26e48e3876648d510de7cb55f62d7f591519e921 Mon Sep 17 00:00:00 2001 From: pfrazee <1270099+pfrazee@users.noreply.github.com> Date: Tue, 2 Jun 2026 03:22:13 +0000 Subject: [PATCH 14/32] Nightly source-language update --- src/locale/locales/en/messages.po | 97 ++++++++++++++++++------------- 1 file changed, 58 insertions(+), 39 deletions(-) diff --git a/src/locale/locales/en/messages.po b/src/locale/locales/en/messages.po index 9cfc7b41b..4de882a99 100644 --- a/src/locale/locales/en/messages.po +++ b/src/locale/locales/en/messages.po @@ -81,6 +81,11 @@ msgstr "" msgid "{0, plural, one {# month} other {# months}}" msgstr "" +#. placeholder {0}: convo.details.joinRequestCount +#: src/screens/Messages/components/ChatListItem.tsx:225 +msgid "{0, plural, one {# new join request} other {# new join requests}}" +msgstr "{0, plural, one {# new join request} other {# new join requests}}" + #. placeholder {0}: reactions.length #. placeholder {1}: groupedReactions.map(g => g.value).join(' ') #: src/components/dms/MessageItem.tsx:297 @@ -534,7 +539,7 @@ msgid "{following} following" msgstr "" #: src/components/dms/components/GroupChatProfileCard.tsx:56 -#: src/components/dms/InitiateChatFlow.tsx:856 +#: src/components/dms/InitiateChatFlow.tsx:888 msgid "{handle} can’t be added" msgstr "{handle} can’t be added" @@ -542,7 +547,7 @@ msgstr "{handle} can’t be added" msgid "{handle} can't be messaged" msgstr "" -#: src/components/dms/InitiateChatFlow.tsx:817 +#: src/components/dms/InitiateChatFlow.tsx:849 msgid "{handle} can’t be messaged" msgstr "{handle} can’t be messaged" @@ -628,7 +633,7 @@ msgstr "" msgid "{requestCount, plural, one {# request} other {# requests}}" msgstr "{requestCount, plural, one {# request} other {# requests}}" -#. Displayed when there are more than 50 requests to join a group chat +#. Displayed when there are more than 20 requests to join a group chat #: src/screens/Messages/ConversationSettings/MembersAndRequests.tsx:48 msgid "{requestCount}+ requests" msgstr "{requestCount}+ requests" @@ -753,6 +758,11 @@ msgstr "" msgid "⚠Invalid Handle" msgstr "" +#: src/screens/Messages/components/ChatListItem.tsx:220 +msgctxt "Displayed when there are more than 20 requests to join a group chat" +msgid "20+ new join requests" +msgstr "20+ new join requests" + #: src/components/dialogs/MutedWords.tsx:202 #: src/components/dialogs/MutedWords.tsx:551 #: src/components/dialogs/MutedWords.tsx:554 @@ -1766,9 +1776,9 @@ msgstr "" #: src/components/dms/AddMembersFlow.tsx:342 #: src/components/dms/AddMembersFlow.tsx:509 #: src/components/dms/AddMembersFlow.tsx:515 -#: src/components/dms/InitiateChatFlow.tsx:491 -#: src/components/dms/InitiateChatFlow.tsx:676 -#: src/components/dms/InitiateChatFlow.tsx:683 +#: src/components/dms/InitiateChatFlow.tsx:508 +#: src/components/dms/InitiateChatFlow.tsx:701 +#: src/components/dms/InitiateChatFlow.tsx:708 #: src/components/moderation/LabelsOnMeDialog.tsx:334 #: src/components/moderation/LabelsOnMeDialog.tsx:335 #: src/screens/Login/ChooseAccountForm.tsx:98 @@ -2244,9 +2254,9 @@ msgstr "" msgid "Cancel search" msgstr "" -#: src/components/PostControls/index.tsx:110 -#: src/components/PostControls/index.tsx:141 -#: src/components/PostControls/index.tsx:169 +#: src/components/PostControls/index.tsx:108 +#: src/components/PostControls/index.tsx:138 +#: src/components/PostControls/index.tsx:166 #: src/state/shell/composer/index.tsx:105 msgid "Cannot interact with a blocked user" msgstr "" @@ -2611,7 +2621,7 @@ msgstr "" #: src/components/dms/AfterReportDialog.tsx:207 #: src/components/dms/AfterReportDialog.tsx:212 #: src/components/dms/EmojiPopup.android.tsx:59 -#: src/components/dms/InitiateChatFlow.tsx:516 +#: src/components/dms/InitiateChatFlow.tsx:533 #: src/components/NewskieDialog.tsx:169 #: src/components/NewskieDialog.tsx:175 #: src/components/Post/Embed/VideoEmbed/GifPresentationControls.tsx:107 @@ -2906,7 +2916,7 @@ msgid "Continue thread..." msgstr "" #: src/components/dms/AddMembersFlow.tsx:307 -#: src/components/dms/InitiateChatFlow.tsx:443 +#: src/components/dms/InitiateChatFlow.tsx:460 msgid "Continue to group name" msgstr "Continue to group name" @@ -2922,7 +2932,7 @@ msgstr "" msgid "Conversation" msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:309 +#: src/screens/Messages/components/ChatListItem.tsx:324 msgid "Conversation deleted" msgstr "" @@ -3136,7 +3146,7 @@ msgstr "" #. Text on button to create a new starter pack #: src/components/dialogs/StarterPackDialog.tsx:113 #: src/components/dialogs/StarterPackDialog.tsx:210 -#: src/components/dms/InitiateChatFlow.tsx:452 +#: src/components/dms/InitiateChatFlow.tsx:469 #: src/components/StarterPack/ProfileStarterPacks.tsx:329 msgid "Create" msgstr "" @@ -3203,7 +3213,7 @@ msgstr "" msgid "Create another" msgstr "" -#: src/components/dms/InitiateChatFlow.tsx:451 +#: src/components/dms/InitiateChatFlow.tsx:468 msgid "Create group chat" msgstr "Create group chat" @@ -3436,7 +3446,7 @@ msgid "Deleted" msgstr "" #: src/components/dms/MessagesListHeader.tsx:109 -#: src/screens/Messages/components/ChatListItem.tsx:132 +#: src/screens/Messages/components/ChatListItem.tsx:133 #: src/screens/Messages/ConversationSettings/Member.tsx:75 msgid "Deleted Account" msgstr "" @@ -5268,7 +5278,7 @@ msgid "Go to account settings" msgstr "" #. placeholder {0}: profile.handle -#: src/screens/Messages/components/ChatListItem.tsx:153 +#: src/screens/Messages/components/ChatListItem.tsx:154 msgid "Go to conversation with {0}" msgstr "" @@ -5288,7 +5298,7 @@ msgstr "" msgid "Go to profile" msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:211 +#: src/screens/Messages/components/ChatListItem.tsx:212 msgid "Go to the group chat named \"{chatName}\"" msgstr "Go to the group chat named \"{chatName}\"" @@ -5371,8 +5381,8 @@ msgstr "Group chats are now available" msgid "Group is locked" msgstr "Group is locked" -#: src/components/dms/InitiateChatFlow.tsx:231 -#: src/components/dms/InitiateChatFlow.tsx:551 +#: src/components/dms/InitiateChatFlow.tsx:237 +#: src/components/dms/InitiateChatFlow.tsx:568 #: src/screens/Messages/ConversationSettings/prompts.tsx:33 msgid "Group name" msgstr "Group name" @@ -6316,7 +6326,7 @@ msgstr "" #. Accessibility label for the like button when the post has not been liked, verb form followed by number of likes and noun form #. placeholder {0}: post.likeCount || 0 -#: src/components/PostControls/index.tsx:287 +#: src/components/PostControls/index.tsx:284 msgid "Like ({0, plural, one {# like} other {# likes}})" msgstr "" @@ -6746,7 +6756,7 @@ msgstr "" msgid "Message {displayName}" msgstr "Message {displayName}" -#: src/screens/Messages/components/ChatListItem.tsx:310 +#: src/screens/Messages/components/ChatListItem.tsx:325 msgid "Message deleted" msgstr "" @@ -7147,19 +7157,19 @@ msgstr "" msgid "New followers" msgstr "" -#: src/components/dms/InitiateChatFlow.tsx:230 +#: src/components/dms/InitiateChatFlow.tsx:236 msgid "New group chat" msgstr "New group chat" #. Button used to create a new group chat. #. Button used to create a new group chat. -#: src/components/dms/InitiateChatFlow.tsx:712 -#: src/components/dms/InitiateChatFlow.tsx:745 +#: src/components/dms/InitiateChatFlow.tsx:743 +#: src/components/dms/InitiateChatFlow.tsx:777 msgctxt "action" msgid "New group chat" msgstr "New group chat" -#: src/components/dms/InitiateChatFlow.tsx:267 +#: src/components/dms/InitiateChatFlow.tsx:273 msgid "New group chat with:" msgstr "New group chat with:" @@ -7226,7 +7236,7 @@ msgstr "" #: src/components/contacts/screens/ViewMatches.tsx:395 #: src/components/contacts/screens/ViewMatches.tsx:410 #: src/components/dms/AddMembersFlow.tsx:308 -#: src/components/dms/InitiateChatFlow.tsx:444 +#: src/components/dms/InitiateChatFlow.tsx:461 #: src/screens/Login/ForgotPasswordForm.tsx:149 #: src/screens/Login/ForgotPasswordForm.tsx:156 #: src/screens/Login/SetNewPasswordForm.tsx:186 @@ -7325,7 +7335,7 @@ msgstr "" msgid "No media yet" msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:296 +#: src/screens/Messages/components/ChatListItem.tsx:311 msgid "No messages yet" msgstr "" @@ -7399,7 +7409,7 @@ msgstr "" #: src/components/dialogs/SearchablePeopleList.tsx:250 #: src/components/dms/AddMembersFlow.tsx:240 -#: src/components/dms/InitiateChatFlow.tsx:340 +#: src/components/dms/InitiateChatFlow.tsx:346 #: src/components/ProgressGuide/FollowDialog.tsx:221 msgid "No results" msgstr "" @@ -7569,6 +7579,7 @@ msgstr "" #: src/components/BotAccountAlert.tsx:52 #: src/components/BotAccountAlert.tsx:57 +#: src/components/dms/InitiateChatFlow.tsx:676 #: src/components/dms/MessageItem.tsx:659 #: src/screens/Login/PasswordUpdatedForm.tsx:37 #: src/screens/PostThread/components/ThreadItemAnchor.tsx:661 @@ -7670,8 +7681,8 @@ msgstr "" msgid "Open chat member options for {displayName}" msgstr "Open chat member options for {displayName}" -#: src/screens/Messages/components/ChatListItem.tsx:471 -#: src/screens/Messages/components/ChatListItem.tsx:475 +#: src/screens/Messages/components/ChatListItem.tsx:486 +#: src/screens/Messages/components/ChatListItem.tsx:490 msgid "Open conversation options" msgstr "" @@ -9043,7 +9054,7 @@ msgstr "" #. Accessibility label for the reply button, verb form followed by number of replies and noun form #. placeholder {0}: post.replyCount || 0 -#: src/components/PostControls/index.tsx:243 +#: src/components/PostControls/index.tsx:240 msgid "Reply ({0, plural, one {# reply} other {# replies}})" msgstr "" @@ -9748,7 +9759,7 @@ msgstr "" msgid "Select GIF \"{0}\"" msgstr "" -#: src/components/dms/InitiateChatFlow.tsx:651 +#: src/components/dms/InitiateChatFlow.tsx:668 msgid "Select group chat members" msgstr "Select group chat members" @@ -10502,12 +10513,12 @@ msgstr "" msgid "Start adding people!" msgstr "" -#: src/components/dms/InitiateChatFlow.tsx:652 +#: src/components/dms/InitiateChatFlow.tsx:669 msgid "Start chat" msgstr "Start chat" #: src/components/dialogs/SearchablePeopleList.tsx:428 -#: src/components/dms/InitiateChatFlow.tsx:785 +#: src/components/dms/InitiateChatFlow.tsx:817 msgid "Start chat with {displayName}" msgstr "" @@ -10661,7 +10672,7 @@ msgid "Successfully verified" msgstr "" #: src/components/dms/AddMembersFlow.tsx:226 -#: src/components/dms/InitiateChatFlow.tsx:319 +#: src/components/dms/InitiateChatFlow.tsx:325 msgid "Suggested" msgstr "Suggested" @@ -11191,7 +11202,7 @@ msgstr "" msgid "This chat has ended" msgstr "This chat has ended" -#: src/screens/Messages/components/ChatListItem.tsx:360 +#: src/screens/Messages/components/ChatListItem.tsx:375 #: src/screens/Messages/components/ChatLocked.tsx:61 msgid "This chat is locked" msgstr "This chat is locked" @@ -11230,7 +11241,7 @@ msgstr "" msgid "This content is not viewable without a Bluesky account." msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:154 +#: src/screens/Messages/components/ChatListItem.tsx:155 msgid "This conversation is with a deleted or a deactivated account. Press for options" msgstr "" @@ -11830,7 +11841,7 @@ msgstr "" #. Accessibility label for the like button when the post has been liked, verb followed by number of likes and noun #. placeholder {0}: post.likeCount || 0 -#: src/components/PostControls/index.tsx:279 +#: src/components/PostControls/index.tsx:276 msgid "Unlike ({0, plural, one {# like} other {# likes}})" msgstr "" @@ -12700,7 +12711,7 @@ msgid "We're having network issues, try again" msgstr "" #: src/components/dms/AddMembersFlow.tsx:175 -#: src/components/dms/InitiateChatFlow.tsx:256 +#: src/components/dms/InitiateChatFlow.tsx:262 msgid "We’re having network issues, try again" msgstr "We’re having network issues, try again" @@ -13423,6 +13434,14 @@ msgstr "" msgid "Your account is not yet old enough to upload videos. Please try again later." msgstr "" +#: src/components/dms/InitiateChatFlow.tsx:674 +msgid "Your account is too new" +msgstr "Your account is too new" + +#: src/components/dms/InitiateChatFlow.tsx:675 +msgid "Your account must be at least 7 days old to create a new group chat." +msgstr "Your account must be at least 7 days old to create a new group chat." + #: src/screens/Settings/components/ExportCarDialog.tsx:107 msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately." msgstr "" -- 2.51.2 From 771fd5ddf614fb0234286ea1eb745814929e2d25 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Tue, 2 Jun 2026 13:23:51 +0300 Subject: [PATCH 15/32] [Chat] Tweak styles in invite link dialog (#10638) --- src/components/forms/Toggle/index.tsx | 10 +- .../Messages/components/EditTextButton.tsx | 5 +- .../Messages/components/InviteLinkDialog.tsx | 169 ++++++++++-------- 3 files changed, 106 insertions(+), 78 deletions(-) diff --git a/src/components/forms/Toggle/index.tsx b/src/components/forms/Toggle/index.tsx index e22ede36e..a62a82b62 100644 --- a/src/components/forms/Toggle/index.tsx +++ b/src/components/forms/Toggle/index.tsx @@ -212,9 +212,12 @@ export function Item({ ) const highlightStyle = highlightRow - ? selected - ? [a.rounded_full, a.p_md, {backgroundColor: t.palette.primary_50}] - : [a.rounded_full, a.p_md] + ? [ + a.rounded_full, + a.p_md, + hovered && t.atoms.bg_contrast_25, + selected && {backgroundColor: t.palette.primary_50}, + ] : null return ( @@ -588,6 +591,7 @@ export function RadioWithLabel({ style={[ a.font_medium, a.flex_1, + a.text_md, a.leading_tight, selected ? t.atoms.text : t.atoms.text_contrast_high, ]}> diff --git a/src/screens/Messages/components/EditTextButton.tsx b/src/screens/Messages/components/EditTextButton.tsx index 8a1ccc620..d578e39e5 100644 --- a/src/screens/Messages/components/EditTextButton.tsx +++ b/src/screens/Messages/components/EditTextButton.tsx @@ -35,13 +35,14 @@ export function EditTextButton({ a.flex_row, a.align_center, a.justify_between, - a.px_md, + a.pl_lg, + a.pr_sm, a.py_sm, + a.gap_sm, ]}> {typeof children === 'function' ? children(context) : children} { + const joinLinkRuleKey = joinLink ? joinLinkToKey(joinLink) : null + const [prevKey, setPrevKey] = useState(joinLinkRuleKey) + if (joinLinkRuleKey !== prevKey) { setStep(joinLinkRuleKey ? Step.MANAGE : Step.INFO) - setWhoCanJoin([joinLinkRuleKey ?? 'anyone']) - }, [joinLinkRuleKey]) + setWhoCanJoin(joinLinkRuleKey ?? 'anyone') + setPrevKey(joinLinkRuleKey) + } const {openComposer} = useOpenComposer() @@ -163,22 +163,32 @@ export function InviteLinkDialog({ let content: React.ReactNode = null let header: string | null = null switch (step) { - case Step.INFO: + case Step.INFO: { header = l`Invite link` content = ( <> - - + + An invite link lets people join this group chat without being - added directly. You control who can use the link and whether - they need your approval. You can disable the link at any time. + added directly. You control who can join the chat. You can + disable the link at any time. + + + + + Group chats can only have a maximum of{' '} + {plural(convo.details.memberLimit, { + one: '# person', + other: '# people', + })} + . - + - Your name, avatar, and the name of the group chat will be - visible to everyone. + Your name, avatar, the name of the group chat, and the number of + members will be visible to everyone. @@ -199,15 +209,16 @@ export function InviteLinkDialog({ ) break - case Step.GENERATE: - header = - joinLink && enabledStatus === 'enabled' - ? l`Update invite link` - : l`Generate invite link` + } + case Step.GENERATE: { + const linkEnabled = joinLink?.enabledStatus === 'enabled' + const linkHasChanged = linkEnabled && joinLinkRuleKey !== whoCanJoin + + header = linkEnabled ? l`Update invite link` : l`Generate invite link` content = ( <> - + Choose who can join this group chat and how. @@ -215,9 +226,9 @@ export function InviteLinkDialog({ - + values={[whoCanJoin]} + onChange={([value]) => setWhoCanJoin(value)}> + {whoCanJoinOptions.map(option => ( ) break + } case Step.MANAGE: { + const linkEnabled = joinLink?.enabledStatus === 'enabled' + const linkDisabled = joinLink?.enabledStatus === 'disabled' const joinLinkURI = joinLink?.code ? `https://bsky.app/chat/${joinLink.code}` : 'https://bsky.app/chat' const createdAt = joinLink ? new Date(joinLink.createdAt) : null - const currentOptionName = joinLink - ? `${joinLink.joinRule}${joinLink.requireApproval ? ':requireApproval' : ''}` - : whoCanJoinOptions[0].name - const currentOption = whoCanJoinOptions.find( - o => o.name === currentOptionName, - ) + const currentOption = + whoCanJoinOptions.find( + o => o.name === (joinLink ? joinLinkToKey(joinLink) : null), + ) ?? whoCanJoinOptions[0] const ownerValue = currentOption?.owner ?? whoCanJoinOptions[0].owner const memberValue = currentOption?.member ?? whoCanJoinOptions[0].member - header = - enabledStatus === 'enabled' ? l`Invite link` : l`Invite link disabled` + header = linkEnabled ? l`Invite link` : l`Invite link disabled` content = ( <> {joinLinkURI} @@ -319,25 +336,25 @@ export function InviteLinkDialog({ ) : null} - {enabledStatus === 'enabled' ? ( + {linkEnabled ? ( {isOwner ? ( setStep(Step.GENERATE)}> - - + + {ownerValue} ) : ( - {memberValue} + {memberValue} )} ) : null} - {enabledStatus === 'enabled' ? ( + {linkEnabled ? ( {isOwner ? ( ) : null} Post link @@ -425,14 +442,7 @@ export function InviteLinkDialog({ ]}> Disable this invite link? - + Anyone who has it will no longer be able to join or request to join. You can always create a new one. @@ -465,6 +475,7 @@ export function InviteLinkDialog({ ) break + } } if (!isOwner && (!joinLink || joinLink.enabledStatus === 'disabled')) { @@ -472,7 +483,7 @@ export function InviteLinkDialog({ content = ( <> - + There is no invite link for this group chat. @@ -503,9 +514,7 @@ export function InviteLinkDialog({ header={ - - {header} - + {header} @@ -517,3 +526,17 @@ export function InviteLinkDialog({ ) } + +function joinLinkToKey(joinLink: ChatBskyGroupDefs.JoinLinkView): string { + return `${joinLink.joinRule}${joinLink.requireApproval ? ':requireApproval' : ''}` +} + +function keyToJoinLink( + key: string, +): Pick { + const [joinRule, requireApproval] = key.split(':') + return { + joinRule, + requireApproval: requireApproval === 'requireApproval', + } +} -- 2.51.2 From cbf8e95bdb4b92c1ef0e69b5b9098fe47d309001 Mon Sep 17 00:00:00 2001 From: Naresh Rawat Date: Tue, 2 Jun 2026 17:10:37 +0545 Subject: [PATCH 16/32] Message sent time is not updated immediately in ChatList screen (#7768) --- src/view/com/util/TimeElapsed.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/view/com/util/TimeElapsed.tsx b/src/view/com/util/TimeElapsed.tsx index c28e9cd90..c6efd96f5 100644 --- a/src/view/com/util/TimeElapsed.tsx +++ b/src/view/com/util/TimeElapsed.tsx @@ -22,8 +22,11 @@ export function TimeElapsed({ ) const [prevTick, setPrevTick] = useState(tick) - if (prevTick !== tick) { + const [prevTimestamp, setPrevTimestamp] = useState(timestamp) + + if (prevTick !== tick || prevTimestamp !== timestamp) { setPrevTick(tick) + setPrevTimestamp(timestamp) setTimeAgo( timeToString ? timeToString(i18n, timestamp) : ago(timestamp, tick), ) -- 2.51.2 From fd9f988b905326c1bf81c3ed1c03f6bf549f32ff Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Tue, 2 Jun 2026 17:06:47 +0300 Subject: [PATCH 17/32] Ungate video upload size change (#10683) --- src/analytics/features/types.ts | 1 - src/lib/constants.ts | 4 +-- src/lib/media/video/compress.ts | 1 - src/lib/media/video/compress.web.ts | 12 +++------ src/view/com/composer/Composer.tsx | 10 ++----- src/view/com/composer/SelectMediaButton.tsx | 8 ++++-- src/view/com/composer/state/video.ts | 29 +++++---------------- 7 files changed, 20 insertions(+), 45 deletions(-) diff --git a/src/analytics/features/types.ts b/src/analytics/features/types.ts index bd48bd585..39df48e53 100644 --- a/src/analytics/features/types.ts +++ b/src/analytics/features/types.ts @@ -16,7 +16,6 @@ export enum Features { DmsNewMessageComposerEnable = 'dms:new_message_composer:enable', ComposerLanguageDetectionEnable = 'composer:language_detection:enable', PostGalleryEmbedEnable = 'post_gallery_embed:enable', - LargeVideoUploads = 'large_video_uploads:enable', AATest = 'aa-test', } diff --git a/src/lib/constants.ts b/src/lib/constants.ts index 59d82e94f..95eb57fd5 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -188,8 +188,8 @@ export const VIDEO_MAX_DURATION_MS = 3 * 60 * 1000 // 3 minutes in milliseconds * Maximum size of a video in megabytes, _not_ mebibytes. Backend uses * ISO megabytes. */ -export const VIDEO_MAX_SIZE_REDUCED = 1000 * 1000 * 100 // 100mb -export const VIDEO_MAX_SIZE = 3000 * 1000 * 100 // 300mb +export const VIDEO_MAX_SIZE_MB = 300 +export const VIDEO_MAX_SIZE = VIDEO_MAX_SIZE_MB * 1000 * 1000 // 300mb export const SUPPORTED_MIME_TYPES = [ 'video/mp4', diff --git a/src/lib/media/video/compress.ts b/src/lib/media/video/compress.ts index 60eda2dce..1d00bfcea 100644 --- a/src/lib/media/video/compress.ts +++ b/src/lib/media/video/compress.ts @@ -12,7 +12,6 @@ export async function compressVideo( opts?: { signal?: AbortSignal onProgress?: (progress: number) => void - TEMP_enableLargeVideoUploads?: boolean }, ): Promise { const {onProgress, signal} = opts || {} diff --git a/src/lib/media/video/compress.web.ts b/src/lib/media/video/compress.web.ts index 63921fe8e..83fdfde53 100644 --- a/src/lib/media/video/compress.web.ts +++ b/src/lib/media/video/compress.web.ts @@ -1,28 +1,22 @@ import {type ImagePickerAsset} from 'expo-image-picker' -import {VIDEO_MAX_SIZE, VIDEO_MAX_SIZE_REDUCED} from '#/lib/constants' +import {VIDEO_MAX_SIZE} from '#/lib/constants' import {VideoTooLargeError} from '#/lib/media/video/errors' import {type CompressedVideo} from './types' // doesn't actually compress, converts to ArrayBuffer export async function compressVideo( asset: ImagePickerAsset, - opts?: { + _opts?: { signal?: AbortSignal onProgress?: (progress: number) => void - TEMP_enableLargeVideoUploads?: number }, ): Promise { const {mimeType, base64} = parseDataUrl(asset.uri) const blob = base64ToBlob(base64, mimeType) const uri = URL.createObjectURL(blob) - if ( - blob.size > - (opts?.TEMP_enableLargeVideoUploads - ? VIDEO_MAX_SIZE - : VIDEO_MAX_SIZE_REDUCED) - ) { + if (blob.size > VIDEO_MAX_SIZE) { throw new VideoTooLargeError() } diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx index 033341f2c..7299abcb1 100644 --- a/src/view/com/composer/Composer.tsx +++ b/src/view/com/composer/Composer.tsx @@ -222,10 +222,6 @@ export const ComposePost = ({ const [publishingStage, setPublishingStage] = useState('') const [error, setError] = useState('') - const enableLargeVideoUploads = ax.features.enabled( - ax.features.LargeVideoUploads, - ) - /** * Track when a draft was created so we can measure draft age in metrics. * Set when a draft is loaded via handleSelectDraft. @@ -348,10 +344,9 @@ export const ComposePost = ({ currentDid, abortController.signal, i18n, - enableLargeVideoUploads, ) }, - [i18n, agent, currentDid, composerDispatch, enableLargeVideoUploads], + [i18n, agent, currentDid, composerDispatch], ) const onInitVideo = useNonReactiveCallback(() => { @@ -496,7 +491,6 @@ export const ComposePost = ({ currentDid, abortController.signal, i18n, - enableLargeVideoUploads, ) } catch (e) { logger.error('Failed to restore video from draft', { @@ -505,7 +499,7 @@ export const ComposePost = ({ }) } }, - [i18n, agent, currentDid, composerDispatch, enableLargeVideoUploads], + [i18n, agent, currentDid, composerDispatch], ) const handleSelectDraft = useCallback( diff --git a/src/view/com/composer/SelectMediaButton.tsx b/src/view/com/composer/SelectMediaButton.tsx index 8f44cfc3e..2d7019548 100644 --- a/src/view/com/composer/SelectMediaButton.tsx +++ b/src/view/com/composer/SelectMediaButton.tsx @@ -5,7 +5,11 @@ import {type ImagePickerAsset} from 'expo-image-picker' import {msg, plural} from '@lingui/core/macro' import {useLingui} from '@lingui/react' -import {VIDEO_MAX_DURATION_MS, VIDEO_MAX_SIZE} from '#/lib/constants' +import { + VIDEO_MAX_DURATION_MS, + VIDEO_MAX_SIZE, + VIDEO_MAX_SIZE_MB, +} from '#/lib/constants' import { usePhotoLibraryPermission, useVideoLibraryPermission, @@ -431,7 +435,7 @@ export function SelectMediaButton({ msg`You can only select one GIF at a time.`, ), [SelectedAssetError.FileTooBig]: _( - msg`One or more of your selected files are too large. Maximum size is 100 MB.`, + msg`One or more of your selected files are too large. Maximum size is ${VIDEO_MAX_SIZE_MB} MB.`, ), }[error] }) diff --git a/src/view/com/composer/state/video.ts b/src/view/com/composer/state/video.ts index b99d0a1e9..6d73e846e 100644 --- a/src/view/com/composer/state/video.ts +++ b/src/view/com/composer/state/video.ts @@ -4,6 +4,7 @@ import {type I18n} from '@lingui/core' import {msg} from '@lingui/core/macro' import {AbortError} from '#/lib/async/cancelable' +import {VIDEO_MAX_SIZE_MB} from '#/lib/constants' import {compressVideo} from '#/lib/media/video/compress' import { ServerError, @@ -264,7 +265,6 @@ export async function processVideo( did: string, signal: AbortSignal, i18n: I18n, - TEMP_enableLargeVideoUploads: boolean, ) { let video: CompressedVideo | undefined try { @@ -273,14 +273,9 @@ export async function processVideo( dispatch({type: 'update_progress', progress: trunc2dp(num), signal}) }, signal, - TEMP_enableLargeVideoUploads, }) } catch (e) { - const message = getCompressErrorMessage( - e, - i18n, - TEMP_enableLargeVideoUploads, - ) + const message = getCompressErrorMessage(e, i18n) if (message !== null) { dispatch({ type: 'to_error', @@ -309,7 +304,7 @@ export async function processVideo( }, }) } catch (e) { - const message = getUploadErrorMessage(e, i18n, TEMP_enableLargeVideoUploads) + const message = getUploadErrorMessage(e, i18n) if (message !== null) { dispatch({ type: 'to_error', @@ -393,30 +388,20 @@ export async function processVideo( } } -function getCompressErrorMessage( - e: unknown, - i18n: I18n, - TEMP_enableLargeVideoUploads: boolean, -): string | null { - const videoSize = TEMP_enableLargeVideoUploads ? 300 : 100 +function getCompressErrorMessage(e: unknown, i18n: I18n): string | null { if (e instanceof AbortError) { return null } if (e instanceof VideoTooLargeError) { return i18n._( - msg`The selected video is larger than ${videoSize} MB. Please try again with a smaller file.`, + msg`The selected video is larger than ${VIDEO_MAX_SIZE_MB} MB. Please try again with a smaller file.`, ) } logger.error('Error compressing video', {safeMessage: e}) return i18n._(msg`An error occurred while compressing the video.`) } -function getUploadErrorMessage( - e: unknown, - i18n: I18n, - TEMP_enableLargeVideoUploads: boolean, -): string | null { - const videoSize = TEMP_enableLargeVideoUploads ? 300 : 100 +function getUploadErrorMessage(e: unknown, i18n: I18n): string | null { if (e instanceof AbortError) { return null } @@ -448,7 +433,7 @@ function getUploadErrorMessage( case 'file size (100000001 bytes) is larger than the maximum allowed size (100000000 bytes)': case 'file size (300000001 bytes) is larger than the maximum allowed size (300000000 bytes)': return i18n._( - msg`The selected video is larger than ${videoSize} MB. Please try again with a smaller file.`, + msg`The selected video is larger than ${VIDEO_MAX_SIZE_MB} MB. Please try again with a smaller file.`, ) case 'Confirm your email address to upload videos': return i18n._(msg`Please confirm your email address to upload videos.`) -- 2.51.2 From 2b31047b0daa6f2ae2feac508d31f4a196d53460 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Tue, 2 Jun 2026 19:41:48 +0300 Subject: [PATCH 18/32] Fix scrollbar behaviour in splitview (#10685) --- src/view/com/util/List.web.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/view/com/util/List.web.tsx b/src/view/com/util/List.web.tsx index eaea3c47a..787ca9e27 100644 --- a/src/view/com/util/List.web.tsx +++ b/src/view/com/util/List.web.tsx @@ -345,7 +345,7 @@ function ListImpl( style, disableFullWindowScroll && { flex: 1, - overflowY: 'scroll', + overflowY: isWithinSplitView ? 'auto' : 'scroll', }, ]} ref={nativeRef as unknown as React.RefObject}> -- 2.51.2 From bdbf31a254208b747d58f2327aae65e4afd9799b Mon Sep 17 00:00:00 2001 From: DS Boyce <260543580+ds-boyce@users.noreply.github.com> Date: Tue, 2 Jun 2026 09:47:22 -0700 Subject: [PATCH 19/32] Use expo/expo-github-action v9 (#10689) --- .github/workflows/build-submit-android.yml | 2 +- .github/workflows/build-submit-ios.yml | 2 +- .github/workflows/bundle-deploy-eas-update.yml | 6 +++--- .github/workflows/pull-request-comment.yml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-submit-android.yml b/.github/workflows/build-submit-android.yml index 2748f783b..719b2e836 100644 --- a/.github/workflows/build-submit-android.yml +++ b/.github/workflows/build-submit-android.yml @@ -47,7 +47,7 @@ jobs: run: pnpm install --frozen-lockfile - name: 🔨 Setup Expo CLI - uses: expo/expo-github-action@main + uses: expo/expo-github-action@v9 with: eas-version: '19.0.5' packager: 'pnpm --allow-build=dtrace-provider' diff --git a/.github/workflows/build-submit-ios.yml b/.github/workflows/build-submit-ios.yml index fd09b6457..151941f5e 100644 --- a/.github/workflows/build-submit-ios.yml +++ b/.github/workflows/build-submit-ios.yml @@ -47,7 +47,7 @@ jobs: run: pnpm install --frozen-lockfile - name: 🔨 Setup Expo CLI - uses: expo/expo-github-action@main + uses: expo/expo-github-action@v9 with: eas-version: '19.0.5' packager: 'pnpm --allow-build=dtrace-provider' diff --git a/.github/workflows/bundle-deploy-eas-update.yml b/.github/workflows/bundle-deploy-eas-update.yml index f4be27b0d..22ea2d5cb 100644 --- a/.github/workflows/bundle-deploy-eas-update.yml +++ b/.github/workflows/bundle-deploy-eas-update.yml @@ -87,7 +87,7 @@ jobs: run: pnpm typecheck - name: 🔨 Setup EAS - uses: expo/expo-github-action@main + uses: expo/expo-github-action@v9 if: ${{ !steps.fingerprint.outputs.includes-changes }} with: eas-version: '19.0.5' @@ -180,7 +180,7 @@ jobs: cache: pnpm - name: 🔨 Setup EAS - uses: expo/expo-github-action@main + uses: expo/expo-github-action@v9 with: eas-version: '19.0.5' packager: 'pnpm --allow-build=dtrace-provider' @@ -327,7 +327,7 @@ jobs: cache: pnpm - name: 🔨 Setup EAS - uses: expo/expo-github-action@main + uses: expo/expo-github-action@v9 with: eas-version: '19.0.5' packager: 'pnpm --allow-build=dtrace-provider' diff --git a/.github/workflows/pull-request-comment.yml b/.github/workflows/pull-request-comment.yml index 3b70b754c..c0d4e45da 100644 --- a/.github/workflows/pull-request-comment.yml +++ b/.github/workflows/pull-request-comment.yml @@ -141,7 +141,7 @@ jobs: run: pnpm typecheck - name: 🔨 Setup EAS - uses: expo/expo-github-action@main + uses: expo/expo-github-action@v9 with: eas-version: '19.0.5' packager: 'pnpm --allow-build=dtrace-provider' -- 2.51.2 From dfa82904ecf580febc7b781e95590766133f7eba Mon Sep 17 00:00:00 2001 From: DS Boyce <260543580+ds-boyce@users.noreply.github.com> Date: Tue, 2 Jun 2026 10:24:55 -0700 Subject: [PATCH 20/32] Run GitHub actions in parallel (#10509) Co-authored-by: Eric Bailey Co-authored-by: Claude Opus 4.8 (1M context) --- .github/workflows/lint.yml | 83 +++++++++++++++++++++++++++++++++----- package.json | 3 +- 2 files changed, 74 insertions(+), 12 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d7715e8ea..93729874b 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -6,33 +6,42 @@ on: branches: - main concurrency: - group: "${{ github.workflow }}-${{ github.head_ref || github.ref }}" + group: '${{ github.workflow }}-${{ github.head_ref || github.ref }}' cancel-in-progress: true +# These jobs only check out the repo and run checks, so read access to the +# repo contents is all the GITHUB_TOKEN needs. +permissions: + contents: read + jobs: linting: name: Run linters runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + job: [lint, prettier] steps: - name: Check out Git repository uses: actions/checkout@v5 - - name: Verify Node version pins match .nvmrc + - name: Verify Node version pins match package.json run: | set -euo pipefail - expected=$(tr -d '[:space:]' < .nvmrc) + expected=$(node -p "require('./package.json').engines.node.replace(/[^0-9.]/g, '')") rc=0 check() { if [ "$2" != "$expected" ]; then - echo "::error file=$1::Node version mismatch: $1 pins '$2' but .nvmrc is '$expected'" + echo "::error file=$1::Node version mismatch: $1 pins '$2' but package.json is '$expected'" rc=1 fi } - # FROM node:X.Y.Z — service runtime images + # FROM node:X.Y.Z - service runtime images for f in Dockerfile.bskylink Dockerfile.bskyogcard; do v=$(grep -oE 'FROM node:[0-9]+\.[0-9]+\.[0-9]+' "$f" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | sort -u) check "$f" "$v" done - # ENV NODE_VERSION=X.Y.Z — Go images that nvm-install Node for the JS build stage + # ENV NODE_VERSION=X.Y.Z - Go images that nvm-install Node for the JS build stage for f in Dockerfile.embedr; do v=$(grep -oE 'NODE_VERSION=[0-9]+\.[0-9]+\.[0-9]+' "$f" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | sort -u) check "$f" "$v" @@ -53,10 +62,42 @@ jobs: command: pnpm install --frozen-lockfile attempt_limit: 3 attempt_delay: 2000 - - name: Lint check - run: pnpm lint - - name: Prettier check - run: pnpm prettier --check . + - name: Lint checks + run: pnpm ${{ matrix.job }} + # Aggregates the matrix results into a single stable check name so branch + # protection can require "Run linters" regardless of how many matrix jobs run. + # The result is asserted in `run` (not `if`) so a malformed expression can + # never silently skip the check and report a false pass. + linting-summary: + name: Run linters + if: always() + needs: [linting] + runs-on: ubuntu-latest + steps: + - name: Require linting to have succeeded + env: + RESULT: ${{ needs.linting.result }} + run: | + echo "linting result: $RESULT" + test "$RESULT" = "success" + typechecking: + name: Run typecheck + runs-on: ubuntu-latest + steps: + - name: Check out Git repository + uses: actions/checkout@v5 + - uses: pnpm/action-setup@v6 + - name: Install node + uses: actions/setup-node@v6 + with: + node-version-file: package.json + cache: pnpm + - name: pnpm install + uses: Wandalen/wretry.action@master + with: + command: pnpm install --frozen-lockfile + attempt_limit: 3 + attempt_delay: 2000 - name: Check & compile i18n run: pnpm intl:build - name: Type check @@ -64,6 +105,10 @@ jobs: testing: name: Run tests runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + shard: [1, 2, 3, 4] steps: - name: Check out Git repository uses: actions/checkout@v5 @@ -83,4 +128,20 @@ jobs: run: pnpm intl:build - name: Run tests run: | - NODE_ENV=test pnpm test --forceExit + NODE_ENV=test pnpm test --forceExit --shard=${{ matrix.shard }}/${{ strategy.job-total }} + # Aggregates the sharded test results into a single stable check name so branch + # protection can require "Run tests" regardless of how many shards run. + # The result is asserted in `run` (not `if`) so a malformed expression can + # never silently skip the check and report a false pass. + testing-summary: + name: Run tests + if: always() + needs: [testing] + runs-on: ubuntu-latest + steps: + - name: Require testing to have succeeded + env: + RESULT: ${{ needs.testing.result }} + run: | + echo "testing result: $RESULT" + test "$RESULT" = "success" diff --git a/package.json b/package.json index e76f590e9..0716bd085 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,8 @@ "make-deploy-bundle": "bash scripts/bundleUpdate.sh", "generate-webpack-stats-file": "EXPO_PUBLIC_GENERATE_STATS=1 pnpm build-web", "open-analyzer": "EXPO_PUBLIC_OPEN_ANALYZER=1 pnpm build-web", - "icons:optimize": "svgo -f ./assets/icons" + "icons:optimize": "svgo -f ./assets/icons", + "prettier": "prettier --check ." }, "dependencies": { "@atproto/api": "0.20.8", -- 2.51.2 From 59765138ce0969411d2951ca2d22ffadf1ec21b1 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Tue, 2 Jun 2026 12:29:24 -0500 Subject: [PATCH 21/32] [ALG-96] Don't fall back to search for onboarding user suggestions (#10680) --- .../StepSuggestedAccounts/index.tsx | 26 +++---------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/src/screens/Onboarding/StepSuggestedAccounts/index.tsx b/src/screens/Onboarding/StepSuggestedAccounts/index.tsx index eaa68d925..a9cc64396 100644 --- a/src/screens/Onboarding/StepSuggestedAccounts/index.tsx +++ b/src/screens/Onboarding/StepSuggestedAccounts/index.tsx @@ -1,18 +1,16 @@ -import {useCallback, useEffect, useMemo, useRef, useState} from 'react' +import {useCallback, useEffect, useRef, useState} from 'react' import {View} from 'react-native' import {type ModerationOpts} from '@atproto/api' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' import {Trans} from '@lingui/react/macro' import {useMutation, useQueryClient} from '@tanstack/react-query' -import * as bcp47Match from 'bcp-47-match' import {wait} from '#/lib/async/wait' import {popularInterests, useInterestsDisplayNames} from '#/lib/interests' import {isBlockedOrBlocking, isMuted} from '#/lib/moderation/blocked-and-muted' import {logger} from '#/logger' import {updateProfileShadow} from '#/state/cache/profile-shadow' -import {useLanguagePrefs} from '#/state/preferences' import {useModerationOpts} from '#/state/preferences/moderation-opts' import {useAgent, useSession} from '#/state/session' import { @@ -53,19 +51,6 @@ export function StepSuggestedAccounts() { // so we can enable/disable the button without having to dig through the shadow cache const [followedUsers, setFollowedUsers] = useState([]) - /* - * Special language handling copied wholesale from the Explore screen - */ - const {contentLanguages} = useLanguagePrefs() - const useFullExperience = useMemo(() => { - if (contentLanguages.length === 0) return true - return bcp47Match.basicFilter('en', contentLanguages).length > 0 - }, [contentLanguages]) - const interestsDisplayNames = useInterestsDisplayNames() - const interests = Object.keys(interestsDisplayNames) - .sort(boostInterests(popularInterests)) - .sort(boostInterests(state.interestsStepResults.selectedInterests)) - const { data: suggestedUsers, isLoading, @@ -73,8 +58,8 @@ export function StepSuggestedAccounts() { isRefetching, refetch, } = useSuggestedOnboardingUsers({ - category: selectedInterest || (useFullExperience ? null : interests[0]), - search: !useFullExperience, + category: selectedInterest, + search: false, overrideInterests: state.interestsStepResults.selectedInterests, }) @@ -105,7 +90,6 @@ export function StepSuggestedAccounts() { ax.metric('suggestedUser:follow', { logContext: 'Onboarding', location: 'FollowAll', - recSource: !useFullExperience ? 'Search' : undefined, recId: suggestedUsers?.recId, position: i, suggestedDid: did, @@ -156,7 +140,6 @@ export function StepSuggestedAccounts() { seenProfilesRef.current.add(did) ax.metric('suggestedUser:seen', { logContext: 'Onboarding', - recSource: !useFullExperience ? 'Search' : undefined, recId: suggestedUsers?.recId, position, suggestedDid: did, @@ -164,7 +147,7 @@ export function StepSuggestedAccounts() { }) } }, - [ax, selectedInterest, suggestedUsers?.recId, useFullExperience], + [ax, selectedInterest, suggestedUsers?.recId], ) useEffect(() => { @@ -250,7 +233,6 @@ export function StepSuggestedAccounts() { position={index} category={selectedInterest} onSeen={onProfileSeen} - recSource={!useFullExperience ? 'Search' : undefined} recId={suggestedUsers.recId} /> ))} -- 2.51.2 From 61e10f7e0b90b516c6ec7c853aa2ad1b2ff632f9 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Tue, 2 Jun 2026 12:42:10 -0500 Subject: [PATCH 22/32] Remove image upload flags (#10687) --- src/analytics/features/types.ts | 2 -- src/lib/api/index.ts | 23 ++--------------------- src/state/gallery.ts | 14 +++----------- src/view/com/composer/Composer.tsx | 24 ++++++------------------ 4 files changed, 11 insertions(+), 52 deletions(-) diff --git a/src/analytics/features/types.ts b/src/analytics/features/types.ts index 39df48e53..c8a8cd72d 100644 --- a/src/analytics/features/types.ts +++ b/src/analytics/features/types.ts @@ -9,8 +9,6 @@ export enum Features { ImportContactsOnboardingDisable = 'import_contacts:onboarding:disable', ImportContactsSettingsDisable = 'import_contacts:settings:disable', LiveNowBetaDisable = 'live_now_beta:disable', - ImageUploadsHighResolution = 'image_uploads:high_resolution', - ImageUploadsBlobSize2mbEnabled = 'image_uploads:blob_size_2mb:enabled', GroupChatsEnable = 'group_chats:enable', GroupChatsHasBeenReleased = 'group_chats:has_been_released', DmsNewMessageComposerEnable = 'dms:new_message_composer:enable', diff --git a/src/lib/api/index.ts b/src/lib/api/index.ts index 1edc8c801..d9a026ca8 100644 --- a/src/lib/api/index.ts +++ b/src/lib/api/index.ts @@ -51,16 +51,10 @@ interface PostOpts { langs?: string[] } -type FeatureFlags = { - highResolutionImages?: boolean - increasedBlobSizeLimit?: boolean -} - export async function post( agent: BskyAgent, queryClient: QueryClient, opts: PostOpts, - featureFlags?: FeatureFlags, ) { const thread = opts.thread opts.onStateChange?.(t`Processing...`) @@ -97,7 +91,6 @@ export async function post( queryClient, draft, opts.onStateChange, - featureFlags, ) let labels: $Typed | undefined if (draft.labels.length) { @@ -257,7 +250,6 @@ async function resolveEmbed( queryClient: QueryClient, draft: PostDraft, onStateChange: ((state: string) => void) | undefined, - featureFlags?: FeatureFlags, ): Promise< | $Typed | $Typed @@ -268,13 +260,7 @@ async function resolveEmbed( > { if (draft.embed.quote) { const [resolvedMedia, resolvedQuote] = await Promise.all([ - resolveMedia( - agent, - queryClient, - draft.embed, - onStateChange, - featureFlags, - ), + resolveMedia(agent, queryClient, draft.embed, onStateChange), resolveRecord(agent, queryClient, draft.embed.quote.uri), ]) if (resolvedMedia) { @@ -297,7 +283,6 @@ async function resolveEmbed( queryClient, draft.embed, onStateChange, - featureFlags, ) if (resolvedMedia) { return resolvedMedia @@ -323,7 +308,6 @@ async function resolveMedia( queryClient: QueryClient, embedDraft: EmbedDraft, onStateChange: ((state: string) => void) | undefined, - featureFlags?: FeatureFlags, ): Promise< | $Typed | $Typed @@ -339,10 +323,7 @@ async function resolveMedia( const images: AppBskyEmbedImages.Image[] = await Promise.all( imagesDraft.map(async (image, i) => { logger.debug(`Compressing image #${i}`) - const {path, width, height, mime} = await compressImage(image, { - highResolution: featureFlags?.highResolutionImages, - increasedBlobSizeLimit: featureFlags?.increasedBlobSizeLimit, - }) + const {path, width, height, mime} = await compressImage(image) logger.debug(`Uploading image #${i}`) const res = await uploadBlob(agent, path, mime) return { diff --git a/src/state/gallery.ts b/src/state/gallery.ts index c9c7f3775..e1c1541bc 100644 --- a/src/state/gallery.ts +++ b/src/state/gallery.ts @@ -13,7 +13,6 @@ import { } from 'expo-image-manipulator' import {nanoid} from 'nanoid/non-secure' -import {POST_IMG_MAX} from '#/lib/constants' import {getImageDim} from '#/lib/media/manip' import {openCropper} from '#/lib/media/picker' import {type PickerImage} from '#/lib/media/picker.shared' @@ -202,19 +201,12 @@ export function resetImageManipulation( return img } -export async function compressImage( - img: ComposerImage, - options?: { - highResolution?: boolean - increasedBlobSizeLimit?: boolean - }, -): Promise { +export async function compressImage(img: ComposerImage): Promise { const source = img.transformed || img.source - const highResolution = options?.highResolution ?? false let attempts = 0 - let maxDimension = highResolution ? 4000 : POST_IMG_MAX.width - let maxBytes = options?.increasedBlobSizeLimit ? 2000000 : POST_IMG_MAX.size + let maxDimension = 4000 + let maxBytes = 2000000 let minQualityPercentage = 0 let maxQualityPercentage = 101 // exclusive diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx index 7299abcb1..5c9f1a05f 100644 --- a/src/view/com/composer/Composer.tsx +++ b/src/view/com/composer/Composer.tsx @@ -877,24 +877,12 @@ export const ComposePost = ({ try { logger.info(`composer: posting...`) postUri = ( - await apilib.post( - agent, - queryClient, - { - thread: filteredThread, - replyTo: replyTo?.uri, - onStateChange: setPublishingStage, - langs: currentLanguages, - }, - { - highResolutionImages: ax.features.enabled( - ax.features.ImageUploadsHighResolution, - ), - increasedBlobSizeLimit: ax.features.enabled( - ax.features.ImageUploadsBlobSize2mbEnabled, - ), - }, - ) + await apilib.post(agent, queryClient, { + thread: filteredThread, + replyTo: replyTo?.uri, + onStateChange: setPublishingStage, + langs: currentLanguages, + }) ).uris[0] /* -- 2.51.2 From 53fa6b2493c43ee4c5f986c8efa2ade62d02b4c6 Mon Sep 17 00:00:00 2001 From: Austin McKinley <54160+amckinley@users.noreply.github.com> Date: Tue, 2 Jun 2026 11:04:28 -0700 Subject: [PATCH 23/32] ci: add dependabot config with 7-day cooldown (#10475) Co-authored-by: Claude Opus 4.7 (1M context) --- .github/dependabot.yml | 44 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..9404af75f --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,44 @@ +version: 2 +# Dependabot auto-update config. +# +# Cooldown (7 days) is the point of this config: it delays version-update +# PRs until a newly-published version has aged. Supply-chain attacks like +# the tanstack Shai-Hulud compromise (2026-05-11) live minutes-to-hours +# before the registry yanks them; a 7-day cooldown keeps poisoned +# versions out of our lockfiles. +# +# Security updates bypass cooldown and continue to flow immediately. See: +# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#cooldown +# +# Auto-merge is deliberately NOT enabled. Every dependabot PR gets human +# review. + +updates: + - package-ecosystem: npm + directory: / + schedule: + interval: weekly + day: monday + cooldown: + default-days: 7 + open-pull-requests-limit: 5 + groups: + production: + dependency-type: production + update-types: [minor, patch] + development: + dependency-type: development + update-types: [minor, patch] + + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly + day: monday + cooldown: + default-days: 7 + open-pull-requests-limit: 3 + groups: + actions: + patterns: ["*"] + update-types: [minor, patch] -- 2.51.2 From 8e5ac6790f643d68436d22db80f891a1d9cf7fba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 11:55:39 -0700 Subject: [PATCH 24/32] Bump slackapi/slack-github-action from 2.1.1 to 3.0.3 (#10693) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-submit-android.yml | 6 +++--- .github/workflows/build-submit-ios.yml | 2 +- .github/workflows/bundle-deploy-eas-update.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-submit-android.yml b/.github/workflows/build-submit-android.yml index 719b2e836..fe9d5b1c5 100644 --- a/.github/workflows/build-submit-android.yml +++ b/.github/workflows/build-submit-android.yml @@ -128,7 +128,7 @@ jobs: - name: 🔔 Notify Slack of Production Build if: ${{ inputs.profile == 'production' }} - uses: slackapi/slack-github-action@v2.1.1 + uses: slackapi/slack-github-action@v3.0.3 with: webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} webhook-type: incoming-webhook @@ -138,7 +138,7 @@ jobs: - name: 🔔 Notify Slack of Testflight Build if: ${{ inputs.profile != 'production' }} - uses: slackapi/slack-github-action@v2.1.1 + uses: slackapi/slack-github-action@v3.0.3 with: webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} webhook-type: incoming-webhook @@ -174,7 +174,7 @@ jobs: - name: 🔔 Notify Slack of Production APK Build if: ${{ inputs.profile == 'production' }} - uses: slackapi/slack-github-action@v2.1.1 + uses: slackapi/slack-github-action@v3.0.3 with: webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} webhook-type: incoming-webhook diff --git a/.github/workflows/build-submit-ios.yml b/.github/workflows/build-submit-ios.yml index 151941f5e..d2cc7a7ab 100644 --- a/.github/workflows/build-submit-ios.yml +++ b/.github/workflows/build-submit-ios.yml @@ -155,7 +155,7 @@ jobs: - name: 🔔 Notify Slack of Production Build if: ${{ inputs.profile == 'production' }} - uses: slackapi/slack-github-action@v2.1.1 + uses: slackapi/slack-github-action@v3.0.3 with: webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} webhook-type: incoming-webhook diff --git a/.github/workflows/bundle-deploy-eas-update.yml b/.github/workflows/bundle-deploy-eas-update.yml index 22ea2d5cb..983494dd1 100644 --- a/.github/workflows/bundle-deploy-eas-update.yml +++ b/.github/workflows/bundle-deploy-eas-update.yml @@ -386,7 +386,7 @@ jobs: path: build.apk - name: 🔔 Notify Slack - uses: slackapi/slack-github-action@v2.1.1 + uses: slackapi/slack-github-action@v3.0.3 with: webhook: ${{ secrets.SLACK_CLIENT_ALERT_WEBHOOK }} webhook-type: incoming-webhook -- 2.51.2 From a2c8b47b8721eca2cd14dd64e56ef0246457dc01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 11:56:46 -0700 Subject: [PATCH 25/32] Bump marocchino/sticky-pull-request-comment from 2 to 3 (#10692) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request-comment.yml | 6 +++--- .github/workflows/pull-request-commit.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pull-request-comment.yml b/.github/workflows/pull-request-comment.yml index c0d4e45da..a497a5625 100644 --- a/.github/workflows/pull-request-comment.yml +++ b/.github/workflows/pull-request-comment.yml @@ -94,7 +94,7 @@ jobs: core.setOutput('head-ref', pr.data.head.ref); - name: 💬 Drop a comment - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@v3 with: header: pull-request-eas-build-${{ steps.pr-info.outputs.head-sha }} number: ${{ github.event.issue.number }} @@ -181,7 +181,7 @@ jobs: RUNTIME_VERSION: - name: 💬 Drop a comment - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@v3 env: ISSUE_NUMBER: ${{ github.event.issue.number }} with: @@ -198,7 +198,7 @@ jobs: *Generated by [PR labeler](https://github.com/expo/expo/actions/workflows/pr-labeler.yml) 🤖* - name: 💬 Drop a comment - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@v3 if: failure() with: header: pull-request-eas-build-${{ steps.pr-info.outputs.head-sha }} diff --git a/.github/workflows/pull-request-commit.yml b/.github/workflows/pull-request-commit.yml index 722af1f00..976fa3566 100644 --- a/.github/workflows/pull-request-commit.yml +++ b/.github/workflows/pull-request-commit.yml @@ -96,7 +96,7 @@ jobs: excluded_assets: "(.+).chunk.js|(.+).js.map|(.+).json|(.+).png|(.+).svg|(.+).webp|(.+).jpg|(.+).ico" - name: 💬 Drop a comment - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@v3 with: header: bundle-diff message: | @@ -133,7 +133,7 @@ jobs: profile: pull-request - name: 💬 Drop a comment - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@v3 if: ${{ steps.fingerprint.outputs.includes-changes }} with: header: fingerprint-diff @@ -151,7 +151,7 @@ jobs: *Generated by [PR labeler](https://github.com/expo/expo/actions/workflows/pr-labeler.yml) 🤖* - name: 💬 Delete comment - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@v3 if: ${{ !steps.fingerprint.outputs.includes-changes }} with: header: fingerprint-diff -- 2.51.2 From d08ab487d87457b6cb8d804a48cd4b37952dd45e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 11:57:43 -0700 Subject: [PATCH 26/32] Bump actions/create-github-app-token from 1 to 3 (#10691) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/sync-internal.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sync-internal.yaml b/.github/workflows/sync-internal.yaml index 562ce96be..03120eaeb 100644 --- a/.github/workflows/sync-internal.yaml +++ b/.github/workflows/sync-internal.yaml @@ -15,7 +15,7 @@ jobs: fetch-depth: 0 - name: Generate GitHub App Token id: app-token - uses: actions/create-github-app-token@v1 + uses: actions/create-github-app-token@v3 with: app-id: ${{ vars.SYNC_INTERNAL_APP_ID }} private-key: ${{ secrets.SYNC_INTERNAL_PK }} -- 2.51.2 From 56496520d6cfbbb6699587b7949df81efa548810 Mon Sep 17 00:00:00 2001 From: DS Boyce <260543580+ds-boyce@users.noreply.github.com> Date: Tue, 2 Jun 2026 12:02:49 -0700 Subject: [PATCH 27/32] Create logged-out view for group chat invites (#10598) Co-authored-by: Samuel Newman --- assets/images/chat-desktop-bg-dark.webp | Bin 0 -> 264956 bytes assets/images/chat-desktop-bg-light.webp | Bin 0 -> 220052 bytes assets/images/chat-mobile-bg-dark.webp | Bin 0 -> 68756 bytes assets/images/chat-mobile-bg-light.webp | Bin 0 -> 65602 bytes src/App.native.tsx | 12 +- src/App.web.tsx | 12 +- src/Navigation.tsx | 14 + src/components/AvatarBubbles.tsx | 26 +- src/components/Link.tsx | 10 + ...ry.native.ts => useLandingEntry.native.ts} | 32 +- ...StarterPackEntry.ts => useLandingEntry.ts} | 12 +- .../intents/GroupChatJoinDialog.tsx | 432 ++++++++++++++++++ src/components/intents/IntentDialogs.tsx | 71 ++- src/lib/constants.ts | 1 + src/lib/hooks/useIntentHandler.ts | 51 +++ src/lib/strings/url-helpers.ts | 22 + src/screens/Messages/JoinRequest.tsx | 305 +++++++++++++ .../Messages/components/InviteLinkDialog.tsx | 4 +- .../components/MessagesListGroupInfoPanel.tsx | 9 +- src/screens/Onboarding/StepFinished/index.tsx | 4 +- src/screens/Signup/index.tsx | 2 +- .../StarterPack/StarterPackLandingScreen.tsx | 2 +- src/screens/StarterPack/StarterPackScreen.tsx | 2 +- src/state/preferences/moderation-opts.tsx | 4 +- src/state/queries/join-links.ts | 72 +++ .../messages/request-join-group-chat.ts | 37 ++ .../messages/withdraw-join-group-chat.ts | 38 ++ src/state/shell/landing.tsx | 66 +++ src/state/shell/logged-out.tsx | 42 +- src/view/com/auth/LoggedOut.tsx | 49 +- src/view/com/util/Link.tsx | 23 +- src/view/icons/LogomarkWithType.tsx | 55 +++ 32 files changed, 1331 insertions(+), 78 deletions(-) create mode 100644 assets/images/chat-desktop-bg-dark.webp create mode 100644 assets/images/chat-desktop-bg-light.webp create mode 100644 assets/images/chat-mobile-bg-dark.webp create mode 100644 assets/images/chat-mobile-bg-light.webp rename src/components/hooks/{useStarterPackEntry.native.ts => useLandingEntry.native.ts} (64%) rename src/components/hooks/{useStarterPackEntry.ts => useLandingEntry.ts} (76%) create mode 100644 src/components/intents/GroupChatJoinDialog.tsx create mode 100644 src/screens/Messages/JoinRequest.tsx create mode 100644 src/state/queries/join-links.ts create mode 100644 src/state/queries/messages/request-join-group-chat.ts create mode 100644 src/state/queries/messages/withdraw-join-group-chat.ts create mode 100644 src/state/shell/landing.tsx create mode 100644 src/view/icons/LogomarkWithType.tsx diff --git a/assets/images/chat-desktop-bg-dark.webp b/assets/images/chat-desktop-bg-dark.webp new file mode 100644 index 0000000000000000000000000000000000000000..9a3929f2f210b2597e7b8936358f85a2ae97cb66 GIT binary patch literal 264956 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

Un6p%z3M#r8j%rcbT%iDDF9ZH+w#>78`W6? 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 !U!MPc>0;qL&((@G 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 literal 0 HcmV?d00001 diff --git a/assets/images/chat-desktop-bg-light.webp b/assets/images/chat-desktop-bg-light.webp new file mode 100644 index 0000000000000000000000000000000000000000..099a1045a3afc32a8b118b6d5a072dc27a5e4798 GIT binary patch literal 220052 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

8o^jc&@x{BgSee)ft25y=H+vlwQTgm8Vk|0z`M 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 literal 0 HcmV?d00001 diff --git a/assets/images/chat-mobile-bg-dark.webp b/assets/images/chat-mobile-bg-dark.webp new file mode 100644 index 0000000000000000000000000000000000000000..1ed3c11051906e20e5ad9156d740173e1cc59cda GIT binary patch literal 68756 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�&C;NL%9O2-uHDsdvYdV!S3P< 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 literal 0 HcmV?d00001 diff --git a/assets/images/chat-mobile-bg-light.webp b/assets/images/chat-mobile-bg-light.webp new file mode 100644 index 0000000000000000000000000000000000000000..f14a816c703d665c6be63a445b4cbfaab3081863 GIT binary patch literal 65602 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 DnVZ1P literal 0 HcmV?d00001 diff --git a/src/App.native.tsx b/src/App.native.tsx index 2654c6ed8..22dd39f9d 100644 --- a/src/App.native.tsx +++ b/src/App.native.tsx @@ -47,18 +47,18 @@ import { import {readLastActiveAccount} from '#/state/session/util' import {Provider as ShellStateProvider} from '#/state/shell' import {Provider as ComposerProvider} from '#/state/shell/composer' +import {Provider as LandingProvider} from '#/state/shell/landing' import {Provider as LoggedOutViewProvider} from '#/state/shell/logged-out' import {Provider as OnboardingProvider} from '#/state/shell/onboarding' import {Provider as ProgressGuideProvider} from '#/state/shell/progress-guide' import {Provider as SelectedFeedProvider} from '#/state/shell/selected-feed' -import {Provider as StarterPackProvider} from '#/state/shell/starter-pack' import {Provider as HiddenRepliesProvider} from '#/state/threadgate-hidden-replies' import {TestCtrls} from '#/view/com/testing/TestCtrls' import {Shell} from '#/view/shell' import {atoms as a, ThemeProvider as Alf} from '#/alf' import {useColorModeTheme} from '#/alf/util/useColorModeTheme' import {Provider as ContextMenuProvider} from '#/components/ContextMenu' -import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry' +import {useLandingEntry} from '#/components/hooks/useLandingEntry' import {Provider as IntentDialogProvider} from '#/components/intents/IntentDialogs' import {Provider as LightboxStateProvider} from '#/components/Lightbox/state' import {Provider as PolicyUpdateOverlayProvider} from '#/components/PolicyUpdateOverlay' @@ -113,7 +113,7 @@ function InnerApp() { const {resumeSession} = useSessionApi() const theme = useColorModeTheme() const {t: l} = useLingui() - const hasCheckedReferrer = useStarterPackEntry() + const hasCheckedLanding = useLandingEntry() // init useEffect(() => { @@ -146,7 +146,7 @@ function InnerApp() { - + - + - + diff --git a/src/App.web.tsx b/src/App.web.tsx index 5c22b3c92..6faf6f221 100644 --- a/src/App.web.tsx +++ b/src/App.web.tsx @@ -40,17 +40,17 @@ import { import {readLastActiveAccount} from '#/state/session/util' import {Provider as ShellStateProvider} from '#/state/shell' import {Provider as ComposerProvider} from '#/state/shell/composer' +import {Provider as LandingProvider} from '#/state/shell/landing' import {Provider as LoggedOutViewProvider} from '#/state/shell/logged-out' import {Provider as OnboardingProvider} from '#/state/shell/onboarding' import {Provider as ProgressGuideProvider} from '#/state/shell/progress-guide' import {Provider as SelectedFeedProvider} from '#/state/shell/selected-feed' -import {Provider as StarterPackProvider} from '#/state/shell/starter-pack' import {Provider as HiddenRepliesProvider} from '#/state/threadgate-hidden-replies' import {Shell} from '#/view/shell/index' import {ThemeProvider as Alf} from '#/alf' import {useColorModeTheme} from '#/alf/util/useColorModeTheme' import {Provider as ContextMenuProvider} from '#/components/ContextMenu' -import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry' +import {useLandingEntry} from '#/components/hooks/useLandingEntry' import {Provider as IntentDialogProvider} from '#/components/intents/IntentDialogs' import {Provider as LightboxStateProvider} from '#/components/Lightbox/state' import {Provider as PolicyUpdateOverlayProvider} from '#/components/PolicyUpdateOverlay' @@ -92,7 +92,7 @@ function InnerApp() { const {resumeSession} = useSessionApi() const theme = useColorModeTheme() const {t: l} = useLingui() - const hasCheckedReferrer = useStarterPackEntry() + const hasCheckedLanding = useLandingEntry() // init useEffect(() => { @@ -125,7 +125,7 @@ function InnerApp() { - + - + - + diff --git a/src/Navigation.tsx b/src/Navigation.tsx index 6284aff34..1348a975e 100644 --- a/src/Navigation.tsx +++ b/src/Navigation.tsx @@ -44,6 +44,7 @@ import { type State, } from '#/lib/routes/types' import {bskyTitle} from '#/lib/strings/headings' +import {CHAT_INVITE_CODE_REGEX} from '#/lib/strings/url-helpers' import {useUnreadNotifications} from '#/state/queries/notifications/unread' import {useSession} from '#/state/session' import {useLoggedOutViewControls} from '#/state/shell/logged-out' @@ -797,6 +798,19 @@ const LINKING = { return buildStateObject('Flat', 'Home', params) } + // Chat invite URLs (`/c/:code`) are handled by `useIntentHandler`, which + // opens the GroupChatJoinDialog (or the logged-out join flow). Route the + // path to Home so the dialog overlays Home instead of NotFound. On native, + // react-navigation strips the `bluesky://` prefix and passes the path + // without a leading slash, so normalize before matching. + const normalizedPath = path.startsWith('/') ? path : `/${path}` + if (CHAT_INVITE_CODE_REGEX.test(normalizedPath.split('?')[0])) { + if (IS_NATIVE) { + return buildStateObject('HomeTab', 'Home', params) + } + return buildStateObject('Flat', 'Home', params) + } + if (IS_NATIVE) { if (name === 'Search') { return buildStateObject('SearchTab', 'Search', params) diff --git a/src/components/AvatarBubbles.tsx b/src/components/AvatarBubbles.tsx index 880a5284f..c49dada16 100644 --- a/src/components/AvatarBubbles.tsx +++ b/src/components/AvatarBubbles.tsx @@ -28,23 +28,29 @@ type Layout = { border?: boolean } -type Props = { - animate?: boolean - profiles: bsky.profile.AnyProfileView[] - size?: number - moderationOpts?: ModerationOpts -} - export function AvatarBubbles({ animate = false, profiles: allProfiles, + self = false, size = 120, moderationOpts, -}: Props) { +}: { + animate?: boolean + profiles: bsky.profile.AnyProfileView[] + /** + * By default, when there are more than 2 profiles, the current user is + * filtered out (so you don't see yourself among your own group's members). + * Set this to `true` for cases where every passed profile should appear, + * e.g. an invite preview where the owner is meaningful regardless of viewer. + */ + self?: boolean + size?: number + moderationOpts?: ModerationOpts +}) { const {currentAccount} = useSession() const profiles = - allProfiles.length > 2 - ? allProfiles.filter(p => p.did !== currentAccount?.did) + !self && allProfiles.length > 2 + ? allProfiles.filter(p => p?.did != null && p.did !== currentAccount?.did) : allProfiles const moderations = useMemo(() => { if (!moderationOpts) return [] diff --git a/src/components/Link.tsx b/src/components/Link.tsx index fcb2e8a87..8795c8e89 100644 --- a/src/components/Link.tsx +++ b/src/components/Link.tsx @@ -12,6 +12,7 @@ import { } from '@react-navigation/native' import {BSKY_DOWNLOAD_URL} from '#/lib/constants' +import {useGroupChatJoinIntent} from '#/lib/hooks/useIntentHandler' import {useNavigationDeduped} from '#/lib/hooks/useNavigationDeduped' import {useOpenLink} from '#/lib/hooks/useOpenLink' import {type AllNavigatorParams, type RouteParams} from '#/lib/routes/types' @@ -19,6 +20,7 @@ import {shareUrl} from '#/lib/sharing' import { convertBskyAppUrlIfNeeded, createProxiedUrl, + getChatInviteCodeFromUrl, isBskyDownloadUrl, isExternalUrl, linkRequiresWarning, @@ -130,6 +132,7 @@ export function useLink({ const {closeModal} = useModalControls() const {linkWarningDialogControl} = useGlobalDialogsControlContext() const openLink = useOpenLink() + const groupChatJoinIntent = useGroupChatJoinIntent() const onPress = useCallback( (e: GestureResponderEvent) => { @@ -148,6 +151,12 @@ export function useLink({ e.preventDefault() } + const chatInviteCode = getChatInviteCodeFromUrl(href) + if (chatInviteCode) { + groupChatJoinIntent(chatInviteCode, href) + return + } + if (requiresWarning) { linkWarningDialogControl.open({ displayText, @@ -228,6 +237,7 @@ export function useLink({ overridePresentation, shouldProxy, linkWarningDialogControl, + groupChatJoinIntent, ], ) diff --git a/src/components/hooks/useStarterPackEntry.native.ts b/src/components/hooks/useLandingEntry.native.ts similarity index 64% rename from src/components/hooks/useStarterPackEntry.native.ts rename to src/components/hooks/useLandingEntry.native.ts index 31221d599..c5950a646 100644 --- a/src/components/hooks/useStarterPackEntry.native.ts +++ b/src/components/hooks/useLandingEntry.native.ts @@ -1,22 +1,45 @@ import {useEffect, useState} from 'react' +import * as Linking from 'expo-linking' +import {parseLinkingUrl} from '#/lib/parseLinkingUrl' import { createStarterPackLinkFromAndroidReferrer, httpStarterPackUriToAtUri, } from '#/lib/strings/starter-pack' +import {CHAT_INVITE_CODE_REGEX} from '#/lib/strings/url-helpers' import {useHasCheckedForStarterPack} from '#/state/preferences/used-starter-packs' -import {useSetActiveStarterPack} from '#/state/shell/starter-pack' +import { + useSetActiveLanding, + useSetActiveStarterPack, +} from '#/state/shell/landing' import {IS_ANDROID} from '#/env' import {Referrer, SharedPrefs} from '../../../modules/expo-bluesky-swiss-army' -export function useStarterPackEntry() { +export function useLandingEntry() { const [ready, setReady] = useState(false) const setActiveStarterPack = useSetActiveStarterPack() + const setActiveLanding = useSetActiveLanding() const hasCheckedForStarterPack = useHasCheckedForStarterPack() useEffect(() => { if (ready) return + // Check for group chat invite link from the initial deep link URL + const linkingUrl = Linking.getLinkingURL() + if (linkingUrl) { + const urlp = parseLinkingUrl(linkingUrl) + const chatInviteMatch = urlp.pathname.match(CHAT_INVITE_CODE_REGEX) + if (chatInviteMatch) { + setActiveLanding({ + type: 'groupchat', + uri: linkingUrl, + code: chatInviteMatch[1], + }) + setReady(true) + return + } + } + // On Android, we cannot clear the referral link. It gets stored for 90 days and all we can do is query for it. So, // let's just ensure we never check again after the first time. if (hasCheckedForStarterPack) { @@ -29,7 +52,8 @@ export function useStarterPackEntry() { setReady(true) }, 500) - ;(async () => { + void (async () => { + // Check for starter pack let uri: string | null | undefined if (IS_ANDROID) { @@ -58,7 +82,7 @@ export function useStarterPackEntry() { return () => { clearTimeout(timeout) } - }, [ready, setActiveStarterPack, hasCheckedForStarterPack]) + }, [ready, setActiveStarterPack, setActiveLanding, hasCheckedForStarterPack]) return ready } diff --git a/src/components/hooks/useStarterPackEntry.ts b/src/components/hooks/useLandingEntry.ts similarity index 76% rename from src/components/hooks/useStarterPackEntry.ts rename to src/components/hooks/useLandingEntry.ts index ccbd99157..e3b728a5a 100644 --- a/src/components/hooks/useStarterPackEntry.ts +++ b/src/components/hooks/useLandingEntry.ts @@ -1,25 +1,27 @@ import {useEffect, useState} from 'react' import {httpStarterPackUriToAtUri} from '#/lib/strings/starter-pack' -import {useSetActiveStarterPack} from '#/state/shell/starter-pack' +import {useSetActiveStarterPack} from '#/state/shell/landing' -export function useStarterPackEntry() { +export function useLandingEntry() { const [ready, setReady] = useState(false) - const setActiveStarterPack = useSetActiveStarterPack() useEffect(() => { const href = window.location.href - const atUri = httpStarterPackUriToAtUri(href) + const url = new URL(href) + // Check for starter pack + const atUri = httpStarterPackUriToAtUri(href) if (atUri) { - const url = new URL(href) // Determines if an App Clip is loading this landing page const isClip = url.searchParams.get('clip') === 'true' setActiveStarterPack({ uri: atUri, isClip, }) + setReady(true) + return } setReady(true) diff --git a/src/components/intents/GroupChatJoinDialog.tsx b/src/components/intents/GroupChatJoinDialog.tsx new file mode 100644 index 000000000..f787a89c3 --- /dev/null +++ b/src/components/intents/GroupChatJoinDialog.tsx @@ -0,0 +1,432 @@ +import {View} from 'react-native' +import { + ChatBskyGroupRequestJoin, + ChatBskyGroupWithdrawJoinRequest, + moderateProfile, +} from '@atproto/api' +import {Trans, useLingui} from '@lingui/react/macro' +import {useNavigation} from '@react-navigation/native' + +import {createSanitizedDisplayName} from '#/lib/moderation/create-sanitized-display-name' +import {makeProfileLink} from '#/lib/routes/links' +import {type NavigationProp} from '#/lib/routes/types' +import {isNetworkError} from '#/lib/strings/errors' +import {sanitizeHandle} from '#/lib/strings/handles' +import {logger} from '#/logger' +import {useModerationOpts} from '#/state/preferences/moderation-opts' +import {useJoinLinkPreviewsQuery} from '#/state/queries/join-links' +import {useRequestJoinGroupChat} from '#/state/queries/messages/request-join-group-chat' +import {useWithdrawJoinGroupChatRequest} from '#/state/queries/messages/withdraw-join-group-chat' +import {useSession} from '#/state/session' +import {atoms as a, useTheme, web} from '#/alf' +import {AvatarBubbles} from '#/components/AvatarBubbles' +import { + Button, + type ButtonColor, + ButtonIcon, + ButtonText, +} from '#/components/Button' +import * as Dialog from '#/components/Dialog' +import {useInteractionState} from '#/components/hooks/useInteractionState' +import {ArrowRight_Stroke2_Corner0_Rounded as ArrowRightIcon} from '#/components/icons/Arrow' +import {ArrowBoxRight_Stroke2_Corner3_Rounded as JoinIcon} from '#/components/icons/ArrowBoxRight' +import {ChainLinkBroken_Stroke2_Corner0_Rounded as ChainLinkBrokenIcon} from '#/components/icons/ChainLink' +import {PersonGroup_Stroke2_Corner2_Rounded as PersonGroupIcon} from '#/components/icons/Person' +import {RaisingHand4Finger_Stroke2_Corner2_Rounded as HandIcon} from '#/components/icons/RaisingHand' +import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Times' +import {Warning_Stroke2_Corner0_Rounded as WarningIcon} from '#/components/icons/Warning' +import {useIntentDialogs} from '#/components/intents/IntentDialogs' +import {InlineLinkText} from '#/components/Link' +import {Loader} from '#/components/Loader' +import * as Toast from '#/components/Toast' +import {Text} from '#/components/Typography' +import {ProfileBadges} from '../ProfileBadges' + +export function GroupChatJoinDialog() { + const {groupChatJoinDialogControl, groupChatJoinState} = useIntentDialogs() + + return ( + + + + + ) +} + +function GroupChatJoinDialogInner({code}: {code?: string}) { + const {t: l} = useLingui() + + return ( + + + + + + + ) +} + +function GroupChatJoinDialogContent({code}: {code?: string}) { + const t = useTheme() + const {t: l} = useLingui() + const {groupChatJoinDialogControl: control} = useIntentDialogs() + const {hasSession} = useSession() + const moderationOpts = useModerationOpts() + const navigation = useNavigation() + + const {data, error, isLoading} = useJoinLinkPreviewsQuery({ + codes: code ? [code] : undefined, + hasSession, + }) + + const {mutate: joinGroupChat, isPending: isJoinPending} = + useRequestJoinGroupChat({ + onSuccess: data => { + switch (data.status) { + case 'pending': + control.close(() => { + Toast.show( + l`Access requested! The group owner will review your request.`, + ) + }) + break + case 'joined': { + if (data.convo && data.convo.id) { + control.close(() => { + Toast.show(l`Successfully joined the group chat!`) + navigation.navigate('MessagesConversation', { + conversation: data.convo!.id, + }) + }) + } else { + logger.warn('Request to join group chat returned no convo ID', { + status: data.status, + convoId: data.convo?.id, + }) + } + break + } + } + }, + onError: error => { + let errorMessage = l`Failed to join the group chat. Please try again.` + if (isNetworkError(error)) { + errorMessage = l`There was a problem with your internet connection, please try again` + } else if (error instanceof ChatBskyGroupRequestJoin.ConvoLockedError) { + errorMessage = l`This conversation is locked.` + } else if ( + error instanceof ChatBskyGroupRequestJoin.FollowRequiredError + ) { + errorMessage = l`Only followers can join this group chat.` + } else if (error instanceof ChatBskyGroupRequestJoin.InvalidCodeError) { + errorMessage = l`Invalid group chat code.` + } else if ( + error instanceof ChatBskyGroupRequestJoin.LinkDisabledError + ) { + errorMessage = l`This invite link has been disabled.` + } else if ( + error instanceof ChatBskyGroupRequestJoin.MemberLimitReachedError + ) { + errorMessage = l`The member limit has been reached.` + } else if (error instanceof ChatBskyGroupRequestJoin.UserKickedError) { + errorMessage = l`You have been removed from this group.` + } + Toast.show(errorMessage) + }, + }) + + const {mutate: withdrawRequest, isPending: isWithdrawPending} = + useWithdrawJoinGroupChatRequest({ + onSuccess: () => { + control.close(() => { + Toast.show(l`Join request rescinded.`) + }) + }, + onError: error => { + let errorMessage = l`Failed to rescind your request. Please try again.` + if (isNetworkError(error)) { + errorMessage = l`There was a problem with your internet connection, please try again` + } else if ( + error instanceof + ChatBskyGroupWithdrawJoinRequest.InvalidJoinRequestError + ) { + errorMessage = l`Invalid rescind request.` + } + Toast.show(errorMessage) + }, + }) + + const { + state: interacted, + onIn: onInteract, + onOut: onInteractOut, + } = useInteractionState() + + const handleJoin = () => { + if (!code) return + joinGroupChat({code}) + } + + const handleWithdraw = () => { + if (!convoId) return + withdrawRequest({convoId}) + } + + // Fallback if the prefetch exceeds the timeout + if (isLoading || !data || !moderationOpts) { + return ( + + + + ) + } + + if (error) { + return ( + <> + + + This invite link is invalid + + + + ) + } + + const joinLinkPreview = data.joinLinkPreviews[0] + + if (!joinLinkPreview) { + return ( + <> + + + + + Chat invite link no longer available + + + + + + ) + } + + const convoId = joinLinkPreview.convo?.id + const isFollowing = joinLinkPreview.owner.viewer?.following ?? false + const hasRequested = !convoId && joinLinkPreview.viewer?.requestedAt != null + + let canJoin = true + let ButtonIconImage = isJoinPending || isWithdrawPending ? Loader : JoinIcon + let buttonText = joinLinkPreview.requireApproval + ? l`Request to join` + : l`Join` + let buttonColor: ButtonColor = 'primary' + if (joinLinkPreview.enabledStatus !== 'enabled') { + canJoin = false + ButtonIconImage = WarningIcon + buttonText = l`Chat invite link no longer available` + buttonColor = 'secondary' + } else if (joinLinkPreview.memberCount >= joinLinkPreview.memberLimit) { + canJoin = false + ButtonIconImage = HandIcon + buttonText = l`This chat is full` + buttonColor = 'secondary' + } else if (joinLinkPreview.joinRule === 'followedByOwner' && !isFollowing) { + canJoin = false + ButtonIconImage = HandIcon + buttonText = l`Only people the chat owner follows can join` + buttonColor = 'secondary' + } else if (hasRequested) { + ButtonIconImage = XIcon + buttonText = l`Rescind request` + buttonColor = 'secondary' + } + + return ( + <> + + + + + + Group chat + + + {joinLinkPreview.name} + + + + + + {joinLinkPreview.memberCount}/{joinLinkPreview.memberLimit}{' '} + members + + + + + + + {joinLinkPreview.joinRule === 'followedByOwner' + ? l`Followers can join` + : l`Anyone can join`} + + + + + + By{' '} + { + onInteract() + }, + onMouseLeave: () => { + onInteractOut() + }, + })}> + {createSanitizedDisplayName( + joinLinkPreview.owner, + true, + moderateProfile(joinLinkPreview.owner, moderationOpts).ui( + 'displayName', + ), + )} + + + + + + {sanitizeHandle(joinLinkPreview.owner.handle, '@')} + + + + + {convoId ? ( + + ) : ( + + )} + + ) +} diff --git a/src/components/intents/IntentDialogs.tsx b/src/components/intents/IntentDialogs.tsx index ea72f8c09..76809b366 100644 --- a/src/components/intents/IntentDialogs.tsx +++ b/src/components/intents/IntentDialogs.tsx @@ -1,13 +1,30 @@ -import {createContext, useContext, useMemo, useState} from 'react' +import { + createContext, + useContext, + useEffect, + useMemo, + useRef, + useState, +} from 'react' +import {usePrefetchJoinLinkPreviews} from '#/state/queries/join-links' +import {useSession} from '#/state/session' +import { + useActiveGroupChatJoinRequest, + useSetActiveLanding, +} from '#/state/shell/landing' import * as Dialog from '#/components/Dialog' import {type DialogControlProps} from '#/components/Dialog' +import {GroupChatJoinDialog} from '#/components/intents/GroupChatJoinDialog' import {VerifyEmailIntentDialog} from '#/components/intents/VerifyEmailIntentDialog' interface Context { verifyEmailDialogControl: DialogControlProps verifyEmailState: {code: string} | undefined setVerifyEmailState: (state: {code: string} | undefined) => void + groupChatJoinDialogControl: DialogControlProps + groupChatJoinState: {code: string} | undefined + setGroupChatJoinState: (state: {code: string} | undefined) => void } const Context = createContext({} as Context) @@ -19,20 +36,70 @@ export function Provider({children}: {children: React.ReactNode}) { const [verifyEmailState, setVerifyEmailState] = useState< {code: string} | undefined >() + const groupChatJoinDialogControl = Dialog.useDialogControl() + const [groupChatJoinState, setGroupChatJoinState] = useState< + {code: string} | undefined + >() + + const {hasSession} = useSession() + const groupChatLanding = useActiveGroupChatJoinRequest() + const setActiveLanding = useSetActiveLanding() + const prefetchJoinLinkPreviews = usePrefetchJoinLinkPreviews() + const landingHandledRef = useRef(false) + + useEffect(() => { + if (hasSession && groupChatLanding && !landingHandledRef.current) { + landingHandledRef.current = true + const code = groupChatLanding.code + setActiveLanding(undefined) + const prefetch = prefetchJoinLinkPreviews({ + codes: [code], + hasSession: true, + }) + void Promise.race([ + prefetch, + new Promise(res => setTimeout(res, 200)), + ]).finally(() => { + setGroupChatJoinState({code}) + groupChatJoinDialogControl.open() + }) + } + if (!groupChatLanding) { + landingHandledRef.current = false + } + }, [ + hasSession, + groupChatLanding, + setActiveLanding, + setGroupChatJoinState, + prefetchJoinLinkPreviews, + groupChatJoinDialogControl, + ]) const value = useMemo( () => ({ verifyEmailDialogControl, verifyEmailState, setVerifyEmailState, + groupChatJoinDialogControl, + groupChatJoinState, + setGroupChatJoinState, }), - [verifyEmailDialogControl, verifyEmailState, setVerifyEmailState], + [ + verifyEmailDialogControl, + verifyEmailState, + setVerifyEmailState, + groupChatJoinDialogControl, + groupChatJoinState, + setGroupChatJoinState, + ], ) return ( {children} + ) } diff --git a/src/lib/constants.ts b/src/lib/constants.ts index 95eb57fd5..a22700f88 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -13,6 +13,7 @@ export const PUBLIC_BSKY_SERVICE = 'https://public.api.bsky.app' export const DEFAULT_SERVICE = BSKY_SERVICE const HELP_DESK_LANG = 'en-us' export const HELP_DESK_URL = `https://blueskyweb.zendesk.com/hc/${HELP_DESK_LANG}` +export const CHAT_SERVICE = 'https://api.bsky.chat' export const EMBED_SERVICE = 'https://embed.bsky.app' export const EMBED_SCRIPT = `${EMBED_SERVICE}/static/embed.js` export const BSKY_DOWNLOAD_URL = 'https://bsky.app/download' diff --git a/src/lib/hooks/useIntentHandler.ts b/src/lib/hooks/useIntentHandler.ts index c35ca49b1..5a9d0b39f 100644 --- a/src/lib/hooks/useIntentHandler.ts +++ b/src/lib/hooks/useIntentHandler.ts @@ -5,7 +5,11 @@ import * as WebBrowser from 'expo-web-browser' import {useOpenComposer} from '#/lib/hooks/useOpenComposer' import {parseLinkingUrl} from '#/lib/parseLinkingUrl' +import {CHAT_INVITE_CODE_REGEX} from '#/lib/strings/url-helpers' +import {usePrefetchJoinLinkPreviews} from '#/state/queries/join-links' import {useSession} from '#/state/session' +import {useSetActiveLanding} from '#/state/shell/landing' +import {useLoggedOutViewControls} from '#/state/shell/logged-out' import {useCloseAllActiveElements} from '#/state/util' import {useIntentDialogs} from '#/components/intents/IntentDialogs' import {useAnalytics} from '#/analytics' @@ -25,6 +29,7 @@ export function useIntentHandler() { const ax = useAnalytics() const composeIntent = useComposeIntent() const verifyEmailIntent = useVerifyEmailIntent() + const groupChatJoinIntent = useGroupChatJoinIntent() const {currentAccount} = useSession() const {tryApplyUpdate} = useApplyPullRequestOTAUpdate() @@ -44,6 +49,11 @@ export function useIntentHandler() { }) } const urlp = parseLinkingUrl(url) + const chatInviteMatch = urlp.pathname.match(CHAT_INVITE_CODE_REGEX) + if (chatInviteMatch) { + groupChatJoinIntent(chatInviteMatch[1], url) + return + } const [, intent, intentType] = urlp.pathname.split('/') // On native, our links look like bluesky://intent/SomeIntent, so we have to check the hostname for the @@ -99,6 +109,7 @@ export function useIntentHandler() { ax, composeIntent, verifyEmailIntent, + groupChatJoinIntent, currentAccount, tryApplyUpdate, ]) @@ -162,6 +173,46 @@ export function useComposeIntent() { ) } +export function useGroupChatJoinIntent() { + const closeAllActiveElements = useCloseAllActiveElements() + const {hasSession} = useSession() + const {groupChatJoinDialogControl: control, setGroupChatJoinState: setState} = + useIntentDialogs() + const {requestSwitchToAccount} = useLoggedOutViewControls() + const setActiveLanding = useSetActiveLanding() + const prefetchJoinLinkPreviews = usePrefetchJoinLinkPreviews() + return useCallback( + (code: string, uri?: string) => { + closeAllActiveElements() + if (hasSession) { + setState({code}) + const prefetch = prefetchJoinLinkPreviews({ + codes: [code], + hasSession: true, + }) + void Promise.race([ + prefetch, + new Promise(res => setTimeout(res, 200)), + ]).finally(() => { + control.open() + }) + } else { + setActiveLanding({type: 'groupchat', uri: uri ?? '', code}) + requestSwitchToAccount({requestedAccount: 'groupchat'}) + } + }, + [ + closeAllActiveElements, + hasSession, + control, + setState, + prefetchJoinLinkPreviews, + requestSwitchToAccount, + setActiveLanding, + ], + ) +} + function useVerifyEmailIntent() { const closeAllActiveElements = useCloseAllActiveElements() const {verifyEmailDialogControl: control, setVerifyEmailState: setState} = diff --git a/src/lib/strings/url-helpers.ts b/src/lib/strings/url-helpers.ts index cd2ae29af..b5c278dac 100644 --- a/src/lib/strings/url-helpers.ts +++ b/src/lib/strings/url-helpers.ts @@ -178,6 +178,28 @@ export function isBskyStarterPackUrl(url: string): boolean { return false } +export const CHAT_INVITE_CODE_REGEX = /^\/c\/([a-zA-Z0-9]{7,10})$/ + +export function getChatInviteCodeFromUrl(url: string): string | undefined { + let pathname: string + if (isBskyAppUrl(url)) { + try { + pathname = new URL(url).pathname + } catch { + return undefined + } + } else if (url.startsWith('/')) { + pathname = url.split('?')[0].split('#')[0] + } else { + return undefined + } + return pathname.match(CHAT_INVITE_CODE_REGEX)?.[1] +} + +export function isBskyChatInviteUrl(url: string): boolean { + return getChatInviteCodeFromUrl(url) !== undefined +} + export function isBskyDownloadUrl(url: string): boolean { if (isExternalUrl(url)) { return false diff --git a/src/screens/Messages/JoinRequest.tsx b/src/screens/Messages/JoinRequest.tsx new file mode 100644 index 000000000..c6da1f91e --- /dev/null +++ b/src/screens/Messages/JoinRequest.tsx @@ -0,0 +1,305 @@ +import {View} from 'react-native' +import {ImageBackground} from 'expo-image' +import {moderateProfile} from '@atproto/api' +import {Trans, useLingui} from '@lingui/react/macro' + +import {createSanitizedDisplayName} from '#/lib/moderation/create-sanitized-display-name' +import {sanitizeHandle} from '#/lib/strings/handles' +import {useModerationOpts} from '#/state/preferences/moderation-opts' +import {useJoinLinkPreviewsQuery} from '#/state/queries/join-links' +import {useActiveGroupChatJoinRequest} from '#/state/shell/landing' +import {LoggedOutScreenState} from '#/view/com/auth/LoggedOut' +import {LogomarkWithType} from '#/view/icons/LogomarkWithType' +import {atoms as a, useBreakpoints, useTheme} from '#/alf' +import {AvatarBubbles} from '#/components/AvatarBubbles' +import {Button, ButtonText} from '#/components/Button' +import {ChainLinkBroken_Stroke2_Corner0_Rounded as ChainLinkBrokenIcon} from '#/components/icons/ChainLink' +import {PersonGroup_Stroke2_Corner2_Rounded as PersonGroupIcon} from '#/components/icons/Person' +import {ProfileBadges} from '#/components/ProfileBadges' +import {Text} from '#/components/Typography' + +const desktopDarkBg = require('../../../assets/images/chat-desktop-bg-dark.webp') +const desktopLightBg = require('../../../assets/images/chat-desktop-bg-light.webp') +const mobileDarkBg = require('../../../assets/images/chat-mobile-bg-dark.webp') +const mobileLightBg = require('../../../assets/images/chat-mobile-bg-light.webp') + +type Props = { + setScreenState: (state: LoggedOutScreenState) => void +} + +export function JoinRequest({setScreenState}: Props) { + const t = useTheme() + const {t: l} = useLingui() + + const {gtMobile, gtTablet} = useBreakpoints() + const moderationOpts = useModerationOpts() + + // Get code from context (logged-out only) + const contextJoinRequest = useActiveGroupChatJoinRequest() + const code = contextJoinRequest?.code + + const {data, error} = useJoinLinkPreviewsQuery({ + codes: code ? [code] : undefined, + hasSession: false, + }) + + const isDarkMode = t.name !== 'light' + const background = gtMobile + ? isDarkMode + ? desktopDarkBg + : desktopLightBg + : isDarkMode + ? mobileDarkBg + : mobileLightBg + + const requiresApproval = data?.joinLinkPreviews[0]?.requireApproval + const requiresFollow = + data?.joinLinkPreviews[0]?.joinRule === 'followedByOwner' + + return ( + + + + {error ? ( + + + + {l`This invite link has expired`} + + + + ) : data && moderationOpts ? ( + + + + + + Group chat + + + + + + {data.joinLinkPreviews[0].memberCount}/ + {data.joinLinkPreviews[0].memberLimit} + + + + + + {data.joinLinkPreviews[0].name} + + + + + + + By{' '} + {createSanitizedDisplayName( + data.joinLinkPreviews[0].owner, + true, + moderateProfile( + data.joinLinkPreviews[0].owner, + moderationOpts, + ).ui('displayName'), + )} + + + + + + {sanitizeHandle(data.joinLinkPreviews[0].owner.handle, '@')} + + + + {requiresApproval + ? l`Sign in to request access to this group chat.` + : l`Sign in to accept invite.`}{' '} + {requiresFollow && + l`Only people ${createSanitizedDisplayName( + data.joinLinkPreviews[0].owner, + true, + moderateProfile( + data.joinLinkPreviews[0].owner, + moderationOpts, + ).ui('displayName'), + )} follows can join.`} + + + + ) : null} + + + + ) +} + +function Wrapper({children}: React.PropsWithChildren) { + const t = useTheme() + + const isDarkMode = t.name !== 'light' + + return ( + <> + + + {children} + + + ) +} + +function ActionButtons({ + setScreenState, +}: { + setScreenState: (state: LoggedOutScreenState) => void +}) { + const t = useTheme() + const {t: l} = useLingui() + const isDarkMode = t.name !== 'light' + + return ( + + + + + ) +} diff --git a/src/screens/Messages/components/InviteLinkDialog.tsx b/src/screens/Messages/components/InviteLinkDialog.tsx index 755eec210..ad6d4a08e 100644 --- a/src/screens/Messages/components/InviteLinkDialog.tsx +++ b/src/screens/Messages/components/InviteLinkDialog.tsx @@ -297,8 +297,8 @@ export function InviteLinkDialog({ const linkEnabled = joinLink?.enabledStatus === 'enabled' const linkDisabled = joinLink?.enabledStatus === 'disabled' const joinLinkURI = joinLink?.code - ? `https://bsky.app/chat/${joinLink.code}` - : 'https://bsky.app/chat' + ? `https://bsky.app/c/${joinLink.code}` + : 'https://bsky.app/' const createdAt = joinLink ? new Date(joinLink.createdAt) : null const currentOption = whoCanJoinOptions.find( diff --git a/src/screens/Messages/components/MessagesListGroupInfoPanel.tsx b/src/screens/Messages/components/MessagesListGroupInfoPanel.tsx index cb76485af..72d92a24e 100644 --- a/src/screens/Messages/components/MessagesListGroupInfoPanel.tsx +++ b/src/screens/Messages/components/MessagesListGroupInfoPanel.tsx @@ -43,14 +43,11 @@ export function MessagesListGroupInfoPanel({ }, }) - // TODO Enable this once the feature is working end-to-end. -dsb - // const joinLink = groupConvo?.details.joinLink - const isJoinLinkEnabled = false - // (isOwner && groupConvo) || - // (!isOwner && groupConvo && joinLink?.enabledStatus === 'enabled') - const isOwner = convo.primaryMember?.did === currentAccount?.did + const isJoinLinkEnabled = + isOwner || convo.details.joinLink?.enabledStatus === 'enabled' + const members = (convo.members ?? []).filter( profile => profile.did !== currentAccount?.did, ) diff --git a/src/screens/Onboarding/StepFinished/index.tsx b/src/screens/Onboarding/StepFinished/index.tsx index e477528f1..11dfd35ce 100644 --- a/src/screens/Onboarding/StepFinished/index.tsx +++ b/src/screens/Onboarding/StepFinished/index.tsx @@ -28,11 +28,11 @@ import {preferencesQueryKey} from '#/state/queries/preferences' import {RQKEY as profileRQKey} from '#/state/queries/profile' import {useAgent} from '#/state/session' import {useOnboardingDispatch} from '#/state/shell' -import {useProgressGuideControls} from '#/state/shell/progress-guide' import { useActiveStarterPack, useSetActiveStarterPack, -} from '#/state/shell/starter-pack' +} from '#/state/shell/landing' +import {useProgressGuideControls} from '#/state/shell/progress-guide' import { OnboardingControls, OnboardingHeaderSlot, diff --git a/src/screens/Signup/index.tsx b/src/screens/Signup/index.tsx index fe67773a4..d98b6b4fe 100644 --- a/src/screens/Signup/index.tsx +++ b/src/screens/Signup/index.tsx @@ -9,7 +9,7 @@ import {FEEDBACK_FORM_URL} from '#/lib/constants' import {logger} from '#/logger' import {useServiceQuery} from '#/state/queries/service' import {useStarterPackQuery} from '#/state/queries/starter-packs' -import {useActiveStarterPack} from '#/state/shell/starter-pack' +import {useActiveStarterPack} from '#/state/shell/landing' import {LoggedOutLayout} from '#/view/com/util/layouts/LoggedOutLayout' import { initialState, diff --git a/src/screens/StarterPack/StarterPackLandingScreen.tsx b/src/screens/StarterPack/StarterPackLandingScreen.tsx index 2b0821279..f15d259e1 100644 --- a/src/screens/StarterPack/StarterPackLandingScreen.tsx +++ b/src/screens/StarterPack/StarterPackLandingScreen.tsx @@ -19,7 +19,7 @@ import {useStarterPackQuery} from '#/state/queries/starter-packs' import { useActiveStarterPack, useSetActiveStarterPack, -} from '#/state/shell/starter-pack' +} from '#/state/shell/landing' import {LoggedOutScreenState} from '#/view/com/auth/LoggedOut' import {formatCount} from '#/view/com/util/numeric/format' import {Logo} from '#/view/icons/Logo' diff --git a/src/screens/StarterPack/StarterPackScreen.tsx b/src/screens/StarterPack/StarterPackScreen.tsx index adb27ef2e..ddbd5cd84 100644 --- a/src/screens/StarterPack/StarterPackScreen.tsx +++ b/src/screens/StarterPack/StarterPackScreen.tsx @@ -37,12 +37,12 @@ import { useStarterPackQuery, } from '#/state/queries/starter-packs' import {useAgent, useSession} from '#/state/session' +import {useSetActiveStarterPack} from '#/state/shell/landing' import {useLoggedOutViewControls} from '#/state/shell/logged-out' import { ProgressGuideAction, useProgressGuideControls, } from '#/state/shell/progress-guide' -import {useSetActiveStarterPack} from '#/state/shell/starter-pack' import {PagerWithHeader} from '#/view/com/pager/PagerWithHeader' import {ProfileSubpageHeader} from '#/view/com/profile/ProfileSubpageHeader' import {bulkWriteFollows} from '#/screens/Onboarding/util' diff --git a/src/state/preferences/moderation-opts.tsx b/src/state/preferences/moderation-opts.tsx index a6e36b7d2..b8592d77e 100644 --- a/src/state/preferences/moderation-opts.tsx +++ b/src/state/preferences/moderation-opts.tsx @@ -1,5 +1,5 @@ import {createContext, useContext, useMemo} from 'react' -import {BskyAgent, type ModerationOpts} from '@atproto/api' +import {AtpAgent, type ModerationOpts} from '@atproto/api' import {useHiddenPosts, useLabelDefinitions} from '#/state/preferences' import {DEFAULT_LOGGED_OUT_LABEL_PREFERENCES} from '#/state/queries/preferences/moderation' @@ -43,7 +43,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) { ...moderationPrefs, labelers: moderationPrefs.labelers.length ? moderationPrefs.labelers - : BskyAgent.appLabelers.map(did => ({ + : AtpAgent.appLabelers.map(did => ({ did, labels: DEFAULT_LOGGED_OUT_LABEL_PREFERENCES, })), diff --git a/src/state/queries/join-links.ts b/src/state/queries/join-links.ts new file mode 100644 index 000000000..6aa10331e --- /dev/null +++ b/src/state/queries/join-links.ts @@ -0,0 +1,72 @@ +import {AtpAgent} from '@atproto/api' +import {useQuery, useQueryClient} from '@tanstack/react-query' + +import {CHAT_SERVICE, DM_SERVICE_HEADERS} from '#/lib/constants' +import {logger} from '#/logger' +import {STALE} from '#/state/queries/index' +import {createQueryKey} from '#/state/queries/util' +import {useAgent} from '#/state/session' + +const joinLinkPreviewQueryKeyRoot = 'join-link-preview' + +export const createJoinLinkPreviewQueryKey = (args: { + codes: string[] + hasSession: boolean +}) => + createQueryKey(joinLinkPreviewQueryKeyRoot, args, { + persistedVersion: 1, + }) + +export function useJoinLinkPreviewsQuery({ + codes, + hasSession, +}: { + codes?: string[] + hasSession: boolean +}) { + const agent = useAgent() + + return useQuery({ + queryKey: createJoinLinkPreviewQueryKey({codes: codes ?? [], hasSession}), + queryFn: async () => { + if (!codes) throw new Error('No invite code') + try { + const previewAgent = new AtpAgent({service: CHAT_SERVICE}) + const res = hasSession + ? await agent.chat.bsky.group.getJoinLinkPreviews( + {codes}, + {headers: DM_SERVICE_HEADERS}, + ) + : await previewAgent.chat.bsky.group.getJoinLinkPreviews({codes}) + return res.data + } catch (error) { + logger.error('Failed to fetch join link preview', {safeMessage: error}) + throw error + } + }, + enabled: codes != null && codes.length > 0, + staleTime: STALE.SECONDS.FIFTEEN, + }) +} + +export function usePrefetchJoinLinkPreviews() { + const agent = useAgent() + const queryClient = useQueryClient() + + return ({codes, hasSession}: {codes: string[]; hasSession: boolean}) => { + return queryClient.prefetchQuery({ + queryKey: createJoinLinkPreviewQueryKey({codes, hasSession}), + queryFn: async () => { + const previewAgent = new AtpAgent({service: CHAT_SERVICE}) + const res = hasSession + ? await agent.chat.bsky.group.getJoinLinkPreviews( + {codes}, + {headers: DM_SERVICE_HEADERS}, + ) + : await previewAgent.chat.bsky.group.getJoinLinkPreviews({codes}) + return res.data + }, + staleTime: STALE.SECONDS.FIFTEEN, + }) + } +} diff --git a/src/state/queries/messages/request-join-group-chat.ts b/src/state/queries/messages/request-join-group-chat.ts new file mode 100644 index 000000000..04e63395f --- /dev/null +++ b/src/state/queries/messages/request-join-group-chat.ts @@ -0,0 +1,37 @@ +import {type ChatBskyGroupRequestJoin} from '@atproto/api' +import {useMutation} from '@tanstack/react-query' + +import {DM_SERVICE_HEADERS} from '#/lib/constants' +import {logger} from '#/logger' +import {useAgent, useSession} from '#/state/session' + +export function useRequestJoinGroupChat({ + onSuccess, + onError, +}: { + onSuccess?: (data: ChatBskyGroupRequestJoin.OutputSchema) => void + onError?: (error: Error) => void +} = {}) { + const agent = useAgent() + const {hasSession} = useSession() + + return useMutation({ + mutationFn: async ({code}: {code: string}) => { + if (!hasSession) throw new Error('Must be logged in to join') + if (!code) throw new Error('No invite code') + + const res = await agent.chat.bsky.group.requestJoin( + {code}, + {headers: DM_SERVICE_HEADERS}, + ) + return res.data + }, + onSuccess: data => { + onSuccess?.(data) + }, + onError: error => { + logger.error('Failed to join group chat', {safeMessage: error}) + onError?.(error) + }, + }) +} diff --git a/src/state/queries/messages/withdraw-join-group-chat.ts b/src/state/queries/messages/withdraw-join-group-chat.ts new file mode 100644 index 000000000..92025cc2b --- /dev/null +++ b/src/state/queries/messages/withdraw-join-group-chat.ts @@ -0,0 +1,38 @@ +import {type ChatBskyGroupWithdrawJoinRequest} from '@atproto/api' +import {useMutation} from '@tanstack/react-query' + +import {DM_SERVICE_HEADERS} from '#/lib/constants' +import {logger} from '#/logger' +import {useAgent, useSession} from '#/state/session' + +export function useWithdrawJoinGroupChatRequest({ + onSuccess, + onError, +}: { + onSuccess?: (data: ChatBskyGroupWithdrawJoinRequest.OutputSchema) => void + onError?: (error: Error) => void +} = {}) { + const agent = useAgent() + const {hasSession} = useSession() + + return useMutation({ + mutationFn: async ({convoId}: {convoId: string}) => { + if (!hasSession) + throw new Error('Must be logged in to withdraw a join request') + if (!convoId) throw new Error('No convoId provided') + + const res = await agent.chat.bsky.group.withdrawJoinRequest( + {convoId}, + {headers: DM_SERVICE_HEADERS}, + ) + return res.data + }, + onSuccess: data => { + onSuccess?.(data) + }, + onError: error => { + logger.error('Failed to withdraw join request', {safeMessage: error}) + onError?.(error) + }, + }) +} diff --git a/src/state/shell/landing.tsx b/src/state/shell/landing.tsx new file mode 100644 index 000000000..f071c79e3 --- /dev/null +++ b/src/state/shell/landing.tsx @@ -0,0 +1,66 @@ +import {createContext, useContext, useState} from 'react' + +import {logger} from '#/logger' + +type StarterPackLanding = { + type: 'starterpack' + uri: string + isClip?: boolean +} + +type GroupChatJoinRequestLanding = { + type: 'groupchat' + uri: string + code: string +} + +type LandingType = StarterPackLanding | GroupChatJoinRequestLanding | undefined + +type SetContext = (v: LandingType) => void + +const stateContext = createContext(undefined) +stateContext.displayName = 'ActiveLandingStateContext' +const setContext = createContext((_: LandingType) => {}) +setContext.displayName = 'ActiveLandingSetContext' + +export function Provider({children}: {children: React.ReactNode}) { + const [state, setState] = useState() + + return ( + + {children} + + ) +} + +// Core hooks +export const useActiveLanding = () => useContext(stateContext) +export const useSetActiveLanding = () => useContext(setContext) + +// Filtered hooks for convenience +export const useActiveStarterPack = () => { + const landing = useActiveLanding() + return landing?.type === 'starterpack' ? landing : undefined +} + +export const useSetActiveStarterPack = () => { + const setLanding = useSetActiveLanding() + const currentLanding = useActiveLanding() + return (pack: {uri: string; isClip?: boolean} | undefined) => { + if (!pack) { + setLanding(undefined) + } else { + if (currentLanding && currentLanding.type !== 'starterpack') { + logger.debug( + `[landing] Replacing ${currentLanding.type} landing with starterpack`, + ) + } + setLanding({type: 'starterpack', ...pack}) + } + } +} + +export const useActiveGroupChatJoinRequest = () => { + const landing = useActiveLanding() + return landing?.type === 'groupchat' ? landing : undefined +} diff --git a/src/state/shell/logged-out.tsx b/src/state/shell/logged-out.tsx index fdc588dcc..fcb76818c 100644 --- a/src/state/shell/logged-out.tsx +++ b/src/state/shell/logged-out.tsx @@ -1,7 +1,7 @@ import {createContext, useContext, useMemo, useState} from 'react' import {useSession} from '#/state/session' -import {useActiveStarterPack} from '#/state/shell/starter-pack' +import {useActiveLanding} from '#/state/shell/landing' import {IS_WEB} from '#/env' type State = { @@ -26,7 +26,12 @@ type Controls = { /** * The did of the account to populate the login form with. */ - requestedAccount?: (string & {}) | 'none' | 'new' | 'starterpack' + requestedAccount?: + | (string & {}) + | 'none' + | 'new' + | 'starterpack' + | 'groupchat' }) => void /** * Clears the requested account so that next time the logged out view is @@ -48,17 +53,34 @@ const ControlsContext = createContext({ }) ControlsContext.displayName = 'LoggedOutControlsContext' +function getRequestedAccountFromLanding( + landing: ReturnType, + hasSession: boolean, +): string | undefined { + if (hasSession || !landing) return undefined + + switch (landing.type) { + case 'starterpack': + return IS_WEB ? 'starterpack' : 'new' + case 'groupchat': + return 'groupchat' + default: + return undefined + } +} + export function Provider({children}: React.PropsWithChildren<{}>) { - const activeStarterPack = useActiveStarterPack() + const activeLanding = useActiveLanding() const {hasSession} = useSession() - const shouldShowStarterPack = Boolean(activeStarterPack?.uri) && !hasSession + + const requestedAccount = getRequestedAccountFromLanding( + activeLanding, + hasSession, + ) + const [state, setState] = useState({ - showLoggedOut: shouldShowStarterPack, - requestedAccountSwitchTo: shouldShowStarterPack - ? IS_WEB - ? 'starterpack' - : 'new' - : undefined, + showLoggedOut: Boolean(requestedAccount), + requestedAccountSwitchTo: requestedAccount, }) const controls = useMemo( diff --git a/src/view/com/auth/LoggedOut.tsx b/src/view/com/auth/LoggedOut.tsx index 0cfea7cf1..91c0b9afc 100644 --- a/src/view/com/auth/LoggedOut.tsx +++ b/src/view/com/auth/LoggedOut.tsx @@ -9,6 +9,7 @@ import {PressableScale} from '#/lib/custom-animations/PressableScale' import {STALE} from '#/state/queries' import {profilesQueryKey} from '#/state/queries/profile' import {useAgent, useSession} from '#/state/session' +import {useSetActiveLanding} from '#/state/shell/landing' import { useLoggedOutView, useLoggedOutViewControls, @@ -16,6 +17,7 @@ import { import {useEnableMinimalShellMode} from '#/state/shell/minimal-mode' import {ErrorBoundary} from '#/view/com/util/ErrorBoundary' import {Login} from '#/screens/Login' +import {JoinRequest} from '#/screens/Messages/JoinRequest' import {Signup} from '#/screens/Signup' import {LandingScreen} from '#/screens/StarterPack/StarterPackLandingScreen' import {atoms as a, native, tokens, useTheme} from '#/alf' @@ -29,9 +31,26 @@ enum ScreenState { S_Login, S_CreateAccount, S_StarterPack, + S_GroupChatJoinRequest, } export {ScreenState as LoggedOutScreenState} +function getInitialScreenState(requestedAccountSwitchTo?: string): ScreenState { + switch (requestedAccountSwitchTo) { + case 'new': + return ScreenState.S_CreateAccount + case 'starterpack': + return ScreenState.S_StarterPack + case 'groupchat': + return ScreenState.S_GroupChatJoinRequest + case undefined: + return ScreenState.S_LoginOrCreateAccount + default: + // DID or other string = login with that account + return ScreenState.S_Login + } +} + export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { const {_} = useLingui() const ax = useAnalytics() @@ -39,18 +58,11 @@ export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { const insets = useSafeAreaInsets() useEnableMinimalShellMode() const {requestedAccountSwitchTo} = useLoggedOutView() - const [screenState, setScreenState] = useState(() => { - if (requestedAccountSwitchTo === 'new') { - return ScreenState.S_CreateAccount - } else if (requestedAccountSwitchTo === 'starterpack') { - return ScreenState.S_StarterPack - } else if (requestedAccountSwitchTo != null) { - return ScreenState.S_Login - } else { - return ScreenState.S_LoginOrCreateAccount - } - }) + const initialScreenState = getInitialScreenState(requestedAccountSwitchTo) + const [screenState, setScreenState] = + useState(initialScreenState) const {clearRequestedAccount} = useLoggedOutViewControls() + const setActiveLanding = useSetActiveLanding() const queryClient = useQueryClient() const {accounts} = useSession() @@ -73,7 +85,9 @@ export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { onDismiss() } clearRequestedAccount() - }, [clearRequestedAccount, onDismiss]) + // Clear landing context when user dismisses the modal + setActiveLanding(undefined) + }, [clearRequestedAccount, onDismiss, setActiveLanding]) return ( void}) { {screenState === ScreenState.S_StarterPack ? ( + ) : screenState === ScreenState.S_GroupChatJoinRequest ? ( + ) : screenState === ScreenState.S_LoginOrCreateAccount ? ( { @@ -122,17 +138,12 @@ export function LoggedOut({onDismiss}: {onDismiss?: () => void}) { {screenState === ScreenState.S_Login ? ( { - setScreenState(ScreenState.S_LoginOrCreateAccount) - clearRequestedAccount() + setScreenState(initialScreenState) }} /> ) : undefined} {screenState === ScreenState.S_CreateAccount ? ( - - setScreenState(ScreenState.S_LoginOrCreateAccount) - } - /> + setScreenState(initialScreenState)} /> ) : undefined} diff --git a/src/view/com/util/Link.tsx b/src/view/com/util/Link.tsx index 7e5821885..658a3ca3b 100644 --- a/src/view/com/util/Link.tsx +++ b/src/view/com/util/Link.tsx @@ -13,6 +13,7 @@ import { import {sanitizeUrl} from '@braintree/sanitize-url' import {StackActions} from '@react-navigation/native' +import {useGroupChatJoinIntent} from '#/lib/hooks/useIntentHandler' import { type DebouncedNavigationProp, useNavigationDeduped, @@ -21,6 +22,7 @@ import {useOpenLink} from '#/lib/hooks/useOpenLink' import {getTabState, TabState} from '#/lib/routes/helpers' import { convertBskyAppUrlIfNeeded, + getChatInviteCodeFromUrl, isExternalUrl, linkRequiresWarning, } from '#/lib/strings/url-helpers' @@ -81,6 +83,7 @@ export const Link = memo(function Link({ const navigation = useNavigationDeduped() const anchorHref = asAnchor ? sanitizeUrl(href) : undefined const openLink = useOpenLink() + const groupChatJoinIntent = useGroupChatJoinIntent() const onPress = useCallback( (e?: Event) => { @@ -92,11 +95,20 @@ export const Link = memo(function Link({ sanitizeUrl(href), navigationAction, openLink, + groupChatJoinIntent, e, ) } }, - [closeModal, navigation, navigationAction, href, openLink, onBeforePress], + [ + closeModal, + navigation, + navigationAction, + href, + openLink, + onBeforePress, + groupChatJoinIntent, + ], ) const accessibilityActionsWithActivate = [ @@ -196,6 +208,7 @@ export const TextLink = memo(function TextLink({ const {closeModal} = useModalControls() const {linkWarningDialogControl} = useGlobalDialogsControlContext() const openLink = useOpenLink() + const groupChatJoinIntent = useGroupChatJoinIntent() if (!disableMismatchWarning && typeof text !== 'string') { console.error('Unable to detect mismatching label') @@ -238,6 +251,7 @@ export const TextLink = memo(function TextLink({ sanitizeUrl(href), navigationAction, openLink, + groupChatJoinIntent, e, ) }, @@ -252,6 +266,7 @@ export const TextLink = memo(function TextLink({ navigationAction, openLink, linkWarningDialogControl, + groupChatJoinIntent, ], ) const hrefAttrs = useMemo(() => { @@ -373,6 +388,7 @@ function onPressInner( href: string, navigationAction: 'push' | 'replace' | 'navigate' = 'push', openLink: (href: string) => void, + groupChatJoinIntent: (code: string, uri?: string) => void, e?: Event, ) { let shouldHandle = false @@ -400,6 +416,11 @@ function onPressInner( if (shouldHandle) { href = convertBskyAppUrlIfNeeded(href) + const chatInviteCode = getChatInviteCodeFromUrl(href) + if (chatInviteCode) { + groupChatJoinIntent(chatInviteCode, href) + return + } if ( newTab || href.startsWith('http') || diff --git a/src/view/icons/LogomarkWithType.tsx b/src/view/icons/LogomarkWithType.tsx new file mode 100644 index 000000000..7437a5db1 --- /dev/null +++ b/src/view/icons/LogomarkWithType.tsx @@ -0,0 +1,55 @@ +import Svg, {Path, type PathProps, type SvgProps} from 'react-native-svg' + +import {useTheme} from '#/alf' + +const ratio = 17 / 64 + +export function LogomarkWithType({ + fill, + ...rest +}: {fill?: PathProps['fill']} & SvgProps) { + const t = useTheme() + const size = parseInt(`${rest.width || 32}`) + + return ( + + + + + + + + + + + ) +} -- 2.51.2 From b87a51b4852a4363f50e8af8fe4b2c7801a89406 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Tue, 2 Jun 2026 15:07:14 -0500 Subject: [PATCH 28/32] Prefer opengraph image, fall back to Standard Site coverImage (#10694) --- src/lib/api/resolve.ts | 4 ++++ src/view/com/composer/ExternalEmbed.tsx | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/api/resolve.ts b/src/lib/api/resolve.ts index d0600b2eb..f75cd74db 100644 --- a/src/lib/api/resolve.ts +++ b/src/lib/api/resolve.ts @@ -246,6 +246,10 @@ async function resolveExternal( title: result.title ?? '', description: result.description ?? '', thumb: result.image ? await imageToThumb(result.image) : undefined, + /* + * New fields from Standard Site integration. Other fields are derived from + * opengraph/oembed as before. + */ associatedRefs: result.associatedRefs, view: result.view, } diff --git a/src/view/com/composer/ExternalEmbed.tsx b/src/view/com/composer/ExternalEmbed.tsx index cc7b983c3..ecd22d7c3 100644 --- a/src/view/com/composer/ExternalEmbed.tsx +++ b/src/view/com/composer/ExternalEmbed.tsx @@ -98,7 +98,8 @@ export const ExternalEmbedLink = ({ uri, description: data.view?.external?.description || data.description, - thumb: data.view?.external?.thumb || data.thumb?.source.path, + // prefer opengraph data to atproto record-derived image + thumb: data.thumb?.source.path || data.view?.external?.thumb, }} /> ) -- 2.51.2 From 75490c3cdf76118ba3852dcfdc49d0bba6286c12 Mon Sep 17 00:00:00 2001 From: DS Boyce <260543580+ds-boyce@users.noreply.github.com> Date: Tue, 2 Jun 2026 13:27:43 -0700 Subject: [PATCH 29/32] Don't show Suggested heading if there are no suggestions (#10695) --- src/components/dms/AddMembersFlow.tsx | 2 +- src/components/dms/InitiateChatFlow.tsx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/dms/AddMembersFlow.tsx b/src/components/dms/AddMembersFlow.tsx index 1601594da..749e6976e 100644 --- a/src/components/dms/AddMembersFlow.tsx +++ b/src/components/dms/AddMembersFlow.tsx @@ -219,7 +219,7 @@ export function AddMembersFlow({ } } - if (searchText === '') { + if (searchText === '' && _items.length > 0) { _items.unshift({ type: 'label', key: 'suggested', diff --git a/src/components/dms/InitiateChatFlow.tsx b/src/components/dms/InitiateChatFlow.tsx index 09760aefd..32da1e3e5 100644 --- a/src/components/dms/InitiateChatFlow.tsx +++ b/src/components/dms/InitiateChatFlow.tsx @@ -316,6 +316,7 @@ export function InitiateChatFlow({ if ( searchText === '' && + _items.length > 0 && (chatState === ChatState.NEW_CHAT || chatState === ChatState.NEW_GROUP_CHAT) ) { -- 2.51.2 From 73dae02df3067205185e210950e6243a29a3f183 Mon Sep 17 00:00:00 2001 From: DS Boyce <260543580+ds-boyce@users.noreply.github.com> Date: Tue, 2 Jun 2026 13:28:06 -0700 Subject: [PATCH 30/32] Create screen for managing chat requests (#10635) --- bskyweb/cmd/bskyweb/server.go | 1 + src/Navigation.tsx | 6 + src/lib/routes/types.ts | 1 + src/routes.ts | 1 + .../MembersAndRequests.tsx | 22 +- .../Messages/ConversationSettings/index.tsx | 3 +- src/screens/Messages/JoinRequests.tsx | 491 ++++++++++++++++++ src/state/queries/messages/join-requests.ts | 129 +++++ 8 files changed, 645 insertions(+), 9 deletions(-) create mode 100644 src/screens/Messages/JoinRequests.tsx create mode 100644 src/state/queries/messages/join-requests.ts diff --git a/bskyweb/cmd/bskyweb/server.go b/bskyweb/cmd/bskyweb/server.go index 4a4ba2fde..cc5119e8d 100644 --- a/bskyweb/cmd/bskyweb/server.go +++ b/bskyweb/cmd/bskyweb/server.go @@ -339,6 +339,7 @@ func serve(cctx *cli.Context) error { e.GET("/messages/inbox", server.WebGeneric) e.GET("/messages/:conversation", server.WebGeneric) e.GET("/messages/:conversation/settings", server.WebGeneric) + e.GET("/messages/:conversation/requests", server.WebGeneric) // profile endpoints; only first populates info e.GET("/profile/:handleOrDID", server.WebProfile) diff --git a/src/Navigation.tsx b/src/Navigation.tsx index 1348a975e..efd112529 100644 --- a/src/Navigation.tsx +++ b/src/Navigation.tsx @@ -82,6 +82,7 @@ import {MessagesScreen} from '#/screens/Messages/ChatList' import {MessagesConversationScreen} from '#/screens/Messages/Conversation' import {MessagesConversationSettingsScreen} from '#/screens/Messages/ConversationSettings' import {MessagesInboxScreen} from '#/screens/Messages/Inbox' +import {MessagesJoinRequestsScreen} from '#/screens/Messages/JoinRequests' import {MessagesSettingsScreen} from '#/screens/Messages/Settings' import {ModerationScreen} from '#/screens/Moderation' import {Screen as ModerationVerificationSettings} from '#/screens/Moderation/VerificationSettings' @@ -488,6 +489,11 @@ function commonScreens(Stack: typeof Flat, unreadCountLabel?: string) { getComponent={() => MessagesConversationSettingsScreen} options={{title: title(msg`Group chat settings`), requireAuth: true}} /> + MessagesJoinRequestsScreen} + options={{title: title(msg`Requests to join`), requireAuth: true}} + /> MessagesSettingsScreen} diff --git a/src/lib/routes/types.ts b/src/lib/routes/types.ts index 3c30b740d..22bb50572 100644 --- a/src/lib/routes/types.ts +++ b/src/lib/routes/types.ts @@ -64,6 +64,7 @@ export type CommonNavigatorParams = { Topic: {topic: string} MessagesConversation: {conversation: string; embed?: string; accept?: true} MessagesConversationSettings: {conversation: string} + MessagesJoinRequests: {conversation: string} MessagesSettings: undefined MessagesInbox: undefined NotificationsActivityList: {posts: string} diff --git a/src/routes.ts b/src/routes.ts index 7ae73dd6e..f7e73ff2c 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -74,6 +74,7 @@ export const router = new Router({ MessagesInbox: '/messages/inbox', MessagesConversation: '/messages/:conversation', MessagesConversationSettings: '/messages/:conversation/settings', + MessagesJoinRequests: '/messages/:conversation/requests', // starter packs Start: '/start/:name/:rkey', StarterPackEdit: '/starter-pack/edit/:rkey', diff --git a/src/screens/Messages/ConversationSettings/MembersAndRequests.tsx b/src/screens/Messages/ConversationSettings/MembersAndRequests.tsx index b9d9ecc2b..bb3ebafb1 100644 --- a/src/screens/Messages/ConversationSettings/MembersAndRequests.tsx +++ b/src/screens/Messages/ConversationSettings/MembersAndRequests.tsx @@ -1,26 +1,31 @@ import {View} from 'react-native' import {plural} from '@lingui/core/macro' import {Trans, useLingui} from '@lingui/react/macro' +import {useNavigation} from '@react-navigation/native' +import {type NavigationProp} from '#/lib/routes/types' import {atoms as a, useTheme} from '#/alf' -import {InlineLinkText} from '#/components/Link' +import {type ConvoWithDetails} from '#/components/dms/util' +import {createStaticClick, InlineLinkText} from '#/components/Link' import {Text} from '#/components/Typography' export function MembersAndRequests({ - memberCount, - memberLimit, + convo, requestCount, hasMoreRequests, isOwner, }: { - memberCount: number - memberLimit: number + convo: Extract requestCount: number hasMoreRequests: boolean isOwner: boolean }) { const t = useTheme() const {t: l} = useLingui() + const navigation = useNavigation() + + const memberCount = convo.details.memberCount + const memberLimit = convo.details.memberLimit return ( @@ -42,8 +47,11 @@ export function MembersAndRequests({ + {...createStaticClick(() => { + navigation.navigate('MessagesJoinRequests', { + conversation: convo.view.id, + }) + })}> {hasMoreRequests ? l({ message: `${requestCount}+ requests`, diff --git a/src/screens/Messages/ConversationSettings/index.tsx b/src/screens/Messages/ConversationSettings/index.tsx index 056afa8b5..5e4ad9142 100644 --- a/src/screens/Messages/ConversationSettings/index.tsx +++ b/src/screens/Messages/ConversationSettings/index.tsx @@ -247,8 +247,7 @@ function GroupSettings({ case 'MEMBERS_AND_REQUESTS': return ( + +export function MessagesJoinRequestsScreen(props: Props) { + const {t: l} = useLingui() + const aaCopy = useAgeAssuranceCopy() + return ( + + + + ) +} + +function MessagesJoinRequestsScreenInner({route}: Props) { + const convoId = route.params.conversation + + return ( + + + + + + ) +} + +function JoinRequestsInner() { + const {t: l} = useLingui() + const convoState = useConvo() + const navigation = useNavigation() + + if (convoState.status === ConvoStatus.Error) { + return ( + <> +

+ convoState.error.retry()} + sideBorders={false} + /> + + ) + } + + if (!convoState.convo) { + return ( + <> +
+ + + + + ) + } + + if (convoState.convo.kind !== 'group') { + return ( + { + if (navigation.canGoBack()) { + navigation.goBack() + } else { + navigation.replace('Messages', {animation: 'pop'}) + } + }} + /> + ) + } + + return +} + +function JoinRequestsList({ + convo, +}: { + convo: Extract +}) { + const t = useTheme() + const {t: l} = useLingui() + const moderationOpts = useModerationOpts() + const bottomBarOffset = useBottomBarOffset() + const {currentAccount} = useSession() + const navigation = useNavigation() + const queryClient = useQueryClient() + const inviteLinkControl = Dialog.useDialogControl() + + const getRemainingRequestCount = () => { + const data = queryClient.getQueryData< + InfiniteData + >(createListJoinRequestsQueryKey({convoId: convo.view.id})) + return data?.pages.reduce((sum, page) => sum + page.requests.length, 0) ?? 0 + } + + const [isPTRing, setIsPTRing] = useState(false) + const [footerHeight, setFooterHeight] = useState(0) + + const owner = convo.primaryMember + const isOwner = !!owner && owner.did === currentAccount?.did + + const { + data: joinRequestsData, + isPending, + isError, + hasNextPage, + fetchNextPage, + isFetchingNextPage, + refetch, + } = useListJoinRequestsQuery({ + convoId: convo.view.id, + }) + + const items = + joinRequestsData?.pages.flatMap(page => + page.requests.map(request => request.requestedBy), + ) ?? [] + const requestCount = + joinRequestsData?.pages.reduce( + (sum, page) => sum + page.requests.length, + 0, + ) ?? 0 + + const {mutate: approveJoinRequest, isPending: isApprovePending} = + useJoinRequestMutation('approve', convo.view.id, { + onSuccess: () => { + Toast.show(l`Request approved.`) + if (getRemainingRequestCount() < 1) { + navigation.replace('MessagesConversationSettings', { + conversation: convo.view.id, + }) + } + }, + onError: error => { + let errorMessage = l`Failed to accept join request` + if (isNetworkError(error)) { + errorMessage = l`A network error occurred. Please check your internet connection.` + } else if ( + error instanceof ChatBskyGroupApproveJoinRequest.InvalidConvoError + ) { + errorMessage = l`Conversation not found.` + } else if ( + error instanceof ChatBskyGroupApproveJoinRequest.InsufficientRoleError + ) { + errorMessage = l`Only admins can accept join requests.` + } else if ( + error instanceof + ChatBskyGroupApproveJoinRequest.MemberLimitReachedError + ) { + errorMessage = l`The member limit has been reached.` + } + Toast.show(errorMessage, {type: 'error'}) + }, + }) + + const {mutate: rejectJoinRequest, isPending: isRejectPending} = + useJoinRequestMutation('reject', convo.view.id, { + onSuccess: () => { + Toast.show(l`Request ignored.`) + if (getRemainingRequestCount() < 1) { + navigation.replace('MessagesConversationSettings', { + conversation: convo.view.id, + }) + } + }, + onError: error => { + let errorMessage = l`Failed to ignore join request` + if (isNetworkError(error)) { + errorMessage = l`A network error occurred. Please check your internet connection.` + } else if ( + error instanceof ChatBskyGroupRejectJoinRequest.InvalidConvoError + ) { + errorMessage = l`Conversation not found.` + } else if ( + error instanceof ChatBskyGroupRejectJoinRequest.InsufficientRoleError + ) { + errorMessage = l`Only admins can ignore join requests.` + } + Toast.show(errorMessage, {type: 'error'}) + }, + }) + + const isMutating = isApprovePending || isRejectPending + + const renderItem = ({item}: {item: bsky.profile.AnyProfileView}) => { + if (!moderationOpts) return null + return ( + + + + + + + + + + + + + approveJoinRequest({member: item.did})} + /> + rejectJoinRequest({member: item.did})} + /> + + + + + ) + } + + const footer = ( + setFooterHeight(evt.nativeEvent.layout.height)} + style={[ + a.absolute, + a.left_0, + a.right_0, + {bottom: 0}, + a.px_xl, + a.border_t, + t.atoms.bg, + t.atoms.border_contrast_low, + { + paddingTop: a.py_lg.paddingTop, + paddingBottom: a.py_lg.paddingBottom + bottomBarOffset, + }, + ]}> + + + ) + + const onEndReached = async () => { + if (isFetchingNextPage || !hasNextPage || isError) return + try { + await fetchNextPage() + } catch (err) { + logger.error('Failed to load more join requests', {message: err}) + } + } + + const onRefresh = async () => { + setIsPTRing(true) + try { + await refetch() + } catch (err) { + logger.error('Failed to refresh group chat requests', {message: err}) + } + setIsPTRing(false) + } + + if (isError) { + return ( + <> +
+ + + + Unable to fetch join requests. + + + + + ) + } + + const showFooter = isOwner + + return ( + <> +
+ item.did} + renderItem={renderItem} + ListEmptyComponent={ + isPending ? ( + + + + ) : null + } + contentContainerStyle={ + showFooter ? {paddingBottom: footerHeight} : undefined + } + scrollIndicatorInsets={showFooter ? {bottom: footerHeight} : undefined} + refreshing={isPTRing} + onEndReached={() => void onEndReached()} + onRefresh={() => void onRefresh()} + keyboardDismissMode="on-drag" + sideBorders={false} + desktopFixedHeight + /> + {showFooter ? footer : null} + {owner && moderationOpts && ( + + )} + + ) +} + +function Header({ + count, + hasMoreRequests, +}: { + count?: number + hasMoreRequests?: boolean +}) { + const {t: l} = useLingui() + return ( + + + + + {count === undefined ? ( + Requests to join + ) : hasMoreRequests ? ( + l({ + message: `${count}+ requests to join`, + comment: + 'Displayed when there are more requests to join a group chat than have been loaded', + }) + ) : ( + + )} + + + + + ) +} + +function AcceptButton({ + disabled, + onPress, +}: { + disabled?: boolean + onPress: () => void +}) { + const {t: l} = useLingui() + + return ( + + ) +} + +function RejectButton({ + disabled, + onPress, +}: { + disabled?: boolean + onPress: () => void +}) { + const {t: l} = useLingui() + + return ( + + ) +} diff --git a/src/state/queries/messages/join-requests.ts b/src/state/queries/messages/join-requests.ts new file mode 100644 index 000000000..a3eda671e --- /dev/null +++ b/src/state/queries/messages/join-requests.ts @@ -0,0 +1,129 @@ +import { + type ChatBskyActorDefs, + type ChatBskyGroupApproveJoinRequest, + type ChatBskyGroupListJoinRequests, + type ChatBskyGroupRejectJoinRequest, +} from '@atproto/api' +import { + type InfiniteData, + useMutation, + useQueryClient, +} from '@tanstack/react-query' + +import {DM_SERVICE_HEADERS} from '#/lib/constants' +import {logger} from '#/logger' +import {useAgent} from '#/state/session' +import {listConvoMembersQueryKey} from './list-convo-members' +import {createListJoinRequestsQueryKey} from './list-join-requests' + +type JoinRequestAction = 'approve' | 'reject' + +type JoinRequestOutput = A extends 'approve' + ? ChatBskyGroupApproveJoinRequest.OutputSchema + : ChatBskyGroupRejectJoinRequest.OutputSchema + +export function useJoinRequestMutation( + action: A, + convoId: string | undefined, + { + onSuccess, + onError, + }: { + onSuccess?: (data: JoinRequestOutput) => void + onError?: (error: Error) => void + }, +) { + const queryClient = useQueryClient() + const agent = useAgent() + + return useMutation({ + mutationFn: async ({member}: {member: string}) => { + if (!convoId) throw new Error('No convoId provided') + const endpoint = + action === 'approve' + ? agent.chat.bsky.group.approveJoinRequest + : agent.chat.bsky.group.rejectJoinRequest + const {data} = await endpoint( + {convoId, member}, + {headers: DM_SERVICE_HEADERS, encoding: 'application/json'}, + ) + return data as JoinRequestOutput + }, + onMutate: ({member}) => { + if (!convoId) return + + const requestsKey = createListJoinRequestsQueryKey({convoId}) + const prevRequests = + queryClient.getQueryData< + InfiniteData + >(requestsKey) + + const requestedByProfile = prevRequests?.pages + .flatMap(page => page.requests) + .find(request => request.requestedBy.did === member)?.requestedBy + + queryClient.setQueryData< + InfiniteData + >(requestsKey, prev => { + if (!prev?.pages) return prev + return { + ...prev, + pages: prev.pages.map(page => ({ + ...page, + requests: page.requests.filter( + request => request.requestedBy.did !== member, + ), + })), + } + }) + + let prevMembers: ChatBskyActorDefs.ProfileViewBasic[] | undefined + if (action === 'approve' && requestedByProfile) { + const membersKey = listConvoMembersQueryKey(convoId) + prevMembers = + queryClient.getQueryData( + membersKey, + ) + queryClient.setQueryData( + membersKey, + prev => { + if (!prev) return prev + if (prev.some(m => m.did === member)) return prev + return [...prev, requestedByProfile] + }, + ) + } + + return {prevRequests, prevMembers} + }, + onSuccess: data => { + if (convoId) { + void queryClient.invalidateQueries({ + queryKey: createListJoinRequestsQueryKey({convoId}), + }) + if (action === 'approve') { + void queryClient.invalidateQueries({ + queryKey: listConvoMembersQueryKey(convoId), + }) + } + } + onSuccess?.(data) + }, + onError: (error, _variables, context) => { + logger.error(error) + if (convoId && context?.prevRequests) { + queryClient.setQueryData( + createListJoinRequestsQueryKey({convoId}), + context.prevRequests, + ) + } + if (convoId && action === 'approve' && context?.prevMembers) { + queryClient.setQueryData( + listConvoMembersQueryKey(convoId), + context.prevMembers, + ) + } + onError?.(error) + }, + }) +} -- 2.51.2 From 0a7c08707895f557e4b339f63125b2bb76f7e99b Mon Sep 17 00:00:00 2001 From: Spence Pope Date: Tue, 2 Jun 2026 17:01:16 -0400 Subject: [PATCH 31/32] fix blur on image alt text background (#10658) --- .claude/.pre-pr-sweep-state | 1 + src/components/Lightbox/Lightbox.web.tsx | 6 +- src/components/Lightbox/chrome/Footer.tsx | 78 +++++++++++++---------- 3 files changed, 52 insertions(+), 33 deletions(-) create mode 100644 .claude/.pre-pr-sweep-state diff --git a/.claude/.pre-pr-sweep-state b/.claude/.pre-pr-sweep-state new file mode 100644 index 000000000..f6f2d8d64 --- /dev/null +++ b/.claude/.pre-pr-sweep-state @@ -0,0 +1 @@ +alt-blur@3076a2b5a593b0d7b37198b5aebfe3a222afd52d diff --git a/src/components/Lightbox/Lightbox.web.tsx b/src/components/Lightbox/Lightbox.web.tsx index 641b2c340..8883bfb5e 100644 --- a/src/components/Lightbox/Lightbox.web.tsx +++ b/src/components/Lightbox/Lightbox.web.tsx @@ -230,7 +230,11 @@ function LightboxGallery({ style={[ a.px_4xl, a.py_2xl, - {backgroundColor: 'rgba(0, 0, 0, 0.45)'}, + { + backgroundColor: 'rgba(0, 0, 0, 0.5)', + // @ts-expect-error web only + backdropFilter: 'blur(16px)', + }, delayedFadeInAnim, ]}> - { - isMomentumScrolling.current = true - }} - onMomentumScrollEnd={() => { - isMomentumScrolling.current = false - }} - contentContainerStyle={[a.px_md, a.py_sm]}> - { - if (isMomentumScrolling.current) return - LayoutAnimation.configureNext({ - duration: 450, - update: {type: 'spring', springDamping: 1}, - }) - onToggleAltExpanded() - }}> - - {altText} - - - + + { + isMomentumScrolling.current = true + }} + onMomentumScrollEnd={() => { + isMomentumScrolling.current = false + }} + contentContainerStyle={[a.px_md, a.py_sm]}> + { + if (isMomentumScrolling.current) return + LayoutAnimation.configureNext({ + duration: 450, + update: {type: 'spring', springDamping: 1}, + }) + onToggleAltExpanded() + }}> + + {altText} + + + + ) @@ -74,7 +89,6 @@ export function Footer({altText, isAltExpanded, onToggleAltExpanded}: Props) { const styles = StyleSheet.create({ altWrap: { - backgroundColor: 'rgba(0, 0, 0, 0.45)', borderRadius: 12, overflow: 'hidden', }, -- 2.51.2 From c88218ab870e74e417f7d708191be78f31fd5414 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Tue, 2 Jun 2026 16:28:48 -0500 Subject: [PATCH 32/32] Revert "[ALG-96] Don't fall back to search for onboarding user suggestions (#10680)" (#10699) --- .../StepSuggestedAccounts/index.tsx | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/screens/Onboarding/StepSuggestedAccounts/index.tsx b/src/screens/Onboarding/StepSuggestedAccounts/index.tsx index a9cc64396..eaa68d925 100644 --- a/src/screens/Onboarding/StepSuggestedAccounts/index.tsx +++ b/src/screens/Onboarding/StepSuggestedAccounts/index.tsx @@ -1,16 +1,18 @@ -import {useCallback, useEffect, useRef, useState} from 'react' +import {useCallback, useEffect, useMemo, useRef, useState} from 'react' import {View} from 'react-native' import {type ModerationOpts} from '@atproto/api' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' import {Trans} from '@lingui/react/macro' import {useMutation, useQueryClient} from '@tanstack/react-query' +import * as bcp47Match from 'bcp-47-match' import {wait} from '#/lib/async/wait' import {popularInterests, useInterestsDisplayNames} from '#/lib/interests' import {isBlockedOrBlocking, isMuted} from '#/lib/moderation/blocked-and-muted' import {logger} from '#/logger' import {updateProfileShadow} from '#/state/cache/profile-shadow' +import {useLanguagePrefs} from '#/state/preferences' import {useModerationOpts} from '#/state/preferences/moderation-opts' import {useAgent, useSession} from '#/state/session' import { @@ -51,6 +53,19 @@ export function StepSuggestedAccounts() { // so we can enable/disable the button without having to dig through the shadow cache const [followedUsers, setFollowedUsers] = useState([]) + /* + * Special language handling copied wholesale from the Explore screen + */ + const {contentLanguages} = useLanguagePrefs() + const useFullExperience = useMemo(() => { + if (contentLanguages.length === 0) return true + return bcp47Match.basicFilter('en', contentLanguages).length > 0 + }, [contentLanguages]) + const interestsDisplayNames = useInterestsDisplayNames() + const interests = Object.keys(interestsDisplayNames) + .sort(boostInterests(popularInterests)) + .sort(boostInterests(state.interestsStepResults.selectedInterests)) + const { data: suggestedUsers, isLoading, @@ -58,8 +73,8 @@ export function StepSuggestedAccounts() { isRefetching, refetch, } = useSuggestedOnboardingUsers({ - category: selectedInterest, - search: false, + category: selectedInterest || (useFullExperience ? null : interests[0]), + search: !useFullExperience, overrideInterests: state.interestsStepResults.selectedInterests, }) @@ -90,6 +105,7 @@ export function StepSuggestedAccounts() { ax.metric('suggestedUser:follow', { logContext: 'Onboarding', location: 'FollowAll', + recSource: !useFullExperience ? 'Search' : undefined, recId: suggestedUsers?.recId, position: i, suggestedDid: did, @@ -140,6 +156,7 @@ export function StepSuggestedAccounts() { seenProfilesRef.current.add(did) ax.metric('suggestedUser:seen', { logContext: 'Onboarding', + recSource: !useFullExperience ? 'Search' : undefined, recId: suggestedUsers?.recId, position, suggestedDid: did, @@ -147,7 +164,7 @@ export function StepSuggestedAccounts() { }) } }, - [ax, selectedInterest, suggestedUsers?.recId], + [ax, selectedInterest, suggestedUsers?.recId, useFullExperience], ) useEffect(() => { @@ -233,6 +250,7 @@ export function StepSuggestedAccounts() { position={index} category={selectedInterest} onSeen={onProfileSeen} + recSource={!useFullExperience ? 'Search' : undefined} recId={suggestedUsers.recId} /> ))}