Resolving some stability issues

This commit is contained in:
Vitor Pamplona
2026-02-25 16:45:03 -05:00
parent b523505c05
commit 105dfa21fb
4 changed files with 11 additions and 12 deletions
@@ -21,12 +21,14 @@
package com.vitorpamplona.amethyst.model.nip11RelayInfo
import android.util.LruCache
import androidx.compose.runtime.Stable
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.displayUrl
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.toHttp
import com.vitorpamplona.quartz.nip11RelayInfo.Nip11RelayInformation
import okhttp3.OkHttpClient
@Stable
class Nip11CachedRetriever(
val okHttpClient: (NormalizedRelayUrl) -> OkHttpClient,
) {
@@ -20,6 +20,7 @@
*/
package com.vitorpamplona.amethyst.service.relayClient.authCommand.model
import androidx.compose.runtime.Stable
import com.vitorpamplona.amethyst.isDebug
import com.vitorpamplona.amethyst.model.Account
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
@@ -32,6 +33,7 @@ class ScreenAuthAccount(
val account: Account,
)
@Stable
class AuthCoordinator(
client: INostrClient,
scope: CoroutineScope,
@@ -44,6 +44,7 @@ import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.ui.components.toasts.ThrowableToastMsg
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.Size16dp
import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer
@@ -52,25 +53,23 @@ import java.io.StringWriter
@Composable
fun InformationDialog(
title: String,
textContent: String?,
throwable: Throwable,
obj: ThrowableToastMsg,
buttonColors: ButtonColors = ButtonDefaults.buttonColors(),
onDismiss: () -> Unit,
) {
val str = textContent ?: throwable.localizedMessage ?: throwable.message ?: throwable.javaClass.simpleName
val str = obj.msg ?: obj.throwable.localizedMessage ?: obj.throwable.message ?: obj.throwable.javaClass.simpleName
val stack =
remember(throwable) {
remember(obj) {
val writer = StringWriter()
writer.append("\n")
throwable.printStackTrace(PrintWriter(writer))
obj.throwable.printStackTrace(PrintWriter(writer))
writer.toString()
}
InformationDialog(title = title, textContent = str, moreInfo = stack, buttonColors, onDismiss)
InformationDialog(title = stringRes(obj.titleResId), textContent = str, moreInfo = stack, buttonColors, onDismiss)
}
@Composable
@@ -77,11 +77,7 @@ fun DisplayErrorMessages(
}
is ThrowableToastMsg -> {
InformationDialog(
stringRes(obj.titleResId),
obj.msg,
obj.throwable,
) {
InformationDialog(obj) {
toastManager.clearToasts()
}
}