1
0
forked from GRIN/grim

goblin: move Trusted Sites into the nostr settings group + fix raw-key leaks

Trusted Sites is nostr-identity signing, and name authority now lives on the
Username page, so the nostr cluster is its logical home. Pure placement move:
the row now renders inside the identity card just below Nostr Relays; label,
live session-count value, and open handler are unchanged.

Also carries the two raw-key leak fixes (goblin.receipt.copied ->
goblin.receive.copied, wallets.canceled -> wallets.tx_canceled) and the
every_t_call_site_key_exists_in_en guard, so this branch is clean on its own.

Translations for the new settings/username/advprivacy keys were reviewed
across all six locales and left as-is (consistent with house register).
This commit is contained in:
2ro
2026-07-06 21:10:25 -04:00
parent 7223e65a7a
commit f72a9718a3
+18 -14
View File
@@ -3615,6 +3615,10 @@ impl GoblinWalletView {
// Username has its own home (claim/release + name authority); the
// row shows the current name (or "Not set") and opens that page.
let mut open_username = false;
// Trusted Sites (the active Authorize Sessions) lives with the
// nostr rows — it is nostr-identity signing, not a wallet setting
// — but its open handler runs further down, so the flag is here.
let mut open_trusted = false;
w::card(ui, |ui| {
if !npub.is_empty() {
let username = wallet
@@ -3667,6 +3671,20 @@ impl GoblinWalletView {
) {
open_relays = true;
}
// Trusted Sites: the active Authorize Sessions, with a
// one-tap end; the row value is the live session count.
// Nostr-identity signing, so it sits with the keys/relays.
let session_count = wallet
.nostr_service()
.map(|s| s.session_summaries().len())
.unwrap_or(0);
if settings_row_nav(
ui,
&t!("goblin.settings.trusted_sites"),
&session_count.to_string(),
) {
open_trusted = true;
}
}
});
if open_username {
@@ -3727,7 +3745,6 @@ impl GoblinWalletView {
ui.add_space(16.0);
let mut open_node = false;
let mut open_slatepack = false;
let mut open_trusted = false;
settings_group(ui, &t!("goblin.settings.wallet"), |ui| {
if settings_row_nav(ui, &t!("goblin.settings.node"), &node_summary(wallet)) {
open_node = true;
@@ -3757,19 +3774,6 @@ impl GoblinWalletView {
) {
open_slatepack = true;
}
// Trusted Sites: the active Authorize Sessions, with a one-tap
// end. Shows the live count as the row value.
let session_count = wallet
.nostr_service()
.map(|s| s.session_summaries().len())
.unwrap_or(0);
if settings_row_nav(
ui,
&t!("goblin.settings.trusted_sites"),
&session_count.to_string(),
) {
open_trusted = true;
}
});
if open_slatepack {
self.slatepack = SlatepackManual::default();