diff --git a/src/App.tsx b/src/App.tsx index 75a45924..76ae23be 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -24,10 +24,22 @@ import { Text } from './components/Text' import useIsInternetReachable from './utils/useIsInternetReachable' import { MMKVStorage } from './services' import { Button, Screen } from './components' +import { HotUpdater } from '@hot-updater/react-native' +import { HOT_UPDATER_URL, HOT_UPDATER_API_KEY } from '@env' setSizeMattersBaseWidth(375) setSizeMattersBaseHeight(812) +// Configure hot-updater once before any HotUpdater.checkForUpdate() call. +// As of 0.32.0 the base URL and request headers are set here instead of +// being passed per-call via the removed getUpdateSource() helper. +HotUpdater.init({ + baseURL: HOT_UPDATER_URL, + requestHeaders: { + Authorization: `Bearer ${HOT_UPDATER_API_KEY}`, + }, +}) + function App() { const { diff --git a/src/screens/SettingsScreen.tsx b/src/screens/SettingsScreen.tsx index 8f31877e..7c6f0fc2 100644 --- a/src/screens/SettingsScreen.tsx +++ b/src/screens/SettingsScreen.tsx @@ -7,11 +7,7 @@ import Animated, { } from 'react-native-reanimated' import notifee, { AuthorizationStatus } from '@notifee/react-native' import messaging from '@react-native-firebase/messaging' -import { HotUpdater, getUpdateSource } from '@hot-updater/react-native' -import { - HOT_UPDATER_API_KEY, - HOT_UPDATER_URL, -} from '@env' +import { HotUpdater } from '@hot-updater/react-native' import {ThemeCode, Themes, colors, spacing, typography, useThemeColor} from '../theme' import { changeIcon } from 'react-native-change-icon' import {ListItem, Screen, Text, Card, NwcIcon, Button, BottomModal, InfoModal, Icon, Header, AnimatedHeader} from '../components' @@ -71,12 +67,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props) const checkForUpdate = async () => { try { const updateInfo = await HotUpdater.checkForUpdate({ - source: getUpdateSource(HOT_UPDATER_URL, { - updateStrategy: "fingerprint", - }), - requestHeaders: { - Authorization: `Bearer ${HOT_UPDATER_API_KEY}`, - }, + updateStrategy: "fingerprint", }) log.debug('[checkForUpdate]', {updateInfo}) diff --git a/src/screens/UpdateScreen.tsx b/src/screens/UpdateScreen.tsx index b02fd838..63bb4056 100644 --- a/src/screens/UpdateScreen.tsx +++ b/src/screens/UpdateScreen.tsx @@ -3,8 +3,6 @@ import React, {FC, useEffect, useState} from 'react' import {Linking, Platform, ScrollView, Switch, TextStyle, View, ViewStyle} from 'react-native' import { APP_ENV, - HOT_UPDATER_API_KEY, - HOT_UPDATER_URL, } from '@env' // import codePush from "react-native-code-push" import {colors, spacing, useThemeColor} from '../theme' @@ -26,7 +24,7 @@ import { log } from '../services' import {Env} from '../utils/envtypes' import { CommonActions, StaticScreenProps, useNavigation } from '@react-navigation/native' import { translate } from '../i18n' -import { getUpdateSource, HotUpdater, useHotUpdaterStore } from '@hot-updater/react-native' +import { HotUpdater, useHotUpdaterStore } from '@hot-updater/react-native' import { ResultModalInfo } from './Wallet/ResultModalInfo' @@ -90,12 +88,7 @@ export const UpdateScreen = observer(function UpdateScreen({ route }: Props) { try { setIsUpdateModalVisible(true) const updateInfo = await HotUpdater.checkForUpdate({ - source: getUpdateSource(HOT_UPDATER_URL, { - updateStrategy: "fingerprint", - }), - requestHeaders: { - Authorization: `Bearer ${HOT_UPDATER_API_KEY}`, - }, + updateStrategy: "fingerprint", }) if (!updateInfo) { diff --git a/src/screens/WalletScreen.tsx b/src/screens/WalletScreen.tsx index 7b0df7c5..7097d19d 100644 --- a/src/screens/WalletScreen.tsx +++ b/src/screens/WalletScreen.tsx @@ -41,10 +41,8 @@ import {TransactionListItem} from './Transactions/TransactionListItem' import {WalletTask} from '../services' import {translate} from '../i18n' import AppError, { Err } from '../utils/AppError' -import { - HOT_UPDATER_API_KEY, - HOT_UPDATER_URL, - MINIBITS_MINT_URL, +import { + MINIBITS_MINT_URL, } from '@env' import { IncomingParser } from '../services/incomingParser' import useIsInternetReachable from '../utils/useIsInternetReachable' @@ -54,7 +52,7 @@ import { CurrencyAmount } from './Wallet/CurrencyAmount' import { LeftProfileHeader } from './ContactsScreen' import { getUnixTime } from 'date-fns/getUnixTime' import FastImage from 'react-native-fast-image' -import { HotUpdater, getUpdateSource } from '@hot-updater/react-native' +import { HotUpdater } from '@hot-updater/react-native' import { NfcIcon } from '../components/NfcIcon' const MINT_CHECK_INTERVAL = 60 @@ -127,12 +125,7 @@ export const WalletScreen = observer(function WalletScreen({ route }: Props) { const checkForUpdate = async () => { try { const updateInfo = await HotUpdater.checkForUpdate({ - source: getUpdateSource(HOT_UPDATER_URL, { - updateStrategy: "fingerprint", - }), - requestHeaders: { - Authorization: `Bearer ${HOT_UPDATER_API_KEY}`, - }, + updateStrategy: "fingerprint", }) log.trace('[checkForUpdate]', {updateInfo})