Set proper android versioning, fix dev logs on wallet address recovery screen

This commit is contained in:
minibits-cash
2025-02-10 16:05:29 +01:00
parent 2fe9c1d810
commit 0b9cbe530f
6 changed files with 22 additions and 17 deletions

View File

@@ -53,6 +53,7 @@ jobs:
with:
path: android/app/build.gradle
expose-version-name: 'true' # sets ANDROID_VERSION_NAME to env
expose-version-code: 'true' # sets ANDROID_VERSION_CODE to env
# Get commit hash
- name: Get commit hash
@@ -88,7 +89,8 @@ jobs:
echo APP_ENV='PROD' >> .env
echo SENTRY_DSN='${{ secrets.SENTRY_DSN }}' >> .env
echo CODEPUSH_PRODUCTION_DEPLOYMENT_KEY='${{ secrets.CODEPUSH_PRODUCTION_DEPLOYMENT_KEY }}' >> .env
echo NATIVE_VERSION_ANDROID='${{ env.ANDROID_VERSION_NAME }}' >> .env
echo ANDROID_VERSION_CODE='${{ env.ANDROID_VERSION_CODE }}' >> .env
echo ANDROID_VERSION_NAME='${{ env.ANDROID_VERSION_NAME }}' >> .env
echo JS_BUNDLE_VERSION='${{ env.CURRENT_JS_VERSION }}' >> .env
echo MINIBITS_SERVER_API_KEY='${{ secrets.MINIBITS_SERVER_API_KEY }}' >> .env
echo MINIBIT_SERVER_NOSTR_PUBKEY='${{ secrets.MINIBIT_SERVER_NOSTR_PUBKEY }}' >> .env

View File

@@ -53,6 +53,7 @@ jobs:
with:
path: android/app/build.gradle
expose-version-name: 'true' # sets ANDROID_VERSION_NAME to env
expose-version-code: 'true' # sets ANDROID_VERSION_CODE to env
# Get commit hash
- name: Get commit hash
@@ -88,7 +89,8 @@ jobs:
echo APP_ENV='TEST' >> .env
echo SENTRY_DSN='${{ secrets.SENTRY_DSN }}' >> .env
echo CODEPUSH_STAGING_DEPLOYMENT_KEY='${{ secrets.CODEPUSH_STAGING_DEPLOYMENT_KEY }}' >> .env
echo NATIVE_VERSION_ANDROID='${{ env.ANDROID_VERSION_NAME }}' >> .env
echo ANDROID_VERSION_CODE='${{ env.ANDROID_VERSION_CODE }}' >> .env
echo ANDROID_VERSION_NAME='${{ env.ANDROID_VERSION_NAME }}' >> .env
echo JS_BUNDLE_VERSION='${{ env.CURRENT_JS_VERSION }}' >> .env
echo MINIBITS_SERVER_API_KEY='${{ secrets.MINIBITS_SERVER_API_KEY }}' >> .env
echo MINIBIT_SERVER_NOSTR_PUBKEY='${{ secrets.MINIBIT_SERVER_NOSTR_PUBKEY }}' >> .env

View File

@@ -3,10 +3,10 @@ import * as Sentry from '@sentry/react-native'
import {
APP_ENV,
SENTRY_DSN,
JS_BUNDLE_VERSION,
NATIVE_VERSION_ANDROID,
JS_BUNDLE_VERSION,
CODEPUSH_STAGING_DEPLOYMENT_KEY,
CODEPUSH_PRODUCTION_DEPLOYMENT_KEY,
CODEPUSH_PRODUCTION_DEPLOYMENT_KEY,
ANDROID_VERSION_NAME,
} from '@env'
import codePush from 'react-native-code-push'
import FlashMessage from "react-native-flash-message"
@@ -40,7 +40,7 @@ if (!__DEV__) {
dsn: SENTRY_DSN,
environment: APP_ENV,
release: `minibits_wallet_android@${JS_BUNDLE_VERSION}`,
dist: NATIVE_VERSION_ANDROID,
dist: ANDROID_VERSION_NAME,
beforeSend: function (event, hint) {
const exception = hint.originalException
if (exception instanceof AppError) {

View File

@@ -3,10 +3,11 @@ import React, {FC, useEffect, useState} from 'react'
import {Alert, TextStyle, View, ViewStyle} from 'react-native'
import {colors, spacing, useThemeColor} from '../theme'
import {
APP_ENV,
NATIVE_VERSION_ANDROID,
APP_ENV,
JS_BUNDLE_VERSION,
COMMIT,
ANDROID_VERSION_NAME,
ANDROID_VERSION_CODE,
} from '@env'
import packageJson from '../../package.json'
import {
@@ -260,12 +261,13 @@ export const DeveloperScreen = observer(function DeveloperScreen({ route }: Prop
<ListItem
tx="developerScreen.info"
subText={`Environment: ${APP_ENV}
Native version: ${NATIVE_VERSION_ANDROID}
JS Bundle version: ${JS_BUNDLE_VERSION}
Commit: ${COMMIT}
Android version name: ${ANDROID_VERSION_NAME}
Android version code: ${ANDROID_VERSION_CODE}
DB version: ${dbVersion}
State size: ${walletStateSize.toLocaleString()} bytes
React Native: ${rnVersion}
Commit: ${COMMIT}
Sentry id: ${walletProfileStore.walletId}
`}
leftIcon='faInfoCircle'

View File

@@ -51,8 +51,7 @@ import {
CODEPUSH_STAGING_DEPLOYMENT_KEY,
CODEPUSH_PRODUCTION_DEPLOYMENT_KEY,
MINIBITS_MINT_URL,
NATIVE_VERSION_ANDROID,
JS_BUNDLE_VERSION
ANDROID_VERSION_NAME
} from '@env'
import { round } from '../utils/number'
import { IncomingParser } from '../services/incomingParser'
@@ -120,13 +119,12 @@ export const WalletScreen = observer(function WalletScreen({ route }: Props) {
const update = await codePush.checkForUpdate(deploymentKey, handleBinaryVersionMismatchCallback)
if (update && update.failedInstall !== true) { // do not announce update that failed to install before
if(JS_BUNDLE_VERSION.includes(update.appVersion)) {
if(ANDROID_VERSION_NAME === update.appVersion) {
setUpdateDescription(update.description)
setUpdateSize(`${round(update.packageSize * 0.000001, 2)}MB`)
setIsUpdateAvailable(true)
toggleUpdateModal()
}
// log.trace('OTA Update available', update, 'checkForUpdate')
}
}
} catch (e: any) {
return false // silent
@@ -146,7 +144,7 @@ export const WalletScreen = observer(function WalletScreen({ route }: Props) {
const handleBinaryVersionMismatchCallback = function(update: RemotePackage) {
log.info('[handleBinaryVersionMismatchCallback] triggered', NATIVE_VERSION_ANDROID, update)
log.info('[handleBinaryVersionMismatchCallback] triggered', ANDROID_VERSION_NAME, update)
setIsNativeUpdateAvailable(true)
toggleUpdateModal()
}

View File

@@ -3,7 +3,8 @@ declare module '@env' {
export const SENTRY_DSN: string
export const CODEPUSH_PRODUCTION_DEPLOYMENT_KEY: string
export const CODEPUSH_STAGING_DEPLOYMENT_KEY: string
export const NATIVE_VERSION_ANDROID: string
export const ANDROID_VERSION_NAME: string
export const ANDROID_VERSION_CODE: string
export const MINIBITS_SERVER_API_KEY: string
export const MINIBITS_SERVER_API_HOST: string
export const MINIBIT_SERVER_NOSTR_PUBKEY: string