Update Dependencies (#7409)

* dev dependencies

* update deps

* update wdb

* update more deps

* update detox deps

* update logs for database batch

* fix jest setup
This commit is contained in:
Elias Nahum 2023-06-21 13:40:23 -04:00 committed by GitHub
parent bcc59d5adf
commit ef2c12e954
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 5870 additions and 6043 deletions

View file

@ -39,7 +39,7 @@ class DatabaseHelper {
private fun setDefaultDatabase(context: Context) {
val databaseName = "app.db"
val databasePath = Uri.fromFile(context.filesDir).toString() + "/" + databaseName
defaultDatabase = Database(databasePath, context)
defaultDatabase = Database.getInstance(databasePath, context)
}
internal fun JSONObject.toMap(): Map<String, Any?> = keys().asSequence().associateWith { it ->

View file

@ -57,7 +57,7 @@ fun DatabaseHelper.getDatabaseForServer(context: Context?, serverUrl: String): D
if (cursor.count == 1) {
cursor.moveToFirst()
val databasePath = cursor.getString(0)
return Database(databasePath, context!!)
return Database.getInstance(databasePath, context!!)
}
}
} catch (e: Exception) {

View file

@ -186,11 +186,11 @@ export default class BaseDataOperator {
try {
if (models.length > 0) {
await this.database.write(async (writer) => {
await writer.batch(models);
await writer.batch(...models);
}, description);
}
} catch (e) {
logWarning('batchRecords error ', e as Error);
logWarning('batchRecords error ', description, e as Error);
}
}

View file

@ -2,11 +2,9 @@
// See LICENSE.txt for license information.
import {Alert, DeviceEventEmitter, Linking, NativeEventEmitter, NativeModules} from 'react-native';
import RNLocalize from 'react-native-localize';
import semver from 'semver';
import {switchToChannelById} from '@actions/remote/channel';
import {autoUpdateTimezone} from '@actions/remote/user';
import LocalConfig from '@assets/config.json';
import {Device, Events, Sso} from '@constants';
import {MIN_REQUIRED_VERSION} from '@constants/supported_server';
@ -14,13 +12,12 @@ import DatabaseManager from '@database/manager';
import {DEFAULT_LOCALE, getTranslations, t} from '@i18n';
import {getServerCredentials} from '@init/credentials';
import * as analytics from '@managers/analytics';
import {getAllServers, getActiveServerUrl} from '@queries/app/servers';
import {getActiveServerUrl} from '@queries/app/servers';
import {queryTeamDefaultChannel} from '@queries/servers/channel';
import {getCommonSystemValues} from '@queries/servers/system';
import {getTeamChannelHistory} from '@queries/servers/team';
import {setScreensOrientation} from '@screens/navigation';
import {handleDeepLink} from '@utils/deep_link';
import {logError} from '@utils/log';
type LinkingCallbackArg = {url: string};
@ -33,19 +30,6 @@ class GlobalEventHandler {
constructor() {
DeviceEventEmitter.addListener(Events.SERVER_VERSION_CHANGED, this.onServerVersionChanged);
DeviceEventEmitter.addListener(Events.CONFIG_CHANGED, this.onServerConfigChanged);
RNLocalize.addEventListener('change', async () => {
try {
const servers = await getAllServers();
for (const server of servers) {
if (server.url && server.lastActiveAt > 0) {
autoUpdateTimezone(server.url);
}
}
} catch (e) {
logError('Localize change', e);
}
});
splitViewEmitter.addListener('SplitViewChanged', this.onSplitViewChanged);
Linking.addEventListener('url', this.onDeepLink);
}

View file

@ -4,6 +4,7 @@
import BottomSheetM, {BottomSheetBackdrop, type BottomSheetBackdropProps, type BottomSheetFooterProps} from '@gorhom/bottom-sheet';
import React, {type ReactNode, useCallback, useEffect, useMemo, useRef} from 'react';
import {DeviceEventEmitter, type Handle, InteractionManager, Keyboard, type StyleProp, View, type ViewStyle} from 'react-native';
import {GestureHandlerRootView} from 'react-native-gesture-handler';
import {Events} from '@constants';
import {useTheme} from '@context/theme';
@ -38,6 +39,7 @@ const PADDING_TOP_TABLET = 8;
export const getStyleSheet = makeStyleSheetFromTheme((theme: Theme) => {
return {
container: {flex: 1},
bottomSheet: {
backgroundColor: theme.centerChannelBg,
borderTopStartRadius: 24,
@ -197,25 +199,27 @@ const BottomSheet = ({
}
return (
<BottomSheetM
ref={sheetRef}
index={initialSnapIndex}
snapPoints={snapPoints}
animateOnMount={true}
backdropComponent={renderBackdrop}
onAnimate={handleAnimationStart}
onChange={handleChange}
animationConfigs={animatedConfig}
handleComponent={Indicator}
style={styles.bottomSheet}
backgroundStyle={bottomSheetBackgroundStyle}
footerComponent={footerComponent}
keyboardBehavior='extend'
keyboardBlurBehavior='restore'
onClose={close}
>
{renderContainerContent()}
</BottomSheetM>
<GestureHandlerRootView style={styles.container}>
<BottomSheetM
ref={sheetRef}
index={initialSnapIndex}
snapPoints={snapPoints}
animateOnMount={true}
backdropComponent={renderBackdrop}
onAnimate={handleAnimationStart}
onChange={handleChange}
animationConfigs={animatedConfig}
handleComponent={Indicator}
style={styles.bottomSheet}
backgroundStyle={bottomSheetBackgroundStyle}
footerComponent={footerComponent}
keyboardBehavior='extend'
keyboardBlurBehavior='restore'
onClose={close}
>
{renderContainerContent()}
</BottomSheetM>
</GestureHandlerRootView>
);
};

View file

@ -68,7 +68,7 @@ const getStyleSheet = makeStyleSheetFromTheme((theme: Theme) => {
class ClearAfterModal extends NavigationComponent<Props, State> {
private backListener: NativeEventSubscription | undefined;
constructor(props: Props) {
super(props);
super({...props, componentName: 'ClearAfterModal'});
const options: Options = {
topBar: {

View file

@ -155,7 +155,6 @@ const EditProfile = ({
}
close();
return;
} catch (e) {
resetScreen(e);
}

View file

@ -9,12 +9,16 @@ import {DeviceEventEmitter, Platform} from 'react-native';
import HWKeyboardEvent from 'react-native-hw-keyboard-event';
import {enableFreeze, enableScreens} from 'react-native-screens';
import {autoUpdateTimezone} from '@actions/remote/user';
import ServerVersion from '@components/server_version';
import {Events, Screens} from '@constants';
import {useTheme} from '@context/theme';
import {useAppState} from '@hooks/device';
import {getAllServers} from '@queries/app/servers';
import {findChannels, popToRoot} from '@screens/navigation';
import NavigationStore from '@store/navigation_store';
import {handleDeepLink} from '@utils/deep_link';
import {logError} from '@utils/log';
import {alertChannelArchived, alertChannelRemove, alertTeamRemove} from '@utils/navigation';
import {notificationError} from '@utils/notification';
@ -40,9 +44,23 @@ type HomeProps = LaunchProps & {
const Tab = createBottomTabNavigator();
const updateTimezoneIfNeeded = async () => {
try {
const servers = await getAllServers();
for (const server of servers) {
if (server.url && server.lastActiveAt > 0) {
autoUpdateTimezone(server.url);
}
}
} catch (e) {
logError('Localize change', e);
}
};
export default function HomeScreen(props: HomeProps) {
const theme = useTheme();
const intl = useIntl();
const appState = useAppState();
useEffect(() => {
const listener = DeviceEventEmitter.addListener(Events.NOTIFICATION_ERROR, (value: 'Team' | 'Channel' | 'Post' | 'Connection') => {
@ -95,6 +113,12 @@ export default function HomeScreen(props: HomeProps) {
};
}, [intl.locale]);
useEffect(() => {
if (appState === 'active') {
updateTimezoneIfNeeded();
}
}, [appState]);
useEffect(() => {
if (props.launchType === 'deeplink') {
const deepLink = props.extra as DeepLinkWithData;

View file

@ -72,7 +72,10 @@ Navigation.setLazyComponentRegistrator((screenName) => {
break;
case Screens.BOTTOM_SHEET:
screen = withServerDatabase(require('@screens/bottom_sheet').default);
break;
Navigation.registerComponent(Screens.BOTTOM_SHEET, () =>
withSafeAreaInsets(withManagedConfig(screen)),
);
return;
case Screens.BROWSE_CHANNELS:
screen = withServerDatabase(require('@screens/browse_channels').default);
break;

View file

@ -11,7 +11,6 @@ module.exports = {
['@babel/plugin-proposal-decorators', {legacy: true}],
['@babel/plugin-transform-flow-strip-types'],
['@babel/plugin-proposal-class-properties', {loose: true}],
['@babel/plugin-proposal-private-property-in-object', {loose: true}],
['module-resolver', {
root: ['.'],
alias: {

3107
detox/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -5,21 +5,21 @@
"author": "Mattermost, Inc.",
"devDependencies": {
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-transform-modules-commonjs": "7.21.2",
"@babel/plugin-transform-runtime": "7.21.4",
"@babel/preset-env": "7.21.4",
"@babel/plugin-transform-modules-commonjs": "7.22.5",
"@babel/plugin-transform-runtime": "7.22.5",
"@babel/preset-env": "7.22.5",
"@jest/test-sequencer": "29.5.0",
"@types/jest": "29.5.1",
"@types/jest": "29.5.2",
"@types/tough-cookie": "4.0.2",
"@types/uuid": "9.0.1",
"aws-sdk": "2.1361.0",
"axios": "1.3.6",
"@types/uuid": "9.0.2",
"aws-sdk": "2.1398.0",
"axios": "1.4.0",
"axios-cookiejar-support": "4.0.6",
"babel-jest": "29.5.0",
"babel-plugin-module-resolver": "5.0.0",
"client-oauth2": "4.3.3",
"deepmerge": "4.3.1",
"detox": "20.7.0",
"detox": "20.9.1",
"form-data": "4.0.0",
"jest": "29.5.0",
"jest-circus": "29.5.0",
@ -27,15 +27,15 @@
"jest-html-reporters": "3.1.4",
"jest-junit": "16.0.0",
"jest-stare": "2.5.0",
"junit-report-merger": "6.0.1",
"junit-report-merger": "6.0.2",
"moment-timezone": "0.5.43",
"recursive-readdir": "2.2.3",
"sanitize-filename": "1.6.3",
"shelljs": "0.8.5",
"tough-cookie": "4.1.2",
"tough-cookie": "4.1.3",
"ts-jest": "29.1.0",
"tslib": "2.5.0",
"typescript": "5.0.4",
"tslib": "2.5.3",
"typescript": "5.1.3",
"uuid": "9.0.0",
"xml2js": "0.5.0"
},

View file

@ -2330,7 +2330,7 @@
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/getsentry/sentry-cocoa.git";
requirement = {
branch = 8.4.0;
branch = 8.7.3;
kind = branch;
};
};

View file

@ -14,8 +14,8 @@
"package": "Sentry",
"repositoryURL": "https://github.com/getsentry/sentry-cocoa.git",
"state": {
"branch": "8.4.0",
"revision": "92a6472efc750a4e18bdee21c204942ab0bc4dcd",
"branch": "8.7.3",
"revision": "9cf7d2e514af1600cc2b3c5592e2848c6c5a76d6",
"version": null
}
},

View file

@ -46,7 +46,7 @@ target 'Mattermost' do
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi', :modular_headers => true
pod 'React-jsc', :path => '../node_modules/react-native/ReactCommon/jsc', :modular_headers => true
pod 'simdjson', path: '../node_modules/@nozbe/simdjson'
pod 'simdjson', path: '../node_modules/@nozbe/simdjson', :modular_headers => true
# TODO: Remove this once upstream PR https://github.com/daltoniam/Starscream/pull/871 is merged
pod 'Starscream', :git => 'https://github.com/mattermost/Starscream.git', :commit => '9575b6781d1262247096af73617ae3acb2b139a0'

View file

@ -1,21 +1,21 @@
PODS:
- Alamofire (5.6.4)
- boost (1.76.0)
- BVLinearGradient (2.6.2):
- BVLinearGradient (2.7.2):
- React-Core
- CocoaAsyncSocket (7.6.5)
- CocoaLumberjack (3.8.0):
- CocoaLumberjack/Core (= 3.8.0)
- CocoaLumberjack/Core (3.8.0)
- DoubleConversion (1.1.6)
- FBLazyVector (0.71.7)
- FBReactNativeSpec (0.71.7):
- FBLazyVector (0.71.11)
- FBReactNativeSpec (0.71.11):
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.71.7)
- RCTTypeSafety (= 0.71.7)
- React-Core (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- RCTRequired (= 0.71.11)
- RCTTypeSafety (= 0.71.11)
- React-Core (= 0.71.11)
- React-jsi (= 0.71.11)
- ReactCommon/turbomodule/core (= 0.71.11)
- Flipper (0.125.0):
- Flipper-Folly (~> 2.6)
- Flipper-RSocket (~> 1.4)
@ -79,9 +79,9 @@ PODS:
- FlipperKit/FlipperKitNetworkPlugin
- fmt (6.2.1)
- glog (0.3.5)
- hermes-engine (0.71.7):
- hermes-engine/Pre-built (= 0.71.7)
- hermes-engine/Pre-built (0.71.7)
- hermes-engine (0.71.11):
- hermes-engine/Pre-built (= 0.71.11)
- hermes-engine/Pre-built (0.71.11)
- HMSegmentedControl (1.5.6)
- jail-monkey (2.8.0):
- React-Core
@ -118,26 +118,26 @@ PODS:
- fmt (~> 6.2.1)
- glog
- libevent
- RCTRequired (0.71.7)
- RCTTypeSafety (0.71.7):
- FBLazyVector (= 0.71.7)
- RCTRequired (= 0.71.7)
- React-Core (= 0.71.7)
- React (0.71.7):
- React-Core (= 0.71.7)
- React-Core/DevSupport (= 0.71.7)
- React-Core/RCTWebSocket (= 0.71.7)
- React-RCTActionSheet (= 0.71.7)
- React-RCTAnimation (= 0.71.7)
- React-RCTBlob (= 0.71.7)
- React-RCTImage (= 0.71.7)
- React-RCTLinking (= 0.71.7)
- React-RCTNetwork (= 0.71.7)
- React-RCTSettings (= 0.71.7)
- React-RCTText (= 0.71.7)
- React-RCTVibration (= 0.71.7)
- React-callinvoker (0.71.7)
- React-Codegen (0.71.7):
- RCTRequired (0.71.11)
- RCTTypeSafety (0.71.11):
- FBLazyVector (= 0.71.11)
- RCTRequired (= 0.71.11)
- React-Core (= 0.71.11)
- React (0.71.11):
- React-Core (= 0.71.11)
- React-Core/DevSupport (= 0.71.11)
- React-Core/RCTWebSocket (= 0.71.11)
- React-RCTActionSheet (= 0.71.11)
- React-RCTAnimation (= 0.71.11)
- React-RCTBlob (= 0.71.11)
- React-RCTImage (= 0.71.11)
- React-RCTLinking (= 0.71.11)
- React-RCTNetwork (= 0.71.11)
- React-RCTSettings (= 0.71.11)
- React-RCTText (= 0.71.11)
- React-RCTVibration (= 0.71.11)
- React-callinvoker (0.71.11)
- React-Codegen (0.71.11):
- FBReactNativeSpec
- hermes-engine
- RCT-Folly
@ -148,246 +148,246 @@ PODS:
- React-jsiexecutor
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- React-Core (0.71.7):
- React-Core (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.71.7)
- React-cxxreact (= 0.71.7)
- React-Core/Default (= 0.71.11)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/CoreModulesHeaders (0.71.7):
- React-Core/CoreModulesHeaders (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/Default (0.71.7):
- React-Core/Default (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/DevSupport (0.71.7):
- React-Core/DevSupport (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.71.7)
- React-Core/RCTWebSocket (= 0.71.7)
- React-cxxreact (= 0.71.7)
- React-Core/Default (= 0.71.11)
- React-Core/RCTWebSocket (= 0.71.11)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-jsinspector (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-jsinspector (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/RCTActionSheetHeaders (0.71.7):
- React-Core/RCTActionSheetHeaders (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/RCTAnimationHeaders (0.71.7):
- React-Core/RCTAnimationHeaders (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/RCTBlobHeaders (0.71.7):
- React-Core/RCTBlobHeaders (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/RCTImageHeaders (0.71.7):
- React-Core/RCTImageHeaders (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/RCTLinkingHeaders (0.71.7):
- React-Core/RCTLinkingHeaders (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/RCTNetworkHeaders (0.71.7):
- React-Core/RCTNetworkHeaders (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/RCTSettingsHeaders (0.71.7):
- React-Core/RCTSettingsHeaders (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/RCTTextHeaders (0.71.7):
- React-Core/RCTTextHeaders (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/RCTVibrationHeaders (0.71.7):
- React-Core/RCTVibrationHeaders (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-Core/RCTWebSocket (0.71.7):
- React-Core/RCTWebSocket (0.71.11):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.71.7)
- React-cxxreact (= 0.71.7)
- React-Core/Default (= 0.71.11)
- React-cxxreact (= 0.71.11)
- React-hermes
- React-jsi (= 0.71.7)
- React-jsiexecutor (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsi (= 0.71.11)
- React-jsiexecutor (= 0.71.11)
- React-perflogger (= 0.71.11)
- Yoga
- React-CoreModules (0.71.7):
- React-CoreModules (0.71.11):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7)
- React-Codegen (= 0.71.7)
- React-Core/CoreModulesHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- RCTTypeSafety (= 0.71.11)
- React-Codegen (= 0.71.11)
- React-Core/CoreModulesHeaders (= 0.71.11)
- React-jsi (= 0.71.11)
- React-RCTBlob
- React-RCTImage (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-cxxreact (0.71.7):
- React-RCTImage (= 0.71.11)
- ReactCommon/turbomodule/core (= 0.71.11)
- React-cxxreact (0.71.11):
- boost (= 1.76.0)
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.71.7)
- React-jsi (= 0.71.7)
- React-jsinspector (= 0.71.7)
- React-logger (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-runtimeexecutor (= 0.71.7)
- React-hermes (0.71.7):
- React-callinvoker (= 0.71.11)
- React-jsi (= 0.71.11)
- React-jsinspector (= 0.71.11)
- React-logger (= 0.71.11)
- React-perflogger (= 0.71.11)
- React-runtimeexecutor (= 0.71.11)
- React-hermes (0.71.11):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- RCT-Folly/Futures (= 2021.07.22.00)
- React-cxxreact (= 0.71.7)
- React-cxxreact (= 0.71.11)
- React-jsi
- React-jsiexecutor (= 0.71.7)
- React-jsinspector (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsc (0.71.7):
- React-jsc/Fabric (= 0.71.7)
- React-jsi (= 0.71.7)
- React-jsc/Fabric (0.71.7):
- React-jsi (= 0.71.7)
- React-jsi (0.71.7):
- React-jsiexecutor (= 0.71.11)
- React-jsinspector (= 0.71.11)
- React-perflogger (= 0.71.11)
- React-jsc (0.71.11):
- React-jsc/Fabric (= 0.71.11)
- React-jsi (= 0.71.11)
- React-jsc/Fabric (0.71.11):
- React-jsi (= 0.71.11)
- React-jsi (0.71.11):
- boost (= 1.76.0)
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-jsiexecutor (0.71.7):
- React-jsiexecutor (0.71.11):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.71.7)
- React-jsi (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-jsinspector (0.71.7)
- React-logger (0.71.7):
- React-cxxreact (= 0.71.11)
- React-jsi (= 0.71.11)
- React-perflogger (= 0.71.11)
- React-jsinspector (0.71.11)
- React-logger (0.71.11):
- glog
- react-native-background-timer (2.4.1):
- React-Core
- react-native-cameraroll (5.3.1):
- react-native-cameraroll (5.6.0):
- React-Core
- react-native-cookies (6.2.1):
- React-Core
- react-native-create-thumbnail (1.6.4):
- React-Core
- react-native-document-picker (8.2.0):
- react-native-document-picker (9.0.1):
- React-Core
- react-native-emm (1.3.5):
- React-Core
- react-native-hw-keyboard-event (0.0.4):
- React
- react-native-image-picker (5.3.1):
- react-native-image-picker (5.4.2):
- React-Core
- react-native-in-app-review (4.3.3):
- React-Core
- react-native-netinfo (9.3.9):
- react-native-netinfo (9.3.10):
- React-Core
- react-native-network-client (1.3.4):
- Alamofire (~> 5.6.4)
- React-Core
- Starscream (~> 4.0.4)
- SwiftyJSON (~> 5.0)
- react-native-notifications (4.3.3):
- react-native-notifications (4.3.5):
- React-Core
- react-native-paste-input (0.6.2):
- React-Core
- Swime (= 3.0.6)
- react-native-safe-area-context (4.5.1):
- react-native-safe-area-context (4.5.3):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
@ -398,115 +398,115 @@ PODS:
- react-native-video/Video (= 5.2.1)
- react-native-video/Video (5.2.1):
- React-Core
- react-native-webrtc (111.0.0):
- react-native-webrtc (111.0.1):
- JitsiWebRTC (~> 111.0.0)
- React-Core
- react-native-webview (12.0.2):
- react-native-webview (13.2.2):
- React-Core
- React-perflogger (0.71.7)
- React-RCTActionSheet (0.71.7):
- React-Core/RCTActionSheetHeaders (= 0.71.7)
- React-RCTAnimation (0.71.7):
- React-perflogger (0.71.11)
- React-RCTActionSheet (0.71.11):
- React-Core/RCTActionSheetHeaders (= 0.71.11)
- React-RCTAnimation (0.71.11):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7)
- React-Codegen (= 0.71.7)
- React-Core/RCTAnimationHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTAppDelegate (0.71.7):
- RCTTypeSafety (= 0.71.11)
- React-Codegen (= 0.71.11)
- React-Core/RCTAnimationHeaders (= 0.71.11)
- React-jsi (= 0.71.11)
- ReactCommon/turbomodule/core (= 0.71.11)
- React-RCTAppDelegate (0.71.11):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-Core
- ReactCommon/turbomodule/core
- React-RCTBlob (0.71.7):
- React-RCTBlob (0.71.11):
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.71.7)
- React-Core/RCTBlobHeaders (= 0.71.7)
- React-Core/RCTWebSocket (= 0.71.7)
- React-jsi (= 0.71.7)
- React-RCTNetwork (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTImage (0.71.7):
- React-Codegen (= 0.71.11)
- React-Core/RCTBlobHeaders (= 0.71.11)
- React-Core/RCTWebSocket (= 0.71.11)
- React-jsi (= 0.71.11)
- React-RCTNetwork (= 0.71.11)
- ReactCommon/turbomodule/core (= 0.71.11)
- React-RCTImage (0.71.11):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7)
- React-Codegen (= 0.71.7)
- React-Core/RCTImageHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- React-RCTNetwork (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTLinking (0.71.7):
- React-Codegen (= 0.71.7)
- React-Core/RCTLinkingHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTNetwork (0.71.7):
- RCTTypeSafety (= 0.71.11)
- React-Codegen (= 0.71.11)
- React-Core/RCTImageHeaders (= 0.71.11)
- React-jsi (= 0.71.11)
- React-RCTNetwork (= 0.71.11)
- ReactCommon/turbomodule/core (= 0.71.11)
- React-RCTLinking (0.71.11):
- React-Codegen (= 0.71.11)
- React-Core/RCTLinkingHeaders (= 0.71.11)
- React-jsi (= 0.71.11)
- ReactCommon/turbomodule/core (= 0.71.11)
- React-RCTNetwork (0.71.11):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7)
- React-Codegen (= 0.71.7)
- React-Core/RCTNetworkHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTSettings (0.71.7):
- RCTTypeSafety (= 0.71.11)
- React-Codegen (= 0.71.11)
- React-Core/RCTNetworkHeaders (= 0.71.11)
- React-jsi (= 0.71.11)
- ReactCommon/turbomodule/core (= 0.71.11)
- React-RCTSettings (0.71.11):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.71.7)
- React-Codegen (= 0.71.7)
- React-Core/RCTSettingsHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-RCTText (0.71.7):
- React-Core/RCTTextHeaders (= 0.71.7)
- React-RCTVibration (0.71.7):
- RCTTypeSafety (= 0.71.11)
- React-Codegen (= 0.71.11)
- React-Core/RCTSettingsHeaders (= 0.71.11)
- React-jsi (= 0.71.11)
- ReactCommon/turbomodule/core (= 0.71.11)
- React-RCTText (0.71.11):
- React-Core/RCTTextHeaders (= 0.71.11)
- React-RCTVibration (0.71.11):
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.71.7)
- React-Core/RCTVibrationHeaders (= 0.71.7)
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/core (= 0.71.7)
- React-runtimeexecutor (0.71.7):
- React-jsi (= 0.71.7)
- ReactCommon/turbomodule/bridging (0.71.7):
- React-Codegen (= 0.71.11)
- React-Core/RCTVibrationHeaders (= 0.71.11)
- React-jsi (= 0.71.11)
- ReactCommon/turbomodule/core (= 0.71.11)
- React-runtimeexecutor (0.71.11):
- React-jsi (= 0.71.11)
- ReactCommon/turbomodule/bridging (0.71.11):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.71.7)
- React-Core (= 0.71.7)
- React-cxxreact (= 0.71.7)
- React-jsi (= 0.71.7)
- React-logger (= 0.71.7)
- React-perflogger (= 0.71.7)
- ReactCommon/turbomodule/core (0.71.7):
- React-callinvoker (= 0.71.11)
- React-Core (= 0.71.11)
- React-cxxreact (= 0.71.11)
- React-jsi (= 0.71.11)
- React-logger (= 0.71.11)
- React-perflogger (= 0.71.11)
- ReactCommon/turbomodule/core (0.71.11):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.71.7)
- React-Core (= 0.71.7)
- React-cxxreact (= 0.71.7)
- React-jsi (= 0.71.7)
- React-logger (= 0.71.7)
- React-perflogger (= 0.71.7)
- React-callinvoker (= 0.71.11)
- React-Core (= 0.71.11)
- React-cxxreact (= 0.71.11)
- React-jsi (= 0.71.11)
- React-logger (= 0.71.11)
- React-perflogger (= 0.71.11)
- ReactNativeExceptionHandler (2.10.10):
- React-Core
- ReactNativeIncallManager (4.0.1):
- React-Core
- ReactNativeKeyboardTrackingView (5.7.0):
- React
- ReactNativeNavigation (7.32.1):
- ReactNativeNavigation (7.33.4):
- HMSegmentedControl
- React-Core
- React-RCTImage
- React-RCTText
- ReactNativeNavigation/Core (= 7.32.1)
- ReactNativeNavigation/Core (7.32.1):
- ReactNativeNavigation/Core (= 7.33.4)
- ReactNativeNavigation/Core (7.33.4):
- HMSegmentedControl
- React-Core
- React-RCTImage
- React-RCTText
- RNCClipboard (1.11.2):
- React-Core
- RNDateTimePicker (7.0.1):
- RNDateTimePicker (7.1.0):
- React-Core
- RNDeviceInfo (10.6.0):
- React-Core
@ -518,21 +518,22 @@ PODS:
- React-Core
- RNFS (2.20.0):
- React-Core
- RNGestureHandler (2.9.0):
- RNGestureHandler (2.12.0):
- React-Core
- RNKeychain (8.1.1):
- React-Core
- RNLocalize (2.2.6):
- RNLocalize (3.0.0):
- React-Core
- RNPermissions (3.8.0):
- React-Core
- RNReactNativeHapticFeedback (2.0.3):
- React-Core
- RNReanimated (3.1.0):
- RNReanimated (3.3.0):
- DoubleConversion
- FBLazyVector
- FBReactNativeSpec
- glog
- hermes-engine
- RCT-Folly
- RCTRequired
- RCTTypeSafety
@ -542,6 +543,7 @@ PODS:
- React-Core/RCTWebSocket
- React-CoreModules
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- React-jsinspector
@ -555,15 +557,15 @@ PODS:
- React-RCTText
- ReactCommon/turbomodule/core
- Yoga
- RNRudderSdk (1.7.0):
- RNRudderSdk (1.7.1):
- React
- Rudder (~> 1.13)
- RNScreens (3.20.0):
- RNScreens (3.21.0):
- React-Core
- React-RCTImage
- RNSentry (5.3.1):
- RNSentry (5.6.0):
- React-Core
- Sentry/HybridSDK (= 8.4.0)
- Sentry/HybridSDK (= 8.7.3)
- RNShare (8.2.2):
- React-Core
- RNSVG (13.9.0):
@ -577,17 +579,17 @@ PODS:
- SDWebImageWebPCoder (0.8.5):
- libwebp (~> 1.0)
- SDWebImage/Core (~> 5.10)
- Sentry/HybridSDK (8.4.0):
- SentryPrivate (= 8.4.0)
- SentryPrivate (8.4.0)
- simdjson (1.0.0)
- Sentry/HybridSDK (8.7.3):
- SentryPrivate (= 8.7.3)
- SentryPrivate (8.7.3)
- simdjson (3.1.0-wmelon1)
- SocketRocket (0.6.0)
- Starscream (4.0.4)
- SwiftyJSON (5.0.1)
- Swime (3.0.6)
- WatermelonDB (0.25.5):
- WatermelonDB (0.26.0):
- React
- React-jsi
- simdjson
- Yoga (1.14.0)
- YogaKit (1.18.1):
- Yoga (~> 1.14)
@ -900,12 +902,12 @@ CHECKOUT OPTIONS:
SPEC CHECKSUMS:
Alamofire: 4e95d97098eacb88856099c4fc79b526a299e48c
boost: 57d2868c099736d80fcd648bf211b4431e51a558
BVLinearGradient: 34a999fda29036898a09c6a6b728b0b4189e1a44
BVLinearGradient: 252e4a39d23d69d2d89b55b165c8900f7caf93fc
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
CocoaLumberjack: 78abfb691154e2a9df8ded4350d504ee19d90732
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: a89a0525bc7ca174675045c2b492b5280d5a2470
FBReactNativeSpec: 7714e6bc1e9ea23df6c4cb42f0b2fd9c6a3a559c
FBLazyVector: c511d4cd0210f416cb5c289bd5ae6b36d909b048
FBReactNativeSpec: a911fb22def57aef1d74215e8b6b8761d25c1c54
Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0
Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c
Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30
@ -917,7 +919,7 @@ SPEC CHECKSUMS:
FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
hermes-engine: 4438d2b8bf8bebaba1b1ac0451160bab59e491f8
hermes-engine: 34c863b446d0135b85a6536fa5fd89f48196f848
HMSegmentedControl: 34c1f54d822d8308e7b24f5d901ec674dfa31352
jail-monkey: a71b35d482a70ecba844a90f002994012cf12a5d
JitsiWebRTC: 80f62908fcf2a1160e0d14b584323fb6e6be630b
@ -926,86 +928,86 @@ SPEC CHECKSUMS:
mattermost-react-native-turbo-log: a00b39dafdef7905164110466e7d725f6f079751
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
RCTRequired: 5a4a30ac20c86eeadd6844a9328f78d4168cf9b2
RCTTypeSafety: 279fc5861a89f0f37db3a585f27f971485b4b734
React: 88307a9be3bd0e71a6822271cf28b84a587fb97f
React-callinvoker: 35fb980c454104ebe82f0afb9826830089248e08
React-Codegen: a8dbde3b7476d5c19437d2adb9e8ea1b426b9595
React-Core: 385cb6fa78762c6409ff39faeb0dd9ad664b6e84
React-CoreModules: c2b7db313b04d9b71954ffd55d0c2e46bc40e9fb
React-cxxreact: 845fefb889132e5d004ff818f7a599e32c52e7d6
React-hermes: 86135f35e1dd2dfccfb97afe96d0c06f6a3970c4
React-jsc: a2ee2ef9564e9157980fa81e587797e97b582f36
React-jsi: 39c116aa6c3d6f3d9874eff6998a670b47882a28
React-jsiexecutor: eaa5f71eb8f6861cf0e57f1a0f52aeb020d9e18e
React-jsinspector: 9885f6f94d231b95a739ef7bb50536fb87ce7539
React-logger: 3f8ebad1be1bf3299d1ab6d7f971802d7395c7ef
RCTRequired: f6187ec763637e6a57f5728dd9a3bdabc6d6b4e0
RCTTypeSafety: a01aca2dd3b27fa422d5239252ad38e54e958750
React: 741b4f5187e7a2137b69c88e65f940ba40600b4b
React-callinvoker: 72ba74b2d5d690c497631191ae6eeca0c043d9cf
React-Codegen: 8a7cda1633e4940de8a710f6bf5cae5dd673546e
React-Core: 72bb19702c465b6451a40501a2879532bec9acee
React-CoreModules: ffd19b082fc36b9b463fedf30955138b5426c053
React-cxxreact: 8b3dd87e3b8ea96dd4ad5c7bac8f31f1cc3da97f
React-hermes: be95942c3f47fc032da1387360413f00dae0ea68
React-jsc: 75bfda40ea4032b5018875355ab5ee089ac748bf
React-jsi: 9978e2a64c2a4371b40e109f4ef30a33deaa9bcb
React-jsiexecutor: 18b5b33c5f2687a784a61bc8176611b73524ae77
React-jsinspector: b6ed4cb3ffa27a041cd440300503dc512b761450
React-logger: 186dd536128ae5924bc38ed70932c00aa740cd5b
react-native-background-timer: 17ea5e06803401a379ebf1f20505b793ac44d0fe
react-native-cameraroll: f3050460fe1708378698c16686bfaa5f34099be2
react-native-cameraroll: 755bcc628148a90a7c9cf3f817a252be3a601bc5
react-native-cookies: f54fcded06bb0cda05c11d86788020b43528a26c
react-native-create-thumbnail: e022bcdcba8a0b4529a50d3fa1a832ec921be39d
react-native-document-picker: 495c444c0c773c6e83a5d91165890ecb1c0a399a
react-native-document-picker: 2b8f18667caee73a96708a82b284a4f40b30a156
react-native-emm: 5aaacd33453894ec64b9c774f735b6bf1a92b89f
react-native-hw-keyboard-event: b517cefb8d5c659a38049c582de85ff43337dc53
react-native-image-picker: ec9b713e248760bfa0f879f0715391de4651a7cb
react-native-image-picker: 77f552291e993f3fdcdf48cc3c280ef7f11789c8
react-native-in-app-review: db8bb167a5f238e7ceca5c242d6b36ce8c4404a4
react-native-netinfo: 22c082970cbd99071a4e5aa7a612ac20d66b08f0
react-native-netinfo: ccbe1085dffd16592791d550189772e13bf479e2
react-native-network-client: 35acc439782ee71000497961f624d085f5a7abbb
react-native-notifications: 83b4fd4a127a6c918fc846cae90da60f84819e44
react-native-notifications: 504143d59f9628c3b0c22fd0ccf34b65b9182d01
react-native-paste-input: 3392800944a47c00dddbff23c31c281482209679
react-native-safe-area-context: f5549f36508b1b7497434baa0cd97d7e470920d4
react-native-safe-area-context: b8979f5eda6ed5903d4dbc885be3846ea3daa753
react-native-video: c26780b224543c62d5e1b2a7244a5cd1b50e8253
react-native-webrtc: a9d4d8ef61adb634e006ffd956c494ad8318d95c
react-native-webview: 203b6a1c7507737f777c91d7e10c30e7e67c1a17
React-perflogger: 2d505bbe298e3b7bacdd9e542b15535be07220f6
React-RCTActionSheet: 0e96e4560bd733c9b37efbf68f5b1a47615892fb
React-RCTAnimation: fd138e26f120371c87e406745a27535e2c8a04ef
React-RCTAppDelegate: 4a9fd1230a98dc3d4382f8a934dc9f50834d8335
React-RCTBlob: 38a7185f06a0ce8153a023e63b406a28d67b955d
React-RCTImage: 92b0966e7c1cadda889e961c474397ad5180e194
React-RCTLinking: b80f8d0c6e94c54294b0048def51f57eaa9a27af
React-RCTNetwork: 491b0c65ac22edbd6695d12d084b4943103b009b
React-RCTSettings: 97af3e8abe0023349ec015910df3bda1a0380117
React-RCTText: 33c85753bd714d527d2ae538dc56ec24c6783d84
React-RCTVibration: 08f132cad9896458776f37c112e71d60aef1c6ae
React-runtimeexecutor: c5c89f8f543842dd864b63ded1b0bbb9c9445328
ReactCommon: dbfbe2f7f3c5ce4ce44f43f2fd0d5950d1eb67c5
react-native-webrtc: 2702afae1e59882b423e6077768ca0d1e6fc42ed
react-native-webview: b8ec89966713985111a14d6e4bf98d8b54bced0d
React-perflogger: e706562ab7eb8eb590aa83a224d26fa13963d7f2
React-RCTActionSheet: 57d4bd98122f557479a3359ad5dad8e109e20c5a
React-RCTAnimation: ccf3ef00101ea74bda73a045d79a658b36728a60
React-RCTAppDelegate: d0c28a35c65e9a0aef287ac0dafe1b71b1ac180c
React-RCTBlob: 1700b92ece4357af0a49719c9638185ad2902e95
React-RCTImage: f2e4904566ccccaa4b704170fcc5ae144ca347bf
React-RCTLinking: 52a3740e3651e30aa11dff5a6debed7395dd8169
React-RCTNetwork: ea0976f2b3ffc7877cd7784e351dc460adf87b12
React-RCTSettings: ed5ac992b23e25c65c3cc31f11b5c940ae5e3e60
React-RCTText: c9dfc6722621d56332b4f3a19ac38105e7504145
React-RCTVibration: f09f08de63e4122deb32506e20ca4cae6e4e14c1
React-runtimeexecutor: 4817d63dbc9d658f8dc0ec56bd9b83ce531129f0
ReactCommon: 08723d2ed328c5cbcb0de168f231bc7bae7f8aa1
ReactNativeExceptionHandler: b11ff67c78802b2f62eed0e10e75cb1ef7947c60
ReactNativeIncallManager: 0d2cf9f4d50359728a30c08549762fe67a2efb81
ReactNativeKeyboardTrackingView: 02137fac3b2ebd330d74fa54ead48b14750a2306
ReactNativeNavigation: d79d9d53e6025851936bb8b3d13760b86302a669
ReactNativeNavigation: ae5df546dc2b8ada3b09385cf83177318e8c9429
RNCClipboard: 3f0451a8100393908bea5c5c5b16f96d45f30bfc
RNDateTimePicker: e073697ac3e8a378968d68ab0581fef542b8af8a
RNDateTimePicker: 7ecd54a97fc3749f38c3c89a171f6cbd52f3c142
RNDeviceInfo: 475a4c447168d0ad4c807e48ef5e0963a0f4eb1b
RNFastImage: 0ee8f7e39df8190d3ca3a5b0c4ea0109c0ff132e
RNFileViewer: ce7ca3ac370e18554d35d6355cffd7c30437c592
RNFS: 4ac0f0ea233904cb798630b3c077808c06931688
RNGestureHandler: 071d7a9ad81e8b83fe7663b303d132406a7d8f39
RNGestureHandler: dec4645026e7401a0899f2846d864403478ff6a5
RNKeychain: ff836453cba46938e0e9e4c22e43d43fa2c90333
RNLocalize: d4b8af4e442d4bcca54e68fc687a2129b4d71a81
RNLocalize: 5944c97d2fe8150913a51ddd5eab4e23a82bd80d
RNPermissions: cf3a9da0e6e6772e66282ca7338e198885ac70e7
RNReactNativeHapticFeedback: afa5bf2794aecbb2dba2525329253da0d66656df
RNReanimated: b1220a0e5168745283ff5d53bfc7d2144b2cee1b
RNRudderSdk: 3b9251e2379775b10078cc7ed6ea59d5262ddff3
RNScreens: 218801c16a2782546d30bd2026bb625c0302d70f
RNSentry: 68d5b2339fc7cd864e8076279345cc90174fa583
RNReanimated: 9976fbaaeb8a188c36026154c844bf374b3b7eeb
RNRudderSdk: 70865f8d0746d7e78e27df98c148d1ca0205c551
RNScreens: d037903436160a4b039d32606668350d2a808806
RNSentry: 9f0447b3ce13806f544903748de423259ead8552
RNShare: d82e10f6b7677f4b0048c23709bd04098d5aee6c
RNSVG: 53c661b76829783cdaf9b7a57258f3d3b4c28315
RNVectorIcons: fcc2f6cb32f5735b586e66d14103a74ce6ad61f8
Rudder: 41040d4537a178e4e32477b68400f98ca0c354eb
SDWebImage: a47aea9e3d8816015db4e523daff50cfd294499d
SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d
Sentry: 16d46dd5ca10e7f4469a2611805a3de123188add
SentryPrivate: 2bb4f8d9ff558b25ac70b66c1dedc58a7c43630b
simdjson: c96317b3a50dff3468a42f586ab7ed22c6ab2fd9
Sentry: c7a86f43510a7d5678d4de28d78c28ab351d295b
SentryPrivate: 2eaabf598a46d4b9b8822aef766df2a84caf2e6f
simdjson: e6bfae9ce4bcdc80452d388d593816f1ca2106f3
SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
Starscream: 5178aed56b316f13fa3bc55694e583d35dd414d9
SwiftyJSON: 2f33a42c6fbc52764d96f13368585094bfd8aa5e
Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b
WatermelonDB: 6ae836b52d11281d87187ff2283480e44b111771
Yoga: d56980c8914db0b51692f55533409e844b66133c
WatermelonDB: cd71a1085182aca9e5d2164b7af9ef2a3aaca571
Yoga: f7decafdc5e8c125e6fa0da38a687e35238420fa
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: 980bb39822b2de4def552692a288a1913387b1fb
PODFILE CHECKSUM: 25f07cb9e5eed8c84db8e8723000e8470c349058
COCOAPODS: 1.11.3

7400
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -7,13 +7,13 @@
"license": "Apache 2.0",
"private": true,
"dependencies": {
"@formatjs/intl-datetimeformat": "6.7.0",
"@formatjs/intl-getcanonicallocales": "2.1.0",
"@formatjs/intl-locale": "3.2.1",
"@formatjs/intl-numberformat": "8.4.1",
"@formatjs/intl-pluralrules": "5.2.1",
"@formatjs/intl-relativetimeformat": "11.2.1",
"@gorhom/bottom-sheet": "4.4.5",
"@formatjs/intl-datetimeformat": "6.10.0",
"@formatjs/intl-getcanonicallocales": "2.2.1",
"@formatjs/intl-locale": "3.3.2",
"@formatjs/intl-numberformat": "8.7.0",
"@formatjs/intl-pluralrules": "5.2.4",
"@formatjs/intl-relativetimeformat": "11.2.4",
"@gorhom/bottom-sheet": "4.4.7",
"@mattermost/calls": "github:mattermost/calls-common#v0.14.0",
"@mattermost/compass-icons": "0.1.36",
"@mattermost/react-native-emm": "1.3.5",
@ -21,132 +21,132 @@
"@mattermost/react-native-paste-input": "0.6.2",
"@mattermost/react-native-turbo-log": "0.2.3",
"@msgpack/msgpack": "2.8.0",
"@nozbe/watermelondb": "0.25.5",
"@nozbe/with-observables": "1.4.1",
"@react-native-camera-roll/camera-roll": "5.3.1",
"@nozbe/watermelondb": "0.26.0",
"@nozbe/with-observables": "1.6.0",
"@react-native-camera-roll/camera-roll": "5.6.0",
"@react-native-clipboard/clipboard": "1.11.2",
"@react-native-community/datetimepicker": "7.0.1",
"@react-native-community/netinfo": "9.3.9",
"@react-native-community/datetimepicker": "7.1.0",
"@react-native-community/netinfo": "9.3.10",
"@react-native-cookies/cookies": "6.2.1",
"@react-navigation/bottom-tabs": "6.5.7",
"@react-navigation/native": "6.1.6",
"@react-navigation/stack": "6.3.16",
"@rudderstack/rudder-sdk-react-native": "1.7.0",
"@sentry/react-native": "5.3.1",
"@stream-io/flat-list-mvcp": "0.10.2",
"@rudderstack/rudder-sdk-react-native": "1.7.1",
"@sentry/react-native": "5.6.0",
"@stream-io/flat-list-mvcp": "0.10.3",
"base-64": "1.0.0",
"commonmark": "npm:@mattermost/commonmark@0.30.1-0",
"commonmark-react-renderer": "github:mattermost/commonmark-react-renderer#2c660491041f7595f6ce5a05f6dc2e30ca769d3a",
"deep-equal": "2.2.0",
"deep-equal": "2.2.1",
"deepmerge": "4.3.1",
"emoji-regex": "10.2.1",
"fuse.js": "6.6.2",
"html-entities": "2.3.3",
"html-entities": "2.3.6",
"jail-monkey": "2.8.0",
"mime-db": "1.52.0",
"moment-timezone": "0.5.43",
"pako": "2.1.0",
"react": "18.2.0",
"react-freeze": "1.0.3",
"react-intl": "6.4.1",
"react-native": "0.71.7",
"react-intl": "6.4.4",
"react-native": "0.71.11",
"react-native-android-open-settings": "1.3.0",
"react-native-background-timer": "2.4.1",
"react-native-button": "3.0.1",
"react-native-calendars": "1.1295.0",
"react-native-button": "3.1.0",
"react-native-calendars": "1.1298.0",
"react-native-create-thumbnail": "1.6.4",
"react-native-device-info": "10.6.0",
"react-native-document-picker": "8.2.0",
"react-native-document-picker": "9.0.1",
"react-native-dotenv": "3.4.8",
"react-native-elements": "3.4.3",
"react-native-exception-handler": "2.10.10",
"react-native-fast-image": "8.6.3",
"react-native-file-viewer": "2.1.5",
"react-native-fs": "2.20.0",
"react-native-gesture-handler": "2.9.0",
"react-native-gesture-handler": "2.12.0",
"react-native-haptic-feedback": "2.0.3",
"react-native-hw-keyboard-event": "0.0.4",
"react-native-image-picker": "5.3.1",
"react-native-image-picker": "5.4.2",
"react-native-in-app-review": "4.3.3",
"react-native-incall-manager": "4.0.1",
"react-native-keyboard-aware-scroll-view": "0.9.5",
"react-native-keyboard-tracking-view": "5.7.0",
"react-native-keychain": "8.1.1",
"react-native-linear-gradient": "2.6.2",
"react-native-localize": "2.2.6",
"react-native-linear-gradient": "2.7.2",
"react-native-localize": "3.0.0",
"react-native-math-view": "3.9.5",
"react-native-navigation": "7.32.1",
"react-native-notifications": "4.3.3",
"react-native-navigation": "7.33.4",
"react-native-notifications": "4.3.5",
"react-native-permissions": "3.8.0",
"react-native-reanimated": "3.1.0",
"react-native-safe-area-context": "4.5.1",
"react-native-screens": "3.20.0",
"react-native-reanimated": "3.3.0",
"react-native-safe-area-context": "4.5.3",
"react-native-screens": "3.21.0",
"react-native-section-list-get-item-layout": "2.2.3",
"react-native-shadow-2": "7.0.7",
"react-native-shadow-2": "7.0.8",
"react-native-share": "8.2.2",
"react-native-svg": "13.9.0",
"react-native-vector-icons": "9.2.0",
"react-native-video": "5.2.1",
"react-native-walkthrough-tooltip": "1.5.0",
"react-native-webrtc": "111.0.0",
"react-native-webview": "12.0.2",
"react-native-webrtc": "111.0.1",
"react-native-webview": "13.2.2",
"react-syntax-highlighter": "15.5.0",
"readable-stream": "3.6.0",
"semver": "7.5.0",
"semver": "7.5.2",
"serialize-error": "11.0.0",
"shallow-equals": "1.0.0",
"tinycolor2": "1.6.0",
"url-parse": "1.5.10"
},
"devDependencies": {
"@babel/cli": "7.21.0",
"@babel/core": "7.21.4",
"@babel/eslint-parser": "7.21.3",
"@babel/cli": "7.22.5",
"@babel/core": "7.22.5",
"@babel/eslint-parser": "7.22.5",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.21.0",
"@babel/plugin-transform-flow-strip-types": "7.21.0",
"@babel/plugin-transform-runtime": "7.21.4",
"@babel/preset-env": "7.21.4",
"@babel/preset-typescript": "7.21.4",
"@babel/register": "7.21.0",
"@babel/runtime": "7.21.0",
"@babel/plugin-proposal-decorators": "7.22.5",
"@babel/plugin-transform-flow-strip-types": "7.22.5",
"@babel/plugin-transform-runtime": "7.22.5",
"@babel/preset-env": "7.22.5",
"@babel/preset-typescript": "7.22.5",
"@babel/register": "7.22.5",
"@babel/runtime": "7.22.5",
"@react-native-community/eslint-config": "3.2.0",
"@testing-library/react-hooks": "8.0.1",
"@testing-library/react-native": "12.0.1",
"@testing-library/react-native": "12.1.2",
"@types/base-64": "1.0.0",
"@types/commonmark": "0.27.6",
"@types/commonmark-react-renderer": "4.3.1",
"@types/deep-equal": "1.0.1",
"@types/jest": "29.5.1",
"@types/lodash": "4.14.194",
"@types/jest": "29.5.2",
"@types/lodash": "4.14.195",
"@types/mime-db": "1.43.1",
"@types/pako": "2.0.0",
"@types/querystringify": "2.0.0",
"@types/react": "18.0.37",
"@types/react": "18.2.12",
"@types/react-native-background-timer": "2.0.0",
"@types/react-native-button": "3.0.1",
"@types/react-native-dotenv": "0.2.0",
"@types/react-native-share": "3.3.3",
"@types/react-native-video": "5.0.14",
"@types/react-syntax-highlighter": "15.5.6",
"@types/react-syntax-highlighter": "15.5.7",
"@types/react-test-renderer": "18.0.0",
"@types/readable-stream": "2.3.15",
"@types/semver": "7.3.13",
"@types/semver": "7.5.0",
"@types/shallow-equals": "1.0.0",
"@types/tinycolor2": "1.4.3",
"@types/tough-cookie": "4.0.2",
"@types/url-parse": "1.4.8",
"@types/uuid": "9.0.1",
"@typescript-eslint/eslint-plugin": "5.59.0",
"@typescript-eslint/parser": "5.59.0",
"axios": "1.3.6",
"@types/uuid": "9.0.2",
"@typescript-eslint/eslint-plugin": "5.59.11",
"@typescript-eslint/parser": "5.59.11",
"axios": "1.4.0",
"axios-cookiejar-support": "4.0.6",
"babel-jest": "29.5.0",
"babel-loader": "9.1.2",
"babel-plugin-module-resolver": "5.0.0",
"deep-freeze": "0.0.1",
"detox": "20.7.0",
"eslint": "8.38.0",
"detox": "20.9.1",
"eslint": "8.42.0",
"eslint-plugin-header": "3.1.1",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-jest": "27.2.1",
@ -157,17 +157,17 @@
"jest": "29.5.0",
"jest-cli": "29.5.0",
"jetifier": "2.0.0",
"metro-react-native-babel-preset": "0.76.2",
"metro-react-native-babel-preset": "0.76.6",
"mmjstool": "github:mattermost/mattermost-utilities#e65ab00f22628cbdee736fd2e4f192f07225e82d",
"mock-async-storage": "2.2.0",
"nock": "13.3.0",
"patch-package": "6.5.1",
"react-devtools-core": "4.27.6",
"nock": "13.3.1",
"patch-package": "7.0.0",
"react-devtools-core": "4.27.8",
"react-native-svg-transformer": "1.0.0",
"react-test-renderer": "18.2.0",
"tough-cookie": "4.1.2",
"tough-cookie": "4.1.3",
"ts-jest": "29.1.0",
"typescript": "5.0.4",
"typescript": "5.1.3",
"underscore": "1.13.6",
"util": "0.12.5",
"uuid": "9.0.0"

View file

@ -1,187 +0,0 @@
diff --git a/node_modules/@nozbe/watermelondb/Database/index.js b/node_modules/@nozbe/watermelondb/Database/index.js
index 8d71c6f..7a4b570 100644
--- a/node_modules/@nozbe/watermelondb/Database/index.js
+++ b/node_modules/@nozbe/watermelondb/Database/index.js
@@ -91,7 +91,9 @@ var Database = /*#__PURE__*/function () {
if (!preparedState) {
(0, _common.invariant)('disposable' !== record._raw._status, "Cannot batch a disposable record");
- throw new Error("Cannot batch a record that doesn't have a prepared create/update/delete");
+ //throw new Error("Cannot batch a record that doesn't have a prepared create/update/delete");
+ console.debug('Trying to batch a record with no prepared state on table', record.constructor.table)
+ return;
}
var raw = record._raw;
@@ -126,6 +128,10 @@ var Database = /*#__PURE__*/function () {
// subsequent changes to the record don't trip up the invariant
// TODO: What if this fails?
record._preparedState = null;
+
+ if ('update' === preparedState) {
+ record.__original = null;
+ }
}
if (!changeNotifications[table]) {
diff --git a/node_modules/@nozbe/watermelondb/Model/index.d.ts b/node_modules/@nozbe/watermelondb/Model/index.d.ts
index 96114ec..ecfe3c1 100644
--- a/node_modules/@nozbe/watermelondb/Model/index.d.ts
+++ b/node_modules/@nozbe/watermelondb/Model/index.d.ts
@@ -61,6 +61,8 @@ export default class Model {
// database.batch()
prepareUpdate(recordUpdater?: (_: this) => void): this
+ cancelPrepareUpdate(): void
+
prepareMarkAsDeleted(): this
prepareDestroyPermanently(): this
diff --git a/node_modules/@nozbe/watermelondb/Model/index.js b/node_modules/@nozbe/watermelondb/Model/index.js
index b0e3a83..d5e730c 100644
--- a/node_modules/@nozbe/watermelondb/Model/index.js
+++ b/node_modules/@nozbe/watermelondb/Model/index.js
@@ -81,7 +81,17 @@ var Model = /*#__PURE__*/function () {
_proto.prepareUpdate = function prepareUpdate(recordUpdater = _noop.default) {
var _this = this;
- (0, _invariant.default)(!this._preparedState, "Cannot update a record with pending changes");
+ if ('deleted' === this._raw._status) {
+ console.debug("Updating a deleted record in table " + _this.table)
+ return this;
+ }
+
+ //(0, _invariant.default)(!this._preparedState, "Cannot update a record with pending changes");
+ if (this._preparedState) {
+ console.debug("Updating a record with pending changes in table " + _this.table)
+ } else {
+ this.__original = Object.assign({}, this._raw);
+ }
this.__ensureNotDisposable("Model.prepareUpdate()");
@@ -91,7 +101,6 @@ var Model = /*#__PURE__*/function () {
this._setRaw((0, _Schema.columnName)('updated_at'), Date.now());
} // Perform updates
-
(0, _ensureSync.default)(recordUpdater(this));
this._isEditing = false;
this._preparedState = 'update'; // TODO: `process.nextTick` doesn't work on React Native
@@ -107,6 +116,21 @@ var Model = /*#__PURE__*/function () {
return this;
};
+ _proto.cancelPrepareUpdate = function cancelPrepareUpdate() {
+ var _this = this;
+
+ if ('test' !== process.env.NODE_ENV && 'undefined' !== typeof process && process) {
+ (0, _invariant.default)('update' === _this._preparedState, "Cannot cancel an update on a model that has not been prepared in table " + _this.table);
+ }
+ this.__changes = null;
+ this._preparedState = null;
+ if (this.__original) {
+ this._raw = this.__original;
+ }
+ this.__original = undefined;
+ };
+
+
_proto.prepareMarkAsDeleted = function prepareMarkAsDeleted() {
(0, _invariant.default)(!this._preparedState, "Cannot mark a record with pending changes as deleted");
@@ -118,7 +142,10 @@ var Model = /*#__PURE__*/function () {
};
_proto.prepareDestroyPermanently = function prepareDestroyPermanently() {
- (0, _invariant.default)(!this._preparedState, "Cannot destroy permanently a record with pending changes");
+ //(0, _invariant.default)(!this._preparedState, "Cannot destroy permanently a record with pending changes");
+ if (this._preparedState) {
+ console.debug("Deleting a record with pending changes in table " + this.table);
+ }
this.__ensureNotDisposable("Model.prepareDestroyPermanently()");
diff --git a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt
index ca31e20..764519f 100644
--- a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt
+++ b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt
@@ -11,7 +11,7 @@ import java.io.File
class Database(
private val name: String,
private val context: Context,
- private val openFlags: Int = SQLiteDatabase.CREATE_IF_NECESSARY or SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING
+ private val openFlags: Int = SQLiteDatabase.CREATE_IF_NECESSARY
) {
private val db: SQLiteDatabase by lazy {
@@ -22,6 +22,21 @@ class Database(
if (name == ":memory:" || name.contains("mode=memory")) {
context.cacheDir.delete()
File(context.cacheDir, name).path
+ } else if (name.contains("/") || name.contains("file")) {
+ // Extracts the database name from the path
+ val dbName = name.substringAfterLast("/")
+
+ // Extracts the real path where the *.db file will be created
+ val truePath = name.substringAfterLast("file://").substringBeforeLast("/")
+
+ // Creates the directory
+ if (!truePath.contains("databases")) {
+ val fileObj = File(truePath, "databases")
+ fileObj.mkdir()
+ File("${truePath}/databases", dbName).path
+ } else {
+ File(truePath, dbName).path
+ }
} else {
// On some systems there is some kind of lock on `/databases` folder ¯\_(ツ)_/¯
context.getDatabasePath("$name.db").path.replace("/databases", "")
diff --git a/node_modules/@nozbe/watermelondb/native/shared/Database.cpp b/node_modules/@nozbe/watermelondb/native/shared/Database.cpp
index 1a1cabf..c4459c8 100644
--- a/node_modules/@nozbe/watermelondb/native/shared/Database.cpp
+++ b/node_modules/@nozbe/watermelondb/native/shared/Database.cpp
@@ -21,7 +21,7 @@ Database::Database(jsi::Runtime *runtime, std::string path, bool usesExclusiveLo
executeMultiple("pragma temp_store = memory;");
#endif
- executeMultiple("pragma journal_mode = WAL;");
+// executeMultiple("pragma journal_mode = WAL;");
#ifdef ANDROID
// NOTE: This was added in an attempt to fix mysterious `database disk image is malformed` issue when using
@@ -54,6 +54,7 @@ void Database::destroy() {
const std::lock_guard<std::mutex> lock(mutex_);
if (isDestroyed_) {
+ db_->markAsDestroyed();
return;
}
isDestroyed_ = true;
diff --git a/node_modules/@nozbe/watermelondb/native/shared/Sqlite.cpp b/node_modules/@nozbe/watermelondb/native/shared/Sqlite.cpp
index e740c29..6963734 100644
--- a/node_modules/@nozbe/watermelondb/native/shared/Sqlite.cpp
+++ b/node_modules/@nozbe/watermelondb/native/shared/Sqlite.cpp
@@ -67,6 +67,10 @@ void SqliteDb::destroy() {
}
}
+void SqliteDb::markAsDestroyed() {
+ isDestroyed_ = true;
+}
+
SqliteDb::~SqliteDb() {
destroy();
}
diff --git a/node_modules/@nozbe/watermelondb/native/shared/Sqlite.h b/node_modules/@nozbe/watermelondb/native/shared/Sqlite.h
index 22cffa7..4b74a7f 100644
--- a/node_modules/@nozbe/watermelondb/native/shared/Sqlite.h
+++ b/node_modules/@nozbe/watermelondb/native/shared/Sqlite.h
@@ -11,6 +11,7 @@ public:
SqliteDb(std::string path);
~SqliteDb();
void destroy();
+ void markAsDestroyed();
sqlite3 *sqlite;

View file

@ -0,0 +1,245 @@
diff --git a/node_modules/@nozbe/watermelondb/Database/index.js b/node_modules/@nozbe/watermelondb/Database/index.js
index fa82516..97ba290 100644
--- a/node_modules/@nozbe/watermelondb/Database/index.js
+++ b/node_modules/@nozbe/watermelondb/Database/index.js
@@ -91,7 +91,9 @@ var Database = /*#__PURE__*/function () {
var preparedState = record._preparedState;
if (!preparedState) {
(0, _common.invariant)('disposable' !== record._raw._status, "Cannot batch a disposable record");
- throw new Error("Cannot batch a record that doesn't have a prepared create/update/delete");
+ // throw new Error("Cannot batch a record that doesn't have a prepared create/update/delete");
+ console.debug('Trying to batch a record with no prepared state on table', record.constructor.table);
+ return;
}
var raw = record._raw;
var {
@@ -122,6 +124,10 @@ var Database = /*#__PURE__*/function () {
// subsequent changes to the record don't trip up the invariant
// TODO: What if this fails?
record._preparedState = null;
+
+ if ('update' === preparedState) {
+ record.__original = null;
+ }
}
if (!changeNotifications[table]) {
changeNotifications[table] = [];
diff --git a/node_modules/@nozbe/watermelondb/Model/index.d.ts b/node_modules/@nozbe/watermelondb/Model/index.d.ts
index 96114ec..ecfe3c1 100644
--- a/node_modules/@nozbe/watermelondb/Model/index.d.ts
+++ b/node_modules/@nozbe/watermelondb/Model/index.d.ts
@@ -61,6 +61,8 @@ export default class Model {
// database.batch()
prepareUpdate(recordUpdater?: (_: this) => void): this
+ cancelPrepareUpdate(): void
+
prepareMarkAsDeleted(): this
prepareDestroyPermanently(): this
diff --git a/node_modules/@nozbe/watermelondb/Model/index.js b/node_modules/@nozbe/watermelondb/Model/index.js
index 10ee0a5..3d0bf77 100644
--- a/node_modules/@nozbe/watermelondb/Model/index.js
+++ b/node_modules/@nozbe/watermelondb/Model/index.js
@@ -80,7 +80,17 @@ var Model = /*#__PURE__*/function () {
*/;
_proto.prepareUpdate = function prepareUpdate(recordUpdater = _noop.default) {
var _this = this;
- (0, _invariant.default)(!this._preparedState, "Cannot update a record with pending changes");
+ if ('deleted' === this._raw._status) {
+ console.debug("Updating a deleted record in table " + _this.table);
+ return this;
+ }
+
+ // (0, _invariant.default)(!this._preparedState, "Cannot update a record with pending changes");
+ if (this._preparedState) {
+ console.debug("Updating a record with pending changes in table " + _this.table)
+ } else {
+ this.__original = Object.assign({}, this._raw);
+ }
this.__ensureNotDisposable("Model.prepareUpdate()");
this._isEditing = true;
@@ -125,6 +135,21 @@ var Model = /*#__PURE__*/function () {
}.bind(this));
}
+ _proto.cancelPrepareUpdate = function cancelPrepareUpdate() {
+ var _this = this;
+
+ if ('test' !== process.env.NODE_ENV && 'undefined' !== typeof process && process) {
+ (0, _invariant.default)('update' === _this._preparedState, "Cannot cancel an update on a model that has not been prepared in table " + _this.table);
+ }
+
+ this.__changes = null;
+ this._preparedState = null;
+ if (this.__original) {
+ this._raw = this.__original;
+ }
+ this.__original = undefined;
+ }
+
/**
* Prepares record to be marked as deleted
*
@@ -173,7 +198,10 @@ var Model = /*#__PURE__*/function () {
* @see {Database#batch}
*/;
_proto.prepareDestroyPermanently = function prepareDestroyPermanently() {
- (0, _invariant.default)(!this._preparedState, "Cannot destroy permanently a record with pending changes");
+ // (0, _invariant.default)(!this._preparedState, "Cannot destroy permanently a record with pending changes");
+ if (this._preparedState) {
+ console.debug("Deleting a record with pending changes in table " + this.table);
+ }
this.__ensureNotDisposable("Model.prepareDestroyPermanently()");
this._raw._status = 'deleted';
this._preparedState = 'destroyPermanently';
diff --git a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt
index b7f750d..56dd558 100644
--- a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt
+++ b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt
@@ -19,8 +19,7 @@ class Database private constructor(private val db: SQLiteDatabase) {
fun getInstance(
name: String,
context: Context,
- openFlags: Int = SQLiteDatabase.CREATE_IF_NECESSARY or
- SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING
+ openFlags: Int = SQLiteDatabase.CREATE_IF_NECESSARY
): Database =
synchronized(this) {
if (INSTANCES[name]?.isOpen != true) {
@@ -37,8 +36,7 @@ class Database private constructor(private val db: SQLiteDatabase) {
fun buildDatabase(
name: String,
context: Context,
- openFlags: Int = SQLiteDatabase.CREATE_IF_NECESSARY or
- SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING
+ openFlags: Int = SQLiteDatabase.CREATE_IF_NECESSARY
) = Database(createSQLiteDatabase(name, context, openFlags))
private fun createSQLiteDatabase(
@@ -50,6 +48,21 @@ class Database private constructor(private val db: SQLiteDatabase) {
if (name == ":memory:" || name.contains("mode=memory")) {
context.cacheDir.delete()
File(context.cacheDir, name).path
+ } else if (name.contains("/") || name.contains("file")) {
+ // Extracts the database name from the path
+ val dbName = name.substringAfterLast("/")
+
+ // Extracts the real path where the *.db file will be created
+ val truePath = name.substringAfterLast("file://").substringBeforeLast("/")
+
+ // Creates the directory
+ if (!truePath.contains("databases")) {
+ val fileObj = File(truePath, "databases")
+ fileObj.mkdir()
+ File("${truePath}/databases", dbName).path
+ } else {
+ File(truePath, dbName).path
+ }
} else {
// On some systems there is some kind of lock on `/databases` folder ¯\_(ツ)_/¯
context.getDatabasePath("$name.db").path.replace("/databases", "")
diff --git a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/WMDatabase.java b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/WMDatabase.java
index 2f170e0..01e7450 100644
--- a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/WMDatabase.java
+++ b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/WMDatabase.java
@@ -11,6 +11,8 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
+import kotlin.text.StringsKt;
+
public class WMDatabase {
private final SQLiteDatabase db;
@@ -21,7 +23,7 @@ public class WMDatabase {
public static Map<String, WMDatabase> INSTANCES = new HashMap<>();
public static WMDatabase getInstance(String name, Context context) {
- return getInstance(name, context, SQLiteDatabase.CREATE_IF_NECESSARY | SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING);
+ return getInstance(name, context, SQLiteDatabase.CREATE_IF_NECESSARY);
}
public static WMDatabase getInstance(String name, Context context, int openFlags) {
@@ -47,6 +49,22 @@ public class WMDatabase {
if (name.equals(":memory:") || name.contains("mode=memory")) {
context.getCacheDir().delete();
path = new File(context.getCacheDir(), name).getPath();
+ } else if (name.contains("/") || name.contains("file")) {
+ // Extracts the database name from the path
+ String dbName = StringsKt.substringAfterLast(name, "/", "");
+
+ // Extracts the real path where the *.db file will be created
+ String truePath = StringsKt.substringAfterLast(name, "file://", "");
+ truePath = StringsKt.substringBeforeLast(truePath, "/", "");
+
+ // Creates the directory
+ if (!truePath.contains("databases")) {
+ File fileObj = new File(truePath, "databases");
+ fileObj.mkdir();
+ path = new File("" + truePath + "/databases", dbName).getPath();
+ } else {
+ path = new File(truePath, dbName).getPath();
+ }
} else {
// On some systems there is some kind of lock on `/databases` folder ¯\_(ツ)_/¯
path = context.getDatabasePath("" + name + ".db").getPath().replace("/databases", "");
diff --git a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/WMDatabaseDriver.java b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/WMDatabaseDriver.java
index 1534830..d9a5217 100644
--- a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/WMDatabaseDriver.java
+++ b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/WMDatabaseDriver.java
@@ -55,11 +55,9 @@ public class WMDatabaseDriver {
public WMDatabaseDriver(Context context, String dbName, boolean unsafeNativeReuse) {
this.database = unsafeNativeReuse ? WMDatabase.getInstance(dbName, context,
- SQLiteDatabase.CREATE_IF_NECESSARY |
- SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING) :
+ SQLiteDatabase.CREATE_IF_NECESSARY) :
WMDatabase.buildDatabase(dbName, context,
- SQLiteDatabase.CREATE_IF_NECESSARY |
- SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING);
+ SQLiteDatabase.CREATE_IF_NECESSARY);
if (BuildConfig.DEBUG) {
this.log = Logger.getLogger("DB_Driver");
} else {
diff --git a/node_modules/@nozbe/watermelondb/native/shared/Database.cpp b/node_modules/@nozbe/watermelondb/native/shared/Database.cpp
index 8a4e9b4..06acfb1 100644
--- a/node_modules/@nozbe/watermelondb/native/shared/Database.cpp
+++ b/node_modules/@nozbe/watermelondb/native/shared/Database.cpp
@@ -20,7 +20,7 @@ Database::Database(jsi::Runtime *runtime, std::string path, bool usesExclusiveLo
initSql += "pragma temp_store = memory;";
#endif
- initSql += "pragma journal_mode = WAL;";
+ // initSql += "pragma journal_mode = WAL;";
// set timeout before SQLITE_BUSY error is returned
initSql += "pragma busy_timeout = 5000;";
diff --git a/node_modules/@nozbe/watermelondb/native/shared/Sqlite.cpp b/node_modules/@nozbe/watermelondb/native/shared/Sqlite.cpp
index e08153b..2fca075 100644
--- a/node_modules/@nozbe/watermelondb/native/shared/Sqlite.cpp
+++ b/node_modules/@nozbe/watermelondb/native/shared/Sqlite.cpp
@@ -72,6 +72,10 @@ void SqliteDb::destroy() {
consoleLog("Database closed.");
}
+void SqliteDb::markAsDestroyed() {
+ isDestroyed_ = true;
+}
+
SqliteDb::~SqliteDb() {
destroy();
}
diff --git a/node_modules/@nozbe/watermelondb/native/shared/Sqlite.h b/node_modules/@nozbe/watermelondb/native/shared/Sqlite.h
index 22cffa7..4b74a7f 100644
--- a/node_modules/@nozbe/watermelondb/native/shared/Sqlite.h
+++ b/node_modules/@nozbe/watermelondb/native/shared/Sqlite.h
@@ -11,6 +11,7 @@ public:
SqliteDb(std::string path);
~SqliteDb();
void destroy();
+ void markAsDestroyed();
sqlite3 *sqlite;

View file

@ -1,13 +0,0 @@
diff --git a/node_modules/@stream-io/flat-list-mvcp/android/build.gradle b/node_modules/@stream-io/flat-list-mvcp/android/build.gradle
index 1cad8fd..b0b564f 100644
--- a/node_modules/@stream-io/flat-list-mvcp/android/build.gradle
+++ b/node_modules/@stream-io/flat-list-mvcp/android/build.gradle
@@ -29,7 +29,7 @@ android {
compileSdkVersion getExtOrIntegerDefault('compileSdkVersion')
buildToolsVersion getExtOrDefault('buildToolsVersion')
defaultConfig {
- minSdkVersion 16
+ minSdkVersion rootProject.hasProperty('minSdkVersion') ? rootProject.minSdkVersion : 21
targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
versionCode 1
versionName "1.0"

View file

@ -1,54 +0,0 @@
diff --git a/node_modules/react-native-button/Button.js b/node_modules/react-native-button/Button.js
index b248176..3d2455c 100644
--- a/node_modules/react-native-button/Button.js
+++ b/node_modules/react-native-button/Button.js
@@ -7,8 +7,8 @@ import {
TouchableOpacity,
TouchableNativeFeedback,
View,
- ViewPropTypes
} from 'react-native';
+import {ViewPropTypes, TextPropTypes} from 'deprecated-react-native-prop-types';
import coalesceNonElementChildren from './coalesceNonElementChildren';
@@ -18,12 +18,12 @@ export default class Button extends Component {
static propTypes = {
...TouchableOpacity.propTypes,
accessibilityLabel: PropTypes.string,
- allowFontScaling: Text.propTypes.allowFontScaling,
+ allowFontScaling: TextPropTypes.allowFontScaling,
containerStyle: ViewPropTypes.style,
disabledContainerStyle: ViewPropTypes.style,
disabled: PropTypes.bool,
- style: Text.propTypes.style,
- styleDisabled: Text.propTypes.style,
+ style: TextPropTypes.style,
+ styleDisabled: TextPropTypes.style,
childGroupStyle: ViewPropTypes.style,
androidBackground: PropTypes.object,
};
@@ -71,7 +71,6 @@ export default class Button extends Component {
}
return (
- <View style={containerStyle}>
<TouchableNativeFeedback
{...touchableProps}
style={{flex: 1}}
@@ -79,11 +78,12 @@ export default class Button extends Component {
accessibilityLabel={this.props.accessibilityLabel}
accessibilityRole="button"
background={background}>
- <View style={{padding: padding}}>
- {this._renderGroupedChildren()}
+ <View style={containerStyle}>
+ <View style={{padding: padding}}>
+ {this._renderGroupedChildren()}
+ </View>
</View>
</TouchableNativeFeedback>
- </View>
);
}
}

View file

@ -0,0 +1,36 @@
diff --git a/node_modules/react-native-button/Button.js b/node_modules/react-native-button/Button.js
index 05fa1e6..dc9c781 100644
--- a/node_modules/react-native-button/Button.js
+++ b/node_modules/react-native-button/Button.js
@@ -74,19 +74,19 @@ export default class Button extends Component {
}
return (
- <View style={containerStyle}>
- <TouchableNativeFeedback
- {...touchableProps}
- style={{flex: 1}}
- testID={this.props.testID}
- accessibilityLabel={this.props.accessibilityLabel}
- accessibilityRole="button"
- background={background}>
- <View style={{padding: padding}}>
- {this._renderGroupedChildren()}
+ <TouchableNativeFeedback
+ {...touchableProps}
+ style={{flex: 1}}
+ testID={this.props.testID}
+ accessibilityLabel={this.props.accessibilityLabel}
+ accessibilityRole="button"
+ background={background}>
+ <View style={containerStyle}>
+ <View style={{padding: padding}}>
+ {this._renderGroupedChildren()}
+ </View>
</View>
- </TouchableNativeFeedback>
- </View>
+ </TouchableNativeFeedback>
);
}
}

View file

@ -231,31 +231,28 @@ index 0d70024..47b962e 100644
PushNotificationProps asProps();
}
diff --git a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
index eade08d..91d42ee 100644
index ac04274..4ccb427 100644
--- a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
+++ b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
@@ -8,6 +8,10 @@ import android.content.Context;
import android.content.Intent;
import android.os.Build;
@@ -10,6 +10,9 @@ import android.os.Build;
import android.os.Bundle;
+import android.util.Log;
+
import android.util.Log;
+import androidx.core.app.NotificationCompat;
+import androidx.core.app.NotificationManagerCompat;
+
import com.facebook.react.bridge.ReactContext;
import com.wix.reactnativenotifications.core.AppLaunchHelper;
@@ -17,7 +21,9 @@ import com.wix.reactnativenotifications.core.AppLifecycleFacadeHolder;
import com.wix.reactnativenotifications.core.AppLifecycleFacade;
@@ -18,6 +21,7 @@ import com.wix.reactnativenotifications.core.AppLifecycleFacadeHolder;
import com.wix.reactnativenotifications.core.InitialNotificationHolder;
import com.wix.reactnativenotifications.core.JsIOHelper;
import com.wix.reactnativenotifications.core.NotificationIntentAdapter;
+import com.wix.reactnativenotifications.core.helpers.ScheduleNotificationHelper;
+import static com.wix.reactnativenotifications.Defs.LOGTAG;
import static com.wix.reactnativenotifications.Defs.NOTIFICATION_OPENED_EVENT_NAME;
import static com.wix.reactnativenotifications.Defs.NOTIFICATION_RECEIVED_EVENT_NAME;
import static com.wix.reactnativenotifications.Defs.NOTIFICATION_RECEIVED_BACKGROUND_EVENT_NAME;
@@ -28,7 +34,7 @@ public class PushNotification implements IPushNotification {
@@ -30,7 +34,7 @@ public class PushNotification implements IPushNotification {
final protected AppLifecycleFacade mAppLifecycleFacade;
final protected AppLaunchHelper mAppLaunchHelper;
final protected JsIOHelper mJsIOHelper;
@ -264,7 +261,7 @@ index eade08d..91d42ee 100644
final protected AppVisibilityListener mAppVisibilityListener = new AppVisibilityListener() {
@Override
public void onAppVisible() {
@@ -61,7 +67,7 @@ public class PushNotification implements IPushNotification {
@@ -63,7 +67,7 @@ public class PushNotification implements IPushNotification {
}
@Override
@ -273,8 +270,8 @@ index eade08d..91d42ee 100644
if (!mAppLifecycleFacade.isAppVisible()) {
postNotification(null);
notifyReceivedBackgroundToJS();
@@ -70,6 +76,42 @@ public class PushNotification implements IPushNotification {
}
@@ -87,6 +91,41 @@ public class PushNotification implements IPushNotification {
return mNotificationProps.copy();
}
+ @Override
@ -312,11 +309,10 @@ index eade08d..91d42ee 100644
+ return postNotification(notificationId);
+ }
+
+
@Override
public void onOpened() {
digestNotification();
@@ -140,21 +182,22 @@ public class PushNotification implements IPushNotification {
protected int postNotification(Integer notificationId) {
if (mNotificationProps.isDataOnlyPushNotification()) {
return -1;
@@ -142,21 +181,22 @@ public class PushNotification implements IPushNotification {
}
protected Notification buildNotification(PendingIntent intent) {
@ -344,7 +340,7 @@ index eade08d..91d42ee 100644
String channelId = mNotificationProps.getChannelId();
NotificationChannel channel = notificationManager.getNotificationChannel(channelId);
notification.setChannelId(channel != null ? channelId : DEFAULT_CHANNEL_ID);
@@ -163,7 +206,7 @@ public class PushNotification implements IPushNotification {
@@ -165,7 +205,7 @@ public class PushNotification implements IPushNotification {
return notification;
}
@ -353,7 +349,7 @@ index eade08d..91d42ee 100644
int iconResId = getAppResourceId("notification_icon", "drawable");
if (iconResId != 0) {
notification.setSmallIcon(iconResId);
@@ -174,7 +217,7 @@ public class PushNotification implements IPushNotification {
@@ -176,7 +216,7 @@ public class PushNotification implements IPushNotification {
setUpIconColor(notification);
}
@ -362,7 +358,7 @@ index eade08d..91d42ee 100644
int colorResID = getAppResourceId("colorAccent", "color");
if (colorResID != 0) {
int color = mContext.getResources().getColor(colorResID);
@@ -189,7 +232,7 @@ public class PushNotification implements IPushNotification {
@@ -191,7 +231,7 @@ public class PushNotification implements IPushNotification {
}
protected void postNotification(int id, Notification notification) {

View file

@ -1,8 +1,8 @@
diff --git a/node_modules/react-native-reanimated/src/reanimated2/mutables.ts b/node_modules/react-native-reanimated/src/reanimated2/mutables.ts
index ec14293..3c34327 100644
index 90de1f1..ae59355 100644
--- a/node_modules/react-native-reanimated/src/reanimated2/mutables.ts
+++ b/node_modules/react-native-reanimated/src/reanimated2/mutables.ts
@@ -96,25 +96,25 @@ export function makeMutable<T>(
@@ -95,25 +95,25 @@ export function makeMutable<T>(
}
return value;
},
@ -46,4 +46,4 @@ index ec14293..3c34327 100644
+ // },
modify: (modifier: (value: T) => T) => {
runOnUI(() => {
'worklet';
mutable.value = modifier(mutable.value);

View file

@ -3,12 +3,16 @@
/* eslint-disable react/no-multi-comp */
import {setGenerator} from '@nozbe/watermelondb/utils/common/randomId';
import * as ReactNative from 'react-native';
import 'react-native-gesture-handler/jestSetup';
import mockSafeAreaContext from 'react-native-safe-area-context/jest/mock';
import {v4 as uuidv4} from 'uuid';
import type {ReadDirItem, StatResult} from 'react-native-fs';
setGenerator(uuidv4);
require('isomorphic-fetch');
const WebViewMock = () => {
@ -19,6 +23,8 @@ jest.mock('react-native-webview', () => ({
WebView: WebViewMock,
}));
jest.mock('@nozbe/watermelondb/utils/common/randomId/randomId', () => ({}));
/* eslint-disable no-console */
jest.mock('@database/manager');
jest.doMock('react-native', () => {