Merge branch 'develop' into new.drawer-omnichannel
This commit is contained in:
commit
7bbfaa63c8
|
@ -339,7 +339,7 @@ jobs:
|
|||
lint-testunit:
|
||||
<<: *defaults
|
||||
docker:
|
||||
- image: circleci/node:15
|
||||
- image: cimg/node:16.14
|
||||
resource_class: large
|
||||
environment:
|
||||
CODECOV_TOKEN: caa771ab-3d45-4756-8e2a-e1f25996fef6
|
||||
|
@ -372,7 +372,7 @@ jobs:
|
|||
android-build-experimental:
|
||||
<<: *defaults
|
||||
docker:
|
||||
- image: circleci/android:api-29-node
|
||||
- image: cimg/android:2022.03.1-node
|
||||
environment:
|
||||
<<: *android-env
|
||||
<<: *bash-env
|
||||
|
@ -383,7 +383,7 @@ jobs:
|
|||
android-build-official:
|
||||
<<: *defaults
|
||||
docker:
|
||||
- image: circleci/android:api-29-node
|
||||
- image: cimg/android:2022.03.1-node
|
||||
environment:
|
||||
<<: *android-env
|
||||
<<: *bash-env
|
||||
|
@ -394,7 +394,7 @@ jobs:
|
|||
android-internal-app-sharing-experimental:
|
||||
<<: *defaults
|
||||
docker:
|
||||
- image: circleci/android:api-28-node
|
||||
- image: cimg/android:2022.03.1-node
|
||||
|
||||
steps:
|
||||
- upload-to-internal-app-sharing
|
||||
|
@ -402,7 +402,7 @@ jobs:
|
|||
android-google-play-beta-experimental:
|
||||
<<: *defaults
|
||||
docker:
|
||||
- image: circleci/android:api-29-node
|
||||
- image: cimg/android:2022.03.1-node
|
||||
|
||||
steps:
|
||||
- upload-to-google-play-beta:
|
||||
|
@ -411,14 +411,14 @@ jobs:
|
|||
android-google-play-production-experimental:
|
||||
<<: *defaults
|
||||
docker:
|
||||
- image: circleci/android:api-29-node
|
||||
- image: cimg/android:2022.03.1-node
|
||||
steps:
|
||||
- upload-to-google-play-production
|
||||
|
||||
android-google-play-beta-official:
|
||||
<<: *defaults
|
||||
docker:
|
||||
- image: circleci/android:api-29-node
|
||||
- image: cimg/android:2022.03.1-node
|
||||
|
||||
steps:
|
||||
- upload-to-google-play-beta:
|
||||
|
|
|
@ -144,7 +144,7 @@ android {
|
|||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode VERSIONCODE as Integer
|
||||
versionName "4.26.2"
|
||||
versionName "4.27.0"
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
if (!isFoss) {
|
||||
manifestPlaceholders = [BugsnagAPIKey: BugsnagAPIKey as String]
|
||||
|
|
|
@ -32,7 +32,7 @@ class AvatarContainer extends React.Component<IAvatar, any> {
|
|||
|
||||
shouldComponentUpdate(nextProps: IAvatar, nextState: { avatarETag: string }) {
|
||||
const { avatarETag } = this.state;
|
||||
const { text, type, externalProviderUrl } = this.props;
|
||||
const { text, type, size, externalProviderUrl } = this.props;
|
||||
if (nextProps.externalProviderUrl !== externalProviderUrl) {
|
||||
return true;
|
||||
}
|
||||
|
@ -45,6 +45,10 @@ class AvatarContainer extends React.Component<IAvatar, any> {
|
|||
if (nextProps.type !== type) {
|
||||
return true;
|
||||
}
|
||||
if (nextProps.size !== size) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import { CustomIcon } from '../../lib/Icons';
|
|||
import sharedStyles from '../../views/Styles';
|
||||
import { themes } from '../../lib/constants';
|
||||
import { useTheme } from '../../theme';
|
||||
import { ROW_HEIGHT } from '../../presentation/RoomItem';
|
||||
import { ROW_HEIGHT } from '../RoomItem';
|
||||
import { goRoom } from '../../utils/goRoom';
|
||||
import Navigation from '../../lib/navigation/appNavigation';
|
||||
import { useOrientation } from '../../dimensions';
|
||||
|
|
|
@ -6,32 +6,13 @@ import { isRTL } from '../../i18n';
|
|||
import { CustomIcon } from '../../lib/Icons';
|
||||
import { DisplayMode, themes } from '../../lib/constants';
|
||||
import styles, { ACTION_WIDTH, LONG_SWIPE, ROW_HEIGHT_CONDENSED } from './styles';
|
||||
import { TSupportedThemes } from '../../theme';
|
||||
|
||||
interface ILeftActions {
|
||||
theme: TSupportedThemes;
|
||||
transX: any;
|
||||
isRead: boolean;
|
||||
width: number;
|
||||
onToggleReadPress(): void;
|
||||
displayMode: string;
|
||||
}
|
||||
|
||||
interface IRightActions {
|
||||
theme: TSupportedThemes;
|
||||
transX: any;
|
||||
favorite: boolean;
|
||||
width: number;
|
||||
toggleFav(): void;
|
||||
onHidePress(): void;
|
||||
displayMode: string;
|
||||
}
|
||||
import { ILeftActionsProps, IRightActionsProps } from './interfaces';
|
||||
|
||||
const reverse = new Animated.Value(isRTL() ? -1 : 1);
|
||||
const CONDENSED_ICON_SIZE = 24;
|
||||
const EXPANDED_ICON_SIZE = 28;
|
||||
|
||||
export const LeftActions = React.memo(({ theme, transX, isRead, width, onToggleReadPress, displayMode }: ILeftActions) => {
|
||||
export const LeftActions = React.memo(({ theme, transX, isRead, width, onToggleReadPress, displayMode }: ILeftActionsProps) => {
|
||||
const translateX = Animated.multiply(
|
||||
transX.interpolate({
|
||||
inputRange: [0, ACTION_WIDTH],
|
||||
|
@ -44,7 +25,7 @@ export const LeftActions = React.memo(({ theme, transX, isRead, width, onToggleR
|
|||
const viewHeight = isCondensed ? { height: ROW_HEIGHT_CONDENSED } : null;
|
||||
|
||||
return (
|
||||
<View style={[styles.actionsContainer, styles.actionLeftContainer]} pointerEvents='box-none'>
|
||||
<View style={[styles.actionsContainer, styles.actionsLeftContainer]} pointerEvents='box-none'>
|
||||
<Animated.View
|
||||
style={[
|
||||
styles.actionLeftButtonContainer,
|
||||
|
@ -71,7 +52,7 @@ export const LeftActions = React.memo(({ theme, transX, isRead, width, onToggleR
|
|||
});
|
||||
|
||||
export const RightActions = React.memo(
|
||||
({ transX, favorite, width, toggleFav, onHidePress, theme, displayMode }: IRightActions) => {
|
||||
({ transX, favorite, width, toggleFav, onHidePress, theme, displayMode }: IRightActionsProps) => {
|
||||
const translateXFav = Animated.multiply(
|
||||
transX.interpolate({
|
||||
inputRange: [-width / 2, -ACTION_WIDTH * 2, 0],
|
|
@ -2,7 +2,7 @@ import React from 'react';
|
|||
import { View } from 'react-native';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import Avatar from '../../containers/Avatar';
|
||||
import Avatar from '../Avatar';
|
||||
import { DisplayMode } from '../../lib/constants';
|
||||
import TypeIcon from './TypeIcon';
|
||||
import styles from './styles';
|
|
@ -3,28 +3,11 @@ import { dequal } from 'dequal';
|
|||
|
||||
import I18n from '../../i18n';
|
||||
import styles from './styles';
|
||||
import { MarkdownPreview } from '../../containers/markdown';
|
||||
import { MarkdownPreview } from '../markdown';
|
||||
import { E2E_MESSAGE_TYPE, E2E_STATUS, themes } from '../../lib/constants';
|
||||
import { TSupportedThemes } from '../../theme';
|
||||
import { ILastMessageProps } from './interfaces';
|
||||
|
||||
interface ILastMessage {
|
||||
theme: TSupportedThemes;
|
||||
lastMessage: {
|
||||
u: any;
|
||||
pinned: boolean;
|
||||
t: string;
|
||||
attachments: any;
|
||||
msg: string;
|
||||
e2e: string;
|
||||
};
|
||||
type: string;
|
||||
showLastMessage: boolean;
|
||||
username: string;
|
||||
useRealName: boolean;
|
||||
alert: boolean;
|
||||
}
|
||||
|
||||
const formatMsg = ({ lastMessage, type, showLastMessage, username, useRealName }: Partial<ILastMessage>) => {
|
||||
const formatMsg = ({ lastMessage, type, showLastMessage, username, useRealName }: Partial<ILastMessageProps>) => {
|
||||
if (!showLastMessage) {
|
||||
return '';
|
||||
}
|
||||
|
@ -64,7 +47,7 @@ const formatMsg = ({ lastMessage, type, showLastMessage, username, useRealName }
|
|||
const arePropsEqual = (oldProps: any, newProps: any) => dequal(oldProps, newProps);
|
||||
|
||||
const LastMessage = React.memo(
|
||||
({ lastMessage, type, showLastMessage, username, alert, useRealName, theme }: ILastMessage) => (
|
||||
({ lastMessage, type, showLastMessage, username, alert, useRealName, theme }: ILastMessageProps) => (
|
||||
<MarkdownPreview
|
||||
msg={formatMsg({
|
||||
lastMessage,
|
|
@ -3,7 +3,7 @@ import { View } from 'react-native';
|
|||
|
||||
import styles from './styles';
|
||||
import Wrapper from './Wrapper';
|
||||
import UnreadBadge from '../../containers/UnreadBadge';
|
||||
import UnreadBadge from '../UnreadBadge';
|
||||
import TypeIcon from './TypeIcon';
|
||||
import LastMessage from './LastMessage';
|
||||
import Title from './Title';
|
||||
|
@ -12,58 +12,7 @@ import Touchable from './Touchable';
|
|||
import Tag from './Tag';
|
||||
import I18n from '../../i18n';
|
||||
import { DisplayMode } from '../../lib/constants';
|
||||
import { TUserStatus, IOmnichannelSource } from '../../definitions';
|
||||
import { TSupportedThemes } from '../../theme';
|
||||
|
||||
interface IRoomItem {
|
||||
rid: string;
|
||||
type: string;
|
||||
prid: string;
|
||||
name: string;
|
||||
avatar: string;
|
||||
showLastMessage: boolean;
|
||||
username: string;
|
||||
avatarSize: number;
|
||||
testID: string;
|
||||
width: number;
|
||||
status: TUserStatus;
|
||||
useRealName: boolean;
|
||||
theme: TSupportedThemes;
|
||||
isFocused: boolean;
|
||||
isGroupChat: boolean;
|
||||
isRead: boolean;
|
||||
teamMain: boolean;
|
||||
date: string;
|
||||
accessibilityLabel: string;
|
||||
lastMessage: {
|
||||
u: any;
|
||||
pinned: boolean;
|
||||
t: string;
|
||||
attachments: any;
|
||||
msg: string;
|
||||
e2e: string;
|
||||
};
|
||||
favorite: boolean;
|
||||
alert: boolean;
|
||||
hideUnreadStatus: boolean;
|
||||
unread: number;
|
||||
userMentions: number;
|
||||
groupMentions: number;
|
||||
tunread: [];
|
||||
tunreadUser: [];
|
||||
tunreadGroup: [];
|
||||
swipeEnabled: boolean;
|
||||
toggleFav(): void;
|
||||
toggleRead(): void;
|
||||
onPress(): void;
|
||||
onLongPress(): void;
|
||||
hideChannel(): void;
|
||||
autoJoin: boolean;
|
||||
size?: number;
|
||||
showAvatar: boolean;
|
||||
displayMode: string;
|
||||
sourceType: IOmnichannelSource;
|
||||
}
|
||||
import { IRoomItemProps } from './interfaces';
|
||||
|
||||
const RoomItem = ({
|
||||
rid,
|
||||
|
@ -72,7 +21,6 @@ const RoomItem = ({
|
|||
name,
|
||||
avatar,
|
||||
width,
|
||||
avatarSize = 48,
|
||||
username,
|
||||
showLastMessage,
|
||||
status = 'offline',
|
||||
|
@ -105,7 +53,7 @@ const RoomItem = ({
|
|||
showAvatar,
|
||||
displayMode,
|
||||
sourceType
|
||||
}: IRoomItem) => (
|
||||
}: IRoomItemProps) => (
|
||||
<Touchable
|
||||
onPress={onPress}
|
||||
onLongPress={onLongPress}
|
||||
|
@ -125,7 +73,6 @@ const RoomItem = ({
|
|||
<Wrapper
|
||||
accessibilityLabel={accessibilityLabel}
|
||||
avatar={avatar}
|
||||
avatarSize={avatarSize}
|
||||
type={type}
|
||||
theme={theme}
|
||||
rid={rid}
|
|
@ -3,16 +3,9 @@ import { Text } from 'react-native';
|
|||
|
||||
import styles from './styles';
|
||||
import { themes } from '../../lib/constants';
|
||||
import { TSupportedThemes } from '../../theme';
|
||||
import { ITitleProps } from './interfaces';
|
||||
|
||||
interface ITitle {
|
||||
name: string;
|
||||
theme: TSupportedThemes;
|
||||
hideUnreadStatus: boolean;
|
||||
alert: boolean;
|
||||
}
|
||||
|
||||
const Title = React.memo(({ name, theme, hideUnreadStatus, alert }: ITitle) => (
|
||||
const Title = React.memo(({ name, theme, hideUnreadStatus, alert }: ITitleProps) => (
|
||||
<Text
|
||||
style={[styles.title, alert && !hideUnreadStatus && styles.alert, { color: themes[theme].titleText }]}
|
||||
ellipsizeMode='tail'
|
|
@ -1,46 +1,28 @@
|
|||
import React from 'react';
|
||||
import { Animated } from 'react-native';
|
||||
import { LongPressGestureHandler, PanGestureHandler, State } from 'react-native-gesture-handler';
|
||||
import {
|
||||
GestureEvent,
|
||||
HandlerStateChangeEventPayload,
|
||||
LongPressGestureHandler,
|
||||
PanGestureHandler,
|
||||
PanGestureHandlerEventPayload,
|
||||
State
|
||||
} from 'react-native-gesture-handler';
|
||||
|
||||
import Touch from '../../utils/touch';
|
||||
import { ACTION_WIDTH, LONG_SWIPE, SMALL_SWIPE } from './styles';
|
||||
import { isRTL } from '../../i18n';
|
||||
import { themes } from '../../lib/constants';
|
||||
import { LeftActions, RightActions } from './Actions';
|
||||
import { TSupportedThemes } from '../../theme';
|
||||
|
||||
interface ITouchableProps {
|
||||
children: JSX.Element;
|
||||
type: string;
|
||||
onPress(): void;
|
||||
onLongPress(): void;
|
||||
testID: string;
|
||||
width: number;
|
||||
favorite: boolean;
|
||||
isRead: boolean;
|
||||
rid: string;
|
||||
toggleFav: Function;
|
||||
toggleRead: Function;
|
||||
hideChannel: Function;
|
||||
theme: TSupportedThemes;
|
||||
isFocused: boolean;
|
||||
swipeEnabled: boolean;
|
||||
displayMode: string;
|
||||
}
|
||||
import { ITouchableProps } from './interfaces';
|
||||
|
||||
class Touchable extends React.Component<ITouchableProps, any> {
|
||||
private dragX: Animated.Value;
|
||||
|
||||
private rowOffSet: Animated.Value;
|
||||
|
||||
private reverse: Animated.Value;
|
||||
|
||||
private transX: Animated.AnimatedAddition;
|
||||
|
||||
private transXReverse: Animated.AnimatedMultiplication;
|
||||
|
||||
private _onGestureEvent: (...args: any[]) => void;
|
||||
|
||||
private _onGestureEvent: (event: GestureEvent<PanGestureHandlerEventPayload>) => void;
|
||||
private _value: number;
|
||||
|
||||
constructor(props: ITouchableProps) {
|
||||
|
@ -57,19 +39,19 @@ class Touchable extends React.Component<ITouchableProps, any> {
|
|||
this._value = 0;
|
||||
}
|
||||
|
||||
_onHandlerStateChange = ({ nativeEvent }: any) => {
|
||||
_onHandlerStateChange = ({ nativeEvent }: { nativeEvent: HandlerStateChangeEventPayload & PanGestureHandlerEventPayload }) => {
|
||||
if (nativeEvent.oldState === State.ACTIVE) {
|
||||
this._handleRelease(nativeEvent);
|
||||
}
|
||||
};
|
||||
|
||||
onLongPressHandlerStateChange = ({ nativeEvent }: any) => {
|
||||
onLongPressHandlerStateChange = ({ nativeEvent }: { nativeEvent: HandlerStateChangeEventPayload }) => {
|
||||
if (nativeEvent.state === State.ACTIVE) {
|
||||
this.onLongPress();
|
||||
}
|
||||
};
|
||||
|
||||
_handleRelease = (nativeEvent: any) => {
|
||||
_handleRelease = (nativeEvent: PanGestureHandlerEventPayload) => {
|
||||
const { translationX } = nativeEvent;
|
||||
const { rowState } = this.state;
|
||||
this._value += translationX;
|
||||
|
@ -155,7 +137,7 @@ class Touchable extends React.Component<ITouchableProps, any> {
|
|||
this._animateRow(toValue);
|
||||
};
|
||||
|
||||
_animateRow = (toValue: any) => {
|
||||
_animateRow = (toValue: number) => {
|
||||
this.rowOffSet.setValue(this._value);
|
||||
this._value = toValue;
|
||||
this.dragX.setValue(0);
|
|
@ -0,0 +1,17 @@
|
|||
import React from 'react';
|
||||
|
||||
import RoomTypeIcon from '../RoomTypeIcon';
|
||||
import { ITypeIconProps } from './interfaces';
|
||||
|
||||
const TypeIcon = React.memo(({ type, prid, status, isGroupChat, teamMain, size, style }: ITypeIconProps) => (
|
||||
<RoomTypeIcon
|
||||
type={prid ? 'discussion' : type}
|
||||
isGroupChat={isGroupChat}
|
||||
status={status}
|
||||
teamMain={teamMain}
|
||||
size={size}
|
||||
style={style}
|
||||
/>
|
||||
));
|
||||
|
||||
export default TypeIcon;
|
|
@ -4,16 +4,9 @@ import { Text } from 'react-native';
|
|||
import styles from './styles';
|
||||
import { themes } from '../../lib/constants';
|
||||
import { capitalize } from '../../utils/room';
|
||||
import { TSupportedThemes } from '../../theme';
|
||||
import { IUpdatedAtProps } from './interfaces';
|
||||
|
||||
interface IUpdatedAt {
|
||||
date: string;
|
||||
theme: TSupportedThemes;
|
||||
hideUnreadStatus: boolean;
|
||||
alert: boolean;
|
||||
}
|
||||
|
||||
const UpdatedAt = React.memo(({ date, theme, hideUnreadStatus, alert }: IUpdatedAt) => {
|
||||
const UpdatedAt = React.memo(({ date, theme, hideUnreadStatus, alert }: IUpdatedAtProps) => {
|
||||
if (!date) {
|
||||
return null;
|
||||
}
|
|
@ -2,30 +2,11 @@ import React from 'react';
|
|||
import { View } from 'react-native';
|
||||
|
||||
import { DisplayMode, themes } from '../../lib/constants';
|
||||
import { IOmnichannelSource } from '../../definitions';
|
||||
import { TSupportedThemes } from '../../theme';
|
||||
import IconOrAvatar from './IconOrAvatar';
|
||||
import { IWrapperProps } from './interfaces';
|
||||
import styles from './styles';
|
||||
|
||||
interface IWrapper {
|
||||
accessibilityLabel: string;
|
||||
avatar: string;
|
||||
avatarSize: number;
|
||||
type: string;
|
||||
theme: TSupportedThemes;
|
||||
rid: string;
|
||||
children: JSX.Element;
|
||||
displayMode: string;
|
||||
prid: string;
|
||||
showLastMessage: boolean;
|
||||
status: string;
|
||||
isGroupChat: boolean;
|
||||
teamMain: boolean;
|
||||
showAvatar: boolean;
|
||||
sourceType: IOmnichannelSource;
|
||||
}
|
||||
|
||||
const Wrapper = ({ accessibilityLabel, theme, children, displayMode, ...props }: IWrapper) => (
|
||||
const Wrapper = ({ accessibilityLabel, theme, children, displayMode, ...props }: IWrapperProps): React.ReactElement => (
|
||||
<View
|
||||
style={[styles.container, displayMode === DisplayMode.Condensed && styles.containerCondensed]}
|
||||
accessibilityLabel={accessibilityLabel}>
|
|
@ -5,37 +5,10 @@ import I18n from '../../i18n';
|
|||
import { ROW_HEIGHT, ROW_HEIGHT_CONDENSED } from './styles';
|
||||
import { formatDate } from '../../utils/room';
|
||||
import RoomItem from './RoomItem';
|
||||
import { TUserStatus } from '../../definitions';
|
||||
import { TSupportedThemes } from '../../theme';
|
||||
import { ISubscription, TUserStatus } from '../../definitions';
|
||||
import { IRoomItemContainerProps } from './interfaces';
|
||||
|
||||
export { ROW_HEIGHT, ROW_HEIGHT_CONDENSED };
|
||||
interface IRoomItemContainerProps {
|
||||
item: any;
|
||||
showLastMessage: boolean;
|
||||
id: string;
|
||||
onPress: Function;
|
||||
onLongPress: Function;
|
||||
username: string;
|
||||
avatarSize: number;
|
||||
width: number;
|
||||
status: TUserStatus;
|
||||
toggleFav(): void;
|
||||
toggleRead(): void;
|
||||
hideChannel(): void;
|
||||
useRealName: boolean;
|
||||
getUserPresence: Function;
|
||||
connected: boolean;
|
||||
theme: TSupportedThemes;
|
||||
isFocused: boolean;
|
||||
getRoomTitle: Function;
|
||||
getRoomAvatar: Function;
|
||||
getIsGroupChat: Function;
|
||||
getIsRead: Function;
|
||||
swipeEnabled: boolean;
|
||||
autoJoin: boolean;
|
||||
showAvatar: boolean;
|
||||
displayMode: string;
|
||||
}
|
||||
|
||||
const attrs = [
|
||||
'width',
|
||||
|
@ -51,12 +24,9 @@ const attrs = [
|
|||
];
|
||||
|
||||
class RoomItemContainer extends React.Component<IRoomItemContainerProps, any> {
|
||||
private mounted: boolean;
|
||||
|
||||
private roomSubscription: any;
|
||||
private roomSubscription: ISubscription | undefined;
|
||||
|
||||
static defaultProps: Partial<IRoomItemContainerProps> = {
|
||||
avatarSize: 48,
|
||||
status: 'offline',
|
||||
getUserPresence: () => {},
|
||||
getRoomTitle: () => 'title',
|
||||
|
@ -68,24 +38,22 @@ class RoomItemContainer extends React.Component<IRoomItemContainerProps, any> {
|
|||
|
||||
constructor(props: IRoomItemContainerProps) {
|
||||
super(props);
|
||||
this.mounted = false;
|
||||
this.init();
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.mounted = true;
|
||||
const { connected, getUserPresence, id } = this.props;
|
||||
if (connected && this.isDirect) {
|
||||
getUserPresence(id);
|
||||
}
|
||||
}
|
||||
|
||||
shouldComponentUpdate(nextProps: any) {
|
||||
const { props }: any = this;
|
||||
shouldComponentUpdate(nextProps: IRoomItemContainerProps) {
|
||||
const { props } = this;
|
||||
return !attrs.every(key => props[key] === nextProps[key]);
|
||||
}
|
||||
|
||||
componentDidUpdate(prevProps: any) {
|
||||
componentDidUpdate(prevProps: IRoomItemContainerProps) {
|
||||
const { connected, getUserPresence, id } = this.props;
|
||||
if (prevProps.connected !== connected && connected && this.isDirect) {
|
||||
getUserPresence(id);
|
||||
|
@ -107,7 +75,7 @@ class RoomItemContainer extends React.Component<IRoomItemContainerProps, any> {
|
|||
const {
|
||||
item: { t },
|
||||
id
|
||||
}: any = this.props;
|
||||
} = this.props;
|
||||
return t === 'd' && id && !this.isGroupChat;
|
||||
}
|
||||
|
||||
|
@ -145,7 +113,6 @@ class RoomItemContainer extends React.Component<IRoomItemContainerProps, any> {
|
|||
hideChannel,
|
||||
theme,
|
||||
isFocused,
|
||||
avatarSize,
|
||||
status,
|
||||
showLastMessage,
|
||||
username,
|
||||
|
@ -178,7 +145,6 @@ class RoomItemContainer extends React.Component<IRoomItemContainerProps, any> {
|
|||
}
|
||||
|
||||
return (
|
||||
// @ts-ignore
|
||||
<RoomItem
|
||||
name={name}
|
||||
avatar={avatar}
|
||||
|
@ -198,7 +164,6 @@ class RoomItemContainer extends React.Component<IRoomItemContainerProps, any> {
|
|||
type={item.t}
|
||||
theme={theme}
|
||||
isFocused={isFocused}
|
||||
size={avatarSize}
|
||||
prid={item.prid}
|
||||
status={status}
|
||||
hideUnreadStatus={item.hideUnreadStatus}
|
|
@ -0,0 +1,166 @@
|
|||
import React from 'react';
|
||||
import { Animated } from 'react-native';
|
||||
|
||||
import { TSupportedThemes } from '../../theme';
|
||||
import { TUserStatus, ILastMessage, SubscriptionType, IOmnichannelSource } from '../../definitions';
|
||||
|
||||
export interface ILeftActionsProps {
|
||||
theme: TSupportedThemes;
|
||||
transX: Animated.AnimatedAddition | Animated.AnimatedMultiplication;
|
||||
isRead: boolean;
|
||||
width: number;
|
||||
onToggleReadPress(): void;
|
||||
displayMode: string;
|
||||
}
|
||||
|
||||
export interface IRightActionsProps {
|
||||
theme: TSupportedThemes;
|
||||
transX: Animated.AnimatedAddition | Animated.AnimatedMultiplication;
|
||||
favorite: boolean;
|
||||
width: number;
|
||||
toggleFav(): void;
|
||||
onHidePress(): void;
|
||||
displayMode: string;
|
||||
}
|
||||
|
||||
export interface ITitleProps {
|
||||
name: string;
|
||||
theme: TSupportedThemes;
|
||||
hideUnreadStatus: boolean;
|
||||
alert: boolean;
|
||||
}
|
||||
|
||||
export interface IUpdatedAtProps {
|
||||
date: string;
|
||||
theme: TSupportedThemes;
|
||||
hideUnreadStatus: boolean;
|
||||
alert: boolean;
|
||||
}
|
||||
|
||||
export interface IWrapperProps {
|
||||
accessibilityLabel: string;
|
||||
avatar: string;
|
||||
type: string;
|
||||
theme: TSupportedThemes;
|
||||
rid: string;
|
||||
children: React.ReactElement;
|
||||
displayMode: string;
|
||||
prid: string;
|
||||
showLastMessage: boolean;
|
||||
status: string;
|
||||
isGroupChat: boolean;
|
||||
teamMain: boolean;
|
||||
showAvatar: boolean;
|
||||
sourceType: IOmnichannelSource;
|
||||
}
|
||||
|
||||
export interface ITypeIconProps {
|
||||
type: string;
|
||||
status: TUserStatus;
|
||||
prid: string;
|
||||
isGroupChat: boolean;
|
||||
teamMain: boolean;
|
||||
theme?: TSupportedThemes;
|
||||
size?: number;
|
||||
style?: object;
|
||||
sourceType: IOmnichannelSource;
|
||||
}
|
||||
|
||||
export interface IRoomItemContainerProps {
|
||||
[key: string]: string | boolean | Function | number;
|
||||
item: any;
|
||||
showLastMessage: boolean;
|
||||
id: string;
|
||||
onPress: (item: any) => void;
|
||||
onLongPress: (item: any) => Promise<void>;
|
||||
username: string;
|
||||
width: number;
|
||||
status: TUserStatus;
|
||||
toggleFav(): void;
|
||||
toggleRead(): void;
|
||||
hideChannel(): void;
|
||||
useRealName: boolean;
|
||||
getUserPresence: (uid: string) => void;
|
||||
connected: boolean;
|
||||
theme: TSupportedThemes;
|
||||
isFocused: boolean;
|
||||
getRoomTitle: (item: any) => string;
|
||||
getRoomAvatar: (item: any) => string;
|
||||
getIsGroupChat: (item: any) => boolean;
|
||||
getIsRead: (item: any) => boolean;
|
||||
swipeEnabled: boolean;
|
||||
autoJoin: boolean;
|
||||
showAvatar: boolean;
|
||||
displayMode: string;
|
||||
}
|
||||
|
||||
export interface IRoomItemProps {
|
||||
rid: string;
|
||||
type: SubscriptionType;
|
||||
prid: string;
|
||||
name: string;
|
||||
avatar: string;
|
||||
showLastMessage: boolean;
|
||||
username: string;
|
||||
testID: string;
|
||||
width: number;
|
||||
status: TUserStatus;
|
||||
useRealName: boolean;
|
||||
theme: TSupportedThemes;
|
||||
isFocused: boolean;
|
||||
isGroupChat: boolean;
|
||||
isRead: boolean;
|
||||
teamMain: boolean;
|
||||
date: string;
|
||||
accessibilityLabel: string;
|
||||
lastMessage: ILastMessage;
|
||||
favorite: boolean;
|
||||
alert: boolean;
|
||||
hideUnreadStatus: boolean;
|
||||
unread: number;
|
||||
userMentions: number;
|
||||
groupMentions: number;
|
||||
tunread: [];
|
||||
tunreadUser: [];
|
||||
tunreadGroup: [];
|
||||
swipeEnabled: boolean;
|
||||
toggleFav(): void;
|
||||
toggleRead(): void;
|
||||
onPress(): void;
|
||||
onLongPress(): void;
|
||||
hideChannel(): void;
|
||||
autoJoin: boolean;
|
||||
size?: number;
|
||||
showAvatar: boolean;
|
||||
displayMode: string;
|
||||
sourceType: IOmnichannelSource;
|
||||
}
|
||||
|
||||
export interface ILastMessageProps {
|
||||
theme: TSupportedThemes;
|
||||
lastMessage: ILastMessage;
|
||||
type: SubscriptionType;
|
||||
showLastMessage: boolean;
|
||||
username: string;
|
||||
useRealName: boolean;
|
||||
alert: boolean;
|
||||
}
|
||||
|
||||
export interface ITouchableProps {
|
||||
children: JSX.Element;
|
||||
type: string;
|
||||
onPress(): void;
|
||||
onLongPress(): void;
|
||||
testID: string;
|
||||
width: number;
|
||||
favorite: boolean;
|
||||
isRead: boolean;
|
||||
rid: string;
|
||||
toggleFav: Function;
|
||||
toggleRead: Function;
|
||||
hideChannel: Function;
|
||||
theme: TSupportedThemes;
|
||||
isFocused: boolean;
|
||||
swipeEnabled: boolean;
|
||||
displayMode: string;
|
||||
}
|
|
@ -8,7 +8,7 @@ export const ACTION_WIDTH = 80;
|
|||
export const SMALL_SWIPE = ACTION_WIDTH / 2;
|
||||
export const LONG_SWIPE = ACTION_WIDTH * 3;
|
||||
|
||||
export default StyleSheet.create<any>({
|
||||
export default StyleSheet.create({
|
||||
flex: {
|
||||
flex: 1
|
||||
},
|
|
@ -354,7 +354,8 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
|
|||
blocks,
|
||||
autoTranslate: autoTranslateMessage,
|
||||
replies,
|
||||
md
|
||||
md,
|
||||
comment
|
||||
} = item;
|
||||
|
||||
let message = msg;
|
||||
|
@ -435,6 +436,7 @@ class MessageContainer extends React.Component<IMessageContainerProps, IMessageC
|
|||
callJitsi={callJitsi}
|
||||
blockAction={blockAction}
|
||||
highlighted={highlighted}
|
||||
comment={comment}
|
||||
/>
|
||||
</MessageContext.Provider>
|
||||
);
|
||||
|
|
|
@ -59,6 +59,7 @@ export interface IMessageContent {
|
|||
useRealName?: boolean;
|
||||
isIgnored: boolean;
|
||||
type: string;
|
||||
comment?: string;
|
||||
}
|
||||
|
||||
export interface IMessageEmoji {
|
||||
|
|
|
@ -55,7 +55,9 @@ export const SYSTEM_MESSAGES = [
|
|||
'user-converted-to-team',
|
||||
'user-converted-to-channel',
|
||||
'user-deleted-room-from-team',
|
||||
'user-removed-room-from-team'
|
||||
'user-removed-room-from-team',
|
||||
'omnichannel_placed_chat_on_hold',
|
||||
'omnichannel_on_hold_chat_resumed'
|
||||
];
|
||||
|
||||
export const SYSTEM_MESSAGE_TYPES = {
|
||||
|
@ -73,7 +75,9 @@ export const SYSTEM_MESSAGE_TYPES = {
|
|||
CONVERTED_TO_TEAM: 'user-converted-to-team',
|
||||
CONVERTED_TO_CHANNEL: 'user-converted-to-channel',
|
||||
DELETED_ROOM_FROM_TEAM: 'user-deleted-room-from-team',
|
||||
REMOVED_ROOM_FROM_TEAM: 'user-removed-room-from-team'
|
||||
REMOVED_ROOM_FROM_TEAM: 'user-removed-room-from-team',
|
||||
OMNICHANNEL_PLACED_CHAT_ON_HOLD: 'omnichannel_placed_chat_on_hold',
|
||||
OMNICHANNEL_ON_HOLD_CHAT_RESUMED: 'omnichannel_on_hold_chat_resumed'
|
||||
};
|
||||
|
||||
export const SYSTEM_MESSAGE_TYPES_WITH_AUTHOR_NAME = [
|
||||
|
@ -99,9 +103,10 @@ type TInfoMessage = {
|
|||
role: string;
|
||||
msg: string;
|
||||
author: { username: string };
|
||||
comment?: string;
|
||||
};
|
||||
|
||||
export const getInfoMessage = ({ type, role, msg, author }: TInfoMessage): string => {
|
||||
export const getInfoMessage = ({ type, role, msg, author, comment }: TInfoMessage): string => {
|
||||
const { username } = author;
|
||||
if (type === 'rm') {
|
||||
return I18n.t('Message_removed');
|
||||
|
@ -193,6 +198,12 @@ export const getInfoMessage = ({ type, role, msg, author }: TInfoMessage): strin
|
|||
if (type === 'user-removed-room-from-team') {
|
||||
return I18n.t('Removed__roomName__from_this_team', { roomName: msg });
|
||||
}
|
||||
if (type === 'omnichannel_placed_chat_on_hold') {
|
||||
return I18n.t('Omnichannel_placed_chat_on_hold', { comment });
|
||||
}
|
||||
if (type === 'omnichannel_on_hold_chat_resumed') {
|
||||
return I18n.t('Omnichannel_on_hold_chat_resumed', { comment });
|
||||
}
|
||||
return '';
|
||||
};
|
||||
|
||||
|
|
|
@ -42,16 +42,16 @@ export interface ITranslations {
|
|||
export type E2EType = 'pending' | 'done';
|
||||
|
||||
export interface ILastMessage {
|
||||
_id: string;
|
||||
rid: string;
|
||||
_id?: string;
|
||||
rid?: string;
|
||||
tshow?: boolean;
|
||||
t?: MessageType;
|
||||
tmid?: string;
|
||||
msg?: string;
|
||||
e2e?: E2EType;
|
||||
ts: string | Date;
|
||||
ts?: string | Date;
|
||||
u: IUserMessage;
|
||||
_updatedAt: string | Date;
|
||||
_updatedAt?: string | Date;
|
||||
urls?: IUrlFromServer[];
|
||||
mentions?: IUserMention[];
|
||||
channels?: IUserChannel[];
|
||||
|
@ -59,7 +59,9 @@ export interface ILastMessage {
|
|||
attachments?: IAttachment[];
|
||||
reactions?: IReaction[];
|
||||
unread?: boolean;
|
||||
pinned?: boolean;
|
||||
status?: number;
|
||||
token?: string;
|
||||
}
|
||||
|
||||
interface IMessageFile {
|
||||
|
@ -140,6 +142,7 @@ export interface IMessage extends IMessageFromServer {
|
|||
blocks?: any;
|
||||
e2e?: E2EType;
|
||||
tshow?: boolean;
|
||||
comment?: string;
|
||||
subscription?: { id: string };
|
||||
}
|
||||
|
||||
|
|
|
@ -55,6 +55,8 @@ export interface IRoom {
|
|||
uids: Array<string>;
|
||||
lm?: Date;
|
||||
sysMes?: string[];
|
||||
onHold?: boolean;
|
||||
waitingResponse?: boolean;
|
||||
}
|
||||
|
||||
export enum OmnichannelSourceType {
|
||||
|
|
|
@ -98,6 +98,7 @@ export interface ISubscription {
|
|||
teamMain?: boolean;
|
||||
unsubscribe: () => Promise<any>;
|
||||
separator?: boolean;
|
||||
onHold?: boolean;
|
||||
source?: IOmnichannelSource;
|
||||
// https://nozbe.github.io/WatermelonDB/Relation.html#relation-api
|
||||
messages: RelationModified<TMessageModel>;
|
||||
|
|
|
@ -17,6 +17,9 @@ export const getInquiriesQueued = () => sdk.get('livechat/inquiries.queued');
|
|||
// RC 2.4.0
|
||||
export const takeInquiry = (inquiryId: string) => sdk.methodCallWrapper('livechat:takeInquiry', inquiryId);
|
||||
|
||||
// RC 4.26
|
||||
export const takeResume = (roomId: string) => sdk.methodCallWrapper('livechat:resumeOnHold', roomId);
|
||||
|
||||
class Omnichannel {
|
||||
private inquirySub: { stop: () => void } | null;
|
||||
constructor() {
|
||||
|
|
|
@ -6,7 +6,7 @@ import { connect } from 'react-redux';
|
|||
import { dequal } from 'dequal';
|
||||
|
||||
import I18n from '../../../i18n';
|
||||
import RoomItem, { ROW_HEIGHT } from '../../../presentation/RoomItem';
|
||||
import RoomItem, { ROW_HEIGHT } from '../../../containers/RoomItem';
|
||||
import { isIOS, isTablet } from '../../../utils/deviceInfo';
|
||||
import { getUserSelector } from '../../../selectors/login';
|
||||
import { TSupportedThemes, withTheme } from '../../../theme';
|
||||
|
|
|
@ -358,7 +358,6 @@
|
|||
"Offline": "غير متصل",
|
||||
"Oops": "عفوًا!",
|
||||
"Omnichannel": "القنوات الموحدة",
|
||||
"Open_Livechats": "محادثات مباشرة جارية",
|
||||
"Omnichannel_enable_alert": "أنت غير متاح ",
|
||||
"Onboarding_description": "مساحة عمل هي مساحة لفريقك ومنظمتك للتعاون. اطلب من المشرف العنوان للانضمام أو أنشئ لفريقك",
|
||||
"Onboarding_join_workspace": "انضم لمساحة عمل",
|
||||
|
|
|
@ -363,7 +363,6 @@
|
|||
"Offline": "Offline",
|
||||
"Oops": "Hoppla!",
|
||||
"Omnichannel": "Omnichannel",
|
||||
"Open_Livechats": "Offene Chats",
|
||||
"Omnichannel_enable_alert": "Sie sind in Omnichannel nicht verfügbar. Möchten Sie erreichbar sein?",
|
||||
"Onboarding_description": "Ein Arbeitsbereich ist der Ort für die Zusammenarbeit deines Teams oder Organisation. Bitten Sie den Admin des Arbeitsbereichs um eine Adresse, um ihm beizutreten, oder erstellen Sie einen Arbeitsbereich für Ihr Team.",
|
||||
"Onboarding_join_workspace": "Einem Arbeitsbereich beiteten",
|
||||
|
|
|
@ -364,7 +364,6 @@
|
|||
"Offline": "Offline",
|
||||
"Oops": "Oops!",
|
||||
"Omnichannel": "Omnichannel",
|
||||
"Open_Livechats": "Chats in Progress",
|
||||
"Omnichannel_enable_alert": "You're not available on Omnichannel. Would you like to be available?",
|
||||
"Onboarding_description": "A workspace is your team or organization’s space to collaborate. Ask the workspace admin for address to join or create one for your team.",
|
||||
"Onboarding_join_workspace": "Join a workspace",
|
||||
|
@ -810,6 +809,14 @@
|
|||
"Removed__username__from_team": "removed @{{user_removed}} from this Team",
|
||||
"User_joined_team": "joined this Team",
|
||||
"User_left_team": "left this Team",
|
||||
"Place_chat_on_hold": "Place chat on-hold",
|
||||
"Would_like_to_place_on_hold": "Would you like to place this chat On-Hold?",
|
||||
"Open_Livechats": "Omnichannel chats in progress",
|
||||
"On_hold_Livechats": "Omnichannel chats on hold",
|
||||
"Chat_is_on_hold": "This chat is on-hold due to inactivity",
|
||||
"Resume": "Resume",
|
||||
"Omnichannel_placed_chat_on_hold": "Chat On Hold: {{comment}}",
|
||||
"Omnichannel_on_hold_chat_resumed": "On Hold Chat Resumed: {{comment}}",
|
||||
"Omnichannel_queue": "Omnichannel queue",
|
||||
"Empty": "Empty"
|
||||
}
|
|
@ -363,7 +363,6 @@
|
|||
"Offline": "Hors ligne",
|
||||
"Oops": "Oups !",
|
||||
"Omnichannel": "Omnicanal",
|
||||
"Open_Livechats": "Discussions en cours",
|
||||
"Omnichannel_enable_alert": "Vous n'êtes pas disponible sur Omnicanal. Souhaitez-vous être disponible ?",
|
||||
"Onboarding_description": "Un espace de travail est l'espace de collaboration de votre équipe ou organisation. Demandez à l'administrateur de l'espace de travail l'adresse pour rejoindre ou créez-en une pour votre équipe.",
|
||||
"Onboarding_join_workspace": "Rejoindre un espace de travail",
|
||||
|
|
|
@ -352,7 +352,6 @@
|
|||
"Offline": "Offline",
|
||||
"Oops": "Oops!",
|
||||
"Omnichannel": "Omnichannel",
|
||||
"Open_Livechats": "Chat in corso",
|
||||
"Omnichannel_enable_alert": "Non sei ancora su Onmichannel. Vuoi attivarlo?",
|
||||
"Onboarding_description": "Un workspace è lo spazio dove il tuo team o la tua organizzazione possono collaborare. Chiedi l'indirizzo all'amministratore del tuo workspace oppure creane uno per il tuo team.",
|
||||
"Onboarding_join_workspace": "Unisciti",
|
||||
|
|
|
@ -363,7 +363,6 @@
|
|||
"Offline": "Offline",
|
||||
"Oops": "Oeps!",
|
||||
"Omnichannel": "Omnichannel",
|
||||
"Open_Livechats": "Bezig met chatten",
|
||||
"Omnichannel_enable_alert": "Je bent niet beschikbaar op Omnichannel. Wil je beschikbaar zijn?",
|
||||
"Onboarding_description": "Een werkruimte is de ruimte van jouw team of organisatie om samen te werken. Vraag aan de beheerder van de werkruimte een adres om lid te worden of maak er een aan voor jouw team.",
|
||||
"Onboarding_join_workspace": "Word lid van een werkruimte",
|
||||
|
|
|
@ -339,7 +339,6 @@
|
|||
"Offline": "Offline",
|
||||
"Oops": "Ops!",
|
||||
"Omnichannel": "Omnichannel",
|
||||
"Open_Livechats": "Bate-papos em Andamento",
|
||||
"Omnichannel_enable_alert": "Você não está disponível no Omnichannel. Você quer ficar disponível?",
|
||||
"Onboarding_description": "Workspace é o espaço de colaboração do seu time ou organização. Peça um convite ou o endereço ao seu administrador ou crie uma workspace para o seu time.",
|
||||
"Onboarding_join_workspace": "Entre numa workspace",
|
||||
|
|
|
@ -359,7 +359,6 @@
|
|||
"Offline": "Desligado",
|
||||
"Oops": "Oops!",
|
||||
"Omnichannel": "Omnichannel",
|
||||
"Open_Livechats": "Chats em andamento",
|
||||
"Omnichannel_enable_alert": "Você não está disponível no Omnichannel. Você gostaria de estar disponível?",
|
||||
"Onboarding_description": "Um espaço de trabalho é o espaço da sua equipa ou organização para colaborar. Peça ao administrador do espaço de trabalho um endereço para se juntar ou criar um para a sua equipa.",
|
||||
"Onboarding_join_workspace": "Junte-se a um espaço de trabalho",
|
||||
|
|
|
@ -363,7 +363,6 @@
|
|||
"Offline": "Офлайн",
|
||||
"Oops": "Упс!",
|
||||
"Omnichannel": "Omnichannel",
|
||||
"Open_Livechats": "Чаты в Работе",
|
||||
"Omnichannel_enable_alert": "Вы не доступны в Omnichannel. Хотите стать доступными?",
|
||||
"Onboarding_description": "Сервер это пространство для взаимодействия вашей команды или организации. Уточните адрес сервера у вашего администратора или создайте свой сервер для команды.",
|
||||
"Onboarding_join_workspace": "Присоединиться к серверу",
|
||||
|
|
|
@ -353,7 +353,6 @@
|
|||
"Offline": "Çevrimdışı",
|
||||
"Oops": "Ahh!",
|
||||
"Omnichannel": "Çoklu Kanal",
|
||||
"Open_Livechats": "Devam Eden Sohbetler",
|
||||
"Omnichannel_enable_alert": "Çoklu Kanal'da mevcut değilsiniz. Erişilebilir olmak ister misiniz?",
|
||||
"Onboarding_description": "Çalışma alanı, ekibinizin veya kuruluşunuzun işbirliği alanıdır. Çalışma alanı yöneticisinden bir ekibe katılmak veya bir ekip oluşturmak için yardım isteyin.",
|
||||
"Onboarding_join_workspace": "Bir çalışma alanına katılın",
|
||||
|
|
|
@ -350,7 +350,6 @@
|
|||
"Offline": "离线",
|
||||
"Oops": "哎呀!",
|
||||
"Omnichannel": "Omnichannel",
|
||||
"Open_Livechats": "打开即时聊天",
|
||||
"Omnichannel_enable_alert": "您尚未启用 Omnichannel,是否想要启用?",
|
||||
"Onboarding_description": "工作区是团队或组织协作的空间。向工作区管理员询问要加入的地址或为您的团队创建一个。",
|
||||
"Onboarding_join_workspace": "加入一个工作区",
|
||||
|
|
|
@ -352,7 +352,6 @@
|
|||
"Offline": "離線",
|
||||
"Oops": "哎呀!",
|
||||
"Omnichannel": "Omnichannel",
|
||||
"Open_Livechats": "打開即時聊天",
|
||||
"Omnichannel_enable_alert": "您尚未啟用 Omnichannel,是否想要啟用?",
|
||||
"Onboarding_description": "工作區是團隊或組織協作的空間。向工作區管理員詢問要加入的地址或為您的團隊創建一個。",
|
||||
"Onboarding_join_workspace": "加入一個工作區",
|
||||
|
|
|
@ -206,6 +206,9 @@ export const defaultSettings = {
|
|||
Canned_Responses_Enable: {
|
||||
type: 'valueAsBoolean'
|
||||
},
|
||||
Livechat_allow_manual_on_hold: {
|
||||
type: 'valueAsBoolean'
|
||||
},
|
||||
Accounts_AvatarExternalProviderUrl: {
|
||||
type: 'valueAsString'
|
||||
}
|
||||
|
|
|
@ -83,4 +83,6 @@ export default class Message extends Model {
|
|||
@field('tshow') tshow;
|
||||
|
||||
@json('md', sanitizer) md;
|
||||
|
||||
@field('comment') comment;
|
||||
}
|
||||
|
|
|
@ -131,5 +131,7 @@ export default class Subscription extends Model {
|
|||
|
||||
@field('team_main') teamMain;
|
||||
|
||||
@field('on_hold') onHold;
|
||||
|
||||
@json('source', sanitizer) source;
|
||||
}
|
||||
|
|
|
@ -217,6 +217,19 @@ export default schemaMigrations({
|
|||
columns: [{ name: 'source', type: 'string', isOptional: true }]
|
||||
})
|
||||
]
|
||||
},
|
||||
{
|
||||
toVersion: 17,
|
||||
steps: [
|
||||
addColumns({
|
||||
table: 'subscriptions',
|
||||
columns: [{ name: 'on_hold', type: 'boolean', isOptional: true }]
|
||||
}),
|
||||
addColumns({
|
||||
table: 'messages',
|
||||
columns: [{ name: 'comment', type: 'string', isOptional: true }]
|
||||
})
|
||||
]
|
||||
}
|
||||
]
|
||||
});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { appSchema, tableSchema } from '@nozbe/watermelondb';
|
||||
|
||||
export default appSchema({
|
||||
version: 16,
|
||||
version: 17,
|
||||
tables: [
|
||||
tableSchema({
|
||||
name: 'subscriptions',
|
||||
|
@ -60,6 +60,7 @@ export default appSchema({
|
|||
{ name: 'avatar_etag', type: 'string', isOptional: true },
|
||||
{ name: 'team_id', type: 'string', isIndexed: true },
|
||||
{ name: 'team_main', type: 'boolean', isOptional: true }, // Use `Q.notEq(true)` to get false or null
|
||||
{ name: 'on_hold', type: 'boolean', isOptional: true },
|
||||
{ name: 'source', type: 'string', isOptional: true }
|
||||
]
|
||||
}),
|
||||
|
@ -117,7 +118,8 @@ export default appSchema({
|
|||
{ name: 'blocks', type: 'string', isOptional: true },
|
||||
{ name: 'e2e', type: 'string', isOptional: true },
|
||||
{ name: 'tshow', type: 'boolean', isOptional: true },
|
||||
{ name: 'md', type: 'string', isOptional: true }
|
||||
{ name: 'md', type: 'string', isOptional: true },
|
||||
{ name: 'comment', type: 'string', isOptional: true }
|
||||
]
|
||||
}),
|
||||
tableSchema({
|
||||
|
|
|
@ -26,7 +26,8 @@ import {
|
|||
TMessageModel,
|
||||
TRoomModel,
|
||||
TThreadMessageModel,
|
||||
TThreadModel
|
||||
TThreadModel,
|
||||
SubscriptionType
|
||||
} from '../../../definitions';
|
||||
import sdk from '../../services/sdk';
|
||||
import { IDDPMessage } from '../../../definitions/IDDPMessage';
|
||||
|
@ -99,7 +100,8 @@ const createOrUpdateSubscription = async (subscription: ISubscription, room: ISe
|
|||
encrypted: s.encrypted,
|
||||
e2eKeyId: s.e2eKeyId,
|
||||
E2EKey: s.E2EKey,
|
||||
avatarETag: s.avatarETag
|
||||
avatarETag: s.avatarETag,
|
||||
onHold: s.onHold
|
||||
} as ISubscription;
|
||||
} catch (error) {
|
||||
try {
|
||||
|
@ -251,6 +253,11 @@ const debouncedUpdate = (subscription: ISubscription) => {
|
|||
createOrUpdateSubscription(sub, room);
|
||||
} else {
|
||||
const room = batch[key] as IRoom;
|
||||
// If the omnichannel's chat is onHold and waitingResponse we shouldn't create or update the chat,
|
||||
// because it should go to Queue
|
||||
if (room.t === SubscriptionType.OMNICHANNEL && room.onHold && room.waitingResponse) {
|
||||
return null;
|
||||
}
|
||||
const subQueueId = getSubQueueId(room._id);
|
||||
const sub = batch[subQueueId] as ISubscription;
|
||||
delete batch[subQueueId];
|
||||
|
|
|
@ -360,6 +360,8 @@ export const returnLivechat = (rid: string): Promise<boolean> =>
|
|||
// RC 0.72.0
|
||||
sdk.methodCallWrapper('livechat:returnAsInquiry', rid);
|
||||
|
||||
export const onHoldLivechat = (roomId: string) => sdk.post('livechat/room.onHold', { roomId });
|
||||
|
||||
export const forwardLivechat = (transferData: any) =>
|
||||
// RC 0.36.0
|
||||
sdk.methodCallWrapper('livechat:transfer', transferData);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { select, takeLatest } from 'redux-saga/effects';
|
||||
|
||||
import RocketChat from '../lib/rocketchat';
|
||||
import { setBadgeCount } from '../lib/notifications/push';
|
||||
import Push from '../lib/notifications/push';
|
||||
import log from '../utils/log';
|
||||
import { localAuthenticate, saveLastLocalAuthenticationSession } from '../utils/localAuthentication';
|
||||
import { APP_STATE } from '../actions/actionsTypes';
|
||||
|
@ -20,7 +20,7 @@ const appHasComeBackToForeground = function* appHasComeBackToForeground() {
|
|||
try {
|
||||
yield localAuthenticate(server.server);
|
||||
RocketChat.checkAndReopen();
|
||||
setBadgeCount();
|
||||
Push.setBadgeCount();
|
||||
return yield RocketChat.setUserPresenceOnline();
|
||||
} catch (e) {
|
||||
log(e);
|
||||
|
|
|
@ -227,6 +227,7 @@ export default {
|
|||
ROOM_MSG_ACTION_REPORT: 'room_msg_action_report',
|
||||
ROOM_MSG_ACTION_REPORT_F: 'room_msg_action_report_f',
|
||||
ROOM_JOIN: 'room_join',
|
||||
ROOM_RESUME: 'room_resume',
|
||||
ROOM_GO_RA: 'room_go_ra',
|
||||
ROOM_TOGGLE_FOLLOW_THREADS: 'room_toggle_follow_threads',
|
||||
ROOM_GO_TEAM_CHANNELS: 'room_go_team_channels',
|
||||
|
|
|
@ -61,6 +61,8 @@ interface IRoomActionsViewProps extends IBaseScreen<ChatsStackParamList, 'RoomAc
|
|||
createTeamPermission?: string[];
|
||||
addTeamChannelPermission?: string[];
|
||||
convertTeamPermission?: string[];
|
||||
viewCannedResponsesPermission?: string[];
|
||||
livechatAllowManualOnHold?: boolean;
|
||||
}
|
||||
|
||||
interface IRoomActionsViewState {
|
||||
|
@ -77,6 +79,8 @@ interface IRoomActionsViewState {
|
|||
canCreateTeam: boolean;
|
||||
canAddChannelToTeam: boolean;
|
||||
canConvertTeam: boolean;
|
||||
canPlaceLivechatOnHold: boolean;
|
||||
isOnHold: boolean;
|
||||
}
|
||||
|
||||
class RoomActionsView extends React.Component<IRoomActionsViewProps, IRoomActionsViewState> {
|
||||
|
@ -127,13 +131,15 @@ class RoomActionsView extends React.Component<IRoomActionsViewProps, IRoomAction
|
|||
canToggleEncryption: false,
|
||||
canCreateTeam: false,
|
||||
canAddChannelToTeam: false,
|
||||
canConvertTeam: false
|
||||
canConvertTeam: false,
|
||||
canPlaceLivechatOnHold: false,
|
||||
isOnHold: false
|
||||
};
|
||||
if (room && room.observe && room.rid) {
|
||||
this.roomObservable = room.observe();
|
||||
this.subscription = this.roomObservable.subscribe(changes => {
|
||||
if (this.mounted) {
|
||||
this.setState({ room: changes });
|
||||
this.setState({ room: changes, isOnHold: !!changes?.onHold });
|
||||
} else {
|
||||
// @ts-ignore
|
||||
this.state.room = changes;
|
||||
|
@ -201,6 +207,25 @@ class RoomActionsView extends React.Component<IRoomActionsViewProps, IRoomAction
|
|||
canAddChannelToTeam,
|
||||
canConvertTeam
|
||||
});
|
||||
|
||||
// livechat permissions
|
||||
if (room.t === 'l') {
|
||||
const canPlaceLivechatOnHold = this.canPlaceLivechatOnHold();
|
||||
this.setState({ canPlaceLivechatOnHold });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
componentDidUpdate(prevProps: IRoomActionsViewProps, prevState: IRoomActionsViewState) {
|
||||
const { livechatAllowManualOnHold } = this.props;
|
||||
const { room, isOnHold } = this.state;
|
||||
|
||||
if (
|
||||
room.t === 'l' &&
|
||||
(isOnHold !== prevState.isOnHold || prevProps.livechatAllowManualOnHold !== livechatAllowManualOnHold)
|
||||
) {
|
||||
const canPlaceLivechatOnHold = this.canPlaceLivechatOnHold();
|
||||
this.setState({ canPlaceLivechatOnHold });
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -334,6 +359,13 @@ class RoomActionsView extends React.Component<IRoomActionsViewProps, IRoomAction
|
|||
return result;
|
||||
};
|
||||
|
||||
canPlaceLivechatOnHold = (): boolean => {
|
||||
const { livechatAllowManualOnHold } = this.props;
|
||||
const { room } = this.state;
|
||||
|
||||
return !!(livechatAllowManualOnHold && !room?.lastMessage?.token && room?.lastMessage?.u && !room.onHold);
|
||||
};
|
||||
|
||||
renderEncryptedSwitch = () => {
|
||||
const { room, canToggleEncryption, canEdit } = this.state;
|
||||
const { encrypted } = room;
|
||||
|
@ -358,6 +390,24 @@ class RoomActionsView extends React.Component<IRoomActionsViewProps, IRoomAction
|
|||
dispatch(closeRoom(rid));
|
||||
};
|
||||
|
||||
placeOnHoldLivechat = () => {
|
||||
const { navigation } = this.props;
|
||||
const { room } = this.state;
|
||||
showConfirmationAlert({
|
||||
title: I18n.t('Are_you_sure_question_mark'),
|
||||
message: I18n.t('Would_like_to_place_on_hold'),
|
||||
confirmationText: I18n.t('Yes'),
|
||||
onPress: async () => {
|
||||
try {
|
||||
await RocketChat.onHoldLivechat(room.rid);
|
||||
navigation.navigate('RoomsListView');
|
||||
} catch (e: any) {
|
||||
showErrorAlert(e.data?.error, I18n.t('Oops'));
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
returnLivechat = () => {
|
||||
const {
|
||||
room: { rid }
|
||||
|
@ -960,7 +1010,7 @@ class RoomActionsView extends React.Component<IRoomActionsViewProps, IRoomAction
|
|||
};
|
||||
|
||||
renderOmnichannelSection = () => {
|
||||
const { room } = this.state;
|
||||
const { room, canPlaceLivechatOnHold } = this.state;
|
||||
const { rid, t } = room;
|
||||
const { theme } = this.props;
|
||||
|
||||
|
@ -987,6 +1037,22 @@ class RoomActionsView extends React.Component<IRoomActionsViewProps, IRoomAction
|
|||
</>
|
||||
) : null}
|
||||
|
||||
{['l'].includes(t) && !this.isOmnichannelPreview && canPlaceLivechatOnHold ? (
|
||||
<>
|
||||
<List.Item
|
||||
title='Place_chat_on_hold'
|
||||
onPress={() =>
|
||||
this.onPressTouchable({
|
||||
event: this.placeOnHoldLivechat
|
||||
})
|
||||
}
|
||||
left={() => <List.Icon name='pause' />}
|
||||
showActionIndicator
|
||||
/>
|
||||
<List.Separator />
|
||||
</>
|
||||
) : null}
|
||||
|
||||
{this.omnichannelPermissions.canReturnQueue ? (
|
||||
<>
|
||||
<List.Item
|
||||
|
@ -1277,7 +1343,8 @@ const mapStateToProps = (state: IApplicationState) => ({
|
|||
viewBroadcastMemberListPermission: state.permissions['view-broadcast-member-list'],
|
||||
createTeamPermission: state.permissions['create-team'],
|
||||
addTeamChannelPermission: state.permissions['add-team-channel'],
|
||||
convertTeamPermission: state.permissions['convert-team']
|
||||
convertTeamPermission: state.permissions['convert-team'],
|
||||
livechatAllowManualOnHold: state.settings.Livechat_allow_manual_on_hold as boolean
|
||||
});
|
||||
|
||||
export default connect(mapStateToProps)(withTheme(withDimensions(RoomActionsView)));
|
||||
|
|
|
@ -46,7 +46,7 @@ import Navigation from '../../lib/navigation/appNavigation';
|
|||
import SafeAreaView from '../../containers/SafeAreaView';
|
||||
import { withDimensions } from '../../dimensions';
|
||||
import { getHeaderTitlePosition } from '../../containers/Header';
|
||||
import { takeInquiry } from '../../ee/omnichannel/lib';
|
||||
import { takeInquiry, takeResume } from '../../ee/omnichannel/lib';
|
||||
import Loading from '../../containers/Loading';
|
||||
import { goRoom, TGoRoomItem } from '../../utils/goRoom';
|
||||
import getThreadName from '../../lib/methods/getThreadName';
|
||||
|
@ -120,7 +120,8 @@ const roomAttrsUpdate = [
|
|||
'joinCodeRequired',
|
||||
'teamMain',
|
||||
'teamId',
|
||||
'status'
|
||||
'status',
|
||||
'onHold'
|
||||
] as const;
|
||||
|
||||
interface IRoomViewProps extends IBaseScreen<ChatsStackParamList, 'RoomView'> {
|
||||
|
@ -1006,6 +1007,22 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
|
|||
}
|
||||
};
|
||||
|
||||
resumeRoom = async () => {
|
||||
logEvent(events.ROOM_RESUME);
|
||||
try {
|
||||
const { room } = this.state;
|
||||
|
||||
if (this.isOmnichannel) {
|
||||
if ('rid' in room) {
|
||||
await takeResume(room.rid);
|
||||
}
|
||||
this.onJoin();
|
||||
}
|
||||
} catch (e) {
|
||||
log(e);
|
||||
}
|
||||
};
|
||||
|
||||
getThreadName = (tmid: string, messageId: string) => {
|
||||
const { rid } = this.state.room;
|
||||
return getThreadName(rid, tmid, messageId);
|
||||
|
@ -1296,6 +1313,24 @@ class RoomView extends React.Component<IRoomViewProps, IRoomViewState> {
|
|||
if (!this.rid) {
|
||||
return null;
|
||||
}
|
||||
if ('onHold' in room && room.onHold) {
|
||||
return (
|
||||
<View style={styles.joinRoomContainer} key='room-view-chat-on-hold' testID='room-view-chat-on-hold'>
|
||||
<Text accessibilityLabel={I18n.t('Chat_is_on_hold')} style={[styles.previewMode, { color: themes[theme].titleText }]}>
|
||||
{I18n.t('Chat_is_on_hold')}
|
||||
</Text>
|
||||
<Touch
|
||||
onPress={this.resumeRoom}
|
||||
style={[styles.joinRoomButton, { backgroundColor: themes[theme].actionTintColor }]}
|
||||
enabled={!loading}
|
||||
theme={theme}>
|
||||
<Text style={[styles.joinRoomText, { color: themes[theme].buttonText }]} testID='room-view-chat-on-hold-button'>
|
||||
{I18n.t('Resume')}
|
||||
</Text>
|
||||
</Touch>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
if (!joined && !this.tmid) {
|
||||
return (
|
||||
<View style={styles.joinRoomContainer} key='room-view-join' testID='room-view-join'>
|
||||
|
|
|
@ -10,7 +10,7 @@ import { StackNavigationOptions } from '@react-navigation/stack';
|
|||
|
||||
import database from '../../lib/database';
|
||||
import RocketChat from '../../lib/rocketchat';
|
||||
import RoomItem, { ROW_HEIGHT, ROW_HEIGHT_CONDENSED } from '../../presentation/RoomItem';
|
||||
import RoomItem, { ROW_HEIGHT, ROW_HEIGHT_CONDENSED } from '../../containers/RoomItem';
|
||||
import log, { logEvent, events } from '../../utils/log';
|
||||
import I18n from '../../i18n';
|
||||
import { closeSearchHeader, closeServerDropdown, openSearchHeader, roomsRequest } from '../../actions/rooms';
|
||||
|
@ -88,7 +88,8 @@ interface IRoomsListViewState {
|
|||
searching: boolean;
|
||||
search: ISubscription[];
|
||||
loading: boolean;
|
||||
chatsUpdate: [];
|
||||
chatsUpdate: string[];
|
||||
omnichannelsUpdate: string[];
|
||||
chats: ISubscription[];
|
||||
item: ISubscription;
|
||||
canCreateRoom: boolean;
|
||||
|
@ -107,7 +108,8 @@ const DISCUSSIONS_HEADER = 'Discussions';
|
|||
const TEAMS_HEADER = 'Teams';
|
||||
const CHANNELS_HEADER = 'Channels';
|
||||
const DM_HEADER = 'Direct_Messages';
|
||||
const OMNICHANNEL_HEADER = 'Open_Livechats';
|
||||
const OMNICHANNEL_HEADER_IN_PROGRESS = 'Open_Livechats';
|
||||
const OMNICHANNEL_HEADER_ON_HOLD = 'On_hold_Livechats';
|
||||
const QUERY_SIZE = 20;
|
||||
|
||||
const filterIsUnread = (s: TSubscriptionModel) => (s.unread > 0 || s.tunread?.length > 0 || s.alert) && !s.hideUnreadStatus;
|
||||
|
@ -172,6 +174,7 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
|
|||
search: [],
|
||||
loading: true,
|
||||
chatsUpdate: [],
|
||||
omnichannelsUpdate: [],
|
||||
chats: [],
|
||||
item: {} as ISubscription,
|
||||
canCreateRoom: false
|
||||
|
@ -231,7 +234,7 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
|
|||
}
|
||||
|
||||
shouldComponentUpdate(nextProps: IRoomsListViewProps, nextState: IRoomsListViewState) {
|
||||
const { chatsUpdate, searching, item, canCreateRoom } = this.state;
|
||||
const { chatsUpdate, searching, item, canCreateRoom, omnichannelsUpdate } = this.state;
|
||||
// eslint-disable-next-line react/destructuring-assignment
|
||||
const propsUpdated = shouldUpdateProps.some(key => nextProps[key] !== this.props[key]);
|
||||
if (propsUpdated) {
|
||||
|
@ -260,6 +263,12 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
|
|||
this.shouldUpdate = true;
|
||||
}
|
||||
|
||||
const omnichannelsNotEqual = !dequal(nextState.omnichannelsUpdate, omnichannelsUpdate);
|
||||
|
||||
if (omnichannelsNotEqual) {
|
||||
this.shouldUpdate = true;
|
||||
}
|
||||
|
||||
if (nextState.searching !== searching) {
|
||||
return true;
|
||||
}
|
||||
|
@ -295,7 +304,7 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
|
|||
return true;
|
||||
}
|
||||
// If it's focused and there are changes, update
|
||||
if (chatsNotEqual) {
|
||||
if (chatsNotEqual || omnichannelsNotEqual) {
|
||||
this.shouldUpdate = false;
|
||||
return true;
|
||||
}
|
||||
|
@ -480,21 +489,21 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
|
|||
observable = await db
|
||||
.get('subscriptions')
|
||||
.query(...defaultWhereClause)
|
||||
.observeWithColumns(['alert']);
|
||||
|
||||
.observeWithColumns(['alert', 'on_hold']);
|
||||
// When we're NOT grouping
|
||||
} else {
|
||||
this.count += QUERY_SIZE;
|
||||
observable = await db
|
||||
.get('subscriptions')
|
||||
.query(...defaultWhereClause, Q.experimentalSkip(0), Q.experimentalTake(this.count))
|
||||
.observe();
|
||||
.observeWithColumns(['on_hold']);
|
||||
}
|
||||
|
||||
this.querySubscription = observable.subscribe(data => {
|
||||
let tempChats = [] as TSubscriptionModel[];
|
||||
let chats = data;
|
||||
|
||||
let omnichannelsUpdate: string[] = [];
|
||||
let chatsUpdate = [];
|
||||
if (showUnread) {
|
||||
/**
|
||||
|
@ -513,8 +522,12 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
|
|||
const isOmnichannelAgent = user?.roles?.includes('livechat-agent');
|
||||
if (isOmnichannelAgent) {
|
||||
const omnichannel = chats.filter(s => filterIsOmnichannel(s));
|
||||
const omnichannelInProgress = omnichannel.filter(s => !s.onHold);
|
||||
const omnichannelOnHold = omnichannel.filter(s => s.onHold);
|
||||
chats = chats.filter(s => !filterIsOmnichannel(s));
|
||||
tempChats = this.addRoomsGroup(omnichannel, OMNICHANNEL_HEADER, tempChats);
|
||||
omnichannelsUpdate = omnichannelInProgress.map(s => s.rid);
|
||||
tempChats = this.addRoomsGroup(omnichannelInProgress, OMNICHANNEL_HEADER_IN_PROGRESS, tempChats);
|
||||
tempChats = this.addRoomsGroup(omnichannelOnHold, OMNICHANNEL_HEADER_ON_HOLD, tempChats);
|
||||
}
|
||||
|
||||
// unread
|
||||
|
@ -551,6 +564,7 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
|
|||
this.internalSetState({
|
||||
chats: tempChats,
|
||||
chatsUpdate,
|
||||
omnichannelsUpdate,
|
||||
loading: false
|
||||
});
|
||||
} else {
|
||||
|
@ -559,6 +573,8 @@ class RoomsListView extends React.Component<IRoomsListViewProps, IRoomsListViewS
|
|||
// @ts-ignore
|
||||
this.state.chatsUpdate = chatsUpdate;
|
||||
// @ts-ignore
|
||||
this.state.omnichannelsUpdate = omnichannelsUpdate;
|
||||
// @ts-ignore
|
||||
this.state.loading = false;
|
||||
}
|
||||
});
|
||||
|
|
|
@ -24,7 +24,7 @@ import I18n from '../i18n';
|
|||
import database from '../lib/database';
|
||||
import { CustomIcon } from '../lib/Icons';
|
||||
import RocketChat from '../lib/rocketchat';
|
||||
import RoomItem, { ROW_HEIGHT } from '../presentation/RoomItem';
|
||||
import RoomItem, { ROW_HEIGHT } from '../containers/RoomItem';
|
||||
import { getUserSelector } from '../selectors/login';
|
||||
import { ChatsStackParamList } from '../stacks/types';
|
||||
import { TSupportedThemes, withTheme } from '../theme';
|
||||
|
|
414
ios/Podfile.lock
414
ios/Podfile.lock
|
@ -39,14 +39,14 @@ PODS:
|
|||
- UMCore
|
||||
- EXWebBrowser (9.2.0):
|
||||
- UMCore
|
||||
- FBLazyVector (0.64.2)
|
||||
- FBReactNativeSpec (0.64.2):
|
||||
- FBLazyVector (0.64.2-rocket)
|
||||
- FBReactNativeSpec (0.64.2-rocket):
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTRequired (= 0.64.2)
|
||||
- RCTTypeSafety (= 0.64.2)
|
||||
- React-Core (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2)
|
||||
- RCTRequired (= 0.64.2-rocket)
|
||||
- RCTTypeSafety (= 0.64.2-rocket)
|
||||
- React-Core (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2-rocket)
|
||||
- Firebase/Analytics (6.27.1):
|
||||
- Firebase/Core
|
||||
- Firebase/Core (6.27.1):
|
||||
|
@ -201,200 +201,200 @@ PODS:
|
|||
- DoubleConversion
|
||||
- glog
|
||||
- libevent
|
||||
- RCTRequired (0.64.2)
|
||||
- RCTTypeSafety (0.64.2):
|
||||
- FBLazyVector (= 0.64.2)
|
||||
- RCTRequired (0.64.2-rocket)
|
||||
- RCTTypeSafety (0.64.2-rocket):
|
||||
- FBLazyVector (= 0.64.2-rocket)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTRequired (= 0.64.2)
|
||||
- React-Core (= 0.64.2)
|
||||
- React (0.64.2):
|
||||
- React-Core (= 0.64.2)
|
||||
- React-Core/DevSupport (= 0.64.2)
|
||||
- React-Core/RCTWebSocket (= 0.64.2)
|
||||
- React-RCTActionSheet (= 0.64.2)
|
||||
- React-RCTAnimation (= 0.64.2)
|
||||
- React-RCTBlob (= 0.64.2)
|
||||
- React-RCTImage (= 0.64.2)
|
||||
- React-RCTLinking (= 0.64.2)
|
||||
- React-RCTNetwork (= 0.64.2)
|
||||
- React-RCTSettings (= 0.64.2)
|
||||
- React-RCTText (= 0.64.2)
|
||||
- React-RCTVibration (= 0.64.2)
|
||||
- React-callinvoker (0.64.2)
|
||||
- React-Core (0.64.2):
|
||||
- RCTRequired (= 0.64.2-rocket)
|
||||
- React-Core (= 0.64.2-rocket)
|
||||
- React (0.64.2-rocket):
|
||||
- React-Core (= 0.64.2-rocket)
|
||||
- React-Core/DevSupport (= 0.64.2-rocket)
|
||||
- React-Core/RCTWebSocket (= 0.64.2-rocket)
|
||||
- React-RCTActionSheet (= 0.64.2-rocket)
|
||||
- React-RCTAnimation (= 0.64.2-rocket)
|
||||
- React-RCTBlob (= 0.64.2-rocket)
|
||||
- React-RCTImage (= 0.64.2-rocket)
|
||||
- React-RCTLinking (= 0.64.2-rocket)
|
||||
- React-RCTNetwork (= 0.64.2-rocket)
|
||||
- React-RCTSettings (= 0.64.2-rocket)
|
||||
- React-RCTText (= 0.64.2-rocket)
|
||||
- React-RCTVibration (= 0.64.2-rocket)
|
||||
- React-callinvoker (0.64.2-rocket)
|
||||
- React-Core (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-Core/Default (= 0.64.2-rocket)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/CoreModulesHeaders (0.64.2):
|
||||
- React-Core/CoreModulesHeaders (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/Default (0.64.2):
|
||||
- React-Core/Default (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/DevSupport (0.64.2):
|
||||
- React-Core/DevSupport (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default (= 0.64.2)
|
||||
- React-Core/RCTWebSocket (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-jsinspector (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-Core/Default (= 0.64.2-rocket)
|
||||
- React-Core/RCTWebSocket (= 0.64.2-rocket)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-jsinspector (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/Hermes (0.64.2):
|
||||
- React-Core/Hermes (0.64.2-rocket):
|
||||
- glog
|
||||
- hermes-engine
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCT-Folly/Futures
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/RCTActionSheetHeaders (0.64.2):
|
||||
- React-Core/RCTActionSheetHeaders (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/RCTAnimationHeaders (0.64.2):
|
||||
- React-Core/RCTAnimationHeaders (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/RCTBlobHeaders (0.64.2):
|
||||
- React-Core/RCTBlobHeaders (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/RCTImageHeaders (0.64.2):
|
||||
- React-Core/RCTImageHeaders (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/RCTLinkingHeaders (0.64.2):
|
||||
- React-Core/RCTLinkingHeaders (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/RCTNetworkHeaders (0.64.2):
|
||||
- React-Core/RCTNetworkHeaders (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/RCTSettingsHeaders (0.64.2):
|
||||
- React-Core/RCTSettingsHeaders (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/RCTTextHeaders (0.64.2):
|
||||
- React-Core/RCTTextHeaders (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/RCTVibrationHeaders (0.64.2):
|
||||
- React-Core/RCTVibrationHeaders (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-Core/RCTWebSocket (0.64.2):
|
||||
- React-Core/RCTWebSocket (0.64.2-rocket):
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/Default (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsiexecutor (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-Core/Default (= 0.64.2-rocket)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsiexecutor (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- Yoga
|
||||
- React-CoreModules (0.64.2):
|
||||
- FBReactNativeSpec (= 0.64.2)
|
||||
- React-CoreModules (0.64.2-rocket):
|
||||
- FBReactNativeSpec (= 0.64.2-rocket)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 0.64.2)
|
||||
- React-Core/CoreModulesHeaders (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-RCTImage (= 0.64.2)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2)
|
||||
- React-cxxreact (0.64.2):
|
||||
- RCTTypeSafety (= 0.64.2-rocket)
|
||||
- React-Core/CoreModulesHeaders (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-RCTImage (= 0.64.2-rocket)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2-rocket)
|
||||
- React-cxxreact (0.64.2-rocket):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-callinvoker (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-jsinspector (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-runtimeexecutor (= 0.64.2)
|
||||
- React-jsi (0.64.2):
|
||||
- React-callinvoker (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-jsinspector (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- React-runtimeexecutor (= 0.64.2-rocket)
|
||||
- React-jsi (0.64.2-rocket):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-jsi/Default (= 0.64.2)
|
||||
- React-jsi/Default (0.64.2):
|
||||
- React-jsi/Default (= 0.64.2-rocket)
|
||||
- React-jsi/Default (0.64.2-rocket):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-jsiexecutor (0.64.2):
|
||||
- React-jsiexecutor (0.64.2-rocket):
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-jsinspector (0.64.2)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- React-jsinspector (0.64.2-rocket)
|
||||
- react-native-appearance (0.3.4):
|
||||
- React
|
||||
- react-native-background-timer (2.4.1):
|
||||
|
@ -430,70 +430,70 @@ PODS:
|
|||
- React
|
||||
- react-native-webview (10.3.2):
|
||||
- React
|
||||
- React-perflogger (0.64.2)
|
||||
- React-RCTActionSheet (0.64.2):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.64.2)
|
||||
- React-RCTAnimation (0.64.2):
|
||||
- FBReactNativeSpec (= 0.64.2)
|
||||
- React-perflogger (0.64.2-rocket)
|
||||
- React-RCTActionSheet (0.64.2-rocket):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.64.2-rocket)
|
||||
- React-RCTAnimation (0.64.2-rocket):
|
||||
- FBReactNativeSpec (= 0.64.2-rocket)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 0.64.2)
|
||||
- React-Core/RCTAnimationHeaders (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2)
|
||||
- React-RCTBlob (0.64.2):
|
||||
- FBReactNativeSpec (= 0.64.2)
|
||||
- RCTTypeSafety (= 0.64.2-rocket)
|
||||
- React-Core/RCTAnimationHeaders (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2-rocket)
|
||||
- React-RCTBlob (0.64.2-rocket):
|
||||
- FBReactNativeSpec (= 0.64.2-rocket)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/RCTBlobHeaders (= 0.64.2)
|
||||
- React-Core/RCTWebSocket (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-RCTNetwork (= 0.64.2)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2)
|
||||
- React-RCTImage (0.64.2):
|
||||
- FBReactNativeSpec (= 0.64.2)
|
||||
- React-Core/RCTBlobHeaders (= 0.64.2-rocket)
|
||||
- React-Core/RCTWebSocket (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-RCTNetwork (= 0.64.2-rocket)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2-rocket)
|
||||
- React-RCTImage (0.64.2-rocket):
|
||||
- FBReactNativeSpec (= 0.64.2-rocket)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 0.64.2)
|
||||
- React-Core/RCTImageHeaders (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-RCTNetwork (= 0.64.2)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2)
|
||||
- React-RCTLinking (0.64.2):
|
||||
- FBReactNativeSpec (= 0.64.2)
|
||||
- React-Core/RCTLinkingHeaders (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2)
|
||||
- React-RCTNetwork (0.64.2):
|
||||
- FBReactNativeSpec (= 0.64.2)
|
||||
- RCTTypeSafety (= 0.64.2-rocket)
|
||||
- React-Core/RCTImageHeaders (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-RCTNetwork (= 0.64.2-rocket)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2-rocket)
|
||||
- React-RCTLinking (0.64.2-rocket):
|
||||
- FBReactNativeSpec (= 0.64.2-rocket)
|
||||
- React-Core/RCTLinkingHeaders (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2-rocket)
|
||||
- React-RCTNetwork (0.64.2-rocket):
|
||||
- FBReactNativeSpec (= 0.64.2-rocket)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 0.64.2)
|
||||
- React-Core/RCTNetworkHeaders (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2)
|
||||
- React-RCTSettings (0.64.2):
|
||||
- FBReactNativeSpec (= 0.64.2)
|
||||
- RCTTypeSafety (= 0.64.2-rocket)
|
||||
- React-Core/RCTNetworkHeaders (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2-rocket)
|
||||
- React-RCTSettings (0.64.2-rocket):
|
||||
- FBReactNativeSpec (= 0.64.2-rocket)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 0.64.2)
|
||||
- React-Core/RCTSettingsHeaders (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2)
|
||||
- React-RCTText (0.64.2):
|
||||
- React-Core/RCTTextHeaders (= 0.64.2)
|
||||
- React-RCTVibration (0.64.2):
|
||||
- FBReactNativeSpec (= 0.64.2)
|
||||
- RCTTypeSafety (= 0.64.2-rocket)
|
||||
- React-Core/RCTSettingsHeaders (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2-rocket)
|
||||
- React-RCTText (0.64.2-rocket):
|
||||
- React-Core/RCTTextHeaders (= 0.64.2-rocket)
|
||||
- React-RCTVibration (0.64.2-rocket):
|
||||
- FBReactNativeSpec (= 0.64.2-rocket)
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-Core/RCTVibrationHeaders (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2)
|
||||
- React-runtimeexecutor (0.64.2):
|
||||
- React-jsi (= 0.64.2)
|
||||
- ReactCommon/turbomodule/core (0.64.2):
|
||||
- React-Core/RCTVibrationHeaders (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- ReactCommon/turbomodule/core (= 0.64.2-rocket)
|
||||
- React-runtimeexecutor (0.64.2-rocket):
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- ReactCommon/turbomodule/core (0.64.2-rocket):
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2020.01.13.00)
|
||||
- React-callinvoker (= 0.64.2)
|
||||
- React-Core (= 0.64.2)
|
||||
- React-cxxreact (= 0.64.2)
|
||||
- React-jsi (= 0.64.2)
|
||||
- React-perflogger (= 0.64.2)
|
||||
- React-callinvoker (= 0.64.2-rocket)
|
||||
- React-Core (= 0.64.2-rocket)
|
||||
- React-cxxreact (= 0.64.2-rocket)
|
||||
- React-jsi (= 0.64.2-rocket)
|
||||
- React-perflogger (= 0.64.2-rocket)
|
||||
- ReactNativeART (1.2.0):
|
||||
- React
|
||||
- ReactNativeUiLib (3.0.4):
|
||||
|
@ -959,8 +959,8 @@ SPEC CHECKSUMS:
|
|||
ExpoModulesCore: 2734852616127a6c1fc23012197890a6f3763dc7
|
||||
EXVideoThumbnails: 442c3abadb51a81551a3b53705b7560de390e6f7
|
||||
EXWebBrowser: 76783ba5dcb8699237746ecf41a9643d428a4cc5
|
||||
FBLazyVector: e686045572151edef46010a6f819ade377dfeb4b
|
||||
FBReactNativeSpec: 686ac17e193dcf7d5df4d772b224504dd2f3ad81
|
||||
FBLazyVector: c9b6dfcde9b3d497793c40d4ccbfbfb05092e0df
|
||||
FBReactNativeSpec: c39f7fc0cd6cc64f0a2a5beffc64b1aa5d42740e
|
||||
Firebase: 919186c8e119dd9372a45fd1dd17a8a942bc1892
|
||||
FirebaseAnalytics: 5fa308e1b13f838d0f6dc74719ac2a72e8c5afc4
|
||||
FirebaseCore: 8cd4f8ea22075e0ee582849b1cf79d8816506085
|
||||
|
@ -990,16 +990,16 @@ SPEC CHECKSUMS:
|
|||
OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b
|
||||
PromisesObjC: b48e0338dbbac2207e611750777895f7a5811b75
|
||||
RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c
|
||||
RCTRequired: 6d3e854f0e7260a648badd0d44fc364bc9da9728
|
||||
RCTTypeSafety: c1f31d19349c6b53085766359caac425926fafaa
|
||||
React: bda6b6d7ae912de97d7a61aa5c160db24aa2ad69
|
||||
React-callinvoker: 9840ea7e8e88ed73d438edb725574820b29b5baa
|
||||
React-Core: b5e385da7ce5f16a220fc60fd0749eae2c6120f0
|
||||
React-CoreModules: 17071a4e2c5239b01585f4aa8070141168ab298f
|
||||
React-cxxreact: 9be7b6340ed9f7c53e53deca7779f07cd66525ba
|
||||
React-jsi: 67747b9722f6dab2ffe15b011bcf6b3f2c3f1427
|
||||
React-jsiexecutor: 80c46bd381fd06e418e0d4f53672dc1d1945c4c3
|
||||
React-jsinspector: cc614ec18a9ca96fd275100c16d74d62ee11f0ae
|
||||
RCTRequired: 908e7c492c5403cd74fc849bda4dbb13faaa07d7
|
||||
RCTTypeSafety: 7d9dfd02b51d4b77ea76dff3172f9839fe5f599a
|
||||
React: 20a0a14204dd5be4720ce4aaed23b495ad36f9a4
|
||||
React-callinvoker: 3677f12b464e2a1d33fb912dac7476b962082933
|
||||
React-Core: 46168a72406aaa3a8ce1b4a619041c7f8ca551d8
|
||||
React-CoreModules: 41bad0ec73eb552f24274128ca02d0dfaf4872cd
|
||||
React-cxxreact: 12b704b000882b40a246372aa5d9a144d246fc63
|
||||
React-jsi: 173749c47ab10c5d2b34d06f849a67e6e44c188a
|
||||
React-jsiexecutor: 3b4177ca75332c2db1436907a533a9de13bd2890
|
||||
React-jsinspector: 669b8dc9d0ee3c3d97294b3e0c571ae4cb3f8f7b
|
||||
react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa
|
||||
react-native-background-timer: 17ea5e06803401a379ebf1f20505b793ac44d0fe
|
||||
react-native-blur: cad4d93b364f91e7b7931b3fa935455487e5c33c
|
||||
|
@ -1016,18 +1016,18 @@ SPEC CHECKSUMS:
|
|||
react-native-simple-crypto: 9b358cdfd34169031d384a8d4ac2ffc40b323876
|
||||
react-native-slider: e99fc201cefe81270fc9d81714a7a0f5e566b168
|
||||
react-native-webview: 679b6f400176e2ea8a785acf7ae16cf282e7d1eb
|
||||
React-perflogger: 25373e382fed75ce768a443822f07098a15ab737
|
||||
React-RCTActionSheet: af7796ba49ffe4ca92e7277a5d992d37203f7da5
|
||||
React-RCTAnimation: 6a2e76ab50c6f25b428d81b76a5a45351c4d77aa
|
||||
React-RCTBlob: 02a2887023e0eed99391b6445b2e23a2a6f9226d
|
||||
React-RCTImage: ce5bf8e7438f2286d9b646a05d6ab11f38b0323d
|
||||
React-RCTLinking: ccd20742de14e020cb5f99d5c7e0bf0383aefbd9
|
||||
React-RCTNetwork: dfb9d089ab0753e5e5f55fc4b1210858f7245647
|
||||
React-RCTSettings: b14aef2d83699e48b410fb7c3ba5b66cd3291ae2
|
||||
React-RCTText: 41a2e952dd9adc5caf6fb68ed46b275194d5da5f
|
||||
React-RCTVibration: 24600e3b1aaa77126989bc58b6747509a1ba14f3
|
||||
React-runtimeexecutor: a9904c6d0218fb9f8b19d6dd88607225927668f9
|
||||
ReactCommon: 149906e01aa51142707a10665185db879898e966
|
||||
React-perflogger: a9754427f4270feb5868631cfc669cde64b82a28
|
||||
React-RCTActionSheet: 6fbd3353009fe546806e815ad523f7c5cd9a48ed
|
||||
React-RCTAnimation: 7883e219ea158fa9d005e709a872d186c8aedacb
|
||||
React-RCTBlob: 1d8acfa1594ea73ded1ca18ba7b8003012bbc78f
|
||||
React-RCTImage: 9f1c50d5c3c31dfa6e52a4bd7d216a2ca6b5a409
|
||||
React-RCTLinking: b3e25ed51bdd43a8cdc106db4f5ddde4c96775ae
|
||||
React-RCTNetwork: 7d33aa95c9d5d1233fd64f7fdb3c559d8dc4086e
|
||||
React-RCTSettings: ceb09d26b66911681cb83fa6fd1dec281e134f9e
|
||||
React-RCTText: f91101f87b8a27177365908842704ca225bae878
|
||||
React-RCTVibration: a3ec9999fe20508f088fc1588d0964396a457369
|
||||
React-runtimeexecutor: 65327536da4bde62f99fe73db131168350f598e6
|
||||
ReactCommon: 9ef7f16a55e1abf9f441ab6b2927e3ef86d5b926
|
||||
ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab
|
||||
ReactNativeUiLib: cde7263a7d308b60161cd286f95c9433e79f2f7d
|
||||
rn-extensions-share: 5fd84a80e6594706f0dfa1884f2d6d591b382cf5
|
||||
|
@ -1062,7 +1062,7 @@ SPEC CHECKSUMS:
|
|||
UMReactNativeAdapter: d03cefd0e4e4179ab8c490408589f1c8a6c8b785
|
||||
UMTaskManagerInterface: 2be431101b73604e64fbfffcf759336f9d8fccbb
|
||||
WatermelonDB: 577c61fceff16e9f9103b59d14aee4850c0307b6
|
||||
Yoga: 575c581c63e0d35c9a83f4b46d01d63abc1100ac
|
||||
Yoga: b2ad1ced89cee9b06c558f85bbd4816f39f71f0c
|
||||
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
|
||||
|
||||
PODFILE CHECKSUM: 9a08139598e951c19d2daf7ac39687272634d547
|
||||
|
|
|
@ -1573,7 +1573,7 @@
|
|||
"$(inherited)",
|
||||
"$(SRCROOT)/../node_modules/rn-extensions-share/ios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**",
|
||||
$PODS_CONFIGURATION_BUILD_DIR/Firebase,
|
||||
"$PODS_CONFIGURATION_BUILD_DIR/Firebase",
|
||||
);
|
||||
INFOPLIST_FILE = ShareRocketChatRN/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
|
@ -1639,7 +1639,7 @@
|
|||
"$(inherited)",
|
||||
"$(SRCROOT)/../node_modules/rn-extensions-share/ios/**",
|
||||
"$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**",
|
||||
$PODS_CONFIGURATION_BUILD_DIR/Firebase,
|
||||
"$PODS_CONFIGURATION_BUILD_DIR/Firebase",
|
||||
);
|
||||
INFOPLIST_FILE = ShareRocketChatRN/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
|
@ -1683,7 +1683,7 @@
|
|||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
MARKETING_VERSION = 4.26.2;
|
||||
MARKETING_VERSION = 4.27.0;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService;
|
||||
|
@ -1720,7 +1720,7 @@
|
|||
INFOPLIST_FILE = NotificationService/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
MARKETING_VERSION = 4.26.2;
|
||||
MARKETING_VERSION = 4.27.0;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = chat.rocket.reactnative.NotificationService;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.26.2</string>
|
||||
<string>4.27.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.26.2</string>
|
||||
<string>4.27.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>KeychainGroup</key>
|
||||
|
|
|
@ -76,20 +76,18 @@ platform :ios do
|
|||
output_path: './'
|
||||
)
|
||||
|
||||
update_project_provisioning(
|
||||
xcodeproj: 'RocketChatRN.xcodeproj',
|
||||
profile: "AppStore_chat.rocket.ios.NotificationService.mobileprovision",
|
||||
target_filter: "NotificationService",
|
||||
build_configuration: 'Release',
|
||||
code_signing_identity: 'iPhone Distribution'
|
||||
update_code_signing_settings(
|
||||
profile_name: "match AppStore chat.rocket.ios.NotificationService",
|
||||
build_configurations: "Release",
|
||||
code_sign_identity: "iPhone Distribution",
|
||||
targets: "NotificationService",
|
||||
)
|
||||
|
||||
update_project_provisioning(
|
||||
xcodeproj: 'RocketChatRN.xcodeproj',
|
||||
profile: "AppStore_chat.rocket.ios.Rocket-Chat-ShareExtension.mobileprovision",
|
||||
target_filter: "ShareRocketChatRN",
|
||||
build_configuration: 'Release',
|
||||
code_signing_identity: 'iPhone Distribution'
|
||||
update_code_signing_settings(
|
||||
profile_name: "match AppStore chat.rocket.ios.Rocket-Chat-ShareExtension",
|
||||
build_configurations: "Release",
|
||||
code_sign_identity: "iPhone Distribution",
|
||||
targets: "ShareRocketChatRN",
|
||||
)
|
||||
|
||||
gym(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "rocket-chat-reactnative",
|
||||
"version": "4.26.2",
|
||||
"version": "4.27.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "react-native start",
|
||||
|
|
|
@ -4,7 +4,7 @@ import { Dimensions, ScrollView } from 'react-native';
|
|||
import { storiesOf } from '@storybook/react-native';
|
||||
import { Provider } from 'react-redux';
|
||||
|
||||
import RoomItemComponent from '../../app/presentation/RoomItem/RoomItem';
|
||||
import RoomItemComponent from '../../app/containers/RoomItem/RoomItem';
|
||||
import { longText } from '../utils';
|
||||
import { DisplayMode, themes } from '../../app/lib/constants';
|
||||
import { store } from './index';
|
||||
|
|
File diff suppressed because one or more lines are too long
185
yarn.lock
185
yarn.lock
|
@ -116,24 +116,24 @@
|
|||
source-map "^0.5.0"
|
||||
|
||||
"@babel/core@^7.1.6":
|
||||
version "7.17.8"
|
||||
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a"
|
||||
integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==
|
||||
version "7.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe"
|
||||
integrity sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==
|
||||
dependencies:
|
||||
"@ampproject/remapping" "^2.1.0"
|
||||
"@babel/code-frame" "^7.16.7"
|
||||
"@babel/generator" "^7.17.7"
|
||||
"@babel/generator" "^7.17.9"
|
||||
"@babel/helper-compilation-targets" "^7.17.7"
|
||||
"@babel/helper-module-transforms" "^7.17.7"
|
||||
"@babel/helpers" "^7.17.8"
|
||||
"@babel/parser" "^7.17.8"
|
||||
"@babel/helpers" "^7.17.9"
|
||||
"@babel/parser" "^7.17.9"
|
||||
"@babel/template" "^7.16.7"
|
||||
"@babel/traverse" "^7.17.3"
|
||||
"@babel/traverse" "^7.17.9"
|
||||
"@babel/types" "^7.17.0"
|
||||
convert-source-map "^1.7.0"
|
||||
debug "^4.1.0"
|
||||
gensync "^1.0.0-beta.2"
|
||||
json5 "^2.1.2"
|
||||
json5 "^2.2.1"
|
||||
semver "^6.3.0"
|
||||
|
||||
"@babel/core@^7.12.9", "@babel/core@^7.7.2":
|
||||
|
@ -223,10 +223,10 @@
|
|||
jsesc "^2.5.1"
|
||||
source-map "^0.5.0"
|
||||
|
||||
"@babel/generator@^7.17.3", "@babel/generator@^7.17.7", "@babel/generator@^7.5.0":
|
||||
version "7.17.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad"
|
||||
integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==
|
||||
"@babel/generator@^7.17.9", "@babel/generator@^7.5.0":
|
||||
version "7.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc"
|
||||
integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==
|
||||
dependencies:
|
||||
"@babel/types" "^7.17.0"
|
||||
jsesc "^2.5.1"
|
||||
|
@ -358,14 +358,14 @@
|
|||
"@babel/helper-split-export-declaration" "^7.14.5"
|
||||
|
||||
"@babel/helper-create-class-features-plugin@^7.16.7":
|
||||
version "7.17.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9"
|
||||
integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==
|
||||
version "7.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz#71835d7fb9f38bd9f1378e40a4c0902fdc2ea49d"
|
||||
integrity sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==
|
||||
dependencies:
|
||||
"@babel/helper-annotate-as-pure" "^7.16.7"
|
||||
"@babel/helper-environment-visitor" "^7.16.7"
|
||||
"@babel/helper-function-name" "^7.16.7"
|
||||
"@babel/helper-member-expression-to-functions" "^7.16.7"
|
||||
"@babel/helper-function-name" "^7.17.9"
|
||||
"@babel/helper-member-expression-to-functions" "^7.17.7"
|
||||
"@babel/helper-optimise-call-expression" "^7.16.7"
|
||||
"@babel/helper-replace-supers" "^7.16.7"
|
||||
"@babel/helper-split-export-declaration" "^7.16.7"
|
||||
|
@ -471,14 +471,13 @@
|
|||
"@babel/template" "^7.15.4"
|
||||
"@babel/types" "^7.15.4"
|
||||
|
||||
"@babel/helper-function-name@^7.16.7":
|
||||
version "7.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f"
|
||||
integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
|
||||
"@babel/helper-function-name@^7.17.9":
|
||||
version "7.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12"
|
||||
integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==
|
||||
dependencies:
|
||||
"@babel/helper-get-function-arity" "^7.16.7"
|
||||
"@babel/template" "^7.16.7"
|
||||
"@babel/types" "^7.16.7"
|
||||
"@babel/types" "^7.17.0"
|
||||
|
||||
"@babel/helper-function-name@^7.8.3", "@babel/helper-function-name@^7.9.5":
|
||||
version "7.9.5"
|
||||
|
@ -510,13 +509,6 @@
|
|||
dependencies:
|
||||
"@babel/types" "^7.15.4"
|
||||
|
||||
"@babel/helper-get-function-arity@^7.16.7":
|
||||
version "7.16.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
|
||||
integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
|
||||
dependencies:
|
||||
"@babel/types" "^7.16.7"
|
||||
|
||||
"@babel/helper-get-function-arity@^7.8.3":
|
||||
version "7.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
|
||||
|
@ -566,7 +558,7 @@
|
|||
dependencies:
|
||||
"@babel/types" "^7.15.4"
|
||||
|
||||
"@babel/helper-member-expression-to-functions@^7.16.7":
|
||||
"@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7":
|
||||
version "7.17.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4"
|
||||
integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==
|
||||
|
@ -980,13 +972,13 @@
|
|||
"@babel/traverse" "^7.14.5"
|
||||
"@babel/types" "^7.14.5"
|
||||
|
||||
"@babel/helpers@^7.17.8":
|
||||
version "7.17.8"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106"
|
||||
integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==
|
||||
"@babel/helpers@^7.17.9":
|
||||
version "7.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a"
|
||||
integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==
|
||||
dependencies:
|
||||
"@babel/template" "^7.16.7"
|
||||
"@babel/traverse" "^7.17.3"
|
||||
"@babel/traverse" "^7.17.9"
|
||||
"@babel/types" "^7.17.0"
|
||||
|
||||
"@babel/helpers@^7.9.0":
|
||||
|
@ -1026,9 +1018,9 @@
|
|||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/highlight@^7.16.7":
|
||||
version "7.16.10"
|
||||
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
|
||||
integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==
|
||||
version "7.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3"
|
||||
integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier" "^7.16.7"
|
||||
chalk "^2.0.0"
|
||||
|
@ -1043,10 +1035,10 @@
|
|||
chalk "^2.0.0"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/parser@^7.0.0", "@babel/parser@^7.1.6", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8":
|
||||
version "7.17.8"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240"
|
||||
integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==
|
||||
"@babel/parser@^7.0.0", "@babel/parser@^7.1.6", "@babel/parser@^7.16.7", "@babel/parser@^7.17.9":
|
||||
version "7.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef"
|
||||
integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==
|
||||
|
||||
"@babel/parser@^7.1.0", "@babel/parser@^7.8.6", "@babel/parser@^7.9.6":
|
||||
version "7.9.6"
|
||||
|
@ -1797,9 +1789,9 @@
|
|||
babel-plugin-dynamic-import-node "^2.3.3"
|
||||
|
||||
"@babel/plugin-transform-modules-commonjs@^7.1.0":
|
||||
version "7.17.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz#d86b217c8e45bb5f2dbc11eefc8eab62cf980d19"
|
||||
integrity sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==
|
||||
version "7.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz#274be1a2087beec0254d4abd4d86e52442e1e5b6"
|
||||
integrity sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==
|
||||
dependencies:
|
||||
"@babel/helper-module-transforms" "^7.17.7"
|
||||
"@babel/helper-plugin-utils" "^7.16.7"
|
||||
|
@ -2441,18 +2433,18 @@
|
|||
"@babel/parser" "^7.16.7"
|
||||
"@babel/types" "^7.16.7"
|
||||
|
||||
"@babel/traverse@^7.0.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.17.3":
|
||||
version "7.17.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57"
|
||||
integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==
|
||||
"@babel/traverse@^7.0.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9":
|
||||
version "7.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.9.tgz#1f9b207435d9ae4a8ed6998b2b82300d83c37a0d"
|
||||
integrity sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.16.7"
|
||||
"@babel/generator" "^7.17.3"
|
||||
"@babel/generator" "^7.17.9"
|
||||
"@babel/helper-environment-visitor" "^7.16.7"
|
||||
"@babel/helper-function-name" "^7.16.7"
|
||||
"@babel/helper-function-name" "^7.17.9"
|
||||
"@babel/helper-hoist-variables" "^7.16.7"
|
||||
"@babel/helper-split-export-declaration" "^7.16.7"
|
||||
"@babel/parser" "^7.17.3"
|
||||
"@babel/parser" "^7.17.9"
|
||||
"@babel/types" "^7.17.0"
|
||||
debug "^4.1.0"
|
||||
globals "^11.1.0"
|
||||
|
@ -3565,9 +3557,9 @@
|
|||
integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==
|
||||
|
||||
"@jridgewell/trace-mapping@^0.3.0":
|
||||
version "0.3.4"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3"
|
||||
integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==
|
||||
version "0.3.9"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
|
||||
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
|
||||
dependencies:
|
||||
"@jridgewell/resolve-uri" "^3.0.3"
|
||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||
|
@ -5723,9 +5715,9 @@ async-limiter@~1.0.0:
|
|||
integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
|
||||
|
||||
async@^2.4.0:
|
||||
version "2.6.3"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
|
||||
integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
|
||||
version "2.6.4"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
|
||||
integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==
|
||||
dependencies:
|
||||
lodash "^4.17.14"
|
||||
|
||||
|
@ -6359,10 +6351,10 @@ bplist-parser@0.2.0:
|
|||
dependencies:
|
||||
big-integer "^1.6.44"
|
||||
|
||||
bplist-parser@0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.0.tgz#ba50666370f61bbf94881636cd9f7d23c5286090"
|
||||
integrity sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==
|
||||
bplist-parser@0.3.1:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.1.tgz#e1c90b2ca2a9f9474cc72f6862bbf3fee8341fd1"
|
||||
integrity sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==
|
||||
dependencies:
|
||||
big-integer "1.6.x"
|
||||
|
||||
|
@ -6780,9 +6772,9 @@ caniuse-lite@^1.0.30001264:
|
|||
integrity sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw==
|
||||
|
||||
caniuse-lite@^1.0.30001317:
|
||||
version "1.0.30001322"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001322.tgz#2e4c09d11e1e8f852767dab287069a8d0c29d623"
|
||||
integrity sha512-neRmrmIrCGuMnxGSoh+x7zYtQFFgnSY2jaomjU56sCkTA6JINqQrxutF459JpWcWRajvoyn95sOXq4Pqrnyjew==
|
||||
version "1.0.30001332"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz#39476d3aa8d83ea76359c70302eafdd4a1d727dd"
|
||||
integrity sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==
|
||||
|
||||
capture-exit@^2.0.0:
|
||||
version "2.0.0"
|
||||
|
@ -7751,9 +7743,9 @@ data-urls@^2.0.0:
|
|||
whatwg-url "^8.0.0"
|
||||
|
||||
dayjs@^1.8.15:
|
||||
version "1.11.0"
|
||||
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.0.tgz#009bf7ef2e2ea2d5db2e6583d2d39a4b5061e805"
|
||||
integrity sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug==
|
||||
version "1.11.1"
|
||||
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.1.tgz#90b33a3dda3417258d48ad2771b415def6545eb0"
|
||||
integrity sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==
|
||||
|
||||
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9:
|
||||
version "2.6.9"
|
||||
|
@ -8273,9 +8265,9 @@ electron-to-chromium@^1.3.857:
|
|||
integrity sha512-o+FMbCD+hAUJ9S8bfz/FaqA0gE8OpCCm58KhhGogOEqiA1BLFSoVYLi+tW+S/ZavnqBn++n0XZm7HQiBVPs8Jg==
|
||||
|
||||
electron-to-chromium@^1.4.84:
|
||||
version "1.4.101"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.101.tgz#71f3a10065146d7445ba5d4c06ba2cc063b0817a"
|
||||
integrity sha512-XJH+XmJjACx1S7ASl/b//KePcda5ocPnFH2jErztXcIS8LpP0SE6rX8ZxiY5/RaDPnaF1rj0fPaHfppzb0e2Aw==
|
||||
version "1.4.118"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.118.tgz#2d917c71712dac9652cc01af46c7d0bd51552974"
|
||||
integrity sha512-maZIKjnYDvF7Fs35nvVcyr44UcKNwybr93Oba2n3HkKDFAtk0svERkLN/HyczJDS3Fo4wU9th9fUQd09ZLtj1w==
|
||||
|
||||
element-resize-detector@^1.2.1:
|
||||
version "1.2.2"
|
||||
|
@ -9437,9 +9429,9 @@ flatted@^3.1.0:
|
|||
integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==
|
||||
|
||||
flow-parser@0.*:
|
||||
version "0.174.1"
|
||||
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.174.1.tgz#bb81e17fe45a1e64d9752090e819a6744a539fa0"
|
||||
integrity sha512-nDMOvlFR+4doLpB3OJpseHZ7uEr3ENptlF6qMas/kzQmNcLzMwfQeFX0gGJ/+em7UdldB/nGsk55tDTOvjbCuw==
|
||||
version "0.176.2"
|
||||
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.176.2.tgz#e04ac9f766ea9491fd515c84a82ef360e3a0c659"
|
||||
integrity sha512-unqoh60i18C67h2rvK0SCFUBac/waUcx7CF1a5E4D0Cwj1NErTP42RF7yb7+dy25Tpyzt7uwVtXw13Wr17VzWA==
|
||||
|
||||
flow-parser@^0.121.0:
|
||||
version "0.121.0"
|
||||
|
@ -9942,9 +9934,9 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6
|
|||
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
|
||||
|
||||
graceful-fs@^4.1.3:
|
||||
version "4.2.9"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
|
||||
integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
|
||||
version "4.2.10"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
|
||||
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
|
||||
|
||||
graceful-fs@^4.2.2:
|
||||
version "4.2.6"
|
||||
|
@ -11897,6 +11889,11 @@ json5@^2.1.2:
|
|||
dependencies:
|
||||
minimist "^1.2.5"
|
||||
|
||||
json5@^2.2.1:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
|
||||
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
|
||||
|
||||
jsonfile@^2.1.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
|
||||
|
@ -13224,9 +13221,9 @@ node-releases@^1.1.77:
|
|||
integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==
|
||||
|
||||
node-releases@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01"
|
||||
integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.3.tgz#225ee7488e4a5e636da8da52854844f9d716ca96"
|
||||
integrity sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==
|
||||
|
||||
node-stream-zip@^1.9.1:
|
||||
version "1.15.0"
|
||||
|
@ -14078,7 +14075,7 @@ plist@^3.0.1:
|
|||
xmlbuilder "^9.0.7"
|
||||
xmldom "^0.5.0"
|
||||
|
||||
plist@^3.0.4:
|
||||
plist@^3.0.5:
|
||||
version "3.0.5"
|
||||
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz#2cbeb52d10e3cdccccf0c11a63a85d830970a987"
|
||||
integrity sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==
|
||||
|
@ -14660,9 +14657,9 @@ react-dev-utils@^9.0.0:
|
|||
text-table "0.2.0"
|
||||
|
||||
react-devtools-core@^4.6.0:
|
||||
version "4.24.3"
|
||||
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.24.3.tgz#371fef3f5c639db0dc59eeef334dd5e10ac61661"
|
||||
integrity sha512-+htKZxLxDN14jhRG3+IXRiJqNSGHUiPYrMtv9e7qlZxcbKeJjVs+C/hd8kZF5rydp3faBwFN6ZpTaZnLA3/ZGA==
|
||||
version "4.24.4"
|
||||
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.24.4.tgz#adaa54569f87ce7c08384d12e0b35122a755cbae"
|
||||
integrity sha512-jbX8Yqyq4YvFEobHyXVlGaH0Cs/+EOdb3PL911bxaR5BnzbB5TE4RFHC1iOgT4vRH3VxIIrVQ7lR9vsiFFCYCA==
|
||||
dependencies:
|
||||
shell-quote "^1.6.1"
|
||||
ws "^7"
|
||||
|
@ -15107,7 +15104,7 @@ react-native-webview@10.3.2:
|
|||
|
||||
react-native@RocketChat/react-native#0.64.2:
|
||||
version "0.64.2-rocket"
|
||||
resolved "https://codeload.github.com/RocketChat/react-native/tar.gz/4ad9cbc7e7aed429ba63cb7a78962d24d47f8e28"
|
||||
resolved "https://codeload.github.com/RocketChat/react-native/tar.gz/dc2e7828ac118d848fee1f5bdc837329bfadd205"
|
||||
dependencies:
|
||||
"@jest/create-cache-key-function" "^27.0.2"
|
||||
"@react-native-community/cli" "^5.0.1-alpha.1"
|
||||
|
@ -16194,13 +16191,13 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
|
|||
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
|
||||
|
||||
simple-plist@^1.0.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.0.tgz#f451997663eafd8ea6bad353a01caf49ef186d43"
|
||||
integrity sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg==
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017"
|
||||
integrity sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==
|
||||
dependencies:
|
||||
bplist-creator "0.1.0"
|
||||
bplist-parser "0.3.0"
|
||||
plist "^3.0.4"
|
||||
bplist-parser "0.3.1"
|
||||
plist "^3.0.5"
|
||||
|
||||
simple-plist@^1.1.0:
|
||||
version "1.1.1"
|
||||
|
@ -17305,9 +17302,9 @@ tslib@^1.8.1, tslib@^1.9.3:
|
|||
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
||||
|
||||
tslib@^2.0.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
|
||||
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
|
||||
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
|
||||
|
||||
tslib@^2.0.3:
|
||||
version "2.3.0"
|
||||
|
|
Loading…
Reference in New Issue