diff --git a/README.md b/README.md index d6fa1f347..522bb9939 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,24 @@ openssl base64 < | tr -d '\n' | tee some_signing_key.j 7. Add your CHANGE LOG to the description of the new release 8. Download the `aab` file and upload it to the` PlayStore. +# Privacy on Relays & nostr +Your internet protocol (IP) address is exposed to the relays you connect to. If you want to improve your privacy, consider utilizing a service that masks your IP address (e.g. a VPN) from trackers online. + +The relay also learns which public keys you are requesting, meaning your public key will be tied to your IP address. + +Relays have all your data in raw text. They know your IP, your name, your location (guessed from IP), your pub key, all your contacts, and other relays, and can read every action you do (post, like, boost, quote, report, etc) with the exception of Private Zaps and Private DMs. + +# DM Privacy # +While the content of direct messages (DMs) is only visible to you, and your DM nostr counterparty, everyone can see that and when you and your counterparty are DM-ing each other. + +# Visibility & Permanence of Your Content on nostr +## Information Visibility ## +Content that you share can be shared to other relays. +Information that you share is publicly visible to anyone reading from relays that have your information. Your information may also be visible to nostr users who do not share relays with you. + +## Information Permanence ## +Information shared on nostr should be assumed permanent for privacy purposes. There is no way to guarantee deleting or editing any content once posted. + # Contributing [Issues](https://github.com/vitorpamplona/amethyst/issues) and [pull requests](https://github.com/vitorpamplona/amethyst/pulls) are very welcome. diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt b/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt index bb226d8aa..399c78f99 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt @@ -54,7 +54,6 @@ object ServiceManager { NostrHomeDataSource.stop() NostrChannelDataSource.stop() NostrChatroomListDataSource.stop() - NostrUserProfileDataSource.stop() NostrGlobalDataSource.stop() NostrSingleChannelDataSource.stop() diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/model/Event.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/model/Event.kt index 4fb507fce..70b237e2d 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/model/Event.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/model/Event.kt @@ -90,7 +90,7 @@ open class Event( createdAt = jsonObject.get("created_at").asLong, kind = jsonObject.get("kind").asInt, tags = jsonObject.get("tags").asJsonArray.map { - it.asJsonArray.map { s -> s.asString } + it.asJsonArray.mapNotNull { s -> if (s.isJsonNull) null else s.asString } }, content = jsonObject.get("content").asString, sig = jsonObject.get("sig").asString diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/model/LnZapEvent.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/model/LnZapEvent.kt index 7d5f949c9..b8845b8d5 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/model/LnZapEvent.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/model/LnZapEvent.kt @@ -1,5 +1,6 @@ package com.vitorpamplona.amethyst.service.model +import android.util.Log import com.vitorpamplona.amethyst.model.HexKey import com.vitorpamplona.amethyst.service.lnurl.LnInvoiceUtil import com.vitorpamplona.amethyst.service.relays.Client @@ -36,13 +37,16 @@ class LnZapEvent( } // Keeps this as a field because it's a heavier function used everywhere. - val amount = lnInvoice()?.let { LnInvoiceUtil.getAmountInSats(it) } + val amount by lazy { + lnInvoice()?.let { LnInvoiceUtil.getAmountInSats(it) } + } override fun containedPost(): Event? = try { description()?.let { fromJson(it, Client.lenient) } } catch (e: Exception) { + Log.e("LnZapEvent", "Failed to Parse Contained Post ${description()}", e) null } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt index 0473f30e5..f9c3c1648 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt @@ -222,7 +222,6 @@ fun ListContent( accountViewModel: AccountStateViewModel, account: Account ) { - val coroutineScope = rememberCoroutineScope() var backupDialogOpen by remember { mutableStateOf(false) } Column(modifier = modifier.fillMaxHeight()) { diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml new file mode 100644 index 000000000..6199cf1cc --- /dev/null +++ b/app/src/main/res/values-hu/strings.xml @@ -0,0 +1,195 @@ + + Amethyst + Amethyst Debug + Mutass a QR kódra + QR kód megjelenítése + Profil kép + QR kód beolvasása + Mutasd + A bejegyzést nem megfelelőként jelölte meg + Bejegyzés nem található + Csatorna Kép + A hivatkozott esemény nem található + Az üzenet dekódolása sikertelen/string> + Csoport Kép + Szókimondó tartalom + Spam + Megszemélyesítés + Illegális viselkedés + Ismeretlen + Csomópont Ikon + Ismeretlen Szerző + Szöveg Másolása + A felhasználó PubKulcs másolása + A bejegyzés azonosítójának másolása + Közvetít + + Spam / Csalás bejelentés + Megszemélyesítés bejelentés + Szókimondó tartalom bejelentés + Illegális viselkedés bejelentés/string> + Jelentkezzen be privát kulccsal, hogy válaszolni tudjon + Jelentkezzen be privát kulccsal a bejegyzések megosztásához + Jelentkezzen be privát kulccsal a bejegyzések kedveléséhez + Nincs Zap összeg beállítva. Nyomja meg hosszan a változtatáshoz + Jelentkezzen be privát kulccsal, hogy Zaps-t küldhessen + Zap-ek + Megtekintések száma + Megosztás + Megosztva + Idézet + Új összeg sats-ban + Hozzáad + "válasz erre " + " és " + "csatornában " + Profil Banner + " Követek" + " Követők" + Profil + Biztonsági filterek + Kijelentkezés + Mutass még + Lightning Számla + Fizetés + Lightning Jatt + Üzenet a Fogadónak + Nagyon szépen köszönöm! + Összeg Sats-ban + Sats küldése + "Soha ne fordítsd erről " + "Hiba a következő előnézetében %1$s : %2$s" + "Kártyakép előnézete %1$s" + Új Csatorna + Csatorna neve + Az én fantasztikus csoportom + Kép URL-je + Leírás + "Rólunk.. " + Mire gondolsz? + Hozzászólás + Mentés + Létrehoz + Törlés + Nem sikerült feltölteni a képet + Csomópont Címe + Hozzászólások + Hibák + Hírfolyamod + Privát Üzenetek listája + Publikus Chat listája + Globális lista + Keresettek listája + Csomópont hozzáadása + Megjelenítendő Név + Az én megjelenített névem + Felhasználónév + Felhasználónevem + Rólam + Avatarom URL-je + Bannerem UR-jeL + Oldalam URL-je + LN Cím + LN URL (elavult) + A kép a galériába mentve + Nem sikerült menteni a képet + Kép feltöltése + Feltöltés… + A felhasználó a sat fogadáshoz nem rendelkezik LN cím beállítással + "válaszolj ide.. " + Megosztáshoz a bejegyzés azonosítót a vágólapra másolja + Bejegyzés azonosító vágólapra másolása + Szerkeszti a csatorna metaadatait + Csatlakozás + Ismert + Új kérések + Letiltott felhasználók + Új szálak + Beszélgetések + Bejegyzések + Válaszok + "Követek" + "Jelentések" + Több beállítás + " Csomópontok" + Weboldal + Lightning Cím + Biztonsági mentés céljából másolja az Nsec azonosítót (jelszavadat) a vágólapra + Másolja a titkos kulcsot a vágólapra + Megosztáshoz a nyilvános kulcsot a vágólapra másolja + Másolja a nyilvános kulcsot (NPub) a vágólapra + Közvetlen üzenet küldése + Szerkeszti a felhasználó metaadatait + Követés + Tiltás feloldása + Felhasználói azonosító másolása + Felhasználó feloldása + "npub, hex, felhasználónév " + Törlés + App Logó + nsec / npub / hex privát kulcs + Jelszó megjelenítése + Jelszó elrejtése + Érvénytelen kulcs + "Elfogadom a " + használati feltételek + A feltételek elfogadása szükséges + Kulcs szükséges + Bejelentkezés + Új kulcs létrehozása + Lista betöltése/string> + "Hiba a válaszok betöltésekor: " + Próbáld újra + A lista üres. + Frissítés + létrehozta + leírásával + és kép + megváltoztatta a chat nevét + leírását erre + és a képet erre + Kilépés + Leíratkozás + Csatorna létrehozva + "A csatornainformáció a következőre módosult" + Publikus Chat + beérkezett hozzászólások + Eltávolítás + sats + Automatikus + fordítás erről + erre + Mutasd ebben + első + Mindig fordítsa le + NIP-05 + LNURL... + soha + most + ó + p + n + Meztelenség + Trágárság / Gyűlöletkeltő beszéd + Gyűlöletbeszéd jelentése + Meztelenség/pornó jelentése + egyebek + Az összes ismert megjelölése olvasottként + Az összes új megjelölése olvasottként + Összes megjelölése olvasottként + + ## Kulcs- és biztonsági mentési tippek + \n\nFiókját titkos kulcs védi. A kulcs egy hosszú véletlenszerű karakterlánc, amely **nsec1**-al kezdődik. Bárki, aki hozzáfér az Ön titkos kulcsához, közzétehet tartalmat az Ön személyazonosságának használatával. + \n\n- **Ne** helyezze el titkos kulcsát olyan webhelyen vagy szoftverben, amelyben nem bízik. + \n- Az Amethyst fejlesztők a titkos kulcsodat **soha** nem fogják elkérni. + \n- A fiók-helyreállításhoz, titkos kulcsáról **mindig** készítsen biztonságos biztonsági másolatot. Javasoljuk a jelszókezelő használatát. + + A titkos kulcs (nsec) a vágólapra másolva + A titkos kulcsom másolása + Hitelesítés nem sikerült + Hiba + "Készítette %1$s" + "Kitűző %1$s" + Új Jelvényt kapott + Kitüntetésben részesült +