From 326e38f293e928637f88e55df7f7351f341e62e7 Mon Sep 17 00:00:00 2001 From: jeremyd Date: Fri, 10 May 2024 14:46:06 -0700 Subject: [PATCH 1/2] allow relay selection dialog to pick any relays (instead of just write relays) --- .../vitorpamplona/amethyst/model/Account.kt | 4 +++ .../amethyst/service/relays/Relay.kt | 32 +++++++++++++++++++ .../amethyst/service/relays/RelayPool.kt | 6 +++- .../ui/actions/RelaySelectionDialog.kt | 2 +- 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt index d7107e8a1..5d61b0187 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt @@ -2435,6 +2435,10 @@ class Account( return (activeRelays() ?: convertLocalRelays()).filter { it.write } } + fun activeAllRelays(): List { + return ((activeRelays() ?: convertLocalRelays()).toList()) + } + fun isAllHidden(users: Set): Boolean { return users.all { isHidden(it) } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt index 21eaeb714..e9e63fede 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt @@ -449,6 +449,38 @@ class Relay( } } + // This function sends the event regardless of the relay being write or not. + fun sendOverride(signedEvent: EventInterface) { + checkNotInMainThread() + + if (signedEvent is RelayAuthEvent) { + authResponse.put(signedEvent.id, false) + // specific protocol for this event. + val event = """["AUTH",${signedEvent.toJson()}]""" + socket?.send(event) + eventUploadCounterInBytes += event.bytesUsedInMemory() + } else { + val event = """["EVENT",${signedEvent.toJson()}]""" + if (isConnected()) { + if (isReady) { + socket?.send(event) + eventUploadCounterInBytes += event.bytesUsedInMemory() + } + } else { + // sends all filters after connection is successful. + connectAndRun { + checkNotInMainThread() + + socket?.send(event) + eventUploadCounterInBytes += event.bytesUsedInMemory() + + // Sends everything. + renewFilters() + } + } + } + } + fun send(signedEvent: EventInterface) { checkNotInMainThread() diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/RelayPool.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/RelayPool.kt index faf184671..969a726b7 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/RelayPool.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/RelayPool.kt @@ -150,13 +150,17 @@ object RelayPool : Relay.Listener { list: List, signedEvent: EventInterface, ) { - list.forEach { relay -> relays.filter { it.url == relay.url }.forEach { it.send(signedEvent) } } + list.forEach { relay -> relays.filter { it.url == relay.url }.forEach { it.sendOverride(signedEvent) } } } fun send(signedEvent: EventInterface) { relays.forEach { it.send(signedEvent) } } + fun sendOverride(signedEvent: EventInterface) { + relays.forEach { it.sendOverride(signedEvent) } + } + fun close(subscriptionId: String) { relays.forEach { it.close(subscriptionId) } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt index b64c63cec..b2286c749 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt @@ -78,7 +78,7 @@ fun RelaySelectionDialog( var relays by remember { mutableStateOf( - accountViewModel.account.activeWriteRelays().map { + accountViewModel.account.activeAllRelays().map { RelayList( relay = it, relayInfo = RelayBriefInfoCache.RelayBriefInfo(it.url), From ab4d01583bb3c742769dac5ee7314430e9b79209 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Mon, 13 May 2024 14:44:00 +0000 Subject: [PATCH 2/2] New Crowdin translations by GitHub Action --- app/src/main/res/values-pl-rPL/strings.xml | 109 ++++++++++++++++++++- 1 file changed, 108 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index 66a570486..6b02d4f8a 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -1,2 +1,109 @@ - + + Najedź na kod QR + Pokaż QR kod + Zdjęcie profilowe + Twoje zdjęcie profilowe + Zeskanuj QR kod + Pokaż mimo wszystko + Ten post został ukryty, ponieważ dotyczy ukrytych użytkowników lub słów + Post został wyciszony lub zgłoszony przez + Zdjęcie kanału + Przywołane zdarzenie nie zostało znalezione + Nie można odszyfrować wiadomości + Zdjęcie grupy + Niedozwolona zawartość + Spam + Podszywanie się + Nielegalne zachowanie + Ikona retransmitera + Autor nieznany + Skopiuj tekst + Zablokuj / Zgłoś + + Zgłoś spam/oszustwo + Zgłoś podszywanie się + Zgłoś niedozwoloną zawartość + Dodaj + Płatność zakończona pomyślnie + Wyloguj się + Zapłać + Dziękuję bardzo! + Nowy kanał + Nazwa kanału + Moja wspaniała Grupa + Adres URL zdjęcia + "O nas. " + Co masz na myśli? + Zapisz + Utwórz + Anuluj + Adres retransmitera + Dodaj Retransmiter + Nazwa użytkownika + Adres URL strony + Dodaj zdjęcie + Więcej opcji + " Retransmitery" + Odblokuj + Kopiuj ID użytkownika + Odblokuj użytkownika + "npub, nazwa użytkownika, tekst" + Wyczyść + Logo aplikacji + nsec. lub npub. + Pokaż hasło + Ukryj hasło + Nieprawidłowy klucz + "Akceptuję " + warunki użytkowania + Wymagane jest zaakceptowanie warunków użytkowania + Hasło jest wymagane + Zaloguj się + Zarejestruj się + Utwórz konto + Jak się do ciebie zwracać? + Nie posiadasz konta Nostr? + Masz już konto Nostr? + Utwórz nowe konto + Wygeneruj nowy klucz + Spróbuj ponownie + Odśwież + i zdjęcie + zmieniono nazwę czatu na + Wyjdź + Przestań obserwować + Czat Publiczny + Usuń + Zaznacz tekst + Dodaj nowe konto + Konta + Wybierz Konto + Dodaj konto + Wstecz + Wybierz + Skopiuj tekst + Usuń + Przestań obserwować + Śledź + Nie pokazuj ponownie + Dodaj wiadomość publiczną + Dodaj prywatną wiadomość + Dziękujemy za całą twoją pracę! + Utwórz i Dodaj + Dodaj wideo + Dodaj dokument + Każdy może zobaczyć transakcję i wiadomość + Nadawca i odbiorca mogą zobaczyć się nawzajem i przeczytać wiadomość + Twoje retransmitery (NIP-95) + Pliki są przechowywane przez Twoje retransmitery. Nowy NIP: sprawdź, czy jest obsługiwany + Odczytaj z Retransmitera + Zapisz do Retransmitera + Wystąpił błąd podczas próby uzyskania informacji o retransmiterze z %1$s + Retransmitery + Wybierz retransmiter, aby kontynuować + Nie można pobrać dokumentu retransmitera + Retransmiter %1$s + Rozwiń listę retransmiterów + Wybór listy retransmiterów +