Make PushData.clientSecret mandatory.

Also do not restore the last session as a fallback, it can lead to error in a multi account context, or even when a ghost pusher send a Push.
This commit is contained in:
Benoit Marty 2025-09-18 10:48:39 +02:00 committed by Benoit Marty
parent 786b68d77e
commit 1cc7afb585
5 changed files with 16 additions and 84 deletions

View file

@ -34,10 +34,11 @@ data class PushDataFirebase(
fun PushDataFirebase.toPushData(): PushData? {
val safeEventId = eventId?.let(::EventId) ?: return null
val safeRoomId = roomId?.let(::RoomId) ?: return null
val safeClientSecret = clientSecret ?: return null
return PushData(
eventId = safeEventId,
roomId = safeRoomId,
unread = unread,
clientSecret = clientSecret,
clientSecret = safeClientSecret,
)
}

View file

@ -59,6 +59,12 @@ class FirebasePushParserTest {
assertThrowsInDebug { pushParser.parse(FIREBASE_PUSH_DATA.mutate("event_id", "")) }
}
@Test
fun `test empty client secret`() {
val pushParser = FirebasePushParser()
assertThat(pushParser.parse(FIREBASE_PUSH_DATA.mutate("cs", null))).isNull()
}
@Test
fun `test invalid eventId`() {
val pushParser = FirebasePushParser()