- The logic around transactions have been fully refactored. The data are held by shared state only as a one source of truth
- The same idea has been done for on demand loaded memos
- The TransactionState is no longer required to be updated or copied because it doesn't carry any data and it's only an enriched version of ZcashTransaction.Overview for Zashi purposes
- The code cleanup done, important for the maintenance of the new approach of transaction history
- Stack navigations for both possible path (detail from the home page directly or from the new manager screen with filters)
- The no transaction Text as well as ForEach are connected to the same property and view should re-render accordingly. On a theoretical level it might be possible the view re-rendered only a portion of itself. Adding else should hopefully cover even the theoretical/swiftui potential bug.
- The no transactions list has been disabled to not scroll
- The sync bar % was canceled on Balanced before it could gather data, the problem is about cancelation IDs not being unique, I updated all effect handles to be UUIDs
- Balances tab was rendering spendable balance instead of total balance
- Pull to refresh feature has never been required or designed by Product or Leadership, it was a temporary thing that helped during the development but has been completely replaced with reactive approach over the time.
- Concept of WalletEvents removed and replaced with TransactionState and TransactionList
- UI updated to enable list of transactions and expansion with the details
- Color naming cleanups and refactors
- Conditional font modifier implemented
- Conditional strikethrough modifier implemented
- Title + tests of the title for the transaction implemented
- Color + tests for the title of the transaction implemented
- All texts localized
- tests fot the TCA TransactionList implemented