From d0fd2f4a9868ddd96a6923f4d2db13821a338d49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Mon, 22 Dec 2025 14:16:35 +0100 Subject: [PATCH 1/3] Make sure we don't obfuscate `Metro` classes --- app/proguard-rules.pro | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index d915d67a25..9207e06edc 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -70,3 +70,6 @@ -keep class uniffi.** { *;} -keep class io.element.android.x.di.** { *; } -keepclasseswithmembernames,allowoptimization,allowshrinking class io.element.android.** { *; } + +# Keep Metro classes +-keep class dev.zacsweers.metro.** { *; } From d094233250be4aaec61cb9167f776f7ca3131e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Mon, 22 Dec 2025 14:17:08 +0100 Subject: [PATCH 2/3] Change `JsonProvider` from a parent interface to a typealias This fixes the error seen in the nightlies --- .../element/android/libraries/androidutils/json/JsonProvider.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/json/JsonProvider.kt b/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/json/JsonProvider.kt index 1876bbd3f5..fb92adddb9 100644 --- a/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/json/JsonProvider.kt +++ b/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/json/JsonProvider.kt @@ -17,7 +17,7 @@ import kotlinx.serialization.json.Json /** * Provides a Json instance configured to ignore unknown keys. */ -fun interface JsonProvider : Provider +typealias JsonProvider = Provider @ContributesBinding(AppScope::class) @SingleIn(AppScope::class) From b91e3cfb841cb4e63484663094a952bd937d209f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Mon, 22 Dec 2025 14:17:19 +0100 Subject: [PATCH 3/3] Do some cleanup in `VectorUnifiedPushMessagingReceiverBindings` --- .../VectorUnifiedPushMessagingReceiverBindings.kt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/VectorUnifiedPushMessagingReceiverBindings.kt b/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/VectorUnifiedPushMessagingReceiverBindings.kt index da13aa93d1..1d227b3b83 100644 --- a/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/VectorUnifiedPushMessagingReceiverBindings.kt +++ b/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/VectorUnifiedPushMessagingReceiverBindings.kt @@ -9,14 +9,9 @@ package io.element.android.libraries.pushproviders.unifiedpush import dev.zacsweers.metro.AppScope -import dev.zacsweers.metro.Binds import dev.zacsweers.metro.ContributesTo -import org.unifiedpush.android.connector.MessagingReceiver @ContributesTo(AppScope::class) interface VectorUnifiedPushMessagingReceiverBindings { fun inject(receiver: VectorUnifiedPushMessagingReceiver) - - @Binds - fun bindsMessagingReceiver(vectorUnifiedPushMessagingReceiver: VectorUnifiedPushMessagingReceiver): MessagingReceiver }