fix(app): isolate the F-Droid runtime flag

This commit is contained in:
Mohamed Boudra
2026-07-12 13:02:31 +00:00
parent f4d83cfd81
commit 0ad4abecb0
4 changed files with 8 additions and 6 deletions
@@ -4,7 +4,8 @@ import { Pressable, Text, View } from "react-native";
import { StyleSheet, useUnistyles } from "react-native-unistyles";
import { QrCode, Link2, ClipboardPaste } from "lucide-react-native";
import { AdaptiveModalSheet, type SheetHeader } from "./adaptive-modal-sheet";
import { isFdroidBuild, isNative } from "@/constants/platform";
import { isFdroidBuild } from "@/constants/build-profile";
import { isNative } from "@/constants/platform";
const styles = StyleSheet.create((theme) => ({
option: {
@@ -15,7 +15,8 @@ import { formatVersionWithPrefix } from "@/desktop/updates/desktop-updates";
import { buildOpenProjectRoute } from "@/utils/host-routes";
import { PaseoLogo } from "@/components/icons/paseo-logo";
import { openExternalUrl } from "@/utils/open-external-url";
import { isFdroidBuild, isWeb, isNative } from "@/constants/platform";
import { isFdroidBuild } from "@/constants/build-profile";
import { isWeb, isNative } from "@/constants/platform";
interface WelcomeAction {
key: "scan-qr" | "direct-connection" | "paste-pairing-link";
@@ -0,0 +1,4 @@
import Constants from "expo-constants";
/** F-Droid build without proprietary camera, notification, or OTA dependencies. */
export const isFdroidBuild = Constants.expoConfig?.extra?.fdroidBuild === true;
-4
View File
@@ -1,4 +1,3 @@
import Constants from "expo-constants";
import { Platform } from "react-native";
import { isElectronRuntime, isElectronRuntimeMac } from "@/desktop/host";
@@ -29,9 +28,6 @@ export const isNative = Platform.OS !== "web";
/** Development build/runtime — true in Metro dev bundles, false in production. */
export const isDev = Boolean((globalThis as { __DEV__?: boolean }).__DEV__);
/** F-Droid build without proprietary camera, notification, or OTA dependencies. */
export const isFdroidBuild = Constants.expoConfig?.extra?.fdroidBuild === true;
// ---------------------------------------------------------------------------
// Electron detection (cached — only caches `true`, keeps checking if false
// because the desktop bridge may load after initial module evaluation)