[Gekidou] update deps (#6667)

* Fix login not showing the usernames (#6652)

* update dependencies

* feedback review

* feedback review 2

* remove unused dependencies

* remove duplicate gesture-handler dependency

* add -XX:+HeapDumpOnOutOfMemoryError to gradle

* adjust gradle memory

* update android ci image

* android executor xlarge

Co-authored-by: Daniel Espino García <larkox@gmail.com>
This commit is contained in:
Elias Nahum 2022-10-13 08:41:18 -03:00 committed by GitHub
parent e1c74124e2
commit 5c7e89d7de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
68 changed files with 5391 additions and 4399 deletions

View file

@ -1,20 +1,20 @@
version: 2.1
orbs:
owasp: entur/owasp@0.0.10
node: circleci/node@5.0.2
node: circleci/node@5.0.3
executors:
android:
parameters:
resource_class:
default: large
default: xlarge
type: string
environment:
NODE_OPTIONS: --max_old_space_size=12000
NODE_ENV: production
BABEL_ENV: production
docker:
- image: cimg/android:2022.03-node
- image: cimg/android:2022.09.2-node
working_directory: ~/mattermost-mobile
resource_class: <<parameters.resource_class>>
@ -28,7 +28,7 @@ executors:
NODE_ENV: production
BABEL_ENV: production
macos:
xcode: "14.0.0"
xcode: "14.0.1"
working_directory: ~/mattermost-mobile
shell: /bin/bash --login -o pipefail
resource_class: <<parameters.resource_class>>
@ -105,7 +105,7 @@ commands:
description: "Get JavaScript dependencies"
steps:
- node/install:
node-version: '16.14.2'
node-version: '18.7.0'
- restore_cache:
name: Restore npm cache
key: v2-npm-{{ checksum "package.json" }}-{{ arch }}

View file

@ -1,6 +1,7 @@
{
"extends": [
"plugin:mattermost/react",
"./eslint/eslint-mattermost",
"./eslint/eslint-react",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react-hooks/recommended"
@ -8,7 +9,6 @@
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint",
"mattermost",
"import"
],
"settings": {

View file

@ -224,18 +224,18 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH RE
## @nozbe/watermelondb
This product contains 'cameraroll' by Bartol Karuza.
This product contains '@nozbe/watermelondb' by Nozbe.
React-native native module that provides access to the local camera roll or photo library
Build powerful React and React Native apps that scale from hundreds to tens of thousands of records and remain fast ⚡️
* HOMEPAGE:
* https://github.com/react-native-community/react-native-cameraroll
* https://github.com/Nozbe/WatermelonDB/
* LICENSE: MIT
MIT License
Copyright (c) 2020 Elias Nahum
Copyright (c) Nozbe
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -293,50 +293,14 @@ SOFTWARE.
---
## @react-native-community/art
## @react-native-cameraroll/react-native-cameraroll
This product contains '@react-native-community/art' by react-native-art.
React Native module that allows you to draw vector graphics
* HOMEPAGE:
* https://github.com/react-native-art/art
* LICENSE: MIT
MIT License
Copyright (c) 2019 react-native-community
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---
## @react-native-community/cameraroll
This product contains 'cameraroll' by Bartol Karuza.
This product contains 'react-native-cameraroll' by Bartol Karuza.
React-native native module that provides access to the local camera roll or photo library
* HOMEPAGE:
* https://github.com/react-native-community/react-native-cameraroll
* https://github.com/react-native-cameraroll/react-native-cameraroll
* LICENSE: MIT
@ -365,14 +329,14 @@ SOFTWARE.
---
## @react-native-community/clipboard
## @react-native-clipboard/clipboard
This product contains '@react-native-community/clipboard' by React Native Community.
This product contains '@react-native-clipboard/clipboard' by React Native Community.
React Native Clipboard API for both iOS and Android
* HOMEPAGE:
* https://github.com/react-native-community/clipboard
* https://github.com/react-native-clipboard/clipboard
* LICENSE: MIT
@ -2350,20 +2314,20 @@ SOFTWARE.
---
## react-native-neomorph-shadows
## react-native-shadow-2
This product contains a modified version of 'react-native-neomorph-shadows' by Daniel.
This product contains a modified version of 'react-native-shadow-2' by Henrique Bruno Fantauzzi de Almeida.
Shadows and neumorphism/neomorphism for iOS & Android (like iOS).
Cross-platform shadow for React Native. Supports Android, iOS, Web and Expo.
* HOMEPAGE:
* https://github.com/tokkozhin/react-native-neomorph-shadows
* https://github.com/SrBrahma/react-native-shadow-2
* LICENSE: MIT
MIT License
Copyright (c) 2020 tokkozhin
Copyright (c) 2021 Henrique Bruno Fantauzzi de Almeida
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -2957,41 +2921,6 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
## rn-placeholder
This product contains a modified version of 'rn-placeholder' by Marvin FRACHET.
Display some placeholder stuff before rendering your text or media content in React Native
* HOMEPAGE:
* https://github.com/mfrachet/rn-placeholder
* LICENSE: MIT
Copyright (c) 2004-Today Marvin Frachet
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---
## semver

View file

@ -5,6 +5,8 @@
<uses-permission-sdk-23 android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

View file

@ -10,7 +10,7 @@
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=1g
org.gradle.jvmargs=-Xmx1024m -XX:MaxMetaspaceSize=512m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit

View file

@ -3,8 +3,8 @@
exports[`@components/app_version should match snapshot 1`] = `
<View
animatedStyle={
Object {
"value": Object {
{
"value": {
"opacity": 1,
},
}
@ -12,14 +12,14 @@ exports[`@components/app_version should match snapshot 1`] = `
collapsable={false}
pointerEvents="none"
style={
Object {
{
"opacity": 1,
}
}
>
<View
style={
Object {
{
"bottom": 0,
"marginBottom": 12,
"marginLeft": 20,
@ -29,7 +29,7 @@ exports[`@components/app_version should match snapshot 1`] = `
>
<Text
style={
Object {
{
"fontSize": 12,
}
}

View file

@ -1,7 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import Clipboard from '@react-native-community/clipboard';
import Clipboard from '@react-native-clipboard/clipboard';
import React, {useCallback} from 'react';
import {useIntl} from 'react-intl';

View file

@ -1,7 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import Clipboard from '@react-native-community/clipboard';
import Clipboard from '@react-native-clipboard/clipboard';
import React, {useCallback} from 'react';
import {useIntl} from 'react-intl';

View file

@ -13,15 +13,15 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "center",
"flexDirection": "row",
"minHeight": 40,
@ -29,7 +29,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
},
false,
undefined,
Object {
{
"minHeight": 40,
},
]
@ -38,7 +38,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
>
<View
style={
Object {
{
"flex": 1,
"flexDirection": "row",
}
@ -46,12 +46,12 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
>
<View
style={
Array [
Object {
[
{
"alignItems": "center",
"justifyContent": "center",
},
Object {
{
"height": 24,
"width": 24,
},
@ -63,13 +63,13 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
<Icon
name="globe"
style={
Array [
Object {
[
{
"color": "rgba(255,255,255,0.4)",
},
undefined,
undefined,
Object {
{
"fontSize": 24,
"left": 1,
},
@ -83,14 +83,14 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
ellipsizeMode="tail"
numberOfLines={1}
style={
Array [
Object {
[
{
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"color": "rgba(255,255,255,0.72)",
"marginTop": -1,
"paddingLeft": 12,
@ -126,15 +126,15 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "center",
"flexDirection": "row",
"minHeight": 40,
@ -142,7 +142,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
},
false,
undefined,
Object {
{
"minHeight": 40,
},
]
@ -151,7 +151,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
>
<View
style={
Object {
{
"flex": 1,
"flexDirection": "row",
}
@ -159,12 +159,12 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
>
<View
style={
Array [
Object {
[
{
"alignItems": "center",
"justifyContent": "center",
},
Object {
{
"height": 24,
"width": 24,
},
@ -176,13 +176,13 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
<Icon
name="pencil-outline"
style={
Array [
Object {
[
{
"color": "rgba(255,255,255,0.4)",
},
undefined,
undefined,
Object {
{
"fontSize": 24,
"left": 2,
},
@ -196,14 +196,14 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
ellipsizeMode="tail"
numberOfLines={1}
style={
Array [
Object {
[
{
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"color": "rgba(255,255,255,0.72)",
"marginTop": -1,
"paddingLeft": 12,
@ -226,14 +226,14 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
name="phone-in-talk"
size={16}
style={
Array [
Object {
[
{
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"color": "rgba(255,255,255,0.72)",
"marginTop": -1,
"paddingLeft": 12,
@ -244,7 +244,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
null,
false,
false,
Object {
{
"paddingRight": 0,
"textAlign": "right",
},
@ -268,15 +268,15 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "center",
"flexDirection": "row",
"minHeight": 40,
@ -284,7 +284,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
},
false,
undefined,
Object {
{
"minHeight": 40,
},
]
@ -293,7 +293,7 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
>
<View
style={
Object {
{
"flex": 1,
"flexDirection": "row",
}
@ -301,12 +301,12 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
>
<View
style={
Array [
Object {
[
{
"alignItems": "center",
"justifyContent": "center",
},
Object {
{
"height": 24,
"width": 24,
},
@ -318,13 +318,13 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
<Icon
name="pencil-outline"
style={
Array [
Object {
[
{
"color": "rgba(255,255,255,0.4)",
},
undefined,
undefined,
Object {
{
"fontSize": 24,
"left": 2,
},
@ -338,14 +338,14 @@ exports[`components/channel_list/categories/body/channel_item should match snaps
ellipsizeMode="tail"
numberOfLines={1}
style={
Array [
Object {
[
{
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"color": "rgba(255,255,255,0.72)",
"marginTop": -1,
"paddingLeft": 12,

View file

@ -1,7 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import Clipboard from '@react-native-community/clipboard';
import Clipboard from '@react-native-clipboard/clipboard';
import React, {useCallback} from 'react';
import {BaseOption} from '@components/common_post_options';

View file

@ -13,7 +13,7 @@ exports[`components/custom_status/clear_button should match snapshot 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"alignItems": "center",
"flex": 1,
"height": 40,
@ -28,7 +28,7 @@ exports[`components/custom_status/clear_button should match snapshot 1`] = `
name="close-circle"
size={20}
style={
Object {
{
"borderRadius": 1000,
"color": "rgba(63,67,80,0.52)",
}

View file

@ -6,9 +6,9 @@ exports[`components/custom_status/custom_status_emoji should match snapshot 1`]
>
<Text
style={
Array [
[
undefined,
Object {
{
"color": "#000",
"fontSize": 16,
},
@ -26,9 +26,9 @@ exports[`components/custom_status/custom_status_emoji should match snapshot with
>
<Text
style={
Array [
[
undefined,
Object {
{
"color": "#000",
"fontSize": 34,
},

View file

@ -3,8 +3,8 @@
exports[`components/custom_status/custom_status_text should match snapshot 1`] = `
<Text
style={
Array [
Object {
[
{
"color": "rgba(63,67,80,0.5)",
"fontSize": 17,
"includeFontPadding": false,
@ -21,8 +21,8 @@ exports[`components/custom_status/custom_status_text should match snapshot 1`] =
exports[`components/custom_status/custom_status_text should match snapshot with empty text 1`] = `
<Text
style={
Array [
Object {
[
{
"color": "rgba(63,67,80,0.5)",
"fontSize": 17,
"includeFontPadding": false,

View file

@ -3,15 +3,15 @@
exports[`ErrorText should match snapshot 1`] = `
<Text
style={
Array [
Object {
[
{
"color": "#d24b4e",
"fontSize": 12,
"marginBottom": 15,
"marginTop": 15,
"textAlign": "left",
},
Object {
{
"fontSize": 14,
"marginHorizontal": 15,
},

View file

@ -6,7 +6,6 @@ import Svg, {
Mask,
G,
} from 'react-native-svg';
import {EMaskUnits} from 'react-native-svg/src/elements/Mask';
type Props = {
theme: Theme;
@ -60,7 +59,7 @@ function SvgComponent({theme}: Props) {
/>
<Mask
id='a'
maskUnits={EMaskUnits.USER_SPACE_ON_USE}
maskUnits='userSpaceOnUse'
x={76}
y={43}
width={134}

View file

@ -6,7 +6,6 @@ import Svg, {
Mask,
G,
} from 'react-native-svg';
import {EMaskUnits} from 'react-native-svg/src/elements/Mask';
type Props = {
theme: Theme;
@ -60,7 +59,7 @@ function SvgComponent({theme}: Props) {
/>
<Mask
id='a'
maskUnits={EMaskUnits.USER_SPACE_ON_USE}
maskUnits='userSpaceOnUse'
x={76}
y={43}
width={134}

View file

@ -11,7 +11,6 @@ import Svg, {
Use,
Image,
} from 'react-native-svg';
import {EMaskUnits} from 'react-native-svg/src/elements/Mask';
type Props = {
theme: Theme;
@ -31,7 +30,7 @@ function SvgComponent({theme}: Props) {
/>
<Mask
id='a'
maskUnits={EMaskUnits.USER_SPACE_ON_USE}
maskUnits='userSpaceOnUse'
x={3}
y={0}
width={117}
@ -53,7 +52,7 @@ function SvgComponent({theme}: Props) {
/>
<Mask
id='b'
maskUnits={EMaskUnits.USER_SPACE_ON_USE}
maskUnits='userSpaceOnUse'
x={32}
y={42}
width={71}
@ -102,7 +101,7 @@ function SvgComponent({theme}: Props) {
/>
<Mask
id='c'
maskUnits={EMaskUnits.USER_SPACE_ON_USE}
maskUnits='userSpaceOnUse'
x={25}
y={3}
width={53}
@ -125,7 +124,7 @@ function SvgComponent({theme}: Props) {
/>
<Mask
id='d'
maskUnits={EMaskUnits.USER_SPACE_ON_USE}
maskUnits='userSpaceOnUse'
x={71}
y={30}
width={51}

View file

@ -3,7 +3,7 @@
exports[`Loading Error should match snapshot 1`] = `
<View
style={
Object {
{
"alignItems": "center",
"flex": 1,
"justifyContent": "center",
@ -13,7 +13,7 @@ exports[`Loading Error should match snapshot 1`] = `
>
<View
style={
Object {
{
"alignItems": "center",
"backgroundColor": "rgba(255,255,255,0.08)",
"borderRadius": 60,
@ -26,7 +26,7 @@ exports[`Loading Error should match snapshot 1`] = `
<Icon
name="alert-circle-outline"
style={
Object {
{
"color": "rgba(255,255,255,0.48)",
"fontSize": 72,
"lineHeight": 72,
@ -36,14 +36,14 @@ exports[`Loading Error should match snapshot 1`] = `
</View>
<Text
style={
Array [
Object {
[
{
"fontFamily": "Metropolis-SemiBold",
"fontSize": 20,
"fontWeight": "600",
"lineHeight": 28,
},
Object {
{
"color": "#ffffff",
"marginTop": 20,
"textAlign": "center",
@ -55,14 +55,14 @@ exports[`Loading Error should match snapshot 1`] = `
</Text>
<Text
style={
Array [
Object {
[
{
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"color": "#ffffff",
"marginTop": 4,
"textAlign": "center",
@ -84,7 +84,7 @@ exports[`Loading Error should match snapshot 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"alignItems": "center",
"backgroundColor": "#ffffff",
"borderRadius": 4,
@ -100,8 +100,8 @@ exports[`Loading Error should match snapshot 1`] = `
>
<Text
style={
Array [
Object {
[
{
"alignItems": "center",
"fontFamily": "OpenSans-SemiBold",
"fontWeight": "600",
@ -109,12 +109,12 @@ exports[`Loading Error should match snapshot 1`] = `
"padding": 1,
"textAlignVertical": "center",
},
Object {
{
"fontSize": 16,
"lineHeight": 18,
"marginTop": 1,
},
Object {
{
"color": "#1c58d9",
},
]

View file

@ -3,7 +3,7 @@
import {useManagedConfig} from '@mattermost/react-native-emm';
import {Database} from '@nozbe/watermelondb';
import Clipboard from '@react-native-community/clipboard';
import Clipboard from '@react-native-clipboard/clipboard';
import React, {useCallback, useEffect, useMemo} from 'react';
import {useIntl} from 'react-intl';
import {GestureResponderEvent, Keyboard, StyleProp, StyleSheet, Text, TextStyle, View} from 'react-native';

View file

@ -2,7 +2,7 @@
// See LICENSE.txt for license information.
import {useManagedConfig} from '@mattermost/react-native-emm';
import Clipboard from '@react-native-community/clipboard';
import Clipboard from '@react-native-clipboard/clipboard';
import React, {useCallback} from 'react';
import {useIntl} from 'react-intl';
import {Keyboard, StyleSheet, Text, TextStyle, TouchableOpacity, View} from 'react-native';

View file

@ -2,7 +2,7 @@
// See LICENSE.txt for license information.
import {useManagedConfig} from '@mattermost/react-native-emm';
import Clipboard from '@react-native-community/clipboard';
import Clipboard from '@react-native-clipboard/clipboard';
import React, {useCallback, useMemo, useRef, useState} from 'react';
import {useIntl} from 'react-intl';
import {Alert, Platform, StyleProp, Text, TextStyle, TouchableWithoutFeedback, View} from 'react-native';

View file

@ -2,7 +2,7 @@
// See LICENSE.txt for license information.
import {useManagedConfig} from '@mattermost/react-native-emm';
import Clipboard from '@react-native-community/clipboard';
import Clipboard from '@react-native-clipboard/clipboard';
import React, {useCallback, useMemo} from 'react';
import {useIntl} from 'react-intl';
import {Keyboard, View, Text, StyleSheet, Platform} from 'react-native';

View file

@ -2,7 +2,7 @@
// See LICENSE.txt for license information.
import {useManagedConfig} from '@mattermost/react-native-emm';
import Clipboard from '@react-native-community/clipboard';
import Clipboard from '@react-native-clipboard/clipboard';
import React, {Children, ReactElement, useCallback} from 'react';
import {useIntl} from 'react-intl';
import {Alert, StyleSheet, Text, View} from 'react-native';

View file

@ -3,7 +3,7 @@
exports[`AttachmentFooter it matches snapshot when both footer and footer_icon are provided 1`] = `
<View
style={
Object {
{
"flex": 1,
"flexDirection": "row",
"marginTop": 5,
@ -12,11 +12,11 @@ exports[`AttachmentFooter it matches snapshot when both footer and footer_icon a
>
<View
style={
Array [
Object {
[
{
"overflow": "hidden",
},
Object {
{
"height": 12,
"marginRight": 5,
"marginTop": 1,
@ -26,14 +26,15 @@ exports[`AttachmentFooter it matches snapshot when both footer and footer_icon a
}
>
<FastImageView
defaultSource={null}
resizeMode="cover"
source={
Object {
{
"uri": "https://images.com/image.png",
}
}
style={
Object {
{
"bottom": 0,
"left": 0,
"position": "absolute",
@ -47,7 +48,7 @@ exports[`AttachmentFooter it matches snapshot when both footer and footer_icon a
ellipsizeMode="tail"
numberOfLines={1}
style={
Object {
{
"color": "rgba(63,67,80,0.5)",
"fontSize": 11,
}
@ -61,7 +62,7 @@ exports[`AttachmentFooter it matches snapshot when both footer and footer_icon a
exports[`AttachmentFooter it matches snapshot when footer text is provided 1`] = `
<View
style={
Object {
{
"flex": 1,
"flexDirection": "row",
"marginTop": 5,
@ -72,7 +73,7 @@ exports[`AttachmentFooter it matches snapshot when footer text is provided 1`] =
ellipsizeMode="tail"
numberOfLines={1}
style={
Object {
{
"color": "rgba(63,67,80,0.5)",
"fontSize": 11,
}

View file

@ -3,15 +3,15 @@
exports[`renderSystemMessage uses renderer for Channel Display Name update 1`] = `
<View
style={
Object {
{
"marginBottom": 5,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "flex-start",
"flexDirection": "row",
"flexWrap": "wrap",
@ -23,29 +23,29 @@ exports[`renderSystemMessage uses renderer for Channel Display Name update 1`] =
<Text>
<Text
style={
Array [
Object {
[
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"opacity": 1,
},
]
}
>
<Text
style={Array []}
style={[]}
>
@username
</Text>
</Text>
<Text
style={
Object {
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
@ -65,15 +65,15 @@ exports[`renderSystemMessage uses renderer for Channel Display Name update 1`] =
exports[`renderSystemMessage uses renderer for Channel Header update 1`] = `
<View
style={
Object {
{
"marginBottom": 5,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "flex-start",
"flexDirection": "row",
"flexWrap": "wrap",
@ -85,29 +85,29 @@ exports[`renderSystemMessage uses renderer for Channel Header update 1`] = `
<Text>
<Text
style={
Array [
Object {
[
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"opacity": 1,
},
]
}
>
<Text
style={Array []}
style={[]}
>
@username
</Text>
</Text>
<Text
style={
Object {
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
@ -127,7 +127,7 @@ exports[`renderSystemMessage uses renderer for Channel Header update 1`] = `
exports[`renderSystemMessage uses renderer for Channel Purpose update 1`] = `
<Text
style={
Object {
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
@ -143,15 +143,15 @@ exports[`renderSystemMessage uses renderer for Channel Purpose update 1`] = `
exports[`renderSystemMessage uses renderer for Guest added and join to channel 1`] = `
<View
style={
Object {
{
"marginBottom": 5,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "flex-start",
"flexDirection": "row",
"flexWrap": "wrap",
@ -163,29 +163,29 @@ exports[`renderSystemMessage uses renderer for Guest added and join to channel 1
<Text>
<Text
style={
Array [
Object {
[
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"opacity": 1,
},
]
}
>
<Text
style={Array []}
style={[]}
>
@username
</Text>
</Text>
<Text
style={
Object {
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
@ -205,15 +205,15 @@ exports[`renderSystemMessage uses renderer for Guest added and join to channel 1
exports[`renderSystemMessage uses renderer for Guest added and join to channel 2`] = `
<View
style={
Object {
{
"marginBottom": 5,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "flex-start",
"flexDirection": "row",
"flexWrap": "wrap",
@ -225,29 +225,29 @@ exports[`renderSystemMessage uses renderer for Guest added and join to channel 2
<Text>
<Text
style={
Array [
Object {
[
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"opacity": 1,
},
]
}
>
<Text
style={Array []}
style={[]}
>
@other.user
</Text>
</Text>
<Text
style={
Object {
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
@ -261,22 +261,22 @@ exports[`renderSystemMessage uses renderer for Guest added and join to channel 2
</Text>
<Text
style={
Array [
Object {
[
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"opacity": 1,
},
]
}
>
<Text
style={Array []}
style={[]}
>
@username.
</Text>
@ -289,15 +289,15 @@ exports[`renderSystemMessage uses renderer for Guest added and join to channel 2
exports[`renderSystemMessage uses renderer for OLD archived channel without a username 1`] = `
<View
style={
Object {
{
"marginBottom": 5,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "flex-start",
"flexDirection": "row",
"flexWrap": "wrap",
@ -309,7 +309,7 @@ exports[`renderSystemMessage uses renderer for OLD archived channel without a us
<Text>
<Text
style={
Object {
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
@ -329,15 +329,15 @@ exports[`renderSystemMessage uses renderer for OLD archived channel without a us
exports[`renderSystemMessage uses renderer for archived channel 1`] = `
<View
style={
Object {
{
"marginBottom": 5,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "flex-start",
"flexDirection": "row",
"flexWrap": "wrap",
@ -349,29 +349,29 @@ exports[`renderSystemMessage uses renderer for archived channel 1`] = `
<Text>
<Text
style={
Array [
Object {
[
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"opacity": 1,
},
]
}
>
<Text
style={Array []}
style={[]}
>
@username
</Text>
</Text>
<Text
style={
Object {
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
@ -391,15 +391,15 @@ exports[`renderSystemMessage uses renderer for archived channel 1`] = `
exports[`renderSystemMessage uses renderer for unarchived channel 1`] = `
<View
style={
Object {
{
"marginBottom": 5,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "flex-start",
"flexDirection": "row",
"flexWrap": "wrap",
@ -411,29 +411,29 @@ exports[`renderSystemMessage uses renderer for unarchived channel 1`] = `
<Text>
<Text
style={
Array [
Object {
[
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"opacity": 1,
},
]
}
>
<Text
style={Array []}
style={[]}
>
@username
</Text>
</Text>
<Text
style={
Object {
{
"color": "rgba(63,67,80,0.6)",
"fontFamily": "OpenSans",
"fontSize": 16,

View file

@ -3,8 +3,8 @@
exports[`ThreadOverview should match snapshot when post is not saved and 0 replies 1`] = `
<View
style={
Array [
Object {
[
{
"borderBottomWidth": 1,
"borderColor": "rgba(63,67,80,0.1)",
"borderTopWidth": 1,
@ -13,7 +13,7 @@ exports[`ThreadOverview should match snapshot when post is not saved and 0 repli
"paddingHorizontal": 16,
"paddingVertical": 10,
},
Object {
{
"borderBottomWidth": 0,
},
undefined,
@ -23,14 +23,14 @@ exports[`ThreadOverview should match snapshot when post is not saved and 0 repli
>
<View
style={
Object {
{
"flex": 1,
}
}
>
<Text
style={
Object {
{
"color": "rgba(63,67,80,0.64)",
"fontFamily": "OpenSans",
"fontSize": 16,
@ -46,13 +46,15 @@ exports[`ThreadOverview should match snapshot when post is not saved and 0 repli
</View>
<View
style={
Object {
{
"flexDirection": "row",
}
}
>
<RNGestureHandlerButton
collapsable={false}
delayLongPress={600}
enabled={true}
exclusive={true}
handlerTag={1}
handlerType="NativeViewGestureHandler"
@ -68,7 +70,7 @@ exports[`ThreadOverview should match snapshot when post is not saved and 0 repli
accessible={true}
collapsable={false}
style={
Object {
{
"marginLeft": 16,
"opacity": 1,
}
@ -83,6 +85,8 @@ exports[`ThreadOverview should match snapshot when post is not saved and 0 repli
</RNGestureHandlerButton>
<RNGestureHandlerButton
collapsable={false}
delayLongPress={600}
enabled={true}
exclusive={true}
handlerTag={2}
handlerType="NativeViewGestureHandler"
@ -98,7 +102,7 @@ exports[`ThreadOverview should match snapshot when post is not saved and 0 repli
accessible={true}
collapsable={false}
style={
Object {
{
"marginLeft": 16,
"opacity": 1,
}
@ -118,8 +122,8 @@ exports[`ThreadOverview should match snapshot when post is not saved and 0 repli
exports[`ThreadOverview should match snapshot when post is saved and has replies 1`] = `
<View
style={
Array [
Object {
[
{
"borderBottomWidth": 1,
"borderColor": "rgba(63,67,80,0.1)",
"borderTopWidth": 1,
@ -135,14 +139,14 @@ exports[`ThreadOverview should match snapshot when post is saved and has replies
>
<View
style={
Object {
{
"flex": 1,
}
}
>
<Text
style={
Object {
{
"color": "rgba(63,67,80,0.64)",
"fontFamily": "OpenSans",
"fontSize": 16,
@ -158,13 +162,15 @@ exports[`ThreadOverview should match snapshot when post is saved and has replies
</View>
<View
style={
Object {
{
"flexDirection": "row",
}
}
>
<RNGestureHandlerButton
collapsable={false}
delayLongPress={600}
enabled={true}
exclusive={true}
handlerTag={3}
handlerType="NativeViewGestureHandler"
@ -180,7 +186,7 @@ exports[`ThreadOverview should match snapshot when post is saved and has replies
accessible={true}
collapsable={false}
style={
Object {
{
"marginLeft": 16,
"opacity": 1,
}
@ -195,6 +201,8 @@ exports[`ThreadOverview should match snapshot when post is saved and has replies
</RNGestureHandlerButton>
<RNGestureHandlerButton
collapsable={false}
delayLongPress={600}
enabled={true}
exclusive={true}
handlerTag={4}
handlerType="NativeViewGestureHandler"
@ -210,7 +218,7 @@ exports[`ThreadOverview should match snapshot when post is saved and has replies
accessible={true}
collapsable={false}
style={
Object {
{
"marginLeft": 16,
"opacity": 1,
}

View file

@ -4,7 +4,7 @@ exports[`Server Icon Server Icon Component should match snapshot 1`] = `
<View>
<View
accessibilityState={
Object {
{
"disabled": true,
}
}
@ -12,7 +12,7 @@ exports[`Server Icon Server Icon Component should match snapshot 1`] = `
collapsable={false}
focusable={false}
hitSlop={
Object {
{
"bottom": 5,
"left": 40,
"right": 20,
@ -27,7 +27,7 @@ exports[`Server Icon Server Icon Component should match snapshot 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
@ -45,7 +45,7 @@ exports[`Server Icon Server Icon Component should match snapshot with mentions 1
<View>
<View
accessibilityState={
Object {
{
"disabled": true,
}
}
@ -53,7 +53,7 @@ exports[`Server Icon Server Icon Component should match snapshot with mentions 1
collapsable={false}
focusable={false}
hitSlop={
Object {
{
"bottom": 5,
"left": 40,
"right": 20,
@ -68,7 +68,7 @@ exports[`Server Icon Server Icon Component should match snapshot with mentions 1
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
@ -83,7 +83,7 @@ exports[`Server Icon Server Icon Component should match snapshot with mentions 1
collapsable={false}
numberOfLines={1}
style={
Object {
{
"alignSelf": "flex-end",
"backgroundColor": "#ffffff",
"borderColor": "#14213e",
@ -102,8 +102,8 @@ exports[`Server Icon Server Icon Component should match snapshot with mentions 1
"position": "absolute",
"textAlign": "center",
"top": -8,
"transform": Array [
Object {
"transform": [
{
"scale": 1,
},
],
@ -121,7 +121,7 @@ exports[`Server Icon Server Icon Component should match snapshot with unreads 1`
<View>
<View
accessibilityState={
Object {
{
"disabled": true,
}
}
@ -129,7 +129,7 @@ exports[`Server Icon Server Icon Component should match snapshot with unreads 1`
collapsable={false}
focusable={false}
hitSlop={
Object {
{
"bottom": 5,
"left": 40,
"right": 20,
@ -144,7 +144,7 @@ exports[`Server Icon Server Icon Component should match snapshot with unreads 1`
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
@ -159,7 +159,7 @@ exports[`Server Icon Server Icon Component should match snapshot with unreads 1`
collapsable={false}
numberOfLines={1}
style={
Object {
{
"alignSelf": "flex-end",
"backgroundColor": "#ffffff",
"borderColor": "#14213e",
@ -178,8 +178,8 @@ exports[`Server Icon Server Icon Component should match snapshot with unreads 1`
"position": "absolute",
"textAlign": "center",
"top": -5,
"transform": Array [
Object {
"transform": [
{
"scale": 1,
},
],

View file

@ -4,7 +4,7 @@ exports[`UserStatus should match snapshot, away status 1`] = `
<Icon
name="clock"
style={
Object {
{
"color": "#ffbc1f",
"fontSize": 32,
}
@ -17,7 +17,7 @@ exports[`UserStatus should match snapshot, dnd status 1`] = `
<Icon
name="minus-circle"
style={
Object {
{
"color": "#d24b4e",
"fontSize": 32,
}
@ -30,7 +30,7 @@ exports[`UserStatus should match snapshot, online status 1`] = `
<Icon
name="check-circle"
style={
Object {
{
"color": "#3db887",
"fontSize": 32,
}
@ -43,7 +43,7 @@ exports[`UserStatus should match snapshot, should default to offline status 1`]
<Icon
name="circle-outline"
style={
Object {
{
"color": "rgba(184,184,184,0.64)",
"fontSize": 32,
}

View file

@ -19,8 +19,8 @@ type State = {
serverDisplayName: string;
};
export function withServerDatabase<T>(Component: ComponentType<T>): ComponentType<T> {
return function ServerDatabaseComponent(props) {
export function withServerDatabase<T extends JSX.IntrinsicAttributes>(Component: ComponentType<T>): ComponentType<T> {
return function ServerDatabaseComponent(props: T) {
const [state, setState] = useState<State | undefined>();
const observer = (servers: ServersModel[]) => {

View file

@ -87,11 +87,11 @@ const PrivateChannelIllustration = ({theme}: Props) => (
/>
<Mask
id='a'
// @ts-expect-error style not intrinsic
style={{
maskType: 'alpha',
}}
// @ts-expect-error string instead of enum
maskUnits='userSpaceOnUse'
x={51}
y={63}
@ -132,11 +132,11 @@ const PrivateChannelIllustration = ({theme}: Props) => (
/>
<Mask
id='b'
// @ts-expect-error style not intrinsic
style={{
maskType: 'alpha',
}}
// @ts-expect-error string instead of enum
maskUnits='userSpaceOnUse'
x={41}
y={35}

View file

@ -103,11 +103,11 @@ const PublicChannelIllustration = ({theme}: Props) => (
/>
<Mask
id='a'
// @ts-expect-error style not intrinsic
style={{
maskType: 'alpha',
}}
// @ts-expect-error string instead of enum
maskUnits='userSpaceOnUse'
x={77}
y={31}

View file

@ -47,11 +47,11 @@ const TownSquareIllustration = ({theme}: Props) => (
/>
<Mask
id='a'
// @ts-expect-error style not intrinsic
style={{
maskType: 'alpha',
}}
// @ts-expect-error string instead of enum
maskUnits='userSpaceOnUse'
x={61}
y={65}
@ -117,11 +117,11 @@ const TownSquareIllustration = ({theme}: Props) => (
/>
<Mask
id='b'
// @ts-expect-error style not intrinsic
style={{
maskType: 'alpha',
}}
// @ts-expect-error string instead of enum
maskUnits='userSpaceOnUse'
x={40}
y={33}
@ -159,11 +159,11 @@ const TownSquareIllustration = ({theme}: Props) => (
/>
<Mask
id='c'
// @ts-expect-error style not intrinsic
style={{
maskType: 'alpha',
}}
// @ts-expect-error string instead of enum
maskUnits='userSpaceOnUse'
x={69}
y={23}

View file

@ -1,7 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import Clipboard from '@react-native-community/clipboard';
import Clipboard from '@react-native-clipboard/clipboard';
import React, {useEffect, useRef, useState} from 'react';
import {useIntl} from 'react-intl';
import {StyleSheet} from 'react-native';

View file

@ -1,7 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import CameraRoll from '@react-native-community/cameraroll';
import {CameraRoll} from '@react-native-camera-roll/camera-roll';
import React, {useEffect, useRef, useState} from 'react';
import {useIntl} from 'react-intl';
import {NativeModules, Platform, StyleSheet, Text, View} from 'react-native';

View file

@ -1,13 +1,12 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {useIsFocused, useRoute} from '@react-navigation/native';
import {useRoute} from '@react-navigation/native';
import React, {useCallback, useState} from 'react';
import {ScrollView, View} from 'react-native';
import Animated, {useAnimatedStyle, withTiming} from 'react-native-reanimated';
import {Edge, SafeAreaView, useSafeAreaInsets} from 'react-native-safe-area-context';
import FreezeScreen from '@components/freeze_screen';
import {View as ViewConstants} from '@constants';
import {useTheme} from '@context/theme';
import {useIsTablet} from '@hooks/device';
@ -60,7 +59,6 @@ const getStyleSheet = makeStyleSheetFromTheme((theme: Theme) => {
const AccountScreen = ({currentUser, enableCustomUserStatuses, customStatusExpirySupported, showFullName}: AccountScreenProps) => {
const theme = useTheme();
const isFocused = useIsFocused();
const [start, setStart] = useState(false);
const route = useRoute();
const insets = useSafeAreaInsets();
@ -96,46 +94,44 @@ const AccountScreen = ({currentUser, enableCustomUserStatuses, customStatusExpir
const styles = getStyleSheet(theme);
return (
<FreezeScreen freeze={!isFocused}>
<SafeAreaView
edges={edges}
style={styles.container}
testID='account.screen'
<SafeAreaView
edges={edges}
style={styles.container}
testID='account.screen'
>
<View style={[{height: insets.top, flexDirection: 'row'}]}>
<View style={[styles.container, tabletSidebarStyle]}/>
{isTablet && <View style={styles.tabletContainer}/>}
</View>
<Animated.View
onLayout={onLayout}
style={[styles.flexRow, animated]}
>
<View style={[{height: insets.top, flexDirection: 'row'}]}>
<View style={[styles.container, tabletSidebarStyle]}/>
{isTablet && <View style={styles.tabletContainer}/>}
</View>
<Animated.View
onLayout={onLayout}
style={[styles.flexRow, animated]}
<ScrollView
alwaysBounceVertical={false}
style={tabletSidebarStyle}
contentContainerStyle={styles.totalHeight}
>
<ScrollView
alwaysBounceVertical={false}
style={tabletSidebarStyle}
contentContainerStyle={styles.totalHeight}
>
<AccountUserInfo
user={currentUser}
showFullName={showFullName}
theme={theme}
/>
<AccountOptions
enableCustomUserStatuses={enableCustomUserStatuses}
isCustomStatusExpirySupported={customStatusExpirySupported}
isTablet={isTablet}
user={currentUser}
theme={theme}
/>
</ScrollView>
{isTablet &&
<View style={[styles.tabletContainer, styles.tabletDivider]}>
<AccountTabletView/>
</View>
}
</Animated.View>
</SafeAreaView>
</FreezeScreen>
<AccountUserInfo
user={currentUser}
showFullName={showFullName}
theme={theme}
/>
<AccountOptions
enableCustomUserStatuses={enableCustomUserStatuses}
isCustomStatusExpirySupported={customStatusExpirySupported}
isTablet={isTablet}
user={currentUser}
theme={theme}
/>
</ScrollView>
{isTablet &&
<View style={[styles.tabletContainer, styles.tabletDivider]}>
<AccountTabletView/>
</View>
}
</Animated.View>
</SafeAreaView>
);
};

View file

@ -3,15 +3,15 @@
exports[`components/categories_list should render channels error 1`] = `
<View
animatedStyle={
Object {
"value": Object {
{
"value": {
"maxWidth": "100%",
},
}
}
collapsable={false}
style={
Object {
{
"backgroundColor": "#1e325c",
"flex": 1,
"maxWidth": "100%",
@ -23,22 +23,22 @@ exports[`components/categories_list should render channels error 1`] = `
>
<View
animatedStyle={
Object {
"value": Object {
{
"value": {
"marginLeft": 0,
},
}
}
collapsable={false}
style={
Object {
{
"marginLeft": 0,
}
}
>
<View
style={
Object {
{
"alignItems": "center",
"flexDirection": "row",
"justifyContent": "space-between",
@ -57,14 +57,14 @@ exports[`components/categories_list should render channels error 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
>
<View
style={
Object {
{
"alignItems": "center",
"flexDirection": "row",
"justifyContent": "space-between",
@ -73,7 +73,7 @@ exports[`components/categories_list should render channels error 1`] = `
>
<Text
style={
Object {
{
"color": "#ffffff",
"fontFamily": "Metropolis-SemiBold",
"fontSize": 28,
@ -87,7 +87,7 @@ exports[`components/categories_list should render channels error 1`] = `
</Text>
<View
style={
Object {
{
"marginLeft": 4,
}
}
@ -96,7 +96,7 @@ exports[`components/categories_list should render channels error 1`] = `
<Icon
name="chevron-down"
style={
Object {
{
"color": "rgba(255,255,255,0.8)",
"fontSize": 24,
}
@ -110,7 +110,7 @@ exports[`components/categories_list should render channels error 1`] = `
collapsable={false}
focusable={true}
hitSlop={
Object {
{
"bottom": 30,
"left": 20,
"right": 20,
@ -125,7 +125,7 @@ exports[`components/categories_list should render channels error 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"alignItems": "center",
"backgroundColor": "rgba(255,255,255,0.08)",
"borderRadius": 14,
@ -140,7 +140,7 @@ exports[`components/categories_list should render channels error 1`] = `
<Icon
name="plus"
style={
Object {
{
"color": "rgba(255,255,255,0.8)",
"fontSize": 18,
}
@ -150,7 +150,7 @@ exports[`components/categories_list should render channels error 1`] = `
</View>
<View
style={
Object {
{
"alignItems": "center",
"flexDirection": "row",
"paddingRight": 60,
@ -161,7 +161,7 @@ exports[`components/categories_list should render channels error 1`] = `
ellipsizeMode="tail"
numberOfLines={1}
style={
Object {
{
"color": "rgba(255,255,255,0.64)",
"fontFamily": "OpenSans-SemiBold",
"fontSize": 11,
@ -173,11 +173,11 @@ exports[`components/categories_list should render channels error 1`] = `
/>
<View
animatedStyle={
Object {
"value": Object {
{
"value": {
"opacity": 1,
"transform": Array [
Object {
"transform": [
{
"rotateZ": "0deg",
},
],
@ -186,7 +186,7 @@ exports[`components/categories_list should render channels error 1`] = `
}
collapsable={false}
style={
Object {
{
"borderBottomColor": "rgba(255,255,255,0.16)",
"borderLeftColor": "#ffffff",
"borderRadius": 7,
@ -196,8 +196,8 @@ exports[`components/categories_list should render channels error 1`] = `
"height": 14,
"marginLeft": 5,
"opacity": 1,
"transform": Array [
Object {
"transform": [
{
"rotateZ": "0deg",
},
],
@ -209,7 +209,7 @@ exports[`components/categories_list should render channels error 1`] = `
</View>
<View
style={
Object {
{
"alignItems": "center",
"flex": 1,
"justifyContent": "center",
@ -219,7 +219,7 @@ exports[`components/categories_list should render channels error 1`] = `
>
<View
style={
Object {
{
"alignItems": "center",
"backgroundColor": "rgba(255,255,255,0.08)",
"borderRadius": 60,
@ -232,7 +232,7 @@ exports[`components/categories_list should render channels error 1`] = `
<Icon
name="alert-circle-outline"
style={
Object {
{
"color": "rgba(255,255,255,0.48)",
"fontSize": 72,
"lineHeight": 72,
@ -242,14 +242,14 @@ exports[`components/categories_list should render channels error 1`] = `
</View>
<Text
style={
Array [
Object {
[
{
"fontFamily": "Metropolis-SemiBold",
"fontSize": 20,
"fontWeight": "600",
"lineHeight": 28,
},
Object {
{
"color": "#ffffff",
"marginTop": 20,
"textAlign": "center",
@ -261,14 +261,14 @@ exports[`components/categories_list should render channels error 1`] = `
</Text>
<Text
style={
Array [
Object {
[
{
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"color": "#ffffff",
"marginTop": 4,
"textAlign": "center",
@ -290,7 +290,7 @@ exports[`components/categories_list should render channels error 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"alignItems": "center",
"backgroundColor": "#ffffff",
"borderRadius": 4,
@ -306,8 +306,8 @@ exports[`components/categories_list should render channels error 1`] = `
>
<Text
style={
Array [
Object {
[
{
"alignItems": "center",
"fontFamily": "OpenSans-SemiBold",
"fontWeight": "600",
@ -315,12 +315,12 @@ exports[`components/categories_list should render channels error 1`] = `
"padding": 1,
"textAlignVertical": "center",
},
Object {
{
"fontSize": 16,
"lineHeight": 18,
"marginTop": 1,
},
Object {
{
"color": "#1c58d9",
},
]
@ -336,15 +336,15 @@ exports[`components/categories_list should render channels error 1`] = `
exports[`components/categories_list should render team error 1`] = `
<View
animatedStyle={
Object {
"value": Object {
{
"value": {
"maxWidth": "100%",
},
}
}
collapsable={false}
style={
Object {
{
"backgroundColor": "#1e325c",
"flex": 1,
"maxWidth": "100%",
@ -356,22 +356,22 @@ exports[`components/categories_list should render team error 1`] = `
>
<View
animatedStyle={
Object {
"value": Object {
{
"value": {
"marginLeft": 0,
},
}
}
collapsable={false}
style={
Object {
{
"marginLeft": 0,
}
}
>
<View
style={
Object {
{
"alignItems": "center",
"flexDirection": "row",
"height": 40,
@ -381,14 +381,14 @@ exports[`components/categories_list should render team error 1`] = `
>
<View
style={
Array [
Object {
[
{
"alignItems": "center",
"flexDirection": "row",
"height": 40,
"justifyContent": "space-between",
},
Object {
{
"flex": 1,
},
]
@ -398,7 +398,7 @@ exports[`components/categories_list should render team error 1`] = `
ellipsizeMode="tail"
numberOfLines={1}
style={
Object {
{
"color": "rgba(255,255,255,0.64)",
"fontFamily": "OpenSans-SemiBold",
"fontSize": 14,
@ -421,7 +421,7 @@ exports[`components/categories_list should render team error 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
@ -429,7 +429,7 @@ exports[`components/categories_list should render team error 1`] = `
>
<Text
style={
Object {
{
"color": "rgba(255,255,255,0.64)",
"fontFamily": "OpenSans-SemiBold",
"fontSize": 14,
@ -446,15 +446,15 @@ exports[`components/categories_list should render team error 1`] = `
</View>
<View
style={
Object {
{
"flexDirection": "row",
}
}
>
<View
animatedStyle={
Object {
"value": Object {
{
"value": {
"marginRight": 8,
"opacity": 1,
"width": 40,
@ -463,7 +463,7 @@ exports[`components/categories_list should render team error 1`] = `
}
collapsable={false}
style={
Object {
{
"marginRight": 8,
"opacity": 1,
"width": 40,
@ -482,15 +482,15 @@ exports[`components/categories_list should render team error 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
>
<View
style={
Array [
Object {
[
{
"alignItems": "center",
"backgroundColor": "rgba(255,255,255,0.12)",
"borderRadius": 8,
@ -522,7 +522,7 @@ exports[`components/categories_list should render team error 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"backgroundColor": "rgba(255,255,255,0.12)",
"borderRadius": 8,
"flex": 1,
@ -538,7 +538,7 @@ exports[`components/categories_list should render team error 1`] = `
<Icon
name="magnify"
style={
Object {
{
"color": "rgba(255,255,255,0.72)",
"fontSize": 24,
"width": 24,
@ -547,7 +547,7 @@ exports[`components/categories_list should render team error 1`] = `
/>
<Text
style={
Object {
{
"color": "rgba(255,255,255,0.72)",
"fontFamily": "OpenSans",
"fontSize": 16,
@ -564,7 +564,7 @@ exports[`components/categories_list should render team error 1`] = `
</View>
<View
style={
Object {
{
"alignItems": "center",
"flex": 1,
"justifyContent": "center",
@ -574,7 +574,7 @@ exports[`components/categories_list should render team error 1`] = `
>
<View
style={
Object {
{
"alignItems": "center",
"backgroundColor": "rgba(255,255,255,0.08)",
"borderRadius": 60,
@ -587,7 +587,7 @@ exports[`components/categories_list should render team error 1`] = `
<Icon
name="alert-circle-outline"
style={
Object {
{
"color": "rgba(255,255,255,0.48)",
"fontSize": 72,
"lineHeight": 72,
@ -597,14 +597,14 @@ exports[`components/categories_list should render team error 1`] = `
</View>
<Text
style={
Array [
Object {
[
{
"fontFamily": "Metropolis-SemiBold",
"fontSize": 20,
"fontWeight": "600",
"lineHeight": 28,
},
Object {
{
"color": "#ffffff",
"marginTop": 20,
"textAlign": "center",
@ -616,14 +616,14 @@ exports[`components/categories_list should render team error 1`] = `
</Text>
<Text
style={
Array [
Object {
[
{
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"color": "#ffffff",
"marginTop": 4,
"textAlign": "center",
@ -645,7 +645,7 @@ exports[`components/categories_list should render team error 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"alignItems": "center",
"backgroundColor": "#ffffff",
"borderRadius": 4,
@ -661,8 +661,8 @@ exports[`components/categories_list should render team error 1`] = `
>
<Text
style={
Array [
Object {
[
{
"alignItems": "center",
"fontFamily": "OpenSans-SemiBold",
"fontWeight": "600",
@ -670,12 +670,12 @@ exports[`components/categories_list should render team error 1`] = `
"padding": 1,
"textAlignVertical": "center",
},
Object {
{
"fontSize": 16,
"lineHeight": 18,
"marginTop": 1,
},
Object {
{
"color": "#1c58d9",
},
]

View file

@ -13,7 +13,7 @@ exports[`components/channel_list/categories/header should match snapshot 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
@ -21,8 +21,8 @@ exports[`components/channel_list/categories/header should match snapshot 1`] = `
>
<View
style={
Array [
Object {
[
{
"alignItems": "flex-start",
"flexDirection": "row",
"marginLeft": 16,
@ -36,10 +36,10 @@ exports[`components/channel_list/categories/header should match snapshot 1`] = `
>
<Icon
animatedStyle={
Object {
"value": Object {
"transform": Array [
Object {
{
"value": {
"transform": [
{
"rotate": "0deg",
},
],
@ -50,13 +50,13 @@ exports[`components/channel_list/categories/header should match snapshot 1`] = `
name="chevron-down"
size={20}
style={
Object {
{
"color": "rgba(255,255,255,0.64)",
"height": 20,
"marginRight": 2,
"marginTop": -2,
"transform": Array [
Object {
"transform": [
{
"rotate": "0deg",
},
],
@ -66,7 +66,7 @@ exports[`components/channel_list/categories/header should match snapshot 1`] = `
/>
<Text
style={
Object {
{
"color": "rgba(255,255,255,0.64)",
"fontFamily": "OpenSans-SemiBold",
"fontSize": 12,

View file

@ -3,22 +3,22 @@
exports[`components/channel_list/header Channel List Header Component should match snapshot 1`] = `
<View
animatedStyle={
Object {
"value": Object {
{
"value": {
"marginLeft": 0,
},
}
}
collapsable={false}
style={
Object {
{
"marginLeft": 0,
}
}
>
<View
style={
Object {
{
"alignItems": "center",
"flexDirection": "row",
"justifyContent": "space-between",
@ -37,14 +37,14 @@ exports[`components/channel_list/header Channel List Header Component should mat
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
>
<View
style={
Object {
{
"alignItems": "center",
"flexDirection": "row",
"justifyContent": "space-between",
@ -53,7 +53,7 @@ exports[`components/channel_list/header Channel List Header Component should mat
>
<Text
style={
Object {
{
"color": "#ffffff",
"fontFamily": "Metropolis-SemiBold",
"fontSize": 28,
@ -67,7 +67,7 @@ exports[`components/channel_list/header Channel List Header Component should mat
</Text>
<View
style={
Object {
{
"marginLeft": 4,
}
}
@ -76,7 +76,7 @@ exports[`components/channel_list/header Channel List Header Component should mat
<Icon
name="chevron-down"
style={
Object {
{
"color": "rgba(255,255,255,0.8)",
"fontSize": 24,
}
@ -90,7 +90,7 @@ exports[`components/channel_list/header Channel List Header Component should mat
collapsable={false}
focusable={true}
hitSlop={
Object {
{
"bottom": 30,
"left": 20,
"right": 20,
@ -105,7 +105,7 @@ exports[`components/channel_list/header Channel List Header Component should mat
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"alignItems": "center",
"backgroundColor": "rgba(255,255,255,0.08)",
"borderRadius": 14,
@ -120,7 +120,7 @@ exports[`components/channel_list/header Channel List Header Component should mat
<Icon
name="plus"
style={
Object {
{
"color": "rgba(255,255,255,0.8)",
"fontSize": 18,
}
@ -130,7 +130,7 @@ exports[`components/channel_list/header Channel List Header Component should mat
</View>
<View
style={
Object {
{
"alignItems": "center",
"flexDirection": "row",
"paddingRight": 60,
@ -141,7 +141,7 @@ exports[`components/channel_list/header Channel List Header Component should mat
ellipsizeMode="tail"
numberOfLines={1}
style={
Object {
{
"color": "rgba(255,255,255,0.64)",
"fontFamily": "OpenSans-SemiBold",
"fontSize": 11,
@ -153,11 +153,11 @@ exports[`components/channel_list/header Channel List Header Component should mat
/>
<View
animatedStyle={
Object {
"value": Object {
{
"value": {
"opacity": 1,
"transform": Array [
Object {
"transform": [
{
"rotateZ": "0deg",
},
],
@ -166,7 +166,7 @@ exports[`components/channel_list/header Channel List Header Component should mat
}
collapsable={false}
style={
Object {
{
"borderBottomColor": "rgba(255,255,255,0.16)",
"borderLeftColor": "#ffffff",
"borderRadius": 7,
@ -176,8 +176,8 @@ exports[`components/channel_list/header Channel List Header Component should mat
"height": 14,
"marginLeft": 5,
"opacity": 1,
"transform": Array [
Object {
"transform": [
{
"rotateZ": "0deg",
},
],

View file

@ -12,7 +12,7 @@ exports[`Search Field should match snapshot 1`] = `
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"backgroundColor": "rgba(255,255,255,0.12)",
"borderRadius": 8,
"flex": 1,
@ -28,7 +28,7 @@ exports[`Search Field should match snapshot 1`] = `
<Icon
name="magnify"
style={
Object {
{
"color": "rgba(255,255,255,0.72)",
"fontSize": 24,
"width": 24,
@ -37,7 +37,7 @@ exports[`Search Field should match snapshot 1`] = `
/>
<Text
style={
Object {
{
"color": "rgba(255,255,255,0.72)",
"fontFamily": "OpenSans",
"fontSize": 16,

View file

@ -13,7 +13,7 @@ exports[`Thread item in the channel list Threads Component should match snapshot
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
@ -21,7 +21,7 @@ exports[`Thread item in the channel list Threads Component should match snapshot
>
<View
style={
Object {
{
"marginLeft": -18,
"marginRight": -20,
}
@ -29,8 +29,8 @@ exports[`Thread item in the channel list Threads Component should match snapshot
>
<View
style={
Array [
Object {
[
{
"alignItems": "center",
"flexDirection": "row",
"minHeight": 40,
@ -43,8 +43,8 @@ exports[`Thread item in the channel list Threads Component should match snapshot
<Icon
name="message-text-outline"
style={
Array [
Object {
[
{
"color": "rgba(255,255,255,0.5)",
"fontSize": 24,
},
@ -54,17 +54,17 @@ exports[`Thread item in the channel list Threads Component should match snapshot
/>
<Text
style={
Array [
Object {
[
{
"flex": 1,
},
Object {
{
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"color": "rgba(255,255,255,0.72)",
"marginTop": -1,
"paddingLeft": 12,
@ -97,7 +97,7 @@ exports[`Thread item in the channel list Threads Component should match snapshot
onResponderTerminationRequest={[Function]}
onStartShouldSetResponder={[Function]}
style={
Object {
{
"opacity": 1,
}
}
@ -105,7 +105,7 @@ exports[`Thread item in the channel list Threads Component should match snapshot
>
<View
style={
Object {
{
"marginLeft": -18,
"marginRight": -20,
}
@ -113,8 +113,8 @@ exports[`Thread item in the channel list Threads Component should match snapshot
>
<View
style={
Array [
Object {
[
{
"alignItems": "center",
"flexDirection": "row",
"minHeight": 40,
@ -127,8 +127,8 @@ exports[`Thread item in the channel list Threads Component should match snapshot
<Icon
name="message-text-outline"
style={
Array [
Object {
[
{
"color": "rgba(255,255,255,0.5)",
"fontSize": 24,
},
@ -138,17 +138,17 @@ exports[`Thread item in the channel list Threads Component should match snapshot
/>
<Text
style={
Array [
Object {
[
{
"flex": 1,
},
Object {
{
"fontFamily": "OpenSans",
"fontSize": 16,
"fontWeight": "400",
"lineHeight": 24,
},
Object {
{
"color": "rgba(255,255,255,0.72)",
"marginTop": -1,
"paddingLeft": 12,

View file

@ -17,7 +17,7 @@ type Props = {
onLogin: () => void;
onLogout: () => void;
onRemove: () => void;
progress: Animated.AnimatedInterpolation;
progress: Animated.AnimatedInterpolation<number>;
server: ServersModel;
}

View file

@ -15,7 +15,7 @@ type Props = {
icon: string;
onPress: () => void;
positionX: number;
progress: Animated.AnimatedInterpolation;
progress: Animated.AnimatedInterpolation<number>;
style?: StyleProp<ViewStyle>;
testID?: string;
text: string;

View file

@ -311,7 +311,7 @@ const ServerItem = ({
DeviceEventEmitter.emit(Events.SWIPEABLE, server.url);
}, [server]);
const renderActions = useCallback((progress: Animated.AnimatedInterpolation) => {
const renderActions = useCallback((progress: Animated.AnimatedInterpolation<number>) => {
return (
<Options
onEdit={handleEdit}

View file

@ -121,29 +121,29 @@ export default function HomeScreen(props: HomeProps) {
>
<Tab.Screen
name={Screens.HOME}
options={{title: 'Channel', unmountOnBlur: false, tabBarTestID: 'tab_bar.home.tab'}}
options={{title: 'Channel', unmountOnBlur: false, tabBarTestID: 'tab_bar.home.tab', freezeOnBlur: true}}
>
{() => <ChannelList {...props}/>}
</Tab.Screen>
{/* <Tab.Screen
name={Screens.SEARCH}
component={Search}
options={{unmountOnBlur: false, lazy: true, tabBarTestID: 'tab_bar.search.tab'}}
options={{unmountOnBlur: false, lazy: true, tabBarTestID: 'tab_bar.search.tab', freezeOnBlur: true}}
/> */}
<Tab.Screen
name={Screens.MENTIONS}
component={RecentMentions}
options={{tabBarTestID: 'tab_bar.mentions.tab', lazy: true, unmountOnBlur: false}}
options={{tabBarTestID: 'tab_bar.mentions.tab', lazy: true, unmountOnBlur: false, freezeOnBlur: true}}
/>
<Tab.Screen
name={Screens.SAVED_MESSAGES}
component={SavedMessages}
options={{unmountOnBlur: false, lazy: true, tabBarTestID: 'tab_bar.saved_messages.tab'}}
options={{unmountOnBlur: false, lazy: true, tabBarTestID: 'tab_bar.saved_messages.tab', freezeOnBlur: true}}
/>
<Tab.Screen
name={Screens.ACCOUNT}
component={Account}
options={{tabBarTestID: 'tab_bar.account.tab', lazy: true, unmountOnBlur: false}}
options={{tabBarTestID: 'tab_bar.account.tab', lazy: true, unmountOnBlur: false, freezeOnBlur: true}}
/>
</Tab.Navigator>
</NavigationContainer>

View file

@ -9,7 +9,6 @@ import Animated, {useAnimatedStyle, useSharedValue, withTiming} from 'react-nati
import {SafeAreaView, Edge, useSafeAreaInsets} from 'react-native-safe-area-context';
import {fetchRecentMentions} from '@actions/remote/search';
import FreezeScreen from '@components/freeze_screen';
import NavigationHeader from '@components/navigation_header';
import DateSeparator from '@components/post_list/date_separator';
import PostWithChannelInfo from '@components/post_with_channel_info';
@ -162,7 +161,7 @@ const RecentMentionsScreen = ({mentions, currentTimezone, isTimezoneEnabled}: Pr
}, []);
return (
<FreezeScreen freeze={!isFocused}>
<>
<NavigationHeader
isLargeTitle={true}
showBackButton={false}
@ -201,7 +200,7 @@ const RecentMentionsScreen = ({mentions, currentTimezone, isTimezoneEnabled}: Pr
/>
</Animated.View>
</SafeAreaView>
</FreezeScreen>
</>
);
};

View file

@ -9,7 +9,6 @@ import Animated, {useAnimatedStyle, useSharedValue, withTiming} from 'react-nati
import {Edge, SafeAreaView, useSafeAreaInsets} from 'react-native-safe-area-context';
import {fetchSavedPosts} from '@actions/remote/post';
import FreezeScreen from '@components/freeze_screen';
import Loading from '@components/loading';
import NavigationHeader from '@components/navigation_header';
import DateSeparator from '@components/post_list/date_separator';
@ -163,7 +162,7 @@ function SavedMessages({posts, currentTimezone, isTimezoneEnabled}: Props) {
}, [currentTimezone, isTimezoneEnabled, theme]);
return (
<FreezeScreen freeze={!isFocused}>
<>
<NavigationHeader
isLargeTitle={true}
showBackButton={false}
@ -202,7 +201,7 @@ function SavedMessages({posts, currentTimezone, isTimezoneEnabled}: Props) {
/>
</Animated.View>
</SafeAreaView>
</FreezeScreen>
</>
);
}

View file

@ -3,9 +3,9 @@
import React, {useEffect, useState} from 'react';
import {DeviceEventEmitter, View, TouchableOpacity, useWindowDimensions} from 'react-native';
import {Shadow} from 'react-native-neomorph-shadows';
import Animated, {useAnimatedStyle, withTiming} from 'react-native-reanimated';
import {useSafeAreaInsets} from 'react-native-safe-area-context';
import {Shadow} from 'react-native-shadow-2';
import {Events, Navigation as NavigationConstants, Screens, View as ViewConstants} from '@constants';
import NavigationStore from '@store/navigation_store';
@ -50,8 +50,14 @@ const getStyleSheet = makeStyleSheetFromTheme((theme: Theme) => ({
left: 10,
alignItems: 'center',
},
shadowBorder: {
borderRadius: 6,
},
}));
const shadowSides = {top: true, bottom: false, end: false, start: false};
const shadowOffset: [x: number | string, y: number | string] = [0, -0.5];
const TabComponents: Record<string, any> = {
Account,
Home,
@ -130,16 +136,15 @@ function TabBar({state, descriptors, navigation, theme}: BottomTabBarProps & {th
return (
<Animated.View style={[style.container, style.separator, animatedStyle]}>
<Shadow
startColor='rgba(61, 60, 64, 0.08)'
distance={4}
offset={shadowOffset}
style={{
position: 'absolute',
height: 90,
borderRadius: 6,
width,
shadowColor: 'rgba(61, 60, 64, 0.08)',
shadowOffset: {width: 0, height: -0.5},
shadowOpacity: 1,
shadowRadius: 6,
backgroundColor: theme.centerChannelBg,
}}
sides={shadowSides}
/>
<Animated.View
style={[

View file

@ -1,7 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import Clipboard from '@react-native-community/clipboard';
import Clipboard from '@react-native-clipboard/clipboard';
import React, {useCallback} from 'react';
import {BaseOption} from '@components/common_post_options';

View file

@ -138,7 +138,7 @@ export default class FilePickerUtil {
if (uri) {
files.push({...file, fileName, uri, type, width: file.width, height: file.height});
} else {
logError('attaching file reponse return empty uri');
logError('attaching file reponse return empty uri', file);
}
}
})));
@ -302,7 +302,7 @@ export default class FilePickerUtil {
launchImageLibrary(options, async (response: ImagePickerResponse) => {
StatusBar.setHidden(false);
if (response.errorMessage || response.didCancel) {
logError('Attach failed', response.errorMessage);
logError('Attach failed', response.errorMessage || (response.didCancel ? 'cancelled' : ''));
return;
}

2434
detox/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -6,37 +6,42 @@
"devDependencies": {
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-transform-modules-commonjs": "7.18.6",
"@babel/plugin-transform-runtime": "7.18.10",
"@babel/preset-env": "7.18.10",
"@jest/test-sequencer": "28.1.3",
"@types/jest": "28.1.6",
"@babel/plugin-transform-runtime": "7.19.1",
"@babel/preset-env": "7.19.3",
"@jest/test-sequencer": "29.1.2",
"@types/jest": "29.1.1",
"@types/tough-cookie": "4.0.2",
"@types/uuid": "8.3.4",
"aws-sdk": "2.1189.0",
"axios": "0.27.2",
"aws-sdk": "2.1230.0",
"axios": "1.0.0",
"axios-cookiejar-support": "4.0.3",
"babel-jest": "28.1.3",
"babel-jest": "29.1.2",
"babel-plugin-module-resolver": "4.1.0",
"client-oauth2": "4.3.3",
"deepmerge": "4.2.2",
"detox": "19.9.0",
"detox": "19.12.5",
"form-data": "4.0.0",
"jest": "28.1.3",
"jest-circus": "28.1.3",
"jest-cli": "28.1.3",
"jest-html-reporters": "3.0.10",
"jest-junit": "14.0.0",
"moment-timezone": "0.5.34",
"jest": "29.1.2",
"jest-circus": "29.1.2",
"jest-cli": "29.1.2",
"jest-html-reporters": "3.0.11",
"jest-junit": "14.0.1",
"moment-timezone": "0.5.37",
"recursive-readdir": "2.2.2",
"sanitize-filename": "1.6.3",
"shelljs": "0.8.5",
"tough-cookie": "4.0.0",
"ts-jest": "28.0.7",
"tough-cookie": "4.1.2",
"ts-jest": "29.0.3",
"tslib": "2.4.0",
"typescript": "4.7.4",
"uuid": "8.3.2",
"typescript": "4.8.4",
"uuid": "9.0.0",
"xml2js": "0.4.23"
},
"overrides": {
"detox": {
"jest": "^29.1.0"
}
},
"scripts": {
"e2e:android-create-emulator": "./create_android_emulator.sh",
"e2e:android-build": "detox build -c android.emu.debug",

View file

@ -0,0 +1,505 @@
{
"extends": [
"eslint:recommended"
],
"parserOptions": {
"ecmaVersion": 8,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true,
"impliedStrict": true,
"modules": true
}
},
"parser": "babel-eslint",
"plugins": [
"header"
],
"env": {
"browser": true,
"node": true,
"jquery": true,
"es6": true
},
"rules": {
"array-bracket-spacing": [
2,
"never"
],
"array-callback-return": 2,
"arrow-body-style": 0,
"arrow-parens": [
2,
"always"
],
"arrow-spacing": [
2,
{
"before": true,
"after": true
}
],
"block-scoped-var": 2,
"brace-style": [
2,
"1tbs",
{
"allowSingleLine": false
}
],
"camelcase": [
2,
{
"properties": "never"
}
],
"capitalized-comments": 0,
"class-methods-use-this": 0,
"comma-dangle": [
2,
"always-multiline"
],
"comma-spacing": [
2,
{
"before": false,
"after": true
}
],
"comma-style": [
2,
"last"
],
"complexity": [
0,
10
],
"computed-property-spacing": [
2,
"never"
],
"consistent-return": 2,
"consistent-this": [
2,
"self"
],
"constructor-super": 2,
"curly": [
2,
"all"
],
"dot-location": [
2,
"object"
],
"dot-notation": 2,
"eqeqeq": [
2,
"smart"
],
"func-call-spacing": [
2,
"never"
],
"func-name-matching": 0,
"func-names": 2,
"func-style": [
2,
"declaration",
{
"allowArrowFunctions": true
}
],
"generator-star-spacing": [
2,
{
"before": false,
"after": true
}
],
"global-require": 2,
"guard-for-in": 2,
"header/header": [
2,
"line",
" Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n See LICENSE.txt for license information."
],
"id-blacklist": 0,
"indent": [
2,
4,
{
"SwitchCase": 0
}
],
"jsx-quotes": [
2,
"prefer-single"
],
"key-spacing": [
2,
{
"beforeColon": false,
"afterColon": true,
"mode": "strict"
}
],
"keyword-spacing": [
2,
{
"before": true,
"after": true,
"overrides": {}
}
],
"line-comment-position": 0,
"linebreak-style": 2,
"lines-around-comment": [
2,
{
"beforeBlockComment": true,
"beforeLineComment": true,
"allowBlockStart": true,
"allowBlockEnd": true
}
],
"max-lines": [
1,
{
"max": 550,
"skipBlankLines": true,
"skipComments": true
}
],
"max-nested-callbacks": [
2,
{
"max": 2
}
],
"max-statements-per-line": [
2,
{
"max": 1
}
],
"multiline-ternary": [
1,
"never"
],
"new-cap": 2,
"new-parens": 2,
"newline-before-return": 0,
"newline-per-chained-call": 0,
"no-alert": 2,
"no-array-constructor": 2,
"no-await-in-loop": 2,
"no-caller": 2,
"no-case-declarations": 2,
"no-class-assign": 2,
"no-compare-neg-zero": 2,
"no-cond-assign": [
2,
"except-parens"
],
"no-confusing-arrow": 2,
"no-console": 2,
"no-const-assign": 2,
"no-constant-condition": 2,
"no-debugger": 2,
"no-div-regex": 2,
"no-dupe-args": 2,
"no-dupe-class-members": 2,
"no-dupe-keys": 2,
"no-duplicate-case": 2,
"no-duplicate-imports": [
2,
{
"includeExports": true
}
],
"no-else-return": 2,
"no-empty": 2,
"no-empty-function": 2,
"no-empty-pattern": 2,
"no-eval": 2,
"no-ex-assign": 2,
"no-extend-native": 2,
"no-extra-bind": 2,
"no-extra-label": 2,
"no-extra-parens": 0,
"no-extra-semi": 2,
"no-fallthrough": 2,
"no-floating-decimal": 2,
"no-func-assign": 2,
"no-global-assign": 2,
"no-implicit-coercion": 2,
"no-implicit-globals": 0,
"no-implied-eval": 2,
"no-inner-declarations": 0,
"no-invalid-regexp": 2,
"no-irregular-whitespace": 2,
"no-iterator": 2,
"no-labels": 2,
"no-lone-blocks": 2,
"no-lonely-if": 2,
"no-loop-func": 2,
"no-magic-numbers": 0,
"no-mixed-operators": [
2,
{
"allowSamePrecedence": false
}
],
"no-mixed-spaces-and-tabs": 2,
"no-multi-assign": 2,
"no-multi-spaces": [
2,
{
"exceptions": {
"Property": false
}
}
],
"no-multi-str": 0,
"no-multiple-empty-lines": [
2,
{
"max": 1
}
],
"no-native-reassign": 2,
"no-negated-condition": 2,
"no-nested-ternary": 2,
"no-new": 2,
"no-new-func": 2,
"no-new-object": 2,
"no-new-symbol": 2,
"no-new-wrappers": 2,
"no-octal-escape": 2,
"no-param-reassign": 2,
"no-process-env": 2,
"no-process-exit": 2,
"no-proto": 2,
"no-prototype-builtins": 1,
"no-redeclare": 2,
"no-return-assign": [
2,
"always"
],
"no-return-await": 2,
"no-script-url": 2,
"no-self-assign": [
2,
{
"props": true
}
],
"no-self-compare": 2,
"no-sequences": 2,
"no-shadow": [
2,
{
"hoist": "functions"
}
],
"no-shadow-restricted-names": 2,
"no-spaced-func": 2,
"no-tabs": 0,
"no-template-curly-in-string": 2,
"no-ternary": 0,
"no-this-before-super": 2,
"no-throw-literal": 2,
"no-trailing-spaces": [
2,
{
"skipBlankLines": false
}
],
"no-undef-init": 2,
"no-undefined": 2,
"no-underscore-dangle": 2,
"no-unexpected-multiline": 2,
"no-unmodified-loop-condition": 2,
"no-unneeded-ternary": [
2,
{
"defaultAssignment": false
}
],
"no-unreachable": 2,
"no-unsafe-finally": 2,
"no-unsafe-negation": 2,
"no-unused-expressions": 2,
"no-unused-vars": [
2,
{
"vars": "all",
"args": "after-used"
}
],
"no-use-before-define": [
2,
{
"classes": false,
"functions": false,
"variables": false
}
],
"no-useless-computed-key": 2,
"no-useless-concat": 2,
"no-useless-constructor": 2,
"no-useless-escape": 2,
"no-useless-rename": 2,
"no-useless-return": 2,
"no-var": 0,
"no-void": 2,
"no-warning-comments": 1,
"no-whitespace-before-property": 2,
"no-with": 2,
"object-curly-newline": 0,
"object-curly-spacing": [
2,
"never"
],
"object-property-newline": [
2,
{
"allowMultiplePropertiesPerLine": true
}
],
"object-shorthand": [
2,
"always"
],
"one-var": [
2,
"never"
],
"one-var-declaration-per-line": 0,
"operator-assignment": [
2,
"always"
],
"operator-linebreak": [
2,
"after"
],
"padded-blocks": [
2,
"never"
],
"prefer-arrow-callback": 2,
"prefer-const": 2,
"prefer-destructuring": 0,
"prefer-numeric-literals": 2,
"prefer-promise-reject-errors": 2,
"prefer-rest-params": 2,
"prefer-spread": 2,
"prefer-template": 0,
"quote-props": [
2,
"as-needed"
],
"quotes": [
2,
"single",
"avoid-escape"
],
"radix": 2,
"require-yield": 2,
"rest-spread-spacing": [
2,
"never"
],
"semi": [
2,
"always"
],
"semi-spacing": [
2,
{
"before": false,
"after": true
}
],
"sort-imports": 0,
"sort-keys": 0,
"space-before-blocks": [
2,
"always"
],
"space-before-function-paren": [
2,
{
"anonymous": "never",
"named": "never",
"asyncArrow": "always"
}
],
"space-in-parens": [
2,
"never"
],
"space-infix-ops": 2,
"space-unary-ops": [
2,
{
"words": true,
"nonwords": false
}
],
"symbol-description": 2,
"template-curly-spacing": [
2,
"never"
],
"valid-typeof": [
2,
{
"requireStringLiterals": false
}
],
"vars-on-top": 0,
"wrap-iife": [
2,
"outside"
],
"wrap-regex": 2,
"yoda": [
2,
"never",
{
"exceptRange": false,
"onlyEquality": false
}
],
"@typescript-eslint/array-type": [2, {"default": "array-simple"}],
"@typescript-eslint/member-delimiter-style": 2,
"@typescript-eslint/type-annotation-spacing": 2
},
"overrides": [
{
"files": ["*.test.js", "*.test.jsx", "*.test.ts", "*.test.tsx", "tests/**"],
"globals": {
"after": true,
"afterAll": true,
"afterEach": true,
"before": true,
"beforeAll": true,
"beforeEach": true,
"describe": true,
"expect": true,
"it": true,
"jest": true,
"test": true
},
"rules": {
"no-empty-function": 0,
"no-console": 0,
"max-nested-callbacks": 0,
"no-undefined": 0
}
}
]
}

123
eslint/eslint-react.json Normal file
View file

@ -0,0 +1,123 @@
{
"extends": [
"plugin:react/recommended"
],
"plugins": [
"react"
],
"rules": {
"react/display-name": [
0,
{
"ignoreTranspilerName": false
}
],
"react/forbid-component-props": 0,
"react/forbid-elements": [
2,
{
"forbid": [
"embed"
]
}
],
"react/jsx-boolean-value": [
2,
"always"
],
"react/jsx-closing-bracket-location": [
2,
{
"location": "tag-aligned"
}
],
"react/jsx-curly-spacing": [
2,
"never"
],
"react/jsx-equals-spacing": [
2,
"never"
],
"react/jsx-filename-extension": 2,
"react/jsx-first-prop-new-line": [
2,
"multiline"
],
"react/jsx-handler-names": 0,
"react/jsx-indent": [
2,
4
],
"react/jsx-indent-props": [
2,
4
],
"react/jsx-key": 2,
"react/jsx-max-props-per-line": [
2,
{
"maximum": 1
}
],
"react/jsx-no-bind": 0,
"react/jsx-no-comment-textnodes": 2,
"react/jsx-no-duplicate-props": [
2,
{
"ignoreCase": false
}
],
"react/jsx-no-literals": 2,
"react/jsx-no-target-blank": 2,
"react/jsx-no-undef": 2,
"react/jsx-pascal-case": 2,
"react/jsx-tag-spacing": [
2,
{
"closingSlash": "never",
"beforeSelfClosing": "never",
"afterOpening": "never"
}
],
"react/jsx-uses-react": 2,
"react/jsx-uses-vars": 2,
"react/jsx-wrap-multilines": 2,
"react/no-array-index-key": 1,
"react/no-children-prop": 2,
"react/no-danger": 0,
"react/no-danger-with-children": 2,
"react/no-deprecated": 1,
"react/no-did-mount-set-state": 2,
"react/no-did-update-set-state": 2,
"react/no-direct-mutation-state": 2,
"react/no-find-dom-node": 1,
"react/no-is-mounted": 2,
"react/no-multi-comp": [
2,
{
"ignoreStateless": true
}
],
"react/no-render-return-value": 2,
"react/no-set-state": 0,
"react/no-string-refs": 0,
"react/no-unescaped-entities": 2,
"react/no-unknown-property": 2,
"react/no-unused-prop-types": [
1,
{
"skipShapeProps": true
}
],
"react/prefer-es6-class": 2,
"react/prefer-stateless-function": 0,
"react/prop-types": 2,
"react/require-default-props": 0,
"react/require-optimization": 1,
"react/require-render-return": 2,
"react/self-closing-comp": 2,
"react/sort-comp": 0,
"react/style-prop-object": 2
}
}

View file

@ -14,7 +14,7 @@ let package = Package(
],
dependencies: [
// Dependencies declare other packages that this package depends on.
.package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.13.0")
.package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.13.3")
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.

View file

@ -97,11 +97,11 @@ PODS:
- CocoaLumberjack
- React-Core
- OpenSSL-Universal (1.1.1100)
- Permission-Camera (3.6.0):
- Permission-Camera (3.6.1):
- RNPermissions
- Permission-Microphone (3.6.0):
- Permission-Microphone (3.6.1):
- RNPermissions
- Permission-PhotoLibrary (3.6.0):
- Permission-PhotoLibrary (3.6.1):
- RNPermissions
- RCT-Folly (2021.06.28.00-v2):
- boost
@ -331,21 +331,21 @@ PODS:
- glog
- react-native-background-timer (2.4.1):
- React-Core
- react-native-cameraroll (4.1.2):
- react-native-cameraroll (5.0.3):
- React-Core
- react-native-cookies (6.2.1):
- React-Core
- react-native-create-thumbnail (1.5.1):
- react-native-create-thumbnail (1.6.3):
- React-Core
- react-native-document-picker (8.1.1):
- React-Core
- react-native-emm (1.3.0):
- react-native-emm (1.3.2):
- React-Core
- react-native-hw-keyboard-event (0.0.4):
- React
- react-native-image-picker (4.8.4):
- react-native-image-picker (4.10.0):
- React-Core
- react-native-netinfo (9.3.0):
- react-native-netinfo (9.3.4):
- React-Core
- react-native-network-client (1.0.0):
- Alamofire (~> 5.4)
@ -354,25 +354,25 @@ PODS:
- SwiftyJSON (~> 5.0)
- react-native-notifications (4.3.1):
- React-Core
- react-native-paste-input (0.5.0):
- react-native-paste-input (0.5.1):
- React-Core
- Swime (= 3.0.6)
- react-native-safe-area-context (4.3.1):
- react-native-safe-area-context (4.4.1):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React
- React-Core
- ReactCommon/turbomodule/core
- react-native-user-agent (2.3.1):
- React
- react-native-video (5.2.0):
- react-native-video (5.2.1):
- React-Core
- react-native-video/Video (= 5.2.0)
- react-native-video/Video (5.2.0):
- react-native-video/Video (= 5.2.1)
- react-native-video/Video (5.2.1):
- React-Core
- react-native-webrtc (1.75.3):
- React
- react-native-webview (11.23.0):
- react-native-webview (11.23.1):
- React-Core
- React-perflogger (0.69.3)
- React-RCTActionSheet (0.69.3):
@ -440,8 +440,6 @@ PODS:
- React-jsi (= 0.69.3)
- React-logger (= 0.69.3)
- React-perflogger (= 0.69.3)
- ReactNativeART (1.2.0):
- React
- ReactNativeExceptionHandler (2.10.10):
- React-Core
- ReactNativeIncallManager (4.0.0):
@ -459,13 +457,13 @@ PODS:
- React-Core
- React-RCTImage
- React-RCTText
- RNCClipboard (1.5.1):
- RNCClipboard (1.11.0):
- React-Core
- RNDateTimePicker (6.3.1):
- RNDateTimePicker (6.5.0):
- React-Core
- RNDeviceInfo (10.0.2):
- RNDeviceInfo (10.2.1):
- React-Core
- RNFastImage (8.5.11):
- RNFastImage (8.6.1):
- React-Core
- SDWebImage (~> 5.12.3)
- SDWebImageWebPCoder (~> 0.8.4)
@ -473,17 +471,17 @@ PODS:
- React-Core
- RNFS (2.20.0):
- React-Core
- RNGestureHandler (2.5.0):
- RNGestureHandler (2.7.0):
- React-Core
- RNKeychain (8.1.1):
- React-Core
- RNLocalize (2.2.2):
- RNLocalize (2.2.4):
- React-Core
- RNPermissions (3.6.0):
- RNPermissions (3.6.1):
- React-Core
- RNReactNativeHapticFeedback (1.14.0):
- React-Core
- RNReanimated (2.9.1):
- RNReanimated (2.10.0):
- DoubleConversion
- FBLazyVector
- FBReactNativeSpec
@ -513,15 +511,15 @@ PODS:
- RNRudderSdk (1.0.0):
- React
- Rudder (~> 1.6.0)
- RNScreens (3.15.0):
- RNScreens (3.18.0):
- React-Core
- React-RCTImage
- RNSentry (4.2.2):
- RNSentry (4.6.0):
- React-Core
- Sentry (= 7.22.0)
- RNShare (7.7.0):
- Sentry (= 7.27.0)
- RNShare (7.9.0):
- React-Core
- RNSVG (12.4.3):
- RNSVG (13.3.0):
- React-Core
- RNVectorIcons (9.2.0):
- React-Core
@ -532,9 +530,9 @@ PODS:
- SDWebImageWebPCoder (0.8.4):
- libwebp (~> 1.0)
- SDWebImage/Core (~> 5.10)
- Sentry (7.22.0):
- Sentry/Core (= 7.22.0)
- Sentry/Core (7.22.0)
- Sentry (7.27.0):
- Sentry/Core (= 7.27.0)
- Sentry/Core (7.27.0)
- simdjson (1.0.0)
- SocketRocket (0.6.0)
- Starscream (4.0.4)
@ -601,7 +599,7 @@ DEPENDENCIES:
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
- React-logger (from `../node_modules/react-native/ReactCommon/logger`)
- react-native-background-timer (from `../node_modules/react-native-background-timer`)
- "react-native-cameraroll (from `../node_modules/@react-native-community/cameraroll`)"
- "react-native-cameraroll (from `../node_modules/@react-native-camera-roll/camera-roll`)"
- "react-native-cookies (from `../node_modules/@react-native-cookies/cookies`)"
- react-native-create-thumbnail (from `../node_modules/react-native-create-thumbnail`)
- react-native-document-picker (from `../node_modules/react-native-document-picker`)
@ -629,12 +627,11 @@ DEPENDENCIES:
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
- React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- "ReactNativeART (from `../node_modules/@react-native-community/art`)"
- ReactNativeExceptionHandler (from `../node_modules/react-native-exception-handler`)
- ReactNativeIncallManager (from `../node_modules/react-native-incall-manager`)
- ReactNativeKeyboardTrackingView (from `../node_modules/react-native-keyboard-tracking-view`)
- ReactNativeNavigation (from `../node_modules/react-native-navigation`)
- "RNCClipboard (from `../node_modules/@react-native-community/clipboard`)"
- "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)"
- "RNDateTimePicker (from `../node_modules/@react-native-community/datetimepicker`)"
- RNDeviceInfo (from `../node_modules/react-native-device-info`)
- RNFastImage (from `../node_modules/react-native-fast-image`)
@ -743,7 +740,7 @@ EXTERNAL SOURCES:
react-native-background-timer:
:path: "../node_modules/react-native-background-timer"
react-native-cameraroll:
:path: "../node_modules/@react-native-community/cameraroll"
:path: "../node_modules/@react-native-camera-roll/camera-roll"
react-native-cookies:
:path: "../node_modules/@react-native-cookies/cookies"
react-native-create-thumbnail:
@ -798,8 +795,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
ReactNativeART:
:path: "../node_modules/@react-native-community/art"
ReactNativeExceptionHandler:
:path: "../node_modules/react-native-exception-handler"
ReactNativeIncallManager:
@ -809,7 +804,7 @@ EXTERNAL SOURCES:
ReactNativeNavigation:
:path: "../node_modules/react-native-navigation"
RNCClipboard:
:path: "../node_modules/@react-native-community/clipboard"
:path: "../node_modules/@react-native-clipboard/clipboard"
RNDateTimePicker:
:path: "../node_modules/@react-native-community/datetimepicker"
RNDeviceInfo:
@ -886,9 +881,9 @@ SPEC CHECKSUMS:
libwebp: 98a37e597e40bfdb4c911fc98f2c53d0b12d05fc
mattermost-react-native-turbo-log: 5c269c7c27d7f1db3d03300cf50d659d0d269126
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
Permission-Camera: 0a0fb4341f50ab242f496fb2f73380e0ec454fe7
Permission-Microphone: 84bf2faad8d87969e8e275e9917a174424f948fc
Permission-PhotoLibrary: fda0fda455bebaa2602f3dfdf8296b28247c1484
Permission-Camera: bf6791b17c7f614b6826019fcfdcc286d3a107f6
Permission-Microphone: 48212dd4d28025d9930d583e3c7a56da7268665c
Permission-PhotoLibrary: 5b34ca67279f7201ae109cef36f9806a6596002d
RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a
RCTRequired: 66822c147facf02f7774af99825e0a31e39df42e
RCTTypeSafety: 309306c4e711b14a83c55c2816a6cc490ec19827
@ -905,22 +900,22 @@ SPEC CHECKSUMS:
React-jsinspector: bb2605f98aada5d81f3494690da3ef3b4ff3b716
React-logger: 23a50ef4c18bf9adbb51e2c979318e6b3a2e44a1
react-native-background-timer: 17ea5e06803401a379ebf1f20505b793ac44d0fe
react-native-cameraroll: 2957f2bce63ae896a848fbe0d5352c1bd4d20866
react-native-cameraroll: db9ebe8fc29baf68defdb1691fb6642e8a8ad04d
react-native-cookies: f54fcded06bb0cda05c11d86788020b43528a26c
react-native-create-thumbnail: dedcb7cd3d14a4b6cc2026563197242081edb52b
react-native-create-thumbnail: 94e68f6cc050a870f830352d1a924c1e8d38b52f
react-native-document-picker: f68191637788994baed5f57d12994aa32cf8bf88
react-native-emm: 40d4c302c9cb93f6504a183a3558439746838626
react-native-emm: aefc8a2ff2063b4356212711dcfc2d29cf2a4491
react-native-hw-keyboard-event: b517cefb8d5c659a38049c582de85ff43337dc53
react-native-image-picker: cffb727cf2f59bd5c0408e30b3dbe0b935f88835
react-native-netinfo: 129bd99f607a2dc5bb096168f3e5c150fd1f1c95
react-native-image-picker: 4bc9ed38c8be255b515d8c88babbaf74973f91a8
react-native-netinfo: 6ac9bcc7c88dc51717bda3484eb99093acb755e0
react-native-network-client: 2b1370725abbbc1a7bfb1845d44bd3d4e73041b2
react-native-notifications: 33ec77006f7987bb22de8f1665889abc633b9196
react-native-paste-input: 3037f113267c367e863790bcfd57cdb3ace3cad6
react-native-safe-area-context: 6c12e3859b6f27b25de4fee8201cfb858432d8de
react-native-paste-input: 183ad7dc224e192719616f4258dde5b548627d08
react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a
react-native-user-agent: a90a1e839b99801baad67a73dd6f361a52aa3cf1
react-native-video: a4c2635d0802f983594b7057e1bce8f442f0ad28
react-native-video: c26780b224543c62d5e1b2a7244a5cd1b50e8253
react-native-webrtc: 86d841823e66d68cc1f86712db1c2956056bf0c2
react-native-webview: e771bc375f789ebfa02a26939a57dbc6fa897336
react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581
React-perflogger: 39d2ba8cbcac54d1bb1d9a980dab348e96aef467
React-RCTActionSheet: b1ad907a2c8f8e4d037148ca507b7f2d6ab1c66d
React-RCTAnimation: 914a9ba46fb6e7376f7709c7ce825d53b47ca2ee
@ -933,33 +928,32 @@ SPEC CHECKSUMS:
React-RCTVibration: dd8099eb46e9cee4692934bc8cbe5e9a4f5e8d31
React-runtimeexecutor: 607eb048e22a16388c908ee1f6644200e8d1e19b
ReactCommon: af7636436b382db7cde4583bbd642f0978e6e3ed
ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab
ReactNativeExceptionHandler: b11ff67c78802b2f62eed0e10e75cb1ef7947c60
ReactNativeIncallManager: b169b57d3064d8f62478f8fc3c485da6c75045d1
ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306
ReactNativeNavigation: 3b09d0b7a64326dbcea7e64231287c766b18adf0
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
RNDateTimePicker: 95e0cb71cba4c2f08c62444029f834e6168a2b96
RNDeviceInfo: 0a7c1d2532aa7691f9b9925a27e43af006db4dae
RNFastImage: cced864a4a2eac27c5c10ac16bd5e8b9d2be4504
RNCClipboard: 4b8bec7c195e27bcec746f52dff7601161683249
RNDateTimePicker: 154f8246e9c32fd663995647a7f9f667a8c6b258
RNDeviceInfo: c31137f22ee779fe3931d1a8d60cc1af80ef4077
RNFastImage: 7ef39e3f1987edefc0b546a8637bd469de0709fa
RNFileViewer: ce7ca3ac370e18554d35d6355cffd7c30437c592
RNFS: 4ac0f0ea233904cb798630b3c077808c06931688
RNGestureHandler: bad495418bcbd3ab47017a38d93d290ebd406f50
RNGestureHandler: 7673697e7c0e9391adefae4faa087442bc04af33
RNKeychain: ff836453cba46938e0e9e4c22e43d43fa2c90333
RNLocalize: 95a43f85e41a966be7bc9cff2437128911c52da0
RNPermissions: de7b7c3fe1680d974ac7a85e3e97aa539c0e68ea
RNLocalize: 0df7970cfc60389f00eb62fd7c097dc75af3fb4f
RNPermissions: dcdb7b99796bbeda6975a6e79ad519c41b251b1c
RNReactNativeHapticFeedback: 1e3efeca9628ff9876ee7cdd9edec1b336913f8c
RNReanimated: 2cf7451318bb9cc430abeec8d67693f9cf4e039c
RNReanimated: 7faa787e8d4493fbc95fab2ad331fa7625828cfa
RNRudderSdk: 14c176adb1557f3832cb385fcd14250f76a7e268
RNScreens: 4a1af06327774490d97342c00aee0c2bafb497b7
RNSentry: f03937a2cf86c7029ba31fbbf5618c55d223cd62
RNShare: ab582e93876d9df333a531390c658c31b50a767d
RNSVG: f3b60aeeaa81960e2e0536c3a9eef50b667ef3a9
RNScreens: f3230dd008a7d0ce5c0a8bc78ff12cf2315bda24
RNSentry: 73f65d6ef3e5a313d6bb225e2c92c84be2e17921
RNShare: be91a5c149585affb02c25b351bd07ba927c7006
RNSVG: 1869ad9534459f24caaa0416a4764548c2aeedad
RNVectorIcons: fcc2f6cb32f5735b586e66d14103a74ce6ad61f8
Rudder: 59634aec6dd26a4672f74f40fc45bc17f91af3f0
SDWebImage: 53179a2dba77246efa8a9b85f5c5b21f8f43e38f
SDWebImageWebPCoder: f93010f3f6c031e2f8fb3081ca4ee6966c539815
Sentry: 30b51086ca9aac23337880152e95538f7e177f7f
Sentry: 026b36fdc09531604db9279e55f047fe652e3f4a
simdjson: c96317b3a50dff3468a42f586ab7ed22c6ab2fd9
SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
Starscream: 5178aed56b316f13fa3bc55694e583d35dd414d9

View file

@ -19,6 +19,6 @@ module.exports = {
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/test/file_transformer.js',
},
transformIgnorePatterns: [
'node_modules/(?!(@react-native|react-native)|jail-monkey|@sentry/react-native|@react-native-community/cameraroll|react-clone-referenced-element|@react-native-community|react-navigation|@react-navigation/.*|validator|react-syntax-highlighter/.*|hast-util-from-selector|hastscript|property-information|hast-util-parse-selector|space-separated-tokens|comma-separated-tokens|zwitch)',
'node_modules/(?!(@react-native|react-native)|jail-monkey|@sentry/react-native|react-clone-referenced-element|@react-native-community|react-navigation|@react-navigation/.*|validator|react-syntax-highlighter/.*|hast-util-from-selector|hastscript|property-information|hast-util-parse-selector|space-separated-tokens|comma-separated-tokens|zwitch)',
],
};

5328
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -7,169 +7,166 @@
"license": "Apache 2.0",
"private": true,
"dependencies": {
"@formatjs/intl-datetimeformat": "6.0.3",
"@formatjs/intl-getcanonicallocales": "2.0.2",
"@formatjs/intl-locale": "3.0.3",
"@formatjs/intl-numberformat": "8.0.4",
"@formatjs/intl-pluralrules": "5.0.3",
"@formatjs/intl-relativetimeformat": "11.0.3",
"@mattermost/compass-icons": "0.1.24",
"@mattermost/react-native-emm": "1.3.0",
"@formatjs/intl-datetimeformat": "6.2.0",
"@formatjs/intl-getcanonicallocales": "2.0.4",
"@formatjs/intl-locale": "3.0.6",
"@formatjs/intl-numberformat": "8.1.3",
"@formatjs/intl-pluralrules": "5.1.3",
"@formatjs/intl-relativetimeformat": "11.1.3",
"@mattermost/compass-icons": "0.1.28",
"@mattermost/react-native-emm": "1.3.2",
"@mattermost/react-native-network-client": "1.0.0",
"@mattermost/react-native-paste-input": "0.5.0",
"@mattermost/react-native-paste-input": "0.5.1",
"@mattermost/react-native-turbo-log": "0.2.0",
"@msgpack/msgpack": "2.7.2",
"@msgpack/msgpack": "2.8.0",
"@nozbe/watermelondb": "0.24.0",
"@nozbe/with-observables": "1.4.0",
"@react-native-community/art": "1.2.0",
"@react-native-community/cameraroll": "4.1.2",
"@react-native-community/clipboard": "1.5.1",
"@react-native-community/datetimepicker": "6.3.1",
"@react-native-community/netinfo": "9.3.0",
"@nozbe/with-observables": "1.4.1",
"@react-native-camera-roll/camera-roll": "5.0.3",
"@react-native-clipboard/clipboard": "1.11.0",
"@react-native-community/datetimepicker": "6.5.0",
"@react-native-community/netinfo": "9.3.4",
"@react-native-cookies/cookies": "6.2.1",
"@react-navigation/bottom-tabs": "6.3.2",
"@react-navigation/native": "6.0.11",
"@rudderstack/rudder-sdk-react-native": "1.4.1",
"@sentry/react-native": "4.2.2",
"@react-navigation/bottom-tabs": "6.4.0",
"@react-navigation/native": "6.0.13",
"@rudderstack/rudder-sdk-react-native": "1.5.1",
"@sentry/react-native": "4.6.0",
"@stream-io/flat-list-mvcp": "0.10.2",
"base-64": "1.0.0",
"commonmark": "npm:@mattermost/commonmark@0.30.1-0",
"commonmark-react-renderer": "github:mattermost/commonmark-react-renderer#2c660491041f7595f6ce5a05f6dc2e30ca769d3a",
"deep-equal": "2.0.5",
"deepmerge": "4.2.2",
"emoji-regex": "10.1.0",
"emoji-regex": "10.2.1",
"fuse.js": "6.6.2",
"jail-monkey": "2.7.0",
"mime-db": "1.52.0",
"moment-timezone": "0.5.34",
"moment-timezone": "0.5.37",
"pako": "2.0.4",
"react": "18.2.0",
"react-freeze": "1.0.3",
"react-intl": "6.0.5",
"react-intl": "6.1.2",
"react-native": "0.69.3",
"react-native-android-open-settings": "1.3.0",
"react-native-animated-numbers": "0.4.1",
"react-native-background-timer": "2.4.1",
"react-native-button": "3.0.1",
"react-native-calendars": "1.1286.0",
"react-native-create-thumbnail": "1.5.1",
"react-native-device-info": "10.0.2",
"react-native-calendars": "1.1289.0",
"react-native-create-thumbnail": "1.6.3",
"react-native-device-info": "10.2.1",
"react-native-document-picker": "8.1.1",
"react-native-dotenv": "3.4.0",
"react-native-elements": "3.4.2",
"react-native-exception-handler": "2.10.10",
"react-native-fast-image": "8.5.11",
"react-native-fast-image": "8.6.1",
"react-native-file-viewer": "2.1.5",
"react-native-fs": "2.20.0",
"react-native-gesture-handler": "2.5.0",
"react-native-gesture-handler": "2.7.0",
"react-native-haptic-feedback": "1.14.0",
"react-native-hw-keyboard-event": "0.0.4",
"react-native-image-picker": "4.8.4",
"react-native-image-picker": "4.10.0",
"react-native-incall-manager": "github:cpoile/react-native-incall-manager",
"react-native-keyboard-aware-scroll-view": "0.9.5",
"react-native-keyboard-tracking-view": "5.7.0",
"react-native-keychain": "8.1.1",
"react-native-linear-gradient": "2.6.2",
"react-native-localize": "2.2.2",
"react-native-localize": "2.2.4",
"react-native-math-view": "3.9.5",
"react-native-navigation": "7.29.0",
"react-native-neomorph-shadows": "1.1.2",
"react-native-notifications": "4.3.1",
"react-native-permissions": "3.6.0",
"react-native-reanimated": "2.9.1",
"react-native-safe-area-context": "4.3.1",
"react-native-screens": "3.15.0",
"react-native-permissions": "3.6.1",
"react-native-reanimated": "2.10.0",
"react-native-safe-area-context": "4.4.1",
"react-native-screens": "3.18.0",
"react-native-section-list-get-item-layout": "2.2.3",
"react-native-share": "7.7.0",
"react-native-svg": "12.4.3",
"react-native-shadow-2": "7.0.6",
"react-native-share": "7.9.0",
"react-native-svg": "13.3.0",
"react-native-user-agent": "2.3.1",
"react-native-vector-icons": "9.2.0",
"react-native-video": "5.2.0",
"react-native-video": "5.2.1",
"react-native-webrtc": "github:mattermost/react-native-webrtc",
"react-native-webview": "11.23.0",
"react-native-webview": "11.23.1",
"react-syntax-highlighter": "15.5.0",
"readable-stream": "3.6.0",
"reanimated-bottom-sheet": "1.0.0-alpha.22",
"rn-placeholder": "3.0.3",
"semver": "7.3.7",
"semver": "7.3.8",
"serialize-error": "11.0.0",
"shallow-equals": "1.0.0",
"tinycolor2": "1.4.2",
"url-parse": "1.5.10"
},
"devDependencies": {
"@babel/cli": "7.18.10",
"@babel/core": "7.18.10",
"@babel/eslint-parser": "7.18.9",
"@babel/cli": "7.19.3",
"@babel/core": "7.19.3",
"@babel/eslint-parser": "7.19.1",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.18.10",
"@babel/plugin-transform-flow-strip-types": "7.18.9",
"@babel/plugin-transform-runtime": "7.18.10",
"@babel/preset-env": "7.18.10",
"@babel/plugin-proposal-decorators": "7.19.3",
"@babel/plugin-transform-flow-strip-types": "7.19.0",
"@babel/plugin-transform-runtime": "7.19.1",
"@babel/preset-env": "7.19.3",
"@babel/preset-typescript": "7.18.6",
"@babel/register": "7.18.9",
"@babel/runtime": "7.18.9",
"@babel/runtime": "7.19.0",
"@react-native-community/eslint-config": "3.1.0",
"@testing-library/react-hooks": "8.0.1",
"@testing-library/react-native": "11.0.0",
"@testing-library/react-native": "11.2.0",
"@types/base-64": "1.0.0",
"@types/commonmark": "0.27.5",
"@types/commonmark-react-renderer": "4.3.1",
"@types/deep-equal": "1.0.1",
"@types/jest": "28.1.6",
"@types/lodash": "4.14.182",
"@types/jest": "29.1.2",
"@types/lodash": "4.14.186",
"@types/mime-db": "1.43.1",
"@types/react": "18.0.15",
"@types/react-native": "0.69.5",
"@types/react": "18.0.21",
"@types/react-native": "0.70.4",
"@types/react-native-background-timer": "2.0.0",
"@types/react-native-button": "3.0.1",
"@types/react-native-dotenv": "0.2.0",
"@types/react-native-share": "3.3.3",
"@types/react-native-video": "5.0.14",
"@types/react-syntax-highlighter": "15.5.4",
"@types/react-syntax-highlighter": "15.5.5",
"@types/react-test-renderer": "18.0.0",
"@types/readable-stream": "2.3.14",
"@types/semver": "7.3.10",
"@types/semver": "7.3.12",
"@types/shallow-equals": "1.0.0",
"@types/tinycolor2": "1.4.3",
"@types/tough-cookie": "4.0.2",
"@types/url-parse": "1.4.8",
"@types/uuid": "8.3.4",
"@typescript-eslint/eslint-plugin": "5.32.0",
"@typescript-eslint/parser": "5.32.0",
"axios": "0.27.2",
"@typescript-eslint/eslint-plugin": "5.39.0",
"@typescript-eslint/parser": "5.39.0",
"axios": "1.1.2",
"axios-cookiejar-support": "4.0.3",
"babel-jest": "28.1.3",
"babel-jest": "29.1.2",
"babel-loader": "8.2.5",
"babel-plugin-module-resolver": "4.1.0",
"deep-freeze": "0.0.1",
"detox": "19.9.0",
"eslint": "8.21.0",
"detox": "19.12.5",
"eslint": "8.24.0",
"eslint-plugin-header": "3.1.1",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-jest": "26.7.0",
"eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#23abcf9988f7fa00d26929f11841aab7ccb16b2b",
"eslint-plugin-react": "7.30.1",
"eslint-plugin-jest": "27.1.1",
"eslint-plugin-react": "7.31.8",
"eslint-plugin-react-hooks": "4.6.0",
"husky": "8.0.1",
"isomorphic-fetch": "3.0.0",
"jest": "28.1.3",
"jest-cli": "28.1.3",
"jest": "29.1.2",
"jest-cli": "29.1.2",
"jetifier": "2.0.0",
"metro-react-native-babel-preset": "0.72.0",
"metro-react-native-babel-preset": "0.73.1",
"mmjstool": "github:mattermost/mattermost-utilities#010f456ea8be5beebafdb8776177cba515c1969e",
"mock-async-storage": "2.2.0",
"nock": "13.2.9",
"patch-package": "6.4.7",
"react-devtools-core": "4.25.0",
"react-devtools-core": "4.26.0",
"react-native-svg-transformer": "1.0.0",
"react-test-renderer": "18.2.0",
"tough-cookie": "4.0.0",
"ts-jest": "28.0.7",
"typescript": "4.7.4",
"underscore": "1.13.4",
"tough-cookie": "4.1.2",
"ts-jest": "29.0.3",
"typescript": "4.8.4",
"underscore": "1.13.6",
"util": "0.12.4",
"uuid": "8.3.2"
"uuid": "9.0.0"
},
"scripts": {
"android": "react-native run-android",
@ -211,9 +208,6 @@
"@react-native-community/cameraroll": {
"react": "^18.2.0"
},
"@rudderstack/rudder-sdk-react-native": {
"react-native": "^0.69.0"
},
"@testing-library/react-hooks": {
"@types/react": "^18.0.15",
"react": "^18.2.0",
@ -228,9 +222,8 @@
"react-native-fast-image": {
"react": "^18.2.0"
},
"rn-placeholder": {
"react": "^18.2.0",
"react-native": "^0.69.0"
"detox": {
"jest": "^29.1.0"
}
}
}

View file

@ -1,33 +0,0 @@
diff --git a/node_modules/@react-native-community/art/android/build.gradle b/node_modules/@react-native-community/art/android/build.gradle
index 949bc00..ffeb4ff 100644
--- a/node_modules/@react-native-community/art/android/build.gradle
+++ b/node_modules/@react-native-community/art/android/build.gradle
@@ -3,10 +3,6 @@ buildscript {
google()
jcenter()
}
-
- dependencies {
- classpath 'com.android.tools.build:gradle:3.2.1'
- }
}
def getExtOrDefault(name) {
@@ -31,15 +27,15 @@ android {
repositories {
google()
- jcenter()
mavenCentral()
+ mavenLocal()
}
allprojects {
repositories {
+ mavenCentral()
mavenLocal()
google()
- jcenter()
maven {
url "$rootDir/../node_modules/react-native/android"
}

View file

@ -1,26 +1,27 @@
diff --git a/node_modules/@rudderstack/rudder-sdk-react-native/android/build.gradle b/node_modules/@rudderstack/rudder-sdk-react-native/android/build.gradle
index 1536175..e4dd282 100644
index 24400ea..c69c39f 100644
--- a/node_modules/@rudderstack/rudder-sdk-react-native/android/build.gradle
+++ b/node_modules/@rudderstack/rudder-sdk-react-native/android/build.gradle
@@ -15,7 +15,7 @@ android {
compileSdkVersion 29
compileSdkVersion 30
defaultConfig {
- minSdkVersion 16
+ minSdkVersion rootProject.hasProperty('minSdkVersion') ? rootProject.minSdkVersion : 21
targetSdkVersion 29
targetSdkVersion 30
versionCode 1
versionName "1.0"
diff --git a/node_modules/@rudderstack/rudder-sdk-react-native/ios/RNRudderSdkModule.h b/node_modules/@rudderstack/rudder-sdk-react-native/ios/RNRudderSdkModule.h
index f9020d1..d2cf7c9 100644
index f9020d1..7962e7b 100644
--- a/node_modules/@rudderstack/rudder-sdk-react-native/ios/RNRudderSdkModule.h
+++ b/node_modules/@rudderstack/rudder-sdk-react-native/ios/RNRudderSdkModule.h
@@ -1,6 +1,6 @@
@@ -1,9 +1,5 @@
-#if __has_include("RCTBridgeModule.h")
-#import "RCTBridgeModule.h"
+#if __has_include(<React/RCTBridgeModule.h>)
+#import <React/RCTBridgeModule.h>
#else
-#else
#import <React/RCTBridgeModule.h>
#endif
-#endif
@interface RNRudderSdkModule : NSObject <RCTBridgeModule>

View file

@ -1,10 +0,0 @@
diff --git a/node_modules/react-native-neomorph-shadows/src/types.js b/node_modules/react-native-neomorph-shadows/src/types.js
index a2098cc..adc0734 100644
--- a/node_modules/react-native-neomorph-shadows/src/types.js
+++ b/node_modules/react-native-neomorph-shadows/src/types.js
@@ -1,4 +1,4 @@
-import { ViewPropTypes } from 'react-native';
+import { ViewPropTypes } from 'deprecated-react-native-prop-types';
import { number, shape, string, node, bool } from 'prop-types';
export const ShadowARTType = {

View file

@ -1,17 +1,18 @@
diff --git a/node_modules/react-native-reanimated/lib/reanimated2/jestUtils.js b/node_modules/react-native-reanimated/lib/reanimated2/jestUtils.js
index 5ae42ec..da59568 100644
index d8befd8..6357426 100644
--- a/node_modules/react-native-reanimated/lib/reanimated2/jestUtils.js
+++ b/node_modules/react-native-reanimated/lib/reanimated2/jestUtils.js
@@ -145,7 +145,7 @@ export const advanceAnimationByFrame = (count) => {
jest.advanceTimersByTime(frameTime);
};
export const setUpTests = (userConfig = {}) => {
- const expect = require('expect');
+ const { expect } = require('@jest/globals');
require('setimmediate');
frameTime = Math.round(1000 / config.fps);
config = Object.assign(Object.assign({}, config), userConfig);
@@ -154,6 +154,9 @@ export const setUpTests = (userConfig = {}) => {
@@ -148,6 +148,9 @@ export const setUpTests = (userConfig = {}) => {
let expect;
try {
expect = require('expect');
+ if (!expect.extend) {
+ throw new Error('expect does not have extend, falling back...')
+ }
}
catch (_) {
// for Jest in version 28+
@@ -162,6 +165,9 @@ export const setUpTests = (userConfig = {}) => {
return compareStyle(received, expectedStyle, config);
},
});

View file

@ -1,49 +1,5 @@
diff --git a/node_modules/react-native-video/Video.js b/node_modules/react-native-video/Video.js
index b492d48..5f517e9 100644
--- a/node_modules/react-native-video/Video.js
+++ b/node_modules/react-native-video/Video.js
@@ -1,6 +1,7 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
-import { StyleSheet, requireNativeComponent, NativeModules, View, ViewPropTypes, Image, Platform, findNodeHandle } from 'react-native';
+import { StyleSheet, requireNativeComponent, NativeModules, View, Image, Platform, findNodeHandle } from 'react-native';
+import { ViewPropTypes, ImagePropTypes } from 'deprecated-react-native-prop-types'
import resolveAssetSource from 'react-native/Libraries/Image/resolveAssetSource';
import TextTrackType from './TextTrackType';
import FilterType from './FilterType';
@@ -415,7 +416,7 @@ Video.propTypes = {
maxBitRate: PropTypes.number,
resizeMode: PropTypes.string,
poster: PropTypes.string,
- posterResizeMode: Image.propTypes.resizeMode,
+ posterResizeMode: ImagePropTypes.resizeMode,
repeat: PropTypes.bool,
automaticallyWaitsToMinimizeStalling: PropTypes.bool,
allowsExternalPlayback: PropTypes.bool,
diff --git a/node_modules/react-native-video/android-exoplayer/build.gradle b/node_modules/react-native-video/android-exoplayer/build.gradle
index d005a58..6a9922b 100644
--- a/node_modules/react-native-video/android-exoplayer/build.gradle
+++ b/node_modules/react-native-video/android-exoplayer/build.gradle
@@ -28,7 +28,7 @@ android {
dependencies {
implementation "com.facebook.react:react-native:${safeExtGet('reactNativeVersion', '+')}"
- implementation('com.google.android.exoplayer:exoplayer:2.13.2') {
+ implementation('com.google.android.exoplayer:exoplayer:2.13.3') {
exclude group: 'com.android.support'
}
@@ -37,7 +37,7 @@ dependencies {
implementation "androidx.core:core:1.1.0"
implementation "androidx.media:media:1.1.0"
- implementation('com.google.android.exoplayer:extension-okhttp:2.13.2') {
+ implementation('com.google.android.exoplayer:extension-okhttp:2.13.3') {
exclude group: 'com.squareup.okhttp3', module: 'okhttp'
}
implementation 'com.squareup.okhttp3:okhttp:${OKHTTP_VERSION}'
diff --git a/node_modules/react-native-video/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/node_modules/react-native-video/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
index fe95fdf..e38b9a9 100644
index fe95fdf..1fd5d23 100644
--- a/node_modules/react-native-video/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
+++ b/node_modules/react-native-video/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
@@ -3,6 +3,7 @@ package com.brentvatne.exoplayer;
@ -86,7 +42,7 @@ index fe95fdf..e38b9a9 100644
if (isFullscreen) {
if (Util.SDK_INT >= 19) { // 4.4+
uiOptions = SYSTEM_UI_FLAG_HIDE_NAVIGATION
@@ -1316,10 +1321,13 @@ class ReactExoplayerView extends FrameLayout implements
@@ -1316,11 +1321,14 @@ class ReactExoplayerView extends FrameLayout implements
}
eventEmitter.fullscreenWillPresent();
decorView.setSystemUiVisibility(uiOptions);
@ -96,12 +52,13 @@ index fe95fdf..e38b9a9 100644
} else {
uiOptions = View.SYSTEM_UI_FLAG_VISIBLE;
eventEmitter.fullscreenWillDismiss();
+ fullscreenButton.setImageResource(R.drawable.exo_controls_fullscreen_enter);
decorView.setSystemUiVisibility(uiOptions);
+ fullscreenButton.setImageResource(R.drawable.exo_controls_fullscreen_enter);
eventEmitter.fullscreenDidDismiss();
}
}
diff --git a/node_modules/react-native-video/android-exoplayer/src/main/res/layout/exo_player_control_view.xml b/node_modules/react-native-video/android-exoplayer/src/main/res/layout/exo_player_control_view.xml
index becee6a..96cbfc9 100644
index becee6a..5d4b2cd 100644
--- a/node_modules/react-native-video/android-exoplayer/src/main/res/layout/exo_player_control_view.xml
+++ b/node_modules/react-native-video/android-exoplayer/src/main/res/layout/exo_player_control_view.xml
@@ -1,5 +1,6 @@
@ -115,7 +72,7 @@ index becee6a..96cbfc9 100644
android:paddingRight="4dp"
android:includeFontPadding="false"
android:textColor="#FFBEBEBE"/>
+ <FrameLayout
+ <FrameLayout
+ android:id="@+id/exo_fullscreen_button"
+ android:layout_width="32dp"
+ android:layout_height="wrap_content"