aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-09-03 20:51:32 -0700
committerAdam Soltys <[email protected]>2026-09-03 20:51:32 -0700
commitc9ca1ea13f67166c97921e67f4b0489b2bc7bed8 (patch)
tree8c5f34585062655f96930871022b9ac0b9a5d6da /src
parent4982c2bbf01d39fd4cb6775327b1c9bf614f4735 (diff)
downloadcoinosv3-c9ca1ea13f67166c97921e67f4b0489b2bc7bed8.tar.gz
coinosv3-c9ca1ea13f67166c97921e67f4b0489b2bc7bed8.zip
The reconcile row sheds its costume entirely: just Sent, a time, an amount — an ordinary send row, because it was the user's own spend and nobody needs an alarm about which device made it. (The ASP's status API returns only a spent bit, so the shown time is when this wallet caught up)
Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01MrkLsNScXe9b6BviUSdmMr
Diffstat (limited to 'src')
-rw-r--r--src/features/ark.js25
-rw-r--r--src/i18n.js4
2 files changed, 10 insertions, 19 deletions
diff --git a/src/features/ark.js b/src/features/ark.js
index d730ea6..f0b0e9d 100644
--- a/src/features/ark.js
+++ b/src/features/ark.js
@@ -980,25 +980,20 @@ export function arkFeature(ctx) {
// coins the server saw spent outside this device's story (another
// device, a swept expiry, an adopted renewal) — the row that keeps the
// history summing to the balance. Folded per reconcile pass upstream.
- // "Spent on another device" read as an accusation; it's now a plain Sent
- // wearing a quiet "synced" tag, and a tap unfolds the reassurance.
+ // Deliberately dressed as an ORDINARY Sent row: the user spent their own
+ // money and doesn't need an alarm about which device did it. (The ASP's
+ // status API returns only a spent bit — no spend time or destination —
+ // so the timestamp is when this wallet found out.) Not tappable: the
+ // folded row sums several records, so a per-movement detail would show a
+ // fraction of the amount it advertises.
if (m.type === 'reconcile') {
- const open = ui.arkReconOpen === m.id;
- return h('div', {
- class: 'item', style: 'cursor:pointer;flex-wrap:wrap',
- onClick: () => { ui.arkReconOpen = open ? null : m.id; render(); },
- },
+ return h('div', { class: 'item' },
h('div', { class: 'ico out', html: ARK_MARK(15) }),
h('div', { class: 'grow' },
- h('div', { class: 'row gap6', style: 'align-items:center' },
- t('arkReconSent'), h('span', { class: 'tag' }, t('arkReconTag'))),
- h('div', { class: 'small faint' },
- timeAgo(m.ts / 1000) + (m.count > 1 ? ` · ${t('arkReconCoins', { n: m.count })}` : ''))),
+ h('div', {}, t('sent')),
+ h('div', { class: 'small faint' }, timeAgo(m.ts / 1000))),
h('div', { style: 'text-align:right' },
- h('div', { class: 'amount-neg' }, '-' + fmtAmount(m.amountSat))),
- open
- ? h('div', { class: 'small muted', style: 'flex-basis:100%;margin-top:6px' }, t('arkReconExplain'))
- : null);
+ h('div', { class: 'amount-neg' }, '-' + fmtAmount(m.amountSat))));
}
// a renewal moves nothing anywhere — its history amount is what it COST
if (m.type === 'refresh') {
diff --git a/src/i18n.js b/src/i18n.js
index 75095cf..3ead143 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -212,10 +212,6 @@ const STR = {
arkDepthBtn: 'Manage',
arkDepthRenewed: 'Renewal requested',
arkDepthRenewBtn: 'Renew now',
- arkReconSent: 'Sent',
- arkReconTag: 'synced',
- arkReconCoins: '{n} coins',
- arkReconExplain: 'This device has no record of this payment — the coins left your wallet in a session this device didn’t see. That usually means another device or browser you use, or history that didn’t survive a restore; it can also be a renewal the server handled for you. Your balance is correct — this entry keeps the history adding up to it.',
arkCoinsTitle: 'Spending coins',
arkCoinsIntro: 'Your Spending balance lives in {n} coins totalling {total}. Each can be pulled on-chain without the server’s help — at a cost that grows with the coin’s history.',
arkCoinsIntroOne: 'Your Spending balance lives in a single coin of {total}. It can be pulled on-chain without the server’s help — at a cost that grows with the coin’s history.',