mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-07-14 18:15:56 -04:00
fix(native): add Apple privacy manifest and fix Sentry metro config
- Add `privacyManifests` to `app.json` declaring crash/performance/diagnostic data collection (unlinked, non-tracking, app functionality only) and required API access reasons for UserDefaults, SystemBootTime, and FileTimestamp - Switch metro config from `withSentryConfig` wrapper to `getSentryExpoConfig` (Sentry's recommended Expo integration) and remove redundant `withSentryConfig` wrapping
This commit is contained in:
+43
-1
@@ -12,7 +12,49 @@
|
||||
},
|
||||
"icon": "./assets/images/sofa.icon",
|
||||
"bundleIdentifier": "com.jakejarvis.sofa",
|
||||
"appleTeamId": "B5ZWKBCUTU"
|
||||
"appleTeamId": "B5ZWKBCUTU",
|
||||
"privacyManifests": {
|
||||
"NSPrivacyCollectedDataTypes": [
|
||||
{
|
||||
"NSPrivacyCollectedDataType": "NSPrivacyCollectedDataTypeCrashData",
|
||||
"NSPrivacyCollectedDataTypeLinked": false,
|
||||
"NSPrivacyCollectedDataTypeTracking": false,
|
||||
"NSPrivacyCollectedDataTypePurposes": [
|
||||
"NSPrivacyCollectedDataTypePurposeAppFunctionality"
|
||||
]
|
||||
},
|
||||
{
|
||||
"NSPrivacyCollectedDataType": "NSPrivacyCollectedDataTypePerformanceData",
|
||||
"NSPrivacyCollectedDataTypeLinked": false,
|
||||
"NSPrivacyCollectedDataTypeTracking": false,
|
||||
"NSPrivacyCollectedDataTypePurposes": [
|
||||
"NSPrivacyCollectedDataTypePurposeAppFunctionality"
|
||||
]
|
||||
},
|
||||
{
|
||||
"NSPrivacyCollectedDataType": "NSPrivacyCollectedDataTypeOtherDiagnosticData",
|
||||
"NSPrivacyCollectedDataTypeLinked": false,
|
||||
"NSPrivacyCollectedDataTypeTracking": false,
|
||||
"NSPrivacyCollectedDataTypePurposes": [
|
||||
"NSPrivacyCollectedDataTypePurposeAppFunctionality"
|
||||
]
|
||||
}
|
||||
],
|
||||
"NSPrivacyAccessedAPITypes": [
|
||||
{
|
||||
"NSPrivacyAccessedAPIType": "NSPrivacyAccessedAPICategoryUserDefaults",
|
||||
"NSPrivacyAccessedAPITypeReasons": ["CA92.1"]
|
||||
},
|
||||
{
|
||||
"NSPrivacyAccessedAPIType": "NSPrivacyAccessedAPICategorySystemBootTime",
|
||||
"NSPrivacyAccessedAPITypeReasons": ["35F9.1"]
|
||||
},
|
||||
{
|
||||
"NSPrivacyAccessedAPIType": "NSPrivacyAccessedAPICategoryFileTimestamp",
|
||||
"NSPrivacyAccessedAPITypeReasons": ["C617.1"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"android": {
|
||||
"adaptiveIcon": {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
const { getDefaultConfig } = require("expo/metro-config");
|
||||
const { withSentryConfig } = require("@sentry/react-native/metro");
|
||||
const { getSentryExpoConfig } = require("@sentry/react-native/metro");
|
||||
const { withUniwindConfig } = require("uniwind/metro");
|
||||
const { wrapWithReanimatedMetroConfig } = require("react-native-reanimated/metro-config");
|
||||
|
||||
/** @type {import('expo/metro-config').MetroConfig} */
|
||||
const config = getDefaultConfig(__dirname);
|
||||
const config = getSentryExpoConfig(__dirname, { getDefaultConfig });
|
||||
|
||||
config.transformer = {
|
||||
...config.transformer,
|
||||
@@ -27,9 +27,7 @@ config.resolver = {
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = withSentryConfig(
|
||||
withUniwindConfig(wrapWithReanimatedMetroConfig(config), {
|
||||
cssEntryFile: "./src/global.css",
|
||||
dtsFile: "./uniwind-types.d.ts",
|
||||
}),
|
||||
);
|
||||
module.exports = withUniwindConfig(wrapWithReanimatedMetroConfig(config), {
|
||||
cssEntryFile: "./src/global.css",
|
||||
dtsFile: "./uniwind-types.d.ts",
|
||||
});
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"@react-native-menu/menu": "2.0.0",
|
||||
"@react-navigation/elements": "2.9.11",
|
||||
"@react-navigation/native": "7.1.34",
|
||||
"@sentry/react-native": "7.11.0",
|
||||
"@sentry/react-native": "8.5.0",
|
||||
"@shopify/flash-list": "2.0.2",
|
||||
"@sofa/api": "workspace:*",
|
||||
"@sofa/i18n": "workspace:*",
|
||||
|
||||
Reference in New Issue
Block a user