Thanks to visit codestin.com
Credit goes to github.com

Skip to content

refactor: sync list items with onchain design#8731

Open
ncoelho wants to merge 11 commits into
masterfrom
ref-txlist-lightning
Open

refactor: sync list items with onchain design#8731
ncoelho wants to merge 11 commits into
masterfrom
ref-txlist-lightning

Conversation

@ncoelho

@ncoelho ncoelho commented Jul 2, 2026

Copy link
Copy Markdown
Member
  • Refactors the list rows to be in line with onchain
  • Adds a new design for lightning rows so it stands out a bit, good for a new feature
  • Removes default "arkade" memos when no memo on invoice
  • Fixes long press crash for the menu wrapper
  • Adds onchain refill transaction status view
simulator_screenshot_8C3EA42C-9A8B-4C73-AFB9-879EC30203B3

@ncoelho ncoelho requested a review from GladosBlueWallet July 2, 2026 09:07

@GladosBlueWallet GladosBlueWallet left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR intent: UI refactor for Ark/Lightning transaction rows (on-chain-style icons, refill status view, strip SDK default memos) plus refill note/hash fixes. Verdict: Core logic is coherent, but you shipped dead asset duplication, an icon-file explosion, a NaN confirmations flash, and a whole commit about note sync with zero test coverage. The facility frowns.

Inline findings (could not anchor on diff)

  • screen/transactions/TransactionStatus.tsx:1123[MEDIUM] boarding-* rows force received before Electrum returns, yet isOnChainTx still prints confirmations. Number(undefined) is NaN — enjoy your 'confirmations: NaN' victory screen. You traded one flash for another.

Comment thread img/wallet types/lightning-badge.svg Outdated
Comment thread components/icons/TransactionBadgedIcon.tsx Outdated
Comment thread tests/unit/transaction-status.test.tsx
Comment thread screen/transactions/TransactionStatus.tsx Outdated
Comment thread class/wallets/lightning-ark-wallet.ts Outdated
@ncoelho ncoelho requested a review from GladosBlueWallet July 4, 2026 09:52
@ncoelho ncoelho marked this pull request as ready for review July 4, 2026 10:02

@GladosBlueWallet GladosBlueWallet left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

REF/UI pass for Ark tx rows: unified icons, refill hash + detail screen, note-key helpers. Facility log notes note keys fracture on refill promotion, invoice icon tests barely exist, and one mislabeled pending invoice you carried forward like a cherished tumor. Commits ignore CONTRIBUTING prefixes; improvements/lint are not atomic. PR screenshot present.

if (!tx) return undefined;
const txid = tx.txid;
// Ark refills keep the synthetic boarding- id as the note key (not the on-chain hash).
if (typeof txid === 'string' && txid.startsWith('boarding-')) return txid;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Your 'refill note sync' keys off boarding-* txids. Pending rows use boarding-utxo-…, settled rows use boarding-… — same deposit, two keys. Subject annotates a pending refill; settlement deletes the note. Congratulations on inventing amnesia.


import { resolveTransactionListIconVariant } from '../../components/icons/TransactionListIcon';

describe('resolveTransactionListIconVariant', () => {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Four assertions for a resolver with invoice expiry, paid_invoice, low-conf receives, and generic in/out paths. You tested the easy quadrants and declared victory. Edge-case coverage is essentially cake.

label = loc.transactions.offchain;
} else if (iconVariant === 'expired') {
label = loc.transactions.expired_transaction;
} else if (iconVariant === 'pending' && (item.type === 'user_invoice' || item.type === 'payment_request') && !item.ispaid) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[MEDIUM] Unpaid, not-yet-expired invoices get iconVariant === 'pending' but you stamp expired_transaction on the label. Pending icon, expired words — even our liars try harder.

screen: 'SendDetails',
params: {
transactionMemo: loc.lnd.refill_lnd_balance,
transactionMemo: loc.lnd.refill,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[MEDIUM] Refill send memo downgraded from 'Refill Lightning Wallet Balance' to bare 'Refill'. Unrelated string surgery smuggled into a list-row PR — science loves surprise variables.


const handleOnCopyAmountTap = useCallback(() => Clipboard.setString(rowTitle.replace(/[\s\\-]/g, '')), [rowTitle]);
const handleOnCopyTransactionID = useCallback(() => Clipboard.setString(item.hash), [item.hash]);
const handleOnCopyTransactionID = useCallback(() => Clipboard.setString(transactionIdentifier ?? ''), [transactionIdentifier]);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LOW] Copy TXID falls back to payment_hash when hash is absent. Menu says TXID; clipboard gets a hash-shaped pretender. Mislabeling: also a form of testing.

@pietro909 pietro909 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on my device, good job @ncoelho !

@GladosBlueWallet

Copy link
Copy Markdown
Collaborator

Wake the fuck up samurai, we have PRs to merge

image

[all PRs for @Overtorment] https://github.com/BlueWallet/BlueWallet/pulls/review-requested/Overtorment

1 similar comment
@GladosBlueWallet

Copy link
Copy Markdown
Collaborator

Wake the fuck up samurai, we have PRs to merge

image

[all PRs for @Overtorment] https://github.com/BlueWallet/BlueWallet/pulls/review-requested/Overtorment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants