Skip to content

Commit

Permalink
Fix analytics: spaceId have the same syntax as roomId. Use MatrixRoom…
Browse files Browse the repository at this point in the history
….isSpace instead of MatrixPatterns.isSpaceId (#2612)

Also remoce useless orFalse() calls.
  • Loading branch information
bmarty committed Mar 28, 2024
1 parent ac9b74e commit 46008c2
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 9 deletions.
1 change: 1 addition & 0 deletions changelog.d/2612.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix analytics issue around room considered as space by mistake.
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -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,

Check warning on line 27 in services/analytics/api/src/main/kotlin/io/element/android/services/analytics/api/extensions/ViewRoomExt.kt

View check run for this annotation

Codecov / codecov/patch

services/analytics/api/src/main/kotlin/io/element/android/services/analytics/api/extensions/ViewRoomExt.kt#L26-L27

Added lines #L26 - L27 were not covered by tests
trigger = trigger,
activeSpace = activeSpace,
viaKeyboard = viaKeyboard
Expand Down

0 comments on commit 46008c2

Please sign in to comment.