element-android icon indicating copy to clipboard operation
element-android copied to clipboard

#8885 Fix crash when joining a conference call on Android 14 (update jitsi-meet-sdk to 10.1.0)

Open christianrowlands opened this issue 1 year ago • 0 comments

Type of change

  • [ ] Feature
  • [X] Bugfix
  • [ ] Technical
  • [ ] Other :

Content

I updated the jitsi-meet-sdk library version from 8.1.1 to 10.1.0.

IMPORTANT: The PR at https://github.com/element-hq/jitsi_libre_maven/pull/1 needs to be merged first as it contains the new version of the library mobile-sdk-10.1.0.

IMPORTANT # 2: I was unable build the project without adding mavenCentral() to the repo list. This is because the react-native binaries stopped being included with the Jitsi mobile SDK after version android-sdk-8.6.1. As a result, I needed to add the transitive = true flag to the dependency, and then the mavenCentral(). I saw in the comments that we don't want to include mavenCentral()`, but I was unable to figure out where to get it from if not maven central. I need guidance here on how to proceed before merging this PR.

Motivation and context

This PR fixes the issue reported in https://github.com/element-hq/element-android/issues/8885 . More specifically, when joining a conference call on Android 14, the Element app would crash.

Screenshots / GIFs

One important note is that it appears Conference calls no longer work on devices running below Android 6. As part of the testing outlined in the contributing guide, I tested on an Android emulator running SDK 22 (I could not find an emulator device that supported 21, so I went with 22). When joining a conference call, I received the following dialog:

image

In my opinion, this is an acceptable trade off because the number of people using Android 14 is much higher than the number of people using Android 5.1 (SDK 22) and below. The rest of Element still functions, just not the conference calls.

Tests

  • I ran this app on my Pixel 8 Pro that is running Android 14
  • I ran the tests ./gradlew testGplayReleaseUnitTest
  • I ran the app in an emulator for a Nexus 4 running SDK 22.

Tested devices

  • [X] Physical
  • [X] Emulator
  • OS version(s): Android 14 Physical and Android 5.1 in the emulator.

Checklist

  • [-] Changes has been tested on an Android device or Android emulator with API 21 (Sort of, I ran it with API 22)
  • [-] UI change has been tested on both light and dark themes
  • [X] Accessibility has been taken into account. See https://github.com/element-hq/element-android/blob/develop/CONTRIBUTING.md#accessibility
  • [X] Pull request is based on the develop branch
  • [X] Pull request includes a new file under ./changelog.d. See https://github.com/element-hq/element-android/blob/develop/CONTRIBUTING.md#changelog
  • [-] Pull request includes screenshots or videos if containing UI changes
  • [X] Pull request includes a sign off
  • [X] You've made a self review of your PR
  • [-] If you have modified the screen flow, or added new screens to the application, you have updated the test UiAllScreensSanityTest.allScreensTest()

Signed-off-by: Christian Rowlands <craxiomdev [at] gmail.com>

christianrowlands avatar Aug 28 '24 15:08 christianrowlands