Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 12 additions & 74 deletions app.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
"expo": {
"name": "Metanet",
"slug": "metanet-mobile",
"version": "0.2.3",
"orientation": "default",
"version": "0.2.2",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"scheme": "metanet",
"userInterfaceStyle": "automatic",
"newArchEnabled": false,
"newArchEnabled": true,
"web": {
"bundler": "metro",
"output": "static",
Expand Down Expand Up @@ -61,10 +61,7 @@
"android.permission.VIBRATE",
"android.permission.WAKE_LOCK",
"android.permission.INTERNET",
"android.permission.SYSTEM_ALERT_WINDOW",
"android.permission.CAMERA",
"android.permission.RECORD_AUDIO",
"android.permission.ACCESS_FINE_LOCATION"
"android.permission.SYSTEM_ALERT_WINDOW"
],
"googleServicesFile": "google-services.json",
"intentFilters": [
Expand All @@ -79,10 +76,7 @@
"scheme": "http"
}
],
"category": [
"BROWSABLE",
"DEFAULT"
]
"category": ["BROWSABLE", "DEFAULT"]
},
{
"action": "VIEW",
Expand All @@ -91,82 +85,30 @@
"scheme": "metanet"
}
],
"category": [
"BROWSABLE",
"DEFAULT"
]
"category": ["BROWSABLE", "DEFAULT"]
}
],
"queries": [
{
"intent": {
"action": "android.intent.action.VIEW",
"category": "android.intent.category.BROWSABLE",
"data": {
"scheme": "https"
}
}
},
{
"intent": {
"action": "android.intent.action.VIEW",
"category": "android.intent.category.BROWSABLE",
"data": {
"scheme": "http"
}
},
"category": [
"BROWSABLE",
"DEFAULT"
]
},
{
"action": "VIEW",
"data": [
{
"scheme": "uhrp"
}
],
"category": [
"BROWSABLE",
"DEFAULT"
]
}
],
"jsEngine": "hermes"
]
},
"ios": {
"bundleIdentifier": "org.bsvblockchain.metanet",
"googleServicesFile": "GoogleService-Info.plist",
"infoPlist": {
"NSCameraUsageDescription": "This app needs camera access to scan QR codes and barcodes.",
"NSCameraUsageDescription": "This app needs camera access to scan QR codes.",
"NSPhotoLibraryUsageDescription": "This app needs photo library access to let you select images.",
"NSMicrophoneUsageDescription": "This app needs microphone access for video recording features.",
"NSLocationWhenInUseUsageDescription": "This app needs your location to provide location-based features on websites.",
"NSFaceIDUsageDescription": "This app uses Face ID/Touch ID to securely authenticate you and protect your wallet.",
"ITSAppUsesNonExemptEncryption": false,
"CFBundleURLTypes": [
{
"CFBundleURLName": "org.bsvblockchain.metanet.urlscheme",
"CFBundleURLSchemes": [
"metanet",
"http",
"https",
"uhrp"
]
"CFBundleURLSchemes": ["metanet", "http", "https"]
}
],
"LSApplicationQueriesSchemes": [
"https",
"http",
"uhrp"
]
"LSApplicationQueriesSchemes": ["https", "http"]
},
"entitlements": {
"aps-environment": "development",
"com.apple.developer.associated-domains": [
"applinks:*"
]
"com.apple.developer.associated-domains": ["applinks:*"]
}
},
"notification": {
Expand All @@ -176,10 +118,6 @@
"androidMode": "default",
"androidCollapsedTitle": "#{unread_notifications} new interactions"
},
"reactNativeConfig": {
"enableHermes": true,
"enableFabricRenderer": false
},
"owner": "bsvb"
}
}
}
3 changes: 3 additions & 0 deletions app/_layout.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
import 'react-native-quick-crypto'
import { Buffer } from 'buffer'
global.Buffer = Buffer
import React, { useEffect, useState } from 'react'
import { Stack } from 'expo-router'
import { UserContextProvider, NativeHandlers } from '../context/UserContext'
Expand Down
2 changes: 1 addition & 1 deletion app/auth/otp.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ export default function OtpScreen() {
return (
<SafeAreaView style={[styles.container, { backgroundColor: colors.background }]}>
<StatusBar style={isDark ? 'light' : 'dark'} />
<KeyboardAvoidingView behavior={Platform.OS === 'ios' ? 'padding' : 'height'} style={styles.keyboardAvoidingView}>
<KeyboardAvoidingView behavior='padding' style={styles.keyboardAvoidingView}>
<View style={[styles.contentContainer, { backgroundColor: colors.background }]}>
<Text style={[styles.title, { color: colors.textPrimary }]}>{t('verification_code')}</Text>
<Text style={[styles.subtitle, { color: colors.textSecondary }]}>
Expand Down
5 changes: 4 additions & 1 deletion app/auth/password.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ export default function PasswordScreen() {
return (
<SafeAreaView style={styles.container}>
<StatusBar style={isDark ? 'light' : 'dark'} />
<KeyboardAvoidingView behavior={Platform.OS === 'ios' ? 'padding' : 'height'} style={{ flex: 1 }}>
<KeyboardAvoidingView behavior='padding' style={{ flex: 1 }}>
<View style={styles.contentContainer}>
<Text style={styles.title}>{t('enter_password')}</Text>
<Text style={styles.subtitle}>{t('enter_password_subtitle')}</Text>
Expand All @@ -89,6 +89,9 @@ export default function PasswordScreen() {
value={password}
onChangeText={setPassword}
autoFocus
autoCapitalize="none"
autoCorrect={false}
autoComplete="off"
/>
<TouchableOpacity onPress={() => setShowPassword(!showPassword)}>
<Ionicons
Expand Down
2 changes: 1 addition & 1 deletion context/WalletContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -764,7 +764,7 @@ export const WalletContextProvider: React.FC<WalletContextProps> = ({ children =
logWithTimestamp(F, 'Managers reset')

// Reset configuration state
setConfigStatus('configured')
setConfigStatus('initial')
setSnapshotLoaded(false)
setWalletBuilt(false)
logWithTimestamp(F, 'Configuration and state reset')
Expand Down
13 changes: 13 additions & 0 deletions metro.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
const { getDefaultConfig } = require('expo/metro-config')

const config = getDefaultConfig(__dirname)

// Add crypto polyfill configuration
config.resolver.extraNodeModules = {
crypto: require.resolve('react-native-quick-crypto'),
buffer: require.resolve('buffer'),
stream: require.resolve('stream-browserify'),
...config.resolver.extraNodeModules
}

module.exports = config
Loading