mirror of
https://github.com/tooot-app/app
synced 2025-04-17 03:37:21 +02:00
Should fix #484
This commit is contained in:
parent
9b40a605b4
commit
a0c440be5e
@ -64,7 +64,7 @@ const AttachmentVideo: React.FC<Props> = ({
|
||||
}, [])
|
||||
const _handleAppStateChange = async (nextAppState: AppStateStatus) => {
|
||||
if (appState.current.match(/active/) && nextAppState.match(/inactive/)) {
|
||||
await videoPlayer.current?.stopAsync()
|
||||
// await videoPlayer.current?.stopAsync()
|
||||
} else if (gifv && appState.current.match(/background/) && nextAppState.match(/active/)) {
|
||||
await videoPlayer.current?.setIsMutedAsync(true)
|
||||
await videoPlayer.current?.playAsync()
|
||||
|
21
src/store.ts
21
src/store.ts
@ -4,7 +4,7 @@ import { AnyAction, configureStore, Reducer } from '@reduxjs/toolkit'
|
||||
import contextsMigration from '@utils/migrations/contexts/migration'
|
||||
import instancesMigration from '@utils/migrations/instances/migration'
|
||||
import settingsMigration from '@utils/migrations/settings/migration'
|
||||
import appSlice from '@utils/slices/appSlice'
|
||||
import appSlice, { AppState } from '@utils/slices/appSlice'
|
||||
import contextsSlice, { ContextsState } from '@utils/slices/contextsSlice'
|
||||
import instancesSlice, { InstancesState } from '@utils/slices/instancesSlice'
|
||||
import settingsSlice, { SettingsState } from '@utils/slices/settingsSlice'
|
||||
@ -26,6 +26,13 @@ const secureStorage = createSecureStore()
|
||||
|
||||
const prefix = 'tooot'
|
||||
|
||||
const appPersistConfig = {
|
||||
key: 'app',
|
||||
prefix,
|
||||
storage: AsyncStorage,
|
||||
version: 0
|
||||
}
|
||||
|
||||
const contextsPersistConfig = {
|
||||
key: 'contexts',
|
||||
prefix,
|
||||
@ -55,19 +62,19 @@ const settingsPersistConfig = {
|
||||
|
||||
const store = configureStore({
|
||||
reducer: {
|
||||
app: persistReducer(appPersistConfig, appSlice) as Reducer<AppState, AnyAction>,
|
||||
contexts: persistReducer(contextsPersistConfig, contextsSlice) as Reducer<
|
||||
ContextsState,
|
||||
AnyAction
|
||||
>,
|
||||
instances: persistReducer(
|
||||
instancesPersistConfig,
|
||||
instancesSlice
|
||||
) as Reducer<InstancesState, AnyAction>,
|
||||
instances: persistReducer(instancesPersistConfig, instancesSlice) as Reducer<
|
||||
InstancesState,
|
||||
AnyAction
|
||||
>,
|
||||
settings: persistReducer(settingsPersistConfig, settingsSlice) as Reducer<
|
||||
SettingsState,
|
||||
AnyAction
|
||||
>,
|
||||
app: appSlice
|
||||
>
|
||||
},
|
||||
middleware: getDefaultMiddleware =>
|
||||
getDefaultMiddleware({
|
||||
|
4
src/utils/migrations/app/v0.ts
Normal file
4
src/utils/migrations/app/v0.ts
Normal file
@ -0,0 +1,4 @@
|
||||
export type AppV0 = {
|
||||
expoToken?: string
|
||||
versionUpdate: boolean
|
||||
}
|
@ -33,53 +33,55 @@ const pushUseConnect = ({ t, instances }: Params) => {
|
||||
method: 'get',
|
||||
url: `push/connect/${expoToken}`,
|
||||
sentry: true
|
||||
}).catch(error => {
|
||||
Sentry.setExtras({
|
||||
API: 'tooot',
|
||||
...(error?.response && { response: error.response }),
|
||||
...(error?.request && { request: error.request })
|
||||
})
|
||||
Sentry.captureException(error)
|
||||
Notifications.setBadgeCountAsync(0)
|
||||
if (error?.status == 404) {
|
||||
displayMessage({
|
||||
theme,
|
||||
type: 'error',
|
||||
duration: 'long',
|
||||
message: t('pushError.message'),
|
||||
description: t('pushError.description'),
|
||||
onPress: () => {
|
||||
navigationRef.navigate('Screen-Tabs', {
|
||||
screen: 'Tab-Me',
|
||||
params: {
|
||||
screen: 'Tab-Me-Root'
|
||||
}
|
||||
})
|
||||
navigationRef.navigate('Screen-Tabs', {
|
||||
screen: 'Tab-Me',
|
||||
params: {
|
||||
screen: 'Tab-Me-Settings'
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
dispatch(disableAllPushes())
|
||||
|
||||
instances.forEach(instance => {
|
||||
if (instance.push.global.value) {
|
||||
apiGeneral<{}>({
|
||||
method: 'delete',
|
||||
domain: instance.url,
|
||||
url: 'api/v1/push/subscription',
|
||||
headers: {
|
||||
Authorization: `Bearer ${instance.token}`
|
||||
}
|
||||
}).catch(() => console.log('error!!!'))
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
.then(() => Notifications.setBadgeCountAsync(0))
|
||||
.catch(error => {
|
||||
Sentry.setExtras({
|
||||
API: 'tooot',
|
||||
...(error?.response && { response: error.response }),
|
||||
...(error?.request && { request: error.request })
|
||||
})
|
||||
Sentry.captureException(error)
|
||||
Notifications.setBadgeCountAsync(0)
|
||||
if (error?.status == 404) {
|
||||
displayMessage({
|
||||
theme,
|
||||
type: 'error',
|
||||
duration: 'long',
|
||||
message: t('pushError.message'),
|
||||
description: t('pushError.description'),
|
||||
onPress: () => {
|
||||
navigationRef.navigate('Screen-Tabs', {
|
||||
screen: 'Tab-Me',
|
||||
params: {
|
||||
screen: 'Tab-Me-Root'
|
||||
}
|
||||
})
|
||||
navigationRef.navigate('Screen-Tabs', {
|
||||
screen: 'Tab-Me',
|
||||
params: {
|
||||
screen: 'Tab-Me-Settings'
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
dispatch(disableAllPushes())
|
||||
|
||||
instances.forEach(instance => {
|
||||
if (instance.push.global.value) {
|
||||
apiGeneral<{}>({
|
||||
method: 'delete',
|
||||
domain: instance.url,
|
||||
url: 'api/v1/push/subscription',
|
||||
headers: {
|
||||
Authorization: `Bearer ${instance.token}`
|
||||
}
|
||||
}).catch(() => console.log('error!!!'))
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const pushEnabled = instances.filter(instance => instance.push.global.value)
|
||||
@ -89,7 +91,6 @@ const pushUseConnect = ({ t, instances }: Params) => {
|
||||
if (expoToken && pushEnabled.length && state === 'active') {
|
||||
Notifications.getBadgeCountAsync().then(count => {
|
||||
if (count > 0) {
|
||||
Notifications.setBadgeCountAsync(0)
|
||||
connect()
|
||||
}
|
||||
})
|
||||
@ -102,7 +103,6 @@ const pushUseConnect = ({ t, instances }: Params) => {
|
||||
}, [expoToken, pushEnabled.length])
|
||||
|
||||
return useEffect(() => {
|
||||
Notifications.setBadgeCountAsync(0)
|
||||
if (expoToken && pushEnabled.length) {
|
||||
connect()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user