Browse Source

Fix analytics: spaceId have the same syntax as roomId. Use MatrixRoom.isSpace instead of MatrixPatterns.isSpaceId (#2612)

Also remoce useless orFalse() calls.
pull/2618/head
Benoit Marty 6 months ago
parent
commit
46008c2887
  1. 1
      changelog.d/2612.bugfix
  2. 1
      libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt
  3. 3
      libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt
  4. 1
      libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt
  5. 8
      services/analytics/api/src/main/kotlin/io/element/android/services/analytics/api/extensions/JoinedRoomExt.kt
  6. 6
      services/analytics/api/src/main/kotlin/io/element/android/services/analytics/api/extensions/ViewRoomExt.kt

1
changelog.d/2612.bugfix

@ -0,0 +1 @@ @@ -0,0 +1 @@
Fix analytics issue around room considered as space by mistake.

1
libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt

@ -55,6 +55,7 @@ interface MatrixRoom : Closeable { @@ -55,6 +55,7 @@ interface MatrixRoom : Closeable {
val topic: String?
val avatarUrl: String?
val isEncrypted: Boolean
val isSpace: Boolean
val isDirect: Boolean
val isPublic: Boolean
val activeMemberCount: Long

3
libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt

@ -213,6 +213,9 @@ class RustMatrixRoom( @@ -213,6 +213,9 @@ class RustMatrixRoom(
override val isPublic: Boolean
get() = innerRoom.isPublic()
override val isSpace: Boolean
get() = innerRoom.isSpace()
override val isDirect: Boolean
get() = innerRoom.isDirect()

1
libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt

@ -77,6 +77,7 @@ class FakeMatrixRoom( @@ -77,6 +77,7 @@ class FakeMatrixRoom(
override val alias: String? = null,
override val alternativeAliases: List<String> = emptyList(),
override val isPublic: Boolean = true,
override val isSpace: Boolean = false,
override val isDirect: Boolean = false,
override val isOneToOne: Boolean = false,
override val joinedMemberCount: Long = 123L,

8
services/analytics/api/src/main/kotlin/io/element/android/services/analytics/api/extensions/JoinedRoomExt.kt

@ -17,8 +17,6 @@ @@ -17,8 +17,6 @@
package io.element.android.services.analytics.api.extensions
import im.vector.app.features.analytics.plan.JoinedRoom
import io.element.android.libraries.core.bool.orFalse
import io.element.android.libraries.matrix.api.core.MatrixPatterns
import io.element.android.libraries.matrix.api.room.MatrixRoom
fun Long?.toAnalyticsRoomSize(): JoinedRoom.RoomSize {
@ -34,9 +32,9 @@ fun Long?.toAnalyticsRoomSize(): JoinedRoom.RoomSize { @@ -34,9 +32,9 @@ fun Long?.toAnalyticsRoomSize(): JoinedRoom.RoomSize {
fun MatrixRoom.toAnalyticsJoinedRoom(trigger: JoinedRoom.Trigger?): JoinedRoom {
return JoinedRoom(
isDM = this.isDirect.orFalse(),
isSpace = MatrixPatterns.isSpaceId(this.roomId.value),
roomSize = this.joinedMemberCount.toAnalyticsRoomSize(),
isDM = isDirect,
isSpace = isSpace,
roomSize = joinedMemberCount.toAnalyticsRoomSize(),
trigger = trigger
)
}

6
services/analytics/api/src/main/kotlin/io/element/android/services/analytics/api/extensions/ViewRoomExt.kt

@ -17,16 +17,14 @@ @@ -17,16 +17,14 @@
package io.element.android.services.analytics.api.extensions
import im.vector.app.features.analytics.plan.ViewRoom
import io.element.android.libraries.core.bool.orFalse
import io.element.android.libraries.matrix.api.core.MatrixPatterns
import io.element.android.libraries.matrix.api.room.MatrixRoom
fun MatrixRoom.toAnalyticsViewRoom(trigger: ViewRoom.Trigger? = null, selectedSpace: MatrixRoom? = null, viaKeyboard: Boolean? = null): ViewRoom {
val activeSpace = selectedSpace?.toActiveSpace() ?: ViewRoom.ActiveSpace.Home
return ViewRoom(
isDM = this.isDirect.orFalse(),
isSpace = MatrixPatterns.isSpaceId(this.roomId.value),
isDM = isDirect,
isSpace = isSpace,
trigger = trigger,
activeSpace = activeSpace,
viaKeyboard = viaKeyboard

Loading…
Cancel
Save