authorgravatar for me@pixp.ccAlex <me@pixp.cc> 2026-07-30 15:30:46-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-07-30 22:30:46+00:00
log605c2bb734bbebed0b19fc1ff6b514f41bd3659b
tree1a94c46fc89b29f20eff363c816563de6ad3445d
parentcb11a71d632e0fb9e7a1fe8c0a95f35583c9cf11
signature Signed by PGP key B5690EEEBB952194

fix(mobile): show the correct build channel in Android's Threads page header (#4861)


1 files changed, 7 insertions(+), 2 deletions(-)

apps/mobile/src/features/home/HomeHeader.tsx+7-2
...@@ -1,5 +1,6 @@...@@ -1,5 +1,6 @@
1import type { EnvironmentId, SidebarThreadSortOrder } from "@t3tools/contracts";1import type { EnvironmentId, SidebarThreadSortOrder } from "@t3tools/contracts";
2import type { MenuAction } from "@react-native-menu/menu";2import type { MenuAction } from "@react-native-menu/menu";
3import Constants from "expo-constants";
3import { NativeHeaderToolbar, NativeStackScreenOptions } from "../../native/StackHeader";4import { NativeHeaderToolbar, NativeStackScreenOptions } from "../../native/StackHeader";
4import { useCallback, useMemo, useRef } from "react";5import { useCallback, useMemo, useRef } from "react";
5import { Platform, Pressable, Text as RNText, TextInput, View } from "react-native";6import { Platform, Pressable, Text as RNText, TextInput, View } from "react-native";
...@@ -9,6 +10,8 @@ import { useSafeAreaInsets } from "react-native-safe-area-context";...@@ -9,6 +10,8 @@ import { useSafeAreaInsets } from "react-native-safe-area-context";
9import { ControlPillMenu } from "../../components/ControlPill";10import { ControlPillMenu } from "../../components/ControlPill";
10import { SymbolView } from "../../components/AppSymbol";11import { SymbolView } from "../../components/AppSymbol";
11import { T3Wordmark } from "../../components/T3Wordmark";12import { T3Wordmark } from "../../components/T3Wordmark";
13import { HOME_HORIZONTAL_INSET } from "../../lib/layoutMetrics";
14import { resolveMobileStageLabel } from "../../lib/mobileBranding";
12import { useThemeColor } from "../../lib/useThemeColor";15import { useThemeColor } from "../../lib/useThemeColor";
13import { useThreadListV2Enabled } from "../threads/use-thread-list-v2-enabled";16import { useThreadListV2Enabled } from "../threads/use-thread-list-v2-enabled";
14import { useHardwareKeyboardCommand } from "../keyboard/hardwareKeyboardCommands";17import { useHardwareKeyboardCommand } from "../keyboard/hardwareKeyboardCommands";
...@@ -64,6 +67,7 @@ function AndroidHomeHeader(props: HomeHeaderProps) {...@@ -64,6 +67,7 @@ function AndroidHomeHeader(props: HomeHeaderProps) {
64 const insets = useSafeAreaInsets();67 const insets = useSafeAreaInsets();
65 const iconColor = useThemeColor("--color-icon");68 const iconColor = useThemeColor("--color-icon");
66 const mutedColor = useThemeColor("--color-foreground-muted");69 const mutedColor = useThemeColor("--color-foreground-muted");
70 const stageLabel = resolveMobileStageLabel(Constants.expoConfig?.extra?.appVariant);
67 // Thread List v2 lays the list out in fixed creation order, so the71 // Thread List v2 lays the list out in fixed creation order, so the
68 // sort/group filter controls would be silently ignored — hide them and72 // sort/group filter controls would be silently ignored — hide them and
69 // key the "customized" icon state off the environment filter alone.73 // key the "customized" icon state off the environment filter alone.
...@@ -195,8 +199,9 @@ function AndroidHomeHeader(props: HomeHeaderProps) {...@@ -195,8 +199,9 @@ function AndroidHomeHeader(props: HomeHeaderProps) {
195 <>199 <>
196 <NativeStackScreenOptions options={{ headerShown: false }} />200 <NativeStackScreenOptions options={{ headerShown: false }} />
197 <View201 <View
198 className="border-b border-header-border bg-header px-4 pb-3"202 className="border-b border-header-border bg-header pb-3"
199 style={{203 style={{
204 paddingHorizontal: HOME_HORIZONTAL_INSET,
200 paddingTop: Math.max(insets.top, 12),205 paddingTop: Math.max(insets.top, 12),
201 }}206 }}
202 >207 >
...@@ -210,7 +215,7 @@ function AndroidHomeHeader(props: HomeHeaderProps) {...@@ -210,7 +215,7 @@ function AndroidHomeHeader(props: HomeHeaderProps) {
210 </RNText>215 </RNText>
211 <View className="rounded-full bg-subtle px-2 py-0.75">216 <View className="rounded-full bg-subtle px-2 py-0.75">
212 <RNText className="text-[11px] font-t3-bold tracking-[1.1px] text-foreground-muted uppercase">217 <RNText className="text-[11px] font-t3-bold tracking-[1.1px] text-foreground-muted uppercase">
213 Alpha218 {stageLabel}
214 </RNText>219 </RNText>
215 </View>220 </View>
216 </View>221 </View>