From c3ec8f2d0c5f442d462075ac482a8308aca25f52 Mon Sep 17 00:00:00 2001 From: DeckerSU Date: Sun, 2 Nov 2025 21:01:16 +0100 Subject: [PATCH 1/2] fix(transaction-history): revert to timestamp-based transaction sorting This reverts the changes from https://github.com/KomodoPlatform/komodo-wallet/commit/9900372bde0aa9f1ca957a3a1ba7ed83ced36f26 that attempted to show unconfirmed transactions first. The previous approach caused transactions to appear in a chaotic order during synchronization, creating confusion until all transactions are fully loaded. --- .../transaction_history_bloc.dart | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/lib/bloc/transaction_history/transaction_history_bloc.dart b/lib/bloc/transaction_history/transaction_history_bloc.dart index c71f27d727..0255e7723a 100644 --- a/lib/bloc/transaction_history/transaction_history_bloc.dart +++ b/lib/bloc/transaction_history/transaction_history_bloc.dart @@ -249,24 +249,13 @@ class TransactionHistoryBloc } int _compareTransactions(Transaction left, Transaction right) { - // Unconfirmed (pending) transactions should appear first. - final leftIsUnconfirmed = left.confirmations == 0; - final rightIsUnconfirmed = right.confirmations == 0; - - if (leftIsUnconfirmed != rightIsUnconfirmed) { - return leftIsUnconfirmed ? -1 : 1; + final now = DateTime.now(); + if (right.timestamp == now) { + return 1; + } else if (left.timestamp == now) { + return -1; } - - // Within each group, sort by effective time (handles zero timestamps) - final timeComparison = _sortTime(right).compareTo(_sortTime(left)); - if (timeComparison != 0) return timeComparison; - - // Prefer higher block heights first - final heightComparison = right.blockHeight.compareTo(left.blockHeight); - if (heightComparison != 0) return heightComparison; - - // Final tiebreaker to ensure deterministic ordering - return right.internalId.compareTo(left.internalId); + return right.timestamp.compareTo(left.timestamp); } } From e2d8273d31f33c84af64cd0356d55d239a609554 Mon Sep 17 00:00:00 2001 From: DeckerSU Date: Mon, 3 Nov 2025 15:18:41 +0100 Subject: [PATCH 2/2] fix(transaction-history): update transaction sorting logic for unconfirmed transactions --- lib/bloc/transaction_history/transaction_history_bloc.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/bloc/transaction_history/transaction_history_bloc.dart b/lib/bloc/transaction_history/transaction_history_bloc.dart index 0255e7723a..f3e2b84be9 100644 --- a/lib/bloc/transaction_history/transaction_history_bloc.dart +++ b/lib/bloc/transaction_history/transaction_history_bloc.dart @@ -249,10 +249,10 @@ class TransactionHistoryBloc } int _compareTransactions(Transaction left, Transaction right) { - final now = DateTime.now(); - if (right.timestamp == now) { + final unconfirmedTimestamp = DateTime.fromMillisecondsSinceEpoch(0); + if (right.timestamp == unconfirmedTimestamp) { return 1; - } else if (left.timestamp == now) { + } else if (left.timestamp == unconfirmedTimestamp) { return -1; } return right.timestamp.compareTo(left.timestamp);