fix(mobile): use @config-plugins/react-native-webrtc, link EAS project

- replace bogus @livekit/* plugin entries with @config-plugins/react-native-webrtc@^10 (real Expo config plugin; LiveKit packages do not ship app.plugin.js)
- eas init linked project @bygalax/netralax (id 255e2fde-...)
- app.json picked up Expo defaults (Android permissions, owner)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
byGalax
2026-05-14 12:44:24 +02:00
parent 5a3dc15704
commit 122191276e
3 changed files with 43 additions and 8 deletions
+31 -9
View File
@@ -13,19 +13,33 @@
"resizeMode": "contain", "resizeMode": "contain",
"backgroundColor": "#0b0b0f" "backgroundColor": "#0b0b0f"
}, },
"assetBundlePatterns": ["**/*"], "assetBundlePatterns": [
"**/*"
],
"ios": { "ios": {
"supportsTablet": true, "supportsTablet": true,
"bundleIdentifier": "cloud.netralax.app", "bundleIdentifier": "cloud.netralax.app",
"infoPlist": { "infoPlist": {
"ITSAppUsesNonExemptEncryption": false, "ITSAppUsesNonExemptEncryption": false,
"UIBackgroundModes": ["audio"], "UIBackgroundModes": [
"audio"
],
"NSMicrophoneUsageDescription": "Netralax nutzt das Mikrofon für Sprachanrufe." "NSMicrophoneUsageDescription": "Netralax nutzt das Mikrofon für Sprachanrufe."
} },
"bitcode": false
}, },
"android": { "android": {
"package": "cloud.netralax.app", "package": "cloud.netralax.app",
"permissions": ["RECORD_AUDIO"], "permissions": [
"android.permission.RECORD_AUDIO",
"android.permission.ACCESS_NETWORK_STATE",
"android.permission.CAMERA",
"android.permission.INTERNET",
"android.permission.MODIFY_AUDIO_SETTINGS",
"android.permission.SYSTEM_ALERT_WINDOW",
"android.permission.WAKE_LOCK",
"android.permission.BLUETOOTH"
],
"adaptiveIcon": { "adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png", "foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#0b0b0f" "backgroundColor": "#0b0b0f"
@@ -48,16 +62,24 @@
"cameraPermission": "Netralax nutzt die Kamera für Fotos in Nachrichten." "cameraPermission": "Netralax nutzt die Kamera für Fotos in Nachrichten."
} }
], ],
"@livekit/react-native-webrtc", [
"@livekit/react-native" "@config-plugins/react-native-webrtc",
{
"microphonePermission": "Netralax nutzt das Mikrofon für Sprachanrufe."
}
]
], ],
"experiments": { "experiments": {
"typedRoutes": true "typedRoutes": true
}, },
"extra": { "extra": {
"eas": { "eas": {
"projectId": "REPLACE_WITH_EAS_PROJECT_ID" "projectId": "255e2fde-3e27-4749-be53-8f0e13ed0ab0"
} },
} "router": {
"origin": false
}
},
"owner": "bygalax"
} }
} }
+1
View File
@@ -20,6 +20,7 @@
"dependencies": { "dependencies": {
"@chat-app/db-types": "workspace:*", "@chat-app/db-types": "workspace:*",
"@chat-app/shared": "workspace:*", "@chat-app/shared": "workspace:*",
"@config-plugins/react-native-webrtc": "^10.0.0",
"@livekit/react-native": "^2.10.3", "@livekit/react-native": "^2.10.3",
"@livekit/react-native-webrtc": "^144.0.0", "@livekit/react-native-webrtc": "^144.0.0",
"@react-native-async-storage/async-storage": "^3.0.2", "@react-native-async-storage/async-storage": "^3.0.2",
+12
View File
@@ -156,6 +156,9 @@ importers:
'@chat-app/shared': '@chat-app/shared':
specifier: workspace:* specifier: workspace:*
version: link:../../packages/shared version: link:../../packages/shared
'@config-plugins/react-native-webrtc':
specifier: ^10.0.0
version: 10.0.0(expo@52.0.49(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@18.3.28)(encoding@0.1.13)(react@18.3.1)))(encoding@0.1.13)(react-native@0.76.0(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@18.3.28)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))
'@livekit/react-native': '@livekit/react-native':
specifier: ^2.10.3 specifier: ^2.10.3
version: 2.10.3(@livekit/react-native-webrtc@144.0.0(react-native@0.76.0(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@18.3.28)(encoding@0.1.13)(react@18.3.1)))(livekit-client@2.18.3(@types/dom-mediacapture-record@1.0.22))(react-dom@18.3.1(react@18.3.1))(react-native@0.76.0(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@18.3.28)(encoding@0.1.13)(react@18.3.1))(react@18.3.1)(tslib@2.8.1) version: 2.10.3(@livekit/react-native-webrtc@144.0.0(react-native@0.76.0(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@18.3.28)(encoding@0.1.13)(react@18.3.1)))(livekit-client@2.18.3(@types/dom-mediacapture-record@1.0.22))(react-dom@18.3.1(react@18.3.1))(react-native@0.76.0(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@18.3.28)(encoding@0.1.13)(react@18.3.1))(react@18.3.1)(tslib@2.8.1)
@@ -1008,6 +1011,11 @@ packages:
'@bufbuild/protobuf@1.10.1': '@bufbuild/protobuf@1.10.1':
resolution: {integrity: sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==} resolution: {integrity: sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==}
'@config-plugins/react-native-webrtc@10.0.0':
resolution: {integrity: sha512-q6owBOwQo3HRx4/b0FteE06Ymlcx7pK5bw+Stg77wgTWyxWAJ90yfVvvdMckzxuxMwDd78o9yCLKIONTulHD4A==}
peerDependencies:
expo: ^52
'@develar/schema-utils@2.6.5': '@develar/schema-utils@2.6.5':
resolution: {integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==} resolution: {integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==}
engines: {node: '>= 8.9.0'} engines: {node: '>= 8.9.0'}
@@ -7253,6 +7261,10 @@ snapshots:
'@bufbuild/protobuf@1.10.1': {} '@bufbuild/protobuf@1.10.1': {}
'@config-plugins/react-native-webrtc@10.0.0(expo@52.0.49(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@18.3.28)(encoding@0.1.13)(react@18.3.1)))(encoding@0.1.13)(react-native@0.76.0(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@18.3.28)(encoding@0.1.13)(react@18.3.1))(react@18.3.1))':
dependencies:
expo: 52.0.49(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@18.3.28)(encoding@0.1.13)(react@18.3.1)))(encoding@0.1.13)(react-native@0.76.0(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@18.3.28)(encoding@0.1.13)(react@18.3.1))(react@18.3.1)
'@develar/schema-utils@2.6.5': '@develar/schema-utils@2.6.5':
dependencies: dependencies:
ajv: 6.14.0 ajv: 6.14.0