Merge pull request #204 from tooot-app/main

Release v3.2.1
This commit is contained in:
xmflsct 2022-02-01 22:32:39 +01:00 committed by GitHub
commit 46f5cd893d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 40 additions and 58 deletions

View File

@ -17,23 +17,23 @@ GEM
artifactory (3.0.15) artifactory (3.0.15)
atomos (0.1.3) atomos (0.1.3)
aws-eventstream (1.2.0) aws-eventstream (1.2.0)
aws-partitions (1.541.0) aws-partitions (1.551.0)
aws-sdk-core (3.124.0) aws-sdk-core (3.125.5)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0) aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
jmespath (~> 1.0) jmespath (~> 1.0)
aws-sdk-kms (1.52.0) aws-sdk-kms (1.53.0)
aws-sdk-core (~> 3, >= 3.122.0) aws-sdk-core (~> 3, >= 3.125.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.109.0) aws-sdk-s3 (1.111.3)
aws-sdk-core (~> 3, >= 3.122.0) aws-sdk-core (~> 3, >= 3.125.0)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4) aws-sigv4 (~> 1.4)
aws-sigv4 (1.4.0) aws-sigv4 (1.4.0)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4) babosa (1.0.4)
claide (1.0.3) claide (1.1.0)
cocoapods (1.11.2) cocoapods (1.11.2)
addressable (~> 2.8) addressable (~> 2.8)
claide (>= 1.0.2, < 2.0) claide (>= 1.0.2, < 2.0)
@ -86,17 +86,18 @@ GEM
escape (0.0.4) escape (0.0.4)
ethon (0.15.0) ethon (0.15.0)
ffi (>= 1.15.0) ffi (>= 1.15.0)
excon (0.89.0) excon (0.90.0)
faraday (1.8.0) faraday (1.9.3)
faraday-em_http (~> 1.0) faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0) faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1) faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0.1) faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0) faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1) faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0) faraday-patron (~> 1.0)
faraday-rack (~> 1.0) faraday-rack (~> 1.0)
multipart-post (>= 1.2, < 3) faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4) ruby2_keywords (>= 0.0.4)
faraday-cookie_jar (0.0.7) faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0) faraday (>= 0.8.0)
@ -105,14 +106,17 @@ GEM
faraday-em_synchrony (1.0.0) faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0) faraday-excon (1.1.0)
faraday-httpclient (1.0.1) faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-net_http (1.0.1) faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0) faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0) faraday-patron (1.0.0)
faraday-rack (1.0.0) faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.0) faraday_middleware (1.2.0)
faraday (~> 1.0) faraday (~> 1.0)
fastimage (2.2.5) fastimage (2.2.6)
fastlane (2.199.0) fastlane (2.203.0)
CFPropertyList (>= 2.3, < 4.0.0) CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0) addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0) artifactory (~> 3.0)
@ -159,9 +163,9 @@ GEM
fourflusher (2.3.1) fourflusher (2.3.1)
fuzzy_match (2.0.4) fuzzy_match (2.0.4)
gh_inspector (1.1.3) gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.14.0) google-apis-androidpublisher_v3 (0.16.0)
google-apis-core (>= 0.4, < 2.a) google-apis-core (>= 0.4, < 2.a)
google-apis-core (0.4.1) google-apis-core (0.4.2)
addressable (~> 2.5, >= 2.5.1) addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a) googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a) httpclient (>= 2.8.1, < 3.a)
@ -170,11 +174,11 @@ GEM
retriable (>= 2.0, < 4.a) retriable (>= 2.0, < 4.a)
rexml rexml
webrick webrick
google-apis-iamcredentials_v1 (0.9.0) google-apis-iamcredentials_v1 (0.10.0)
google-apis-core (>= 0.4, < 2.a) google-apis-core (>= 0.4, < 2.a)
google-apis-playcustomapp_v1 (0.6.0) google-apis-playcustomapp_v1 (0.7.0)
google-apis-core (>= 0.4, < 2.a) google-apis-core (>= 0.4, < 2.a)
google-apis-storage_v1 (0.10.0) google-apis-storage_v1 (0.11.0)
google-apis-core (>= 0.4, < 2.a) google-apis-core (>= 0.4, < 2.a)
google-cloud-core (1.6.0) google-cloud-core (1.6.0)
google-cloud-env (~> 1.0) google-cloud-env (~> 1.0)
@ -182,7 +186,7 @@ GEM
google-cloud-env (1.5.0) google-cloud-env (1.5.0)
faraday (>= 0.17.3, < 2.0) faraday (>= 0.17.3, < 2.0)
google-cloud-errors (1.2.0) google-cloud-errors (1.2.0)
google-cloud-storage (1.35.0) google-cloud-storage (1.36.0)
addressable (~> 2.8) addressable (~> 2.8)
digest-crc (~> 0.4) digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1) google-apis-iamcredentials_v1 (~> 0.1)
@ -203,7 +207,7 @@ GEM
httpclient (2.8.3) httpclient (2.8.3)
i18n (1.8.10) i18n (1.8.10)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
jmespath (1.4.0) jmespath (1.5.0)
json (2.6.1) json (2.6.1)
jwt (2.3.0) jwt (2.3.0)
memoist (0.16.2) memoist (0.16.2)

View File

@ -1,4 +1,4 @@
fastlane_version "2.199.0" fastlane_version "2.203.0"
skip_docs skip_docs
ensure_env_vars( ensure_env_vars(

View File

@ -4,7 +4,7 @@
"native": "220102", "native": "220102",
"major": 3, "major": 3,
"minor": 2, "minor": 2,
"patch": 0, "patch": 1,
"expo": "44.0.0" "expo": "44.0.0"
}, },
"description": "tooot app for Mastodon", "description": "tooot app for Mastodon",

View File

@ -9,7 +9,10 @@ import netInfo from '@root/startup/netInfo'
import sentry from '@root/startup/sentry' import sentry from '@root/startup/sentry'
import { persistor, store } from '@root/store' import { persistor, store } from '@root/store'
import AccessibilityManager from '@utils/accessibility/AccessibilityManager' import AccessibilityManager from '@utils/accessibility/AccessibilityManager'
import { getSettingsLanguage } from '@utils/slices/settingsSlice' import {
changeLanguage,
getSettingsLanguage
} from '@utils/slices/settingsSlice'
import ThemeManager from '@utils/styles/ThemeManager' import ThemeManager from '@utils/styles/ThemeManager'
import * as Notifications from 'expo-notifications' import * as Notifications from 'expo-notifications'
import * as SplashScreen from 'expo-splash-screen' import * as SplashScreen from 'expo-splash-screen'
@ -86,6 +89,9 @@ const App: React.FC = () => {
if (bootstrapped) { if (bootstrapped) {
log('log', 'App', 'loading actual app :)') log('log', 'App', 'loading actual app :)')
const language = getSettingsLanguage(store.getState()) const language = getSettingsLanguage(store.getState())
if (!language) {
store.dispatch(changeLanguage('en'))
}
i18n.changeLanguage(language) i18n.changeLanguage(language)
return ( return (
<ActionSheetProvider> <ActionSheetProvider>

View File

@ -1,7 +1,6 @@
import { HeaderLeft } from '@components/Header' import { HeaderLeft } from '@components/Header'
import { displayMessage, Message, removeMessage } from '@components/Message' import { displayMessage, Message } from '@components/Message'
import navigationRef from '@helpers/navigationRef' import navigationRef from '@helpers/navigationRef'
import { useNetInfo } from '@react-native-community/netinfo'
import { NavigationContainer } from '@react-navigation/native' import { NavigationContainer } from '@react-navigation/native'
import { createNativeStackNavigator } from '@react-navigation/native-stack' import { createNativeStackNavigator } from '@react-navigation/native-stack'
import ScreenActions from '@screens/Actions' import ScreenActions from '@screens/Actions'
@ -49,24 +48,6 @@ const Screens: React.FC<Props> = ({ localCorrupt }) => {
const routeRef = useRef<{ name?: string; params?: {} }>() const routeRef = useRef<{ name?: string; params?: {} }>()
const isConnected = useNetInfo().isConnected
useEffect(() => {
switch (isConnected) {
case true:
removeMessage()
break
case false:
displayMessage({
mode,
type: 'error',
message: t('network.disconnected.message'),
description: t('network.disconnected.description'),
autoHide: false
})
break
}
}, [isConnected])
// Push hooks // Push hooks
const instances = useSelector( const instances = useSelector(
getInstances, getInstances,

View File

@ -4,6 +4,7 @@ import { useTranslateQuery } from '@utils/queryHooks/translate'
import { getSettingsLanguage } from '@utils/slices/settingsSlice' import { getSettingsLanguage } from '@utils/slices/settingsSlice'
import { StyleConstants } from '@utils/styles/constants' import { StyleConstants } from '@utils/styles/constants'
import { useTheme } from '@utils/styles/ThemeManager' import { useTheme } from '@utils/styles/ThemeManager'
import * as Localization from 'expo-localization'
import React, { useState } from 'react' import React, { useState } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import { Pressable, StyleSheet, Text } from 'react-native' import { Pressable, StyleSheet, Text } from 'react-native'
@ -48,7 +49,7 @@ const TimelineTranslate = React.memo(
const [enabled, setEnabled] = useState(false) const [enabled, setEnabled] = useState(false)
const { refetch, data, isLoading, isSuccess, isError } = useTranslateQuery({ const { refetch, data, isLoading, isSuccess, isError } = useTranslateQuery({
source: status.language, source: status.language,
target: settingsLanguage, target: Localization.locale || settingsLanguage || 'en',
text, text,
options: { enabled } options: { enabled }
}) })
@ -92,7 +93,9 @@ const TimelineTranslate = React.memo(
source: data?.sourceLanguage source: data?.sourceLanguage
}) })
: t('shared.translate.default')} : t('shared.translate.default')}
{__DEV__ ? ` Source: ${status.language}` : undefined} {__DEV__
? ` Source: ${status.language}; Target: ${settingsLanguage}`
: undefined}
</Text> </Text>
{isLoading ? ( {isLoading ? (
<Circle <Circle

View File

@ -1,10 +1,4 @@
{ {
"network": {
"disconnected": {
"message": "Lost network connection",
"description": "Please check your phone's network setting"
}
},
"screenshot": { "screenshot": {
"title": "Privacy Protection", "title": "Privacy Protection",
"message": "Please do not disclose other user's identity, such as username, avatar, etc. Thank you!", "message": "Please do not disclose other user's identity, such as username, avatar, etc. Thank you!",

View File

@ -1,10 +1,4 @@
{ {
"network": {
"disconnected": {
"message": "无法连接到网络",
"description": "请检查手机设置里的网络连接"
}
},
"screenshot": { "screenshot": {
"title": "隐私保护", "title": "隐私保护",
"message": "请确保不要泄露其它用户的敏感信息,例如用户名、头像等,谢谢!", "message": "请确保不要泄露其它用户的敏感信息,例如用户名、头像等,谢谢!",