diff --git a/ios/Podfile b/ios/Podfile index 4b4badbc71..b052668b26 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -65,6 +65,12 @@ post_install do |installer| # necessary for Mac Catalyst builds :mac_catalyst_enabled => false ) + + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.4' + end + end __apply_Xcode_12_5_M1_post_install_workaround(installer) puts 'Patching Alamofire to include X-Uncompressed-Content-Length to measure download progress' diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 7709f9d6aa..de1dc50ca8 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1033,6 +1033,6 @@ SPEC CHECKSUMS: Yoga: 5ed1699acbba8863755998a4245daa200ff3817b YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 831b649321a4d14a86a074af619aa779ebc048c4 +PODFILE CHECKSUM: d9e18775c813b659151191bf022a4919ef99438d COCOAPODS: 1.11.3 diff --git a/package-lock.json b/package-lock.json index 60ee0641c2..41fc63d6a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "mattermost-mobile", - "version": "2.1.0", + "version": "2.3.0", "hasInstallScript": true, "license": "Apache 2.0", "dependencies": { @@ -24311,8 +24311,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/@mattermost/react-native-emm/-/react-native-emm-1.3.5.tgz", "integrity": "sha512-REdUEsm/RA6lI1Rt4b009jvWn28f7H+e27gd4hlNk6zesIh/dlfiHwYfInW/vwbNFBdSPpvHy7Qi2mdcvrNqhg==", - "requires": { - } + "requires": {} }, "@mattermost/react-native-network-client": { "version": "1.3.3", @@ -24335,15 +24334,13 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/@mattermost/react-native-turbo-log/-/react-native-turbo-log-0.2.3.tgz", "integrity": "sha512-usWyD8zVAHzrYqgPH1ne5I14gCOkhS2mefK58g5v4DewZfCm0/Uc0w8MRuPS/9jyOPPq1rUZj8U1AqKgEne9tQ==", - "requires": { - } + "requires": {} }, "@mattermost/react-native-turbo-mailer": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/@mattermost/react-native-turbo-mailer/-/react-native-turbo-mailer-0.2.4.tgz", "integrity": "sha512-6W37UvLxg7vhP5YJXZfzKvPy4r9bozqSSuB4gbC2EjvWrGB4LfwKWljgw+Gb/E8x3ceMCib2SPPMz+thzs7DHw==", - "requires": { - } + "requires": {} }, "@msgpack/msgpack": { "version": "2.8.0", @@ -24429,15 +24426,13 @@ "version": "5.2.3", "resolved": "https://registry.npmjs.org/@react-native-camera-roll/camera-roll/-/camera-roll-5.2.3.tgz", "integrity": "sha512-GNdFJj5F2pPQw6RH/BxbT0Ner+WPCm6olmjLn8JBlaRQ0IBX4K9l44YKJLJZsMJ54uqiKK0fDiRzT90Eg0iuIg==", - "requires": { - } + "requires": {} }, "@react-native-clipboard/clipboard": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.11.1.tgz", "integrity": "sha512-nvSIIHzybVWqYxcJE5hpT17ekxAAg383Ggzw5WrYHtkKX61N1AwaKSNmXs5xHV7pmKSOe/yWjtSwxIzfW51I5Q==", - "requires": { - } + "requires": {} }, "@react-native-community/cli": { "version": "10.1.3", @@ -25593,8 +25588,7 @@ "version": "9.3.7", "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-9.3.7.tgz", "integrity": "sha512-+taWmE5WpBp0uS6kf+bouCx/sn89G9EpR4s2M/ReLvctVIFL2Qh8WnWfBxqK9qwgmFha/uqjSr2Gq03OOtiDcw==", - "requires": { - } + "requires": {} }, "@react-native-cookies/cookies": { "version": "6.2.1", @@ -25670,8 +25664,7 @@ "version": "1.3.15", "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.15.tgz", "integrity": "sha512-CR4CEYJVY0OLyeLQi9N3Z2o4K47gXctvFxfZizDuW1xFtCJbA0eGvpjSLXEWHoY0hFjrlC6KinpdepGHVxhYIg==", - "requires": { - } + "requires": {} }, "@react-navigation/native": { "version": "6.1.4", @@ -25976,72 +25969,63 @@ "version": "0.10.2", "resolved": "https://registry.npmjs.org/@stream-io/flat-list-mvcp/-/flat-list-mvcp-0.10.2.tgz", "integrity": "sha512-jebEKP7pfRF8/tVSqNM6qdvisfOtMnMlzGYTWldoOnIq9/6DS1BU4ilzBuH6O7iBUu4bDokrMCNJgA2b2EKW/A==", - "requires": { - } + "requires": {} }, "@svgr/babel-plugin-add-jsx-attribute": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz", "integrity": "sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA==", "dev": true, - "requires": { - } + "requires": {} }, "@svgr/babel-plugin-remove-jsx-attribute": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz", "integrity": "sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw==", "dev": true, - "requires": { - } + "requires": {} }, "@svgr/babel-plugin-remove-jsx-empty-expression": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz", "integrity": "sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA==", "dev": true, - "requires": { - } + "requires": {} }, "@svgr/babel-plugin-replace-jsx-attribute-value": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz", "integrity": "sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ==", "dev": true, - "requires": { - } + "requires": {} }, "@svgr/babel-plugin-svg-dynamic-title": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz", "integrity": "sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg==", "dev": true, - "requires": { - } + "requires": {} }, "@svgr/babel-plugin-svg-em-dimensions": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz", "integrity": "sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA==", "dev": true, - "requires": { - } + "requires": {} }, "@svgr/babel-plugin-transform-react-native-svg": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz", "integrity": "sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ==", "dev": true, - "requires": { - } + "requires": {} }, "@svgr/babel-plugin-transform-svg-component": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.1.0.tgz", "integrity": "sha512-1zacrn08K5RyV2NtXahOZ5Im/+aB1Y0LVh6QpzwgQV05sY7H5Npq+OcW/UqXbfB2Ua/WnHsFossFQqigCjarYg==", "dev": true, - "requires": { - } + "requires": {} }, "@svgr/babel-preset": { "version": "6.1.0", @@ -26965,8 +26949,7 @@ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", "dev": true, - "requires": { - } + "requires": {} }, "@webpack-cli/info": { "version": "1.4.0", @@ -26982,8 +26965,7 @@ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", "dev": true, - "requires": { - } + "requires": {} }, "@xtuc/ieee754": { "version": "1.2.0", @@ -27038,16 +27020,14 @@ "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "dev": true, "peer": true, - "requires": { - } + "requires": {} }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "requires": { - } + "requires": {} }, "adm-zip": { "version": "0.5.9", @@ -27109,8 +27089,7 @@ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "peer": true, - "requires": { - } + "requires": {} }, "anser": { "version": "1.4.10", @@ -27377,8 +27356,7 @@ "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "requires": { - } + "requires": {} }, "babel-jest": { "version": "29.4.3", @@ -29356,8 +29334,7 @@ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", "dev": true, - "requires": { - } + "requires": {} }, "eslint-import-resolver-node": { "version": "0.3.7", @@ -29445,8 +29422,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==", "dev": true, - "requires": { - } + "requires": {} }, "eslint-plugin-import": { "version": "2.27.5", @@ -29582,8 +29558,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", "dev": true, - "requires": { - } + "requires": {} }, "eslint-plugin-react-native": { "version": "4.0.0", @@ -32145,8 +32120,7 @@ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "requires": { - } + "requires": {} }, "jest-regex-util": { "version": "29.4.3", @@ -35599,8 +35573,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz", "integrity": "sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==", - "requires": { - } + "requires": {} }, "react-intl": { "version": "6.2.8", @@ -35786,8 +35759,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/react-native-background-timer/-/react-native-background-timer-2.4.1.tgz", "integrity": "sha512-TE4Kiy7jUyv+hugxDxitzu38sW1NqjCk4uE5IgU2WevLv7sZacaBc6PZKOShNRPGirLl1NWkaG3LDEkdb9Um5g==", - "requires": { - } + "requires": {} }, "react-native-button": { "version": "3.0.1", @@ -35828,15 +35800,13 @@ "version": "1.6.4", "resolved": "https://registry.npmjs.org/react-native-create-thumbnail/-/react-native-create-thumbnail-1.6.4.tgz", "integrity": "sha512-JWuKXswDXtqUPfuqh6rjCVMvTSSG3kUtwvSK/YdaNU0i+nZKxeqHmt/CO2+TyI/WSUFynGVmWT1xOHhCZAFsRQ==", - "requires": { - } + "requires": {} }, "react-native-device-info": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-10.4.0.tgz", "integrity": "sha512-Z37e0HtpBvfkPRgv4xN7lXpvmJyzjwCXSFTXEkw6m2UgnnIsWlOD02Avu4hJXBlIMMazaW3ZLKal3o9h3AYvCw==", - "requires": { - } + "requires": {} }, "react-native-document-picker": { "version": "8.1.3", @@ -35873,22 +35843,19 @@ "version": "2.10.10", "resolved": "https://registry.npmjs.org/react-native-exception-handler/-/react-native-exception-handler-2.10.10.tgz", "integrity": "sha512-otAXGoZDl1689OoUJWN/rXxVbdoZ3xcmyF1uq/CsizdLwwyZqVGd6d+p/vbYvnF996FfEyAEBnHrdFxulTn51w==", - "requires": { - } + "requires": {} }, "react-native-fast-image": { "version": "8.6.3", "resolved": "https://registry.npmjs.org/react-native-fast-image/-/react-native-fast-image-8.6.3.tgz", "integrity": "sha512-Sdw4ESidXCXOmQ9EcYguNY2swyoWmx53kym2zRsvi+VeFCHEdkO+WG1DK+6W81juot40bbfLNhkc63QnWtesNg==", - "requires": { - } + "requires": {} }, "react-native-file-viewer": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/react-native-file-viewer/-/react-native-file-viewer-2.1.5.tgz", "integrity": "sha512-MGC6sx9jsqHdefhVQ6o0akdsPGpkXgiIbpygb2Sg4g4bh7v6K1cardLV1NwGB9A6u1yICOSDT/MOC//9Ez6EUg==", - "requires": { - } + "requires": {} }, "react-native-fs": { "version": "2.20.0", @@ -35927,22 +35894,19 @@ "version": "1.14.0", "resolved": "https://registry.npmjs.org/react-native-haptic-feedback/-/react-native-haptic-feedback-1.14.0.tgz", "integrity": "sha512-dSXZ6gAzl+W/L7BPjOpnT0bx0cgQiSr0sB3DjyDJbGIdVr4ISaktZC6gC9xYFTv2kMq0+KtbKi+dpd0WtxYZMw==", - "requires": { - } + "requires": {} }, "react-native-hw-keyboard-event": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/react-native-hw-keyboard-event/-/react-native-hw-keyboard-event-0.0.4.tgz", "integrity": "sha512-G8qp0nm17PHigLb/axgdF9xg51BKCG2p1AGeq//J/luLp5zNczIcQJh+nm02R1MeEUE3e53wqO4LMe0MV3raZg==", - "requires": { - } + "requires": {} }, "react-native-image-picker": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-5.0.2.tgz", "integrity": "sha512-kl5g22TEiOkHcwKFh+BjdBYb+7LTq0yKXZCjgXCPoHbq7QwckgR4mFASPPoX2RUKGFy6cYqJGc0IX+xpqcSX5w==", - "requires": { - } + "requires": {} }, "react-native-in-app-review": { "version": "4.2.1", @@ -35952,15 +35916,13 @@ "react-native-incall-manager": { "version": "git+ssh://git@github.com/react-native-webrtc/react-native-incall-manager.git#6d927ef24c6e47c6134177a4bb14a71054f85b65", "from": "react-native-incall-manager@4.0.1", - "requires": { - } + "requires": {} }, "react-native-iphone-x-helper": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz", "integrity": "sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==", - "requires": { - } + "requires": {} }, "react-native-keyboard-aware-scroll-view": { "version": "0.9.5", @@ -35975,8 +35937,7 @@ "version": "5.7.0", "resolved": "https://registry.npmjs.org/react-native-keyboard-tracking-view/-/react-native-keyboard-tracking-view-5.7.0.tgz", "integrity": "sha512-MDeEwAbn9LJDOfHq0QLCGaZirVLk2X/tHqkAqz3y6uxryTRdSl9PwleOVar5Jx2oAPEg4J9BXbUD1wwOOi+5Kg==", - "requires": { - } + "requires": {} }, "react-native-keychain": { "version": "8.1.1", @@ -35987,15 +35948,13 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/react-native-linear-gradient/-/react-native-linear-gradient-2.6.2.tgz", "integrity": "sha512-Z8Xxvupsex+9BBFoSYS87bilNPWcRfRsGC0cpJk72Nxb5p2nEkGSBv73xZbEHnW2mUFvP+huYxrVvjZkr/gRjQ==", - "requires": { - } + "requires": {} }, "react-native-localize": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/react-native-localize/-/react-native-localize-2.2.4.tgz", "integrity": "sha512-gVmbyAEQQnBQ8vKlAQchFfIISeId3qT6Lc7LHmKF39nsYWX9KN4PHuG6Hk+7gduMI6IHKeZGKcLsOdh6wvN6cg==", - "requires": { - } + "requires": {} }, "react-native-math-view": { "version": "3.9.5", @@ -36031,15 +35990,13 @@ "version": "4.3.3", "resolved": "https://registry.npmjs.org/react-native-notifications/-/react-native-notifications-4.3.3.tgz", "integrity": "sha512-t7uPgpC93A4L41Jea2zet3BUqgh45gpN/ATS9gxejNH3r6kWgMdGeeZJhuMpl1gSXw1gcvgzdjzIjN7YZSOP0A==", - "requires": { - } + "requires": {} }, "react-native-permissions": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.6.1.tgz", "integrity": "sha512-fzPpPQXeD34inUccqtoResSwYubfrwUguP4qrVUUv8+KSMjYSaHGoS5HaIJLZHlN9gO+TvLJZ2L5ZljTsb6qnQ==", - "requires": { - } + "requires": {} }, "react-native-ratings": { "version": "8.0.4", @@ -36067,8 +36024,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.5.0.tgz", "integrity": "sha512-0WORnk9SkREGUg2V7jHZbuN5x4vcxj/1B0QOcXJjdYWrzZHgLcUzYWWIUecUPJh747Mwjt/42RZDOaFn3L8kPQ==", - "requires": { - } + "requires": {} }, "react-native-screens": { "version": "3.20.0", @@ -36101,8 +36057,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/react-native-size-matters/-/react-native-size-matters-0.3.1.tgz", "integrity": "sha512-mKOfBLIBFBcs9br1rlZDvxD5+mAl8Gfr5CounwJtxI6Z82rGrMO+Kgl9EIg3RMVf3G855a85YVqHJL2f5EDRlw==", - "requires": { - } + "requires": {} }, "react-native-svg": { "version": "13.8.0", @@ -38147,8 +38102,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "requires": { - } + "requires": {} }, "utf8": { "version": "3.0.0", @@ -38497,8 +38451,7 @@ "version": "7.5.5", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", - "requires": { - } + "requires": {} }, "xcode": { "version": "3.0.1", diff --git a/package.json b/package.json index a86b48bc68..404e7cba74 100644 --- a/package.json +++ b/package.json @@ -176,14 +176,14 @@ }, "scripts": { "android": "react-native run-android", - "build:android": "./scripts/build.sh apk", - "build:android-unsigned": "./scripts/build.sh apk unsigned", - "build:ios": "./scripts/build.sh ipa", - "build:ios-sim": "./scripts/build.sh ipa simulator", - "build:ios-unsigned": "./scripts/build.sh ipa unsigned", + "build:android": "sh scripts/build.sh apk", + "build:android-unsigned": "sh scripts/build.sh apk unsigned", + "build:ios": "sh scripts/build.sh ipa", + "build:ios-sim": "sh scripts/build.sh ipa simulator", + "build:ios-unsigned": "sh scripts/build.sh ipa unsigned", "check": "npm run lint && npm run tsc", "check-test": "npm run lint && npm run tsc && npm run test", - "clean": "./scripts/clean.sh", + "clean": "sh scripts/clean.sh", "e2e:android": "cd detox && npm run e2e:android-build && npm run e2e:android-test && cd ..", "e2e:ios": "cd detox && npm run e2e:ios-test && cd ..", "fix": "npm run lint -- --fix", @@ -191,11 +191,13 @@ "i18n-extract": "npm run mmjstool -- i18n extract-mobile", "ios": "react-native run-ios", "ios-gems": "cd ios && bundle install", + "ios-gems-m1": "cd ios && arch -arm64 bundle install", "lint": "eslint --ignore-path .gitignore --ignore-pattern node_modules --quiet .", "mmjstool": "mmjstool", - "pod-install": "cd ios && bundle exec pod install", - "postinstall": "patch-package && ./scripts/postinstall.sh", - "preinstall": "./scripts/preinstall.sh && npx solidarity", + "pod-install": "cd ios && pod install", + "pod-install-m1": "cd ios && arch -x86_64 pod install", + "postinstall": "patch-package && sh scripts/postinstall.sh", + "preinstall": "sh scripts/preinstall.sh && npx solidarity", "start": "react-native start", "test": "jest --forceExit --runInBand", "test:coverage": "jest --coverage", diff --git a/scripts/build.sh b/scripts/build.sh index 127956fba9..d55179a2bd 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -37,18 +37,34 @@ function ipa() { esac } +function ios() { + echo "Installing Gems" + npm run ios-gems &> /dev/null + echo "Getting Cocoapods dependencies" + npm run pod-install &> /dev/null +} + +function iosM1() { + echo "Installing Gems" + npm run ios-gems-m1 &> /dev/null || exit 1 + echo "Getting Cocoapods dependencies" + npm run pod-install-m1 &> /dev/null || exit 1 +} + function setup() { if [[ -z "$SKIP_SETUP" ]]; then npm run clean || exit 1 npm install --ignore-scripts || exit 1 npx patch-package || exit 1 + node node_modules/\@sentry/cli/scripts/install.js || exit 1 node node_modules/react-native-webrtc/tools/downloadWebRTC.js || exit 1 if [[ "$1" == "ios"* ]]; then - echo "Installing Gems" - npm run ios-gems &> /dev/null || exit 1 - echo "Getting Cocoapods dependencies" - npm run pod-install || exit 1 + if [[ $(uname -p) == 'arm' ]]; then + iosM1 || exit 1 + else + ios || exit 1 + fi fi COMPASS_ICONS="node_modules/@mattermost/compass-icons/font/compass-icons.ttf" @@ -70,8 +86,8 @@ function setup() { fi echo "Installing Fastane" - if !gem list bundler -i --version 2.1.4 > /dev/null 2>&1; then - gem install bundler --versio 2.1.4 + if !gem list bundler -i --version 2.3.6 > /dev/null 2>&1; then + gem install bundler --versio 2.3.6 fi cd fastlane && bundle install && cd .. || exit 1 fi diff --git a/scripts/postinstall.sh b/scripts/postinstall.sh index cd0301088c..5c78d39fa0 100755 --- a/scripts/postinstall.sh +++ b/scripts/postinstall.sh @@ -1,10 +1,21 @@ #!/usr/bin/env bash +function ios() { + echo "Getting Cocoapods dependencies" + npm run pod-install &> /dev/null +} + +function iosM1() { + echo "Getting Cocoapods dependencies" + npm run pod-install-m1 &> /dev/null +} + if [[ "$OSTYPE" == "darwin"* ]]; then - echo "Installing Gems" - npm run ios-gems &> /dev/null - echo "Getting Cocoapods dependencies" - npm run pod-install &> /dev/null + if [[ $(uname -p) == 'arm' ]]; then + iosM1 + else + ios + fi fi COMPASS_ICONS="node_modules/@mattermost/compass-icons/font/compass-icons.ttf" diff --git a/scripts/preinstall.sh b/scripts/preinstall.sh index e4dae910b5..57bc19a269 100755 --- a/scripts/preinstall.sh +++ b/scripts/preinstall.sh @@ -1,8 +1,22 @@ #!/usr/bin/env bash +function cocoapods() { + echo "Installing Cocoapods" + if [[ $(uname -p) == 'arm' ]]; then + npm run ios-gems-m1 &> /dev/null || exit 1 + else + npm run ios-gems &> /dev/null || exit 1 + fi + +} + if [[ "$OSTYPE" == "darwin"* ]]; then - if !(gem list bundler -i --version 2.3.26) > /dev/null 2>&1; then + if !(gem list bundler -i --version 2.3.6) > /dev/null 2>&1; then echo "Installing Bundler" - gem install bundler --version 2.3.26 + gem install bundler --version 2.3.6 || exit 1 + fi + + if !(gem list cocoapods -i --version 1.11.3) > /dev/null 2>&1; then + cocoapods fi fi \ No newline at end of file