Skip to content

Commit

Permalink
element-hq#8885 Fix crash when joining a conference call on Android 1…
Browse files Browse the repository at this point in the history
…4 (update jitsi-meet-sdk to 10.1.0)
  • Loading branch information
christianrowlands committed Aug 28, 2024
1 parent 76616b1 commit b384921
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 15 deletions.
7 changes: 5 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ allprojects {

repositories {
// Do not use `mavenCentral()`, it prevents Dependabot from working properly
// mavenCentral() // TODO Where to get com.facebook.react:react-android besides from mavenCentral?
maven {
url 'https://repo1.maven.org/maven2'
content {
Expand All @@ -96,9 +97,11 @@ allprojects {
}
// Jitsi repo
maven {
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/android-sdk-8.1.1"
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/mobile-sdk-10.1.0"
// Note: to test Jitsi release you can use a local file like this:
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-8.1.1"
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/mobile-sdk-10.1.0"
// or
// url "file:/tmp/jitsi
content {
groups.jitsi.regex.each { includeGroupByRegex it }
groups.jitsi.group.each { includeGroup it }
Expand Down
1 change: 1 addition & 0 deletions changelog.d/8885.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix crash when joining a conference call on Android 14. ([#8885](https://github.com/element-hq/element-android/issues/8885))
14 changes: 4 additions & 10 deletions docs/jitsi.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Update the script `./tools/jitsi/build_jisti_libs.sh` with the tag of the projec

Latest tag can be found from this page: https://github.com/jitsi/jitsi-meet-release-notes/blob/master/CHANGELOG-MOBILE-SDKS.md

Currently we are building the version with the tag `android-sdk-8.1.1`.
Currently we are building the version with the tag `mobile-sdk-10.1.0`.

#### Run the build script

Expand All @@ -49,21 +49,15 @@ It will build the Jitsi Meet Android library and put every generated files in th
- Update the file `./build.gradle` to use the previously created local Maven repository. Currently we have this line:

```groovy
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/android-sdk-8.1.1"
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/mobile-sdk-10.1.0"
```

You can uncomment and update the line starting with `// url "file://...` and comment the line starting with `url`, to test the library using the locally generated Maven repository.

- Update the dependency of the Jitsi Meet library in the file `./vector/build.gradle`. Currently we have this line:

```groovy
api('org.jitsi.react:jitsi-meet-sdk:8.1.1')
```

- Update the dependency of the WebRTC library in the file `./vector/build.gradle`. Currently we have this line:

```groovy
implementation('com.facebook.react:react-native-webrtc:111.0.0-jitsi-13672566@aar')
api('org.jitsi.react:jitsi-meet-sdk:10.1.0')
```

- Perform a gradle sync and build the project
Expand All @@ -88,7 +82,7 @@ If all the tests are passed, you can export the generated Jitsi library to our M
- Update the file `./build.gradle` to use the previously created Maven repository. Currently we have this line:

```groovy
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/android-sdk-8.1.1"
url "https://github.com/element-hq/jitsi_libre_maven/raw/main/mobile-sdk-10.1.0"
```

- Build the project and perform the sanity tests again.
Expand Down
2 changes: 1 addition & 1 deletion tools/jitsi/build_jisti_libs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export LIBRE_BUILD=true
cd jitsi-meet

# Get the latest version from the changelog: https://github.com/jitsi/jitsi-meet-release-notes/blob/master/CHANGELOG-MOBILE-SDKS.md
git checkout android-sdk-8.1.1
git checkout mobile-sdk-10.1.0

echo
echo "##################################################"
Expand Down
5 changes: 4 additions & 1 deletion vector/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ dependencies {
implementation "androidx.emoji2:emoji2:1.3.0"

// Jitsi
api('org.jitsi.react:jitsi-meet-sdk:8.1.1') {
api('org.jitsi.react:jitsi-meet-sdk:10.1.0') {
exclude group: 'com.google.firebase'
exclude group: 'com.google.android.gms'
exclude group: 'com.android.installreferrer'
Expand All @@ -259,6 +259,9 @@ dependencies {
// The library exports a jetified artifact but doesn't remove the support library dependency
// https://github.com/MatrixFrog/Android-ScalableVideoView/blob/master/gradle.properties#L1
exclude group: 'com.android.support', module: 'appcompat-v7'

// transitive needed to pull in the react-native dependency
transitive = true
}

// QR-code
Expand Down
2 changes: 1 addition & 1 deletion vector/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />

<!-- Jitsi SDK is now API23+ -->
<uses-sdk tools:overrideLibrary="com.swmansion.gesturehandler,org.jitsi.meet.sdk,com.oney.WebRTCModule,com.learnium.RNDeviceInfo,com.reactnativecommunity.asyncstorage,com.ocetnik.timer,com.calendarevents,com.reactnativecommunity.netinfo,com.kevinresol.react_native_default_preference,com.rnimmersive,com.corbt.keepawake,com.BV.LinearGradient,com.horcrux.svg,com.oblador.performance,com.reactnativecommunity.slider,com.brentvatne.react,com.reactnativecommunity.clipboard,com.swmansion.gesturehandler.react,org.linusu,org.reactnative.maskedview,com.reactnativepagerview,com.swmansion.reanimated,com.th3rdwave.safeareacontext,com.swmansion.rnscreens,org.devio.rn.splashscreen,com.reactnativecommunity.webview,org.wonday.orientation" />
<uses-sdk tools:overrideLibrary="com.swmansion.gesturehandler,org.jitsi.meet.sdk,com.oney.WebRTCModule,com.learnium.RNDeviceInfo,com.reactnativecommunity.asyncstorage,com.ocetnik.timer,com.calendarevents,com.reactnativecommunity.netinfo,com.kevinresol.react_native_default_preference,com.rnimmersive,com.rnimmersivemode,com.corbt.keepawake,com.BV.LinearGradient,com.horcrux.svg,com.oblador.performance,com.reactnativecommunity.slider,com.brentvatne.react,com.reactnativecommunity.clipboard,com.swmansion.gesturehandler.react,org.linusu,org.reactnative.maskedview,com.reactnativepagerview,com.swmansion.reanimated,com.th3rdwave.safeareacontext,com.swmansion.rnscreens,org.devio.rn.splashscreen,com.reactnativecommunity.webview,org.wonday.orientation" />

<!-- Adding CAMERA permission prevents Chromebooks to see the application on the PlayStore -->
<!-- Tell that the Camera is not mandatory to install the application -->
Expand Down

0 comments on commit b384921

Please sign in to comment.