From 1d7775a037eac7b5ea6ed59caf34d0601db70a88 Mon Sep 17 00:00:00 2001 From: 2ro <17595647+2ro@users.noreply.github.com> Date: Sat, 4 Jul 2026 06:15:44 -0400 Subject: [PATCH] Goblin Build 135 - Tor credit, balance updating indicator, Nym sweep MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Third-party credits: replace the "Nym mixnet" row with "Tor (arti)" (0.43, linking the arti repo), matching the other credit rows' hardcoded style. No locale strings existed for it (credit labels are hardcoded, not localized). - Balance: show a quiet "Updating…" line under the balance while the node is still warming, reusing the existing wallet.syncing() signal and the balance-updating line's muted style; it clears once the node is synced. New t!() key goblin.home.updating added to all six locales (i18n drift green). - Nym sweep: Cargo.toml package description "Nym mixnet" -> "Tor". The only other user-facing Nym reference was the credit above. Remaining references are the deliberately-dormant `nym` feature/module and internal code comments, left as-is; README and all locale values were already Tor. --- Cargo.toml | 2 +- locales/de.yml | 1 + locales/en.yml | 1 + locales/fr.yml | 1 + locales/ru.yml | 1 + locales/tr.yml | 1 + locales/zh-CN.yml | 1 + src/gui/views/goblin/mod.rs | 5 +++-- src/gui/views/goblin/widgets.rs | 16 +++++++++++++++- 9 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 578e46b1..b9a55c7e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "grim" version = "0.3.6" authors = ["Ardocrat "] -description = "Goblin: a peer-to-peer wallet for Grin. Send and receive instantly with a handle - slatepacks and the Nym mixnet handled for you." +description = "Goblin: a peer-to-peer wallet for Grin. Send and receive instantly with a handle - slatepacks and Tor handled for you." license = "Apache-2.0" repository = "https://code.gri.mw/GUI/grim" keywords = [ "crypto", "grin", "mimblewimble", "nostr" ] diff --git a/locales/de.yml b/locales/de.yml index a28441e3..86a40ee6 100644 --- a/locales/de.yml +++ b/locales/de.yml @@ -366,6 +366,7 @@ goblin: node_synced: "Node synchronisiert" syncing: "Synchronisiere…" balance_updating: "Guthaben wird aktualisiert…" + updating: "Wird aktualisiert…" listening: "Wartet auf Zahlungen" block: "Block %{height}" waiting_for_chain: "Warte auf Chain…" diff --git a/locales/en.yml b/locales/en.yml index 182b5afd..4ec4a800 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -366,6 +366,7 @@ goblin: node_synced: "Node synced" syncing: "Syncing…" balance_updating: "Balance updating…" + updating: "Updating…" listening: "Listening for payments" block: "Block %{height}" waiting_for_chain: "Waiting for chain…" diff --git a/locales/fr.yml b/locales/fr.yml index 1b5452b6..d8e5605a 100644 --- a/locales/fr.yml +++ b/locales/fr.yml @@ -366,6 +366,7 @@ goblin: node_synced: "Nœud synchronisé" syncing: "Synchronisation…" balance_updating: "Solde en cours de mise à jour…" + updating: "Mise à jour…" listening: "En attente de paiements" block: "Bloc %{height}" waiting_for_chain: "En attente de la chaîne…" diff --git a/locales/ru.yml b/locales/ru.yml index 607f8eac..90bcdfb9 100644 --- a/locales/ru.yml +++ b/locales/ru.yml @@ -366,6 +366,7 @@ goblin: node_synced: "Узел синхронизирован" syncing: "Синхронизация…" balance_updating: "Баланс обновляется…" + updating: "Обновление…" listening: "Ожидание платежей" block: "Блок %{height}" waiting_for_chain: "Ожидание цепочки…" diff --git a/locales/tr.yml b/locales/tr.yml index 92bd64b9..1a9763e6 100644 --- a/locales/tr.yml +++ b/locales/tr.yml @@ -366,6 +366,7 @@ goblin: node_synced: "Düğüm eşitlendi" syncing: "Eşitleniyor…" balance_updating: "Bakiye güncelleniyor…" + updating: "Güncelleniyor…" listening: "Ödemeler bekleniyor" block: "Blok %{height}" waiting_for_chain: "Zincir bekleniyor…" diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index 20cbff3c..73ac63f7 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -366,6 +366,7 @@ goblin: node_synced: "节点已同步" syncing: "同步中…" balance_updating: "余额更新中…" + updating: "更新中…" listening: "正在监听付款" block: "区块 %{height}" waiting_for_chain: "等待链数据…" diff --git a/src/gui/views/goblin/mod.rs b/src/gui/views/goblin/mod.rs index c256c02d..44c98f90 100644 --- a/src/gui/views/goblin/mod.rs +++ b/src/gui/views/goblin/mod.rs @@ -1012,6 +1012,7 @@ impl GoblinWalletView { total, spendable, updating, + wallet.syncing(), wallet.info_sync_progress(), fiat_line(&data).as_deref(), 56.0, @@ -2766,8 +2767,8 @@ impl GoblinWalletView { if settings_row_nav(ui, "nostr-sdk", "0.44") { open_url(ui, "https://github.com/rust-nostr/nostr"); } - if settings_row_nav(ui, "Nym mixnet", "sdk 1.21") { - open_url(ui, "https://nym.com"); + if settings_row_nav(ui, "Tor (arti)", "0.43") { + open_url(ui, "https://gitlab.torproject.org/tpo/core/arti"); } if settings_row_nav(ui, "egui", "0.33") { open_url(ui, "https://github.com/emilk/egui"); diff --git a/src/gui/views/goblin/widgets.rs b/src/gui/views/goblin/widgets.rs index 08eb78b4..a440d8df 100644 --- a/src/gui/views/goblin/widgets.rs +++ b/src/gui/views/goblin/widgets.rs @@ -463,12 +463,15 @@ pub fn field_well(ui: &mut Ui, content: impl FnOnce(&mut Ui)) { /// A balance hero block: kicker, big number + ツ, optional fiat line. /// `updating` marks a zero balance that is only zero because funds are in -/// flight or the first sync is still running. +/// flight or the first sync is still running. `node_updating` flags a +/// still-warming node (not yet synced) so a possibly-stale balance shows a +/// quiet "Updating…" line too. pub fn balance_hero( ui: &mut Ui, total: u64, spendable: u64, updating: bool, + node_updating: bool, sync_pct: u8, fiat: Option<&str>, size: f32, @@ -516,6 +519,17 @@ pub fn balance_hero( .color(t.text_dim), ); }); + } else if node_updating { + // Node still warming (not yet synced): the shown balance may be stale, + // so flag it with a quiet "Updating…". Clears once the node is ready. + ui.add_space(4.0); + ui.vertical_centered(|ui| { + ui.label( + RichText::new(t!("goblin.home.updating").to_string()) + .font(FontId::new(12.5, fonts::medium())) + .color(t.text_dim), + ); + }); } if let Some(fiat) = fiat { ui.add_space(4.0);