1
0
forked from GRIN/grim

Goblin Build 135 - Tor credit, balance updating indicator, Nym sweep

- 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.
This commit is contained in:
2ro
2026-07-04 06:15:44 -04:00
parent 174e387a87
commit 1d7775a037
9 changed files with 25 additions and 4 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
name = "grim"
version = "0.3.6"
authors = ["Ardocrat <ardocrat@gri.mw>"]
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" ]
+1
View File
@@ -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…"
+1
View File
@@ -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…"
+1
View File
@@ -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…"
+1
View File
@@ -366,6 +366,7 @@ goblin:
node_synced: "Узел синхронизирован"
syncing: "Синхронизация…"
balance_updating: "Баланс обновляется…"
updating: "Обновление…"
listening: "Ожидание платежей"
block: "Блок %{height}"
waiting_for_chain: "Ожидание цепочки…"
+1
View File
@@ -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…"
+1
View File
@@ -366,6 +366,7 @@ goblin:
node_synced: "节点已同步"
syncing: "同步中…"
balance_updating: "余额更新中…"
updating: "更新中…"
listening: "正在监听付款"
block: "区块 %{height}"
waiting_for_chain: "等待链数据…"
+3 -2
View File
@@ -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");
+15 -1
View File
@@ -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);