Fix build on Xcode 16.3 (#8760)

This commit is contained in:
Elias Nahum 2025-04-10 09:09:03 +08:00 committed by GitHub
parent 6a060cd505
commit 9a83813c23
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 1797 additions and 1395 deletions

View file

@ -5,7 +5,7 @@ buildscript {
compileSdkVersion = 35
targetSdkVersion = 34
supportLibVersion = "35.0.0"
kotlinVersion = "1.9.24"
kotlinVersion = "1.9.25"
kotlin_version = kotlinVersion
RNNKotlinVersion = kotlinVersion
firebaseVersion = "24.1.0"

View file

@ -113,33 +113,33 @@ org.glassfish.jaxb:jaxb-runtime:2.3.2=classpath
org.glassfish.jaxb:txw2:2.3.2=classpath
org.jdom:jdom2:2.0.6=classpath
org.jetbrains.intellij.deps:trove4j:1.0.20200330=classpath
org.jetbrains.kotlin:kotlin-android-extensions:1.9.24=classpath
org.jetbrains.kotlin:kotlin-build-tools-api:1.9.24=classpath
org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.24=classpath
org.jetbrains.kotlin:kotlin-compiler-runner:1.9.24=classpath
org.jetbrains.kotlin:kotlin-daemon-client:1.9.24=classpath
org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.24=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:1.9.24=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.9.24=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:1.9.24=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-idea:1.9.24=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.9.24=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.24=classpath
org.jetbrains.kotlin:kotlin-gradle-plugins-bom:1.9.24=classpath
org.jetbrains.kotlin:kotlin-klib-commonizer-api:1.9.24=classpath
org.jetbrains.kotlin:kotlin-native-utils:1.9.24=classpath
org.jetbrains.kotlin:kotlin-project-model:1.9.24=classpath
org.jetbrains.kotlin:kotlin-android-extensions:1.9.25=classpath
org.jetbrains.kotlin:kotlin-build-tools-api:1.9.25=classpath
org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.25=classpath
org.jetbrains.kotlin:kotlin-compiler-runner:1.9.25=classpath
org.jetbrains.kotlin:kotlin-daemon-client:1.9.25=classpath
org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.25=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:1.9.25=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.9.25=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:1.9.25=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-idea:1.9.25=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.9.25=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.25=classpath
org.jetbrains.kotlin:kotlin-gradle-plugins-bom:1.9.25=classpath
org.jetbrains.kotlin:kotlin-klib-commonizer-api:1.9.25=classpath
org.jetbrains.kotlin:kotlin-native-utils:1.9.25=classpath
org.jetbrains.kotlin:kotlin-project-model:1.9.25=classpath
org.jetbrains.kotlin:kotlin-reflect:1.9.20=classpath
org.jetbrains.kotlin:kotlin-scripting-common:1.9.24=classpath
org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.24=classpath
org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.24=classpath
org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.24=classpath
org.jetbrains.kotlin:kotlin-scripting-common:1.9.25=classpath
org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.25=classpath
org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.25=classpath
org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.25=classpath
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20=classpath
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20=classpath
org.jetbrains.kotlin:kotlin-stdlib:1.9.24=classpath
org.jetbrains.kotlin:kotlin-tooling-core:1.9.24=classpath
org.jetbrains.kotlin:kotlin-util-io:1.9.24=classpath
org.jetbrains.kotlin:kotlin-util-klib:1.9.24=classpath
org.jetbrains.kotlin:kotlin-stdlib:1.9.25=classpath
org.jetbrains.kotlin:kotlin-tooling-core:1.9.25=classpath
org.jetbrains.kotlin:kotlin-util-io:1.9.25=classpath
org.jetbrains.kotlin:kotlin-util-klib:1.9.25=classpath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.0=classpath
org.jetbrains:annotations:23.0.0=classpath
org.jvnet.staxex:stax-ex:1.8.1=classpath

View file

@ -53,7 +53,7 @@ exports[`ThreadOverview should match snapshot when post is saved and has replies
delayLongPress={600}
enabled={true}
exclusive={true}
handlerTag={1}
handlerTag={-1}
handlerType="NativeViewGestureHandler"
innerRef={null}
onGestureHandlerEvent={[Function]}
@ -92,7 +92,7 @@ exports[`ThreadOverview should match snapshot when post is saved and has replies
delayLongPress={600}
enabled={true}
exclusive={true}
handlerTag={2}
handlerTag={-1}
handlerType="NativeViewGestureHandler"
innerRef={null}
onGestureHandlerEvent={[Function]}

View file

@ -11,7 +11,7 @@ import Animated, {
type WithTimingConfig,
} from 'react-native-reanimated';
import {useSafeAreaInsets} from 'react-native-safe-area-context';
import Video, {SelectedTrackType, type OnPlaybackRateChangeData, type VideoRef} from 'react-native-video';
import Video, {SelectedTrackType, type OnPlaybackRateChangeData, type ReactVideoPoster, type ReactVideoSource, type VideoRef} from 'react-native-video';
import {updateLocalFilePath} from '@actions/local/file';
import {CaptionsEnabledContext} from '@calls/context';
@ -58,12 +58,16 @@ const VideoRenderer = ({height, index, initialIndex, item, isPageActive, onShoul
const [videoUri, setVideoUri] = useState(item.uri);
const [downloading, setDownloading] = useState(false);
const [hasError, setHasError] = useState(false);
const source = useMemo(() => ({uri: videoUri}), [videoUri]);
const {tracks, selected} = useMemo(() => getTranscriptionUri(serverUrl, item.postProps), [serverUrl, item.postProps]);
const source: ReactVideoSource = useMemo(() => ({uri: videoUri, textTracks: tracks}), [videoUri, tracks]);
const poster: ReactVideoPoster = useMemo(() => ({
source: {uri: item.posterUri},
resizeMode: 'center',
}), [item.posterUri]);
const setFullscreen = (value: boolean) => {
const setFullscreen = useCallback((value: boolean) => {
fullscreen.value = value;
};
}, []);
const onDownloadSuccess = (path: string) => {
setVideoUri(path);
@ -77,7 +81,7 @@ const VideoRenderer = ({height, index, initialIndex, item, isPageActive, onShoul
showControls.current = true;
setPaused(true);
videoRef.current?.dismissFullscreenPlayer();
}, [onShouldHideControls]);
}, [onShouldHideControls, setFullscreen]);
const onError = useCallback(() => {
setHasError(true);
@ -87,13 +91,13 @@ const VideoRenderer = ({height, index, initialIndex, item, isPageActive, onShoul
setFullscreen(false);
showControls.current = !paused;
onShouldHideControls(showControls.current);
}, [paused, onShouldHideControls]);
}, [setFullscreen, paused, onShouldHideControls]);
const onFullscreenPlayerWillPresent = useCallback(() => {
setFullscreen(true);
onShouldHideControls(true);
showControls.current = true;
}, [onShouldHideControls]);
}, [onShouldHideControls, setFullscreen]);
const onPlaybackRateChange = useCallback(({playbackRate}: OnPlaybackRateChangeData) => {
if (isPageActive.value) {
@ -101,11 +105,7 @@ const VideoRenderer = ({height, index, initialIndex, item, isPageActive, onShoul
showControls.current = isPlaying;
onShouldHideControls(isPlaying);
}
}, [onShouldHideControls]);
const onPlaybackStateChange = useCallback(({isPlaying}: {isPlaying: boolean}) => {
setPaused(!isPlaying);
}, []);
}, [isPageActive.value, onShouldHideControls]);
const onReadyForDisplay = useCallback(() => {
setVideoReady(true);
@ -161,20 +161,17 @@ const VideoRenderer = ({height, index, initialIndex, item, isPageActive, onShoul
ref={videoRef}
source={source}
paused={paused}
poster={item.posterUri}
posterResizeMode='center'
poster={poster}
onError={onError}
style={[styles.video, dimensionsStyle]}
controls={isPageActive.value}
onPlaybackRateChange={onPlaybackRateChange}
onFullscreenPlayerWillDismiss={onFullscreenPlayerWillDismiss}
onFullscreenPlayerWillPresent={onFullscreenPlayerWillPresent}
onPlaybackStateChanged={onPlaybackStateChange}
onReadyForDisplay={onReadyForDisplay}
onEnd={onEnd}
onTouchStart={handleTouchStart}
resizeMode='none'
textTracks={tracks}
selectedTextTrack={captionsEnabled[index] ? selected : {type: SelectedTrackType.DISABLED, value: ''}}
/>
{hasError &&

View file

@ -19,7 +19,6 @@ import type {Database} from '@nozbe/watermelondb';
jest.mock('@react-native-camera-roll/camera-roll', () => ({}));
jest.mock('@react-navigation/native', () => ({
...jest.requireActual('@react-navigation/native'),
useNavigation: () => ({
getState: () => ({
index: 0,

View file

@ -16,17 +16,18 @@ GEM
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.3.2)
aws-partitions (1.1067.0)
aws-sdk-core (3.220.1)
aws-partitions (1.1083.0)
aws-sdk-core (3.222.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
jmespath (~> 1, >= 1.6.1)
logger
aws-sdk-kms (1.99.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.182.0)
aws-sdk-s3 (1.183.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
@ -75,7 +76,7 @@ GEM
faraday_middleware (1.2.1)
faraday (~> 1.0)
fastimage (2.4.0)
fastlane (2.227.0)
fastlane (2.227.1)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@ -115,7 +116,7 @@ GEM
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.4.0)
xcpretty (~> 0.4.1)
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-plugin-android_change_package_identifier (0.1.0)
fastlane-plugin-android_change_string_app_name (0.1.1)
@ -169,6 +170,7 @@ GEM
json (2.10.2)
jwt (2.10.1)
base64
logger (1.7.0)
mini_magick (4.13.2)
mini_mime (1.1.5)
multi_json (1.15.0)
@ -177,11 +179,11 @@ GEM
nanaimo (0.4.0)
naturally (2.2.1)
nkf (0.2.0)
nokogiri (1.18.4-arm64-darwin)
nokogiri (1.18.7-arm64-darwin)
racc (~> 1.4)
nokogiri (1.18.4-x86_64-darwin)
nokogiri (1.18.7-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.18.4-x86_64-linux-gnu)
nokogiri (1.18.7-x86_64-linux-gnu)
racc (~> 1.4)
optparse (0.6.0)
os (1.1.4)
@ -226,7 +228,7 @@ GEM
colored2 (~> 3.1)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)
xcpretty (0.4.0)
xcpretty (0.4.1)
rouge (~> 3.28.0)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)

View file

@ -12,8 +12,7 @@
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
1AC06461F0B9867B11829943 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24C9C33C1C823BB8E1B3E161 /* ExpoModulesProvider.swift */; };
27C667A329523ECA00E590D5 /* Sentry in Frameworks */ = {isa = PBXBuildFile; productRef = 27C667A229523ECA00E590D5 /* Sentry */; };
27C667A529523F0A00E590D5 /* Sentry in Frameworks */ = {isa = PBXBuildFile; productRef = 27C667A429523F0A00E590D5 /* Sentry */; };
266E7D53748BB8A1308B5CF2 /* libPods-MattermostShare.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B1BD2D4C53C3682D8892612F /* libPods-MattermostShare.a */; };
27C667A9295241B600E590D5 /* Sentry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27C667A8295241B600E590D5 /* Sentry.swift */; };
27C667AA295241B600E590D5 /* Sentry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27C667A8295241B600E590D5 /* Sentry.swift */; };
413A0FD06EA0DB2B3F30403F /* libPods-NotificationService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AEDDC97F55A1F6C056C6B1BC /* libPods-NotificationService.a */; };
@ -240,6 +239,7 @@
32AC3D4EA79E44738A6E9766 /* OpenSans-BoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-BoldItalic.ttf"; path = "../assets/fonts/OpenSans-BoldItalic.ttf"; sourceTree = "<group>"; };
3647DF63D6764CF093375861 /* OpenSans-ExtraBold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-ExtraBold.ttf"; path = "../assets/fonts/OpenSans-ExtraBold.ttf"; sourceTree = "<group>"; };
41F3AFE83AAF4B74878AB78A /* OpenSans-Italic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Italic.ttf"; path = "../assets/fonts/OpenSans-Italic.ttf"; sourceTree = "<group>"; };
4751361789DCCAD0DBD95C16 /* Pods-MattermostShare.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MattermostShare.debug.xcconfig"; path = "Target Support Files/Pods-MattermostShare/Pods-MattermostShare.debug.xcconfig"; sourceTree = "<group>"; };
495BC95F23565ABF00C40C83 /* libXCDYouTubeKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libXCDYouTubeKit.a; sourceTree = BUILT_PRODUCTS_DIR; };
495BC96123565ADD00C40C83 /* libYoutubePlayer-in-WKWebView.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libYoutubePlayer-in-WKWebView.a"; sourceTree = BUILT_PRODUCTS_DIR; };
499F7B3F235513F600E7AF6E /* libXCDYouTubeKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libXCDYouTubeKit.a; sourceTree = BUILT_PRODUCTS_DIR; };
@ -382,8 +382,10 @@
83ABFD112C1C90D90029685B /* calls_urgent.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = calls_urgent.mp3; path = ../assets/sounds/calls_urgent.mp3; sourceTree = "<group>"; };
A10297DBBE728B2BF1BC045E /* Pods-NotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationService.debug.xcconfig"; path = "Target Support Files/Pods-NotificationService/Pods-NotificationService.debug.xcconfig"; sourceTree = "<group>"; };
AEDDC97F55A1F6C056C6B1BC /* libPods-NotificationService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NotificationService.a"; sourceTree = BUILT_PRODUCTS_DIR; };
B1BD2D4C53C3682D8892612F /* libPods-MattermostShare.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MattermostShare.a"; sourceTree = BUILT_PRODUCTS_DIR; };
BC977883E2624E05975CA65B /* OpenSans-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Regular.ttf"; path = "../assets/fonts/OpenSans-Regular.ttf"; sourceTree = "<group>"; };
BE17F630DB5D41FD93F32D22 /* OpenSans-LightItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-LightItalic.ttf"; path = "../assets/fonts/OpenSans-LightItalic.ttf"; sourceTree = "<group>"; };
C7E622B6B1B605983E8E23B7 /* Pods-MattermostShare.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MattermostShare.release.xcconfig"; path = "Target Support Files/Pods-MattermostShare/Pods-MattermostShare.release.xcconfig"; sourceTree = "<group>"; };
C9A1070F2BBD7C8700753CDC /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
C9A107112BBDA00200753CDC /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
C9A107132BBDBC8F00753CDC /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
@ -409,7 +411,6 @@
buildActionMask = 2147483647;
files = (
49AE370126D4455D00EF4E52 /* Gekidou in Frameworks */,
27C667A329523ECA00E590D5 /* Sentry in Frameworks */,
413A0FD06EA0DB2B3F30403F /* libPods-NotificationService.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -420,7 +421,7 @@
files = (
7FD4822C2864D73300A5B18B /* OpenGraph in Frameworks */,
7F4288042865D340006B48E1 /* Gekidou in Frameworks */,
27C667A529523F0A00E590D5 /* Sentry in Frameworks */,
266E7D53748BB8A1308B5CF2 /* libPods-MattermostShare.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -534,6 +535,8 @@
E7BEDFCF1660521CCB3EADEF /* Pods-Mattermost.release.xcconfig */,
A10297DBBE728B2BF1BC045E /* Pods-NotificationService.debug.xcconfig */,
FF7D3AE3E5E892576497A111 /* Pods-NotificationService.release.xcconfig */,
4751361789DCCAD0DBD95C16 /* Pods-MattermostShare.debug.xcconfig */,
C7E622B6B1B605983E8E23B7 /* Pods-MattermostShare.release.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
@ -569,6 +572,7 @@
81061F4CBB31484A94D5A8EE /* libz.tbd */,
7A83BBA09DE89A630126EA06 /* libPods-Mattermost.a */,
AEDDC97F55A1F6C056C6B1BC /* libPods-NotificationService.a */,
B1BD2D4C53C3682D8892612F /* libPods-MattermostShare.a */,
);
name = Frameworks;
sourceTree = "<group>";
@ -1101,7 +1105,6 @@
name = NotificationService;
packageProductDependencies = (
49AE370026D4455D00EF4E52 /* Gekidou */,
27C667A229523ECA00E590D5 /* Sentry */,
);
productName = NotificationService;
productReference = 7F581D32221ED5C60099E66B /* NotificationService.appex */;
@ -1111,9 +1114,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 7FC5699328563FDB000B0905 /* Build configuration list for PBXNativeTarget "MattermostShare" */;
buildPhases = (
72C6C74DFCEA1986BED63294 /* [CP] Check Pods Manifest.lock */,
7FC5698228563FDB000B0905 /* Sources */,
7FC5698328563FDB000B0905 /* Frameworks */,
7FC5698428563FDB000B0905 /* Resources */,
3B5D687DE9159D75705CA398 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@ -1123,7 +1128,6 @@
packageProductDependencies = (
7FD4822B2864D73300A5B18B /* OpenGraph */,
7F4288032865D340006B48E1 /* Gekidou */,
27C667A429523F0A00E590D5 /* Sentry */,
);
productName = MattermostShare;
productReference = 7FC5698628563FDB000B0905 /* MattermostShare.appex */;
@ -1209,7 +1213,6 @@
mainGroup = 83CBB9F61A601CBA00E9B192;
packageReferences = (
7FD4822A2864D73300A5B18B /* XCRemoteSwiftPackageReference "OpenGraph" */,
27C667A129523ECA00E590D5 /* XCRemoteSwiftPackageReference "sentry-cocoa" */,
);
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
projectDirPath = "";
@ -1389,6 +1392,24 @@
shellPath = /bin/sh;
shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-Mattermost/expo-configure-project.sh\"\n";
};
3B5D687DE9159D75705CA398 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-MattermostShare/Pods-MattermostShare-resources.sh",
"${PODS_CONFIGURATION_BUILD_DIR}/Sentry/Sentry.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Sentry.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MattermostShare/Pods-MattermostShare-resources.sh\"\n";
showEnvVarsInLog = 0;
};
60D7AC7FCA7AC276C4308D05 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -1505,6 +1526,28 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
72C6C74DFCEA1986BED63294 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-MattermostShare-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
A40F47AC8A062DFCF1B2A23E /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -1569,10 +1612,12 @@
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-NotificationService/Pods-NotificationService-resources.sh",
"${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjackPrivacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/Sentry/Sentry.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CocoaLumberjackPrivacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Sentry.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@ -2124,7 +2169,7 @@
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "c++20";
CLANG_CXX_LANGUAGE_STANDARD = "$(inherited)";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_COMMA = YES;
@ -2173,7 +2218,7 @@
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "c++20";
CLANG_CXX_LANGUAGE_STANDARD = "$(inherited)";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_COMMA = YES;
@ -2215,10 +2260,11 @@
};
7FC5699128563FDB000B0905 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 4751361789DCCAD0DBD95C16 /* Pods-MattermostShare.debug.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "c++20";
CLANG_CXX_LANGUAGE_STANDARD = "$(inherited)";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_COMMA = YES;
@ -2227,7 +2273,7 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = "$(inherited)";
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
@ -2264,10 +2310,11 @@
};
7FC5699228563FDB000B0905 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C7E622B6B1B605983E8E23B7 /* Pods-MattermostShare.release.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "c++20";
CLANG_CXX_LANGUAGE_STANDARD = "$(inherited)";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_COMMA = YES;
@ -2276,7 +2323,7 @@
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = "$(inherited)";
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
@ -2483,14 +2530,6 @@
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
27C667A129523ECA00E590D5 /* XCRemoteSwiftPackageReference "sentry-cocoa" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/getsentry/sentry-cocoa.git";
requirement = {
kind = exactVersion;
version = 8.41.0;
};
};
7FD4822A2864D73300A5B18B /* XCRemoteSwiftPackageReference "OpenGraph" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/satoshi-takano/OpenGraph.git";
@ -2502,16 +2541,6 @@
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
27C667A229523ECA00E590D5 /* Sentry */ = {
isa = XCSwiftPackageProductDependency;
package = 27C667A129523ECA00E590D5 /* XCRemoteSwiftPackageReference "sentry-cocoa" */;
productName = Sentry;
};
27C667A429523F0A00E590D5 /* Sentry */ = {
isa = XCSwiftPackageProductDependency;
package = 27C667A129523ECA00E590D5 /* XCRemoteSwiftPackageReference "sentry-cocoa" */;
productName = Sentry;
};
49AE370026D4455D00EF4E52 /* Gekidou */ = {
isa = XCSwiftPackageProductDependency;
productName = Gekidou;

View file

@ -55,15 +55,6 @@
"version": "1.4.1"
}
},
{
"package": "Sentry",
"repositoryURL": "https://github.com/getsentry/sentry-cocoa.git",
"state": {
"branch": null,
"revision": "56bfb7e723c76614be4c0861ee820ccbaed14c6d",
"version": "8.41.0"
}
},
{
"package": "SQLite.swift",
"repositoryURL": "https://github.com/stephencelis/SQLite.swift.git",

View file

@ -64,5 +64,10 @@ end
target 'NotificationService' do
pod 'TurboLogIOSNative', :git => 'https://github.com/larkox/react-native-turbo-log-ios-native.git', :modular_headers => true
pod 'Sentry/HybridSDK', '8.48.0'
end
target 'MattermostShare' do
pod 'Sentry/HybridSDK', '8.48.0'
end

File diff suppressed because it is too large Load diff

1878
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -11,7 +11,7 @@
"npm": "^9 || ^10"
},
"dependencies": {
"@formatjs/intl-datetimeformat": "6.17.4",
"@formatjs/intl-datetimeformat": "6.18.0",
"@formatjs/intl-getcanonicallocales": "2.5.5",
"@formatjs/intl-listformat": "7.7.11",
"@formatjs/intl-locale": "4.2.11",
@ -28,7 +28,7 @@
"@mattermost/rnshare": "file:./libraries/@mattermost/rnshare",
"@mattermost/rnutils": "file:./libraries/@mattermost/rnutils",
"@msgpack/msgpack": "3.1.1",
"@nozbe/watermelondb": "0.28.0-2",
"@nozbe/watermelondb": "0.28.0",
"@react-native-camera-roll/camera-roll": "7.10.0",
"@react-native-clipboard/clipboard": "1.16.2",
"@react-native-community/cli": "15.1.3",
@ -37,12 +37,12 @@
"@react-native-community/datetimepicker": "8.3.0",
"@react-native-community/netinfo": "11.4.1",
"@react-native-cookies/cookies": "6.2.1",
"@react-navigation/bottom-tabs": "7.3.2",
"@react-navigation/native": "7.0.18",
"@react-navigation/stack": "7.2.2",
"@react-navigation/bottom-tabs": "7.3.10",
"@react-navigation/native": "7.1.6",
"@react-navigation/stack": "7.2.10",
"@rneui/base": "4.0.0-rc.8",
"@sentry/react-native": "6.4.0",
"@shopify/flash-list": "1.7.6",
"@sentry/react-native": "6.10.0",
"@shopify/flash-list": "1.8.0",
"@stream-io/flat-list-mvcp": "0.10.3",
"@voximplant/react-native-foreground-service": "3.0.2",
"APNG4Android": "github:mattermost/APNG4Android#15a7e93d59542d18c1e562d49b3f4896dd1643a6",
@ -52,32 +52,32 @@
"deep-equal": "2.2.3",
"deepmerge": "4.3.1",
"emoji-regex": "10.4.0",
"expo": "52.0.40",
"expo": "52.0.44",
"expo-application": "6.0.2",
"expo-crypto": "14.0.2",
"expo-device": "7.0.2",
"expo-image": "2.0.6",
"expo-device": "7.0.3",
"expo-image": "2.0.7",
"expo-linear-gradient": "14.0.2",
"expo-store-review": "8.0.1",
"expo-video-thumbnails": "9.0.3",
"expo-web-browser": "14.0.2",
"fflate": "0.8.2",
"fuse.js": "7.1.0",
"html-entities": "2.5.3",
"html-entities": "2.6.0",
"mime-db": "1.54.0",
"moment-timezone": "0.5.48",
"node-html-parser": "7.0.1",
"path-to-regexp": "8.2.0",
"react": "18.3.1",
"react-freeze": "1.0.4",
"react-intl": "7.1.8",
"react-native": "0.76.5",
"react-intl": "7.1.10",
"react-native": "0.76.9",
"react-native-background-timer": "2.4.1",
"react-native-document-picker": "9.3.1",
"react-native-dotenv": "3.4.11",
"react-native-exception-handler": "2.10.10",
"react-native-file-viewer": "2.1.5",
"react-native-gesture-handler": "2.24.0",
"react-native-gesture-handler": "2.25.0",
"react-native-haptic-feedback": "2.3.3",
"react-native-image-picker": "8.2.0",
"react-native-incall-manager": "4.2.0",
@ -85,20 +85,20 @@
"react-native-keychain": "10.0.0",
"react-native-localize": "3.4.1",
"react-native-math-view": "3.9.5",
"react-native-navigation": "7.44.0",
"react-native-navigation": "7.45.0",
"react-native-notifications": "5.1.0",
"react-native-performance": "5.1.2",
"react-native-permissions": "5.3.0",
"react-native-reanimated": "3.17.1",
"react-native-reanimated": "3.17.3",
"react-native-safe-area-context": "5.3.0",
"react-native-screens": "4.9.2",
"react-native-screens": "4.10.0",
"react-native-section-list-get-item-layout": "2.2.3",
"react-native-shadow-2": "7.1.1",
"react-native-share": "12.0.9",
"react-native-svg": "15.11.2",
"react-native-url-polyfill": "2.0.0",
"react-native-vector-icons": "10.2.0",
"react-native-video": "6.11.0",
"react-native-video": "6.12.0",
"react-native-walkthrough-tooltip": "1.6.0",
"react-native-webrtc": "124.0.5",
"react-syntax-highlighter": "15.6.1",
@ -107,21 +107,21 @@
"url-parse": "1.5.10"
},
"devDependencies": {
"@babel/cli": "7.26.4",
"@babel/cli": "7.27.0",
"@babel/core": "7.26.10",
"@babel/eslint-parser": "7.26.10",
"@babel/eslint-parser": "7.27.0",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.25.9",
"@babel/plugin-transform-flow-strip-types": "7.26.5",
"@babel/plugin-transform-runtime": "7.26.10",
"@babel/preset-env": "7.26.9",
"@babel/preset-typescript": "7.26.0",
"@babel/preset-typescript": "7.27.0",
"@babel/register": "7.25.9",
"@babel/runtime": "7.26.10",
"@react-native/babel-preset": "0.76.5",
"@react-native/eslint-config": "0.76.5",
"@react-native/metro-config": "0.76.5",
"@react-native/typescript-config": "0.76.5",
"@babel/runtime": "7.27.0",
"@react-native/babel-preset": "0.76.9",
"@react-native/eslint-config": "0.76.9",
"@react-native/metro-config": "0.76.9",
"@react-native/typescript-config": "0.76.9",
"@stylistic/eslint-plugin-ts": "4.2.0",
"@testing-library/react-hooks": "8.0.1",
"@testing-library/react-native": "13.2.0",
@ -138,21 +138,21 @@
"@types/react-native-background-timer": "2.0.2",
"@types/react-native-dotenv": "0.2.2",
"@types/react-syntax-highlighter": "15.5.13",
"@types/semver": "7.5.8",
"@types/semver": "7.7.0",
"@types/tinycolor2": "1.4.6",
"@types/tough-cookie": "4.0.5",
"@types/url-parse": "1.4.11",
"@types/uuid": "10.0.0",
"@typescript-eslint/eslint-plugin": "8.27.0",
"@typescript-eslint/parser": "8.27.0",
"@typescript-eslint/eslint-plugin": "8.29.1",
"@typescript-eslint/parser": "8.29.1",
"babel-jest": "29.7.0",
"babel-loader": "10.0.0",
"babel-plugin-module-resolver": "5.0.2",
"eslint": "9.23.0",
"eslint": "9.24.0",
"eslint-plugin-header": "3.1.1",
"eslint-plugin-import": "2.31.0",
"eslint-plugin-jest": "28.11.0",
"eslint-plugin-react": "7.37.4",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-react-hooks": "5.2.0",
"husky": "9.1.7",
"isomorphic-fetch": "3.0.0",
@ -161,14 +161,14 @@
"jest-expo": "52.0.6",
"jetifier": "2.0.0",
"mmjstool": "github:mattermost/mattermost-utilities#83b1b311972b8f5e750aae4019457a40abb5aa44",
"nock": "14.0.1",
"nock": "14.0.3",
"patch-package": "8.0.0",
"react-devtools-core": "6.1.1",
"react-test-renderer": "18.3.1",
"timezones.json": "1.7.1",
"tough-cookie": "5.1.2",
"ts-jest": "29.2.6",
"typescript": "5.8.2",
"ts-jest": "29.3.1",
"typescript": "5.8.3",
"uuid": "11.1.0"
},
"scripts": {
@ -206,7 +206,7 @@
"overrides": {
"promise": "^8.3.0",
"react-test-renderer": "18.3.1",
"@babel/runtime": "7.26.10",
"@babel/runtime": "7.27.0",
"@babel/runtime-corejs3": "7.26.10",
"@testing-library/react-native": {
"react": "^18.3.1"
@ -223,7 +223,7 @@
"react-native": "^0.76.5"
},
"@react-native/eslint-config@0.76.5": {
"@typescript-eslint/eslint-plugin": "^8.26.1"
"@typescript-eslint/eslint-plugin": "^8.29.1"
}
},
"expo": {

View file

@ -1,13 +0,0 @@
diff --git a/node_modules/react-intl/src/components/createIntl.js b/node_modules/react-intl/src/components/createIntl.js
index 6887909..d1819bc 100644
--- a/node_modules/react-intl/src/components/createIntl.js
+++ b/node_modules/react-intl/src/components/createIntl.js
@@ -32,7 +32,7 @@ var formatMessage = function (config, formatters, descriptor, rawValues) {
formatters,
descriptor,
values], rest, false));
- return (0, utils_1.toKeyedReactNodeArray)(chunks);
+ return typeof chunks === 'string' ? chunks : (0, utils_1.toKeyedReactNodeArray)(chunks);
};
/**
* Create intl object