diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/markdown/MarkdownMediaRenderer.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/markdown/MarkdownMediaRenderer.kt
index 938808bf2..0ef07dbfc 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/markdown/MarkdownMediaRenderer.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/markdown/MarkdownMediaRenderer.kt
@@ -80,6 +80,10 @@ class MarkdownMediaRenderer(
false
}
+ override fun shouldSanitizeUriLabel(): Boolean = true
+
+ override fun sanitizeUriLabel(label: String): String = label.filterNot { it == '#' || it == '@' }
+
override fun renderImage(
title: String?,
uri: String,
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/Gallery.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/Gallery.kt
index 4c90939e3..6fb306d84 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/Gallery.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/Gallery.kt
@@ -36,7 +36,6 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.vitorpamplona.amethyst.model.User
-import com.vitorpamplona.amethyst.ui.navigation.EmptyNav.nav
import com.vitorpamplona.amethyst.ui.navigation.INav
import com.vitorpamplona.amethyst.ui.navigation.routeFor
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/publicChannels/ephemChat/metadata/NewEphemeralChatScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/publicChannels/ephemChat/metadata/NewEphemeralChatScreen.kt
index abaeb374e..7d4660e03 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/publicChannels/ephemChat/metadata/NewEphemeralChatScreen.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/publicChannels/ephemChat/metadata/NewEphemeralChatScreen.kt
@@ -39,7 +39,6 @@ import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.getValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.KeyboardCapitalization
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/rooms/ChatroomHeaderCompose.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/rooms/ChatroomHeaderCompose.kt
index 8f559631b..008c9d045 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/rooms/ChatroomHeaderCompose.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/rooms/ChatroomHeaderCompose.kt
@@ -20,7 +20,6 @@
*/
package com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.rooms
-import android.R.attr.label
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.height
@@ -55,7 +54,6 @@ import androidx.compose.ui.unit.sp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.logTime
-import com.vitorpamplona.amethyst.model.Channel
import com.vitorpamplona.amethyst.model.EphemeralChatChannel
import com.vitorpamplona.amethyst.model.FeatureSetType
import com.vitorpamplona.amethyst.model.Note
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/ChannelCardCompose.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/ChannelCardCompose.kt
index 056e6d971..90cacb21b 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/ChannelCardCompose.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/ChannelCardCompose.kt
@@ -23,8 +23,6 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.discover
import androidx.compose.foundation.layout.Column
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import com.vitorpamplona.amethyst.model.Note
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/HomeScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/HomeScreen.kt
index ed3be1348..3cb713b02 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/HomeScreen.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/HomeScreen.kt
@@ -88,7 +88,6 @@ import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonRow
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.launch
-import kotlin.collections.forEachIndexed
@Composable
fun HomeScreen(
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/live/RenderEphemeralBubble.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/live/RenderEphemeralBubble.kt
index 4c266f15a..6c794c733 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/live/RenderEphemeralBubble.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/home/live/RenderEphemeralBubble.kt
@@ -30,7 +30,6 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.model.EphemeralChatChannel
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.observeChannelNoteAuthors
-import com.vitorpamplona.amethyst.ui.navigation.EmptyNav.nav
import com.vitorpamplona.amethyst.ui.navigation.INav
import com.vitorpamplona.amethyst.ui.navigation.routeFor
import com.vitorpamplona.amethyst.ui.note.Gallery
diff --git a/amethyst/src/main/res/values-cs-rCZ/strings.xml b/amethyst/src/main/res/values-cs-rCZ/strings.xml
index 34c1a7608..d94357bfa 100644
--- a/amethyst/src/main/res/values-cs-rCZ/strings.xml
+++ b/amethyst/src/main/res/values-cs-rCZ/strings.xml
@@ -216,6 +216,13 @@
Přestat sledovat
Kanál vytvořen
"Informace kanálu změněna na"
+ Mizící chat
+ Relé chat
+ Relé chaty
+ Relay chaty jsou chatové skupiny ovládané jejich domácí relé.
+ Jsou viditelné pro všechny na Nostru a každý se jich může zúčastnit.
+ Jsou skvělé pro otevřené komunity kolem konkrétních témat. Některé z těchto skupin jsou efemérní
+ a proto zprávy časem mizí
Veřejný chat
Metadata veřejného chatu
Veřejné konverzace jsou viditelné pro všechny na Nostru a kdokoli
@@ -541,7 +548,9 @@
Odhlášení vymaže všechny vaše místní informace. Ujistěte se, že máte zálohované své privátní klíče, abyste se vyhnuli ztrátě účtu. Chcete pokračovat?
Sledované značky
Rele
- Objevování poznámek
+ Balíčky Sledování
+ Přečtené
+ Algoritmy kanálu
Trh
Živě
Komunita
@@ -604,6 +613,7 @@
Aktivovat
Veřejné
Nová veřejná nebo soukromá skupina
+ Relé
Soukromé
Pro
Předmět
@@ -946,4 +956,6 @@
Vyberte seznam pro filtrování kanálu
Odhlásit se na zámek zařízení
Soukromá zpráva
+ Relé chatu
+ Relé, ke kterému se všichni uživatelé tohoto chatu připojují
diff --git a/amethyst/src/main/res/values-de-rDE/strings.xml b/amethyst/src/main/res/values-de-rDE/strings.xml
index 99c7f6f80..e7880a2e4 100644
--- a/amethyst/src/main/res/values-de-rDE/strings.xml
+++ b/amethyst/src/main/res/values-de-rDE/strings.xml
@@ -220,6 +220,13 @@ anz der Bedingungen ist erforderlich
Entfolgen
Kanal erstellt
"Kanalinformationen geändert in"
+ Verschwindender Chat
+ Relay-Chat
+ Relay-Chats
+ Relaischats sind Chatgruppen, die von ihrem Home-Relais gesteuert werden.
+ Sie sind für jeden auf Nostr sichtbar und jeder kann an ihnen teilnehmen.
+ Sie eignen sich hervorragend für offene Communities rund um bestimmte Themen. Einige dieser Gruppen sind kurzsichtig
+ und daher verschwinden Chat-Nachrichten im Laufe der Zeit
Öffentlicher Chat
Öffentliche Chat Metadaten
Öffentliche Chats sind für jeden auf Nostr sichtbar und jeder
@@ -546,6 +553,8 @@ anz der Bedingungen ist erforderlich
Das Abmelden löscht alle Ihre lokalen Informationen. Stellen Sie sicher, dass Sie Ihre privaten Schlüssel gesichert haben, um einen Kontoverlust zu vermeiden. Möchten Sie fortfahren?
Gefolgte Tags
Relais
+ Folge Paketen
+ Lesungen
Notizen Entdeckung
Marktplatz
Live
@@ -609,6 +618,7 @@ anz der Bedingungen ist erforderlich
Aktivieren
Öffentlich
Neue öffentliche oder private Gruppe
+ Relais
Privat
An
Betreff
@@ -951,4 +961,6 @@ anz der Bedingungen ist erforderlich
Liste zum Filtern des Feeds auswählen
Beim Sperren des Geräts abmelden
Private Nachricht
+ Chat-Relais
+ Das Relais, mit dem sich alle Benutzer dieses Chats verbinden
diff --git a/amethyst/src/main/res/values-pt-rBR/strings.xml b/amethyst/src/main/res/values-pt-rBR/strings.xml
index 15d1300fc..1e7c8e877 100644
--- a/amethyst/src/main/res/values-pt-rBR/strings.xml
+++ b/amethyst/src/main/res/values-pt-rBR/strings.xml
@@ -216,6 +216,13 @@
Desseguir
Canal criado
"Informação do canal mudou para"
+ Chat Desaparecendo
+ Chat Relé
+ Chat Relés
+ Chat Relés são grupos de chat controlados por seu relé de origem.
+ Eles são visíveis para todos no Nostr e qualquer pessoa pode participar.
+ São ótimos para comunidades abertas em torno de tópicos específicos. Alguns desses grupos são efêmeros,
+ portanto, as mensagens desaparecem com o tempo
Chat público
Metadados do Chat Público
Os chats públicos são visíveis para todos no Nostr, e qualquer pessoa
@@ -541,6 +548,8 @@
Sair exclui todas as suas informações locais. Certifique-se de fazer backup de suas chaves privadas para evitar a perda de sua conta. Você quer continuar?
Tags Seguidas
Relés
+ Pacotes Seguir
+ Leituras
Descoberta de Notas
Mercado
Ao vivo
@@ -604,6 +613,7 @@
Ativar
Público
Novo Grupo Público ou Privado
+ Relé
Privado
Para
Assunto
@@ -946,4 +956,6 @@
Selecione uma lista para filtrar o feed
Terminar sessão no bloqueio do dispositivo
Mensagem Privada
+ Relé de chat
+ O relé a qual todos os usuários deste chat se conectam
diff --git a/amethyst/src/main/res/values-sv-rSE/strings.xml b/amethyst/src/main/res/values-sv-rSE/strings.xml
index 9eeec7e3b..4d6656aec 100644
--- a/amethyst/src/main/res/values-sv-rSE/strings.xml
+++ b/amethyst/src/main/res/values-sv-rSE/strings.xml
@@ -216,6 +216,13 @@
Sluta följa
Kanal skapad
"Kanalinformation ändrad till"
+ Försvinnande chatt
+ Relä Chatt
+ Relä Chattar
+ Relä chattar är chattgrupper som kontrolleras av deras hem relä.
+ De är synliga för alla på Nostr och vem som helst kan delta på dem.
+ De är bra för öppna gemenskaper kring specifika ämnen. Några av dessa grupper är kortlivade
+ och därmed försvinner chattmeddelanden över tiden
Publik Chat
Metadata för offentlig chatt
Offentliga chattar är synliga för alla på Nostr och alla
@@ -540,6 +547,8 @@
Att logga ut raderar all din lokala information. Se till att ha dina privata nycklar säkerhetskopierade för att undvika att förlora ditt konto. Vill du fortsätta?
Följda taggar
Reläer
+ Följpaket
+ Läsningar
Upptäckt av anteckningar
Marknadsplats
Live
@@ -603,6 +612,7 @@
Aktivera
Publik
Ny offentlig eller privat grupp
+ Relä
Privat
Till
Ämne
@@ -945,4 +955,6 @@
Välj en lista för att filtrera flödet
Logga ut när enheten låses
Privat meddelande
+ Chatt Relä
+ Reläet som alla användare av den här chatten ansluter till
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index e2c48cd04..35ffcd827 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -31,7 +31,7 @@ languageId = "17.0.6"
lazysodiumAndroid = "5.1.0"
lifecycleRuntimeKtx = "2.8.7"
lightcompressor = "1.3.2"
-markdown = "077a2cde64"
+markdown = "e1151c8"
media3 = "1.6.1"
mockk = "1.14.2"
kotlinx-coroutines-test = "1.10.2"