- All work here is just cleanup of obsolete dependency injection. #981 introduced a brand new approach of DI for token name and SDK constants. That allowed me to deliver expected values directly in the TCA fashion so all reducers no longer needed those values to be passed via initializers.
- the fee is now checked and it's coming from the SDK
- unit test checking validity of the form when not enough Zatoshi for the fee has been implemented
- brand new concept of handling the SDK constants inside the TCA has been implemented, will greatly simplify cleanup of all reducers (see #1058)
- The Zatoshi decimals have been localized with respect to floating point style
- unit tests fixed + new set of comma tests implemented
[#975] Localize the balances (#1048)
- pre-rebase
[#975] Localize the balances (#1048)
- "<" localized
[#975] Localize the balances (#1048)
- rebased
- all buttons moved to appropriate positions and screens
- business logic rewired
- all new texts localized
- changelog updated
[#1032] Advanced settings
- unit tests fixed
[#1032] Advanced settings (#1047)
- separate reducer for advanced settings
- prototype of the solution implemented
[#1028] Runtime switch of lightwalletd servers
- error handling done
- localized all new texts
- custom server resolved with all possible parsing states
- persistency of selected server done
[#1028] Runtime switch of lightwalletd servers (#1044)
- changelog update
[#1028] Runtime switch of lightwalletd servers (#1044)
- Unfortunately the compiler has a bug so Circular reference error is not possible to solve, Apple fixed reported issue from October 2023 last week so we should expect fix in Xcode 15.3, beta is released but still no fix. Until that moment I moved placeholders to the view and will move it back to the stores once the issue is resolved
[#1028] Runtime switch of lightwalletd servers (#1044)
- adoption of SDK 2.0.10
[#1028] Runtime switch of lightwalletd servers (#1044)
- comments addressed
- adopted new SDK with the AccountBalance values
- unit tests refactored
- use of SynchronizerState refactored
- failed transactions sort changed to put failed around the timestamp it failed (expiredHeight used)
[#932] Pending balances
- SDK version bump
[#932] Pending balances
- changelog updated
[#932] Pending balances
- addressed comments for the sort
[#932] Pending balances (#1018)
- unit tests fixed
- sort updated
- changelog update
- the keys missing error state has been tweaked to try 3 retry attempts because of unresponsiveness keychain API
- in case of true missing keys, the user is no longer locked on a splash screen but rather let land to the Account tab so the rest of the Zashi can be used
- unit tests fixed + implemented new ones for the 3-attempt retry logic
- The hint box implemented
- Snapshot tests extended to cover the hint box case
- Unit tests for show/hide of the hint box implemented
- Code cleanup of the previous design for the hint box
- typeface fix
The broadcasting technology done, the views can subscribe to the restoring wallet state dependency
The restoring wallet badge implemented + handling of different backgrounds underneath it
Progress of the sync implemented on the Account screen
SyncProgress feature implemented, this new component is used 2 times already in Zashi so it's been separated into its own module (used in balances screen and at home screen when restoring the wallet)
Unit tests fixed + implemented new ones for the restore wallet flag
- is acknowledge flag is reseted with every private data screen access
- the export buttons are disabled throughout the whole export + share phase
- the spinner is attached to the button that's exporting
- unit tests for all this new functionality added
- sdk 2.0.5 adopted
- changelog updated
- check for the confirmed phrase backup implemented, when not confirmed, the phrase is displayed and awaiting user's confirmation
- unit tests added + modified
export of logs from the sdk implemented
the logs have been split into 2 files - verbose and sync specific logs + metrics
changelog updated
SDK dependency adopted
unit tests fixed + added new ones
- the sapling address and its QR code are present only for the testnet builds
- unit tests resolved and tweaked a bit - TCA actions have been merged into 1 copyToPasteboard
- snapshot tests for both mainnet and testnet version to prove sapling is missing on mainnet
- confirmation screen implemented
- navigation flow implemented instead of just 1 pushed view
- unit tests fixed + added new ones that handles new actions and states
- zashi button modifier extended to offer new options for new states
- changelog update
- snapshot tests
- the UX of the newly created transaction is improved by inserting the returned transaction immediately to the array of transactions, that way when the account page is accessed, the sending transaction is presented
- unit tests fixed + added new ones
- sending title for the button implemented alongside with the spinner
- changelog updated
- the new layout implemented
- some of the functionality is not done yet because it's not supported in the SDK or some design is still WIP - TODOs added at related places
- result of shielding (the transaction) is automatically added to the list of transactions so the UX is seamless
- localized texts refactored
- unit tests done
message (memo) text regular weight, black color
change the color or received message bubble background
no message included... title regular + black
transaction ID (expanded one) regular font + black
expanded address regular font + black
- BalanceFormatter dependency implemented
- ZatoshiRepresantationView implemented, all balances and zatoshi amounts supposed to be rendered should be done via this view
- zatoshi string representation struct implemented, holds all possible states
- unit tests + celanup
- Reducers refactored
- EffectTasks refactored
- WithViewStores refactored
- all side effects refactored to the newest API
- tests refactored to MainActor async ones
- hosting application bypassed so the tests are passing and not flaky
- code cleanup
- snapshot tests with ViewStore bindings work again
- Confirmation dialog refactored, used brand new navigation TCA pattern
- unit tests fixed
- concept of placeholder states removed finally, replaced with initial states that are production ready
- this change allowed the TCA roto state to simply clear out to initial after nuke/wipe
- code + tests refactored and fixed
- unit tests implemented
- fixed unread timestamp logic, old transactions are marked as read
- the BUG itself was in the unit test, that's why it got through the testing unnoticed
[#898] Feature timestamp is broken in unread logic (#899)
- reverted the names of the assets
- implemented CoreData dependency as this is the best choice for the persistency in the end
- update the list only if there's anything new
- fixes + code cleanup
- unit tests & fixes
- the utility that splits the balance into 2 parts: main + rest so it can be rendered separately with different font sizes
- unit tests implemented
- code refactored
- Available balance view helper implemented
- spaces unified for the Home & Send
- 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
- Balances tab name (from Details)
- Restore flow - birthday header + optional
- Swipe across tabs to change it
- Splash screen with bigger steps
- Restore flow seed screen, scrollable + nav bar fixes + scroll to see the seed field
- Restore seed box to have a placeholder
- Fix the suggestions for the restore seed editor
- Rectangle around recovery phrase editor is now a shape instead of a full background with padding 1
- message box (memo) reworked to properly handle text with system suggestions
- cleaned up the focused state
- cleaned up the screen background
- finalized the work on Zashi UI for Send
- unit tests fixed + added new ones that cover updated logic
- fixed next next return logic when transparent address is used and message (memo) box disabled
- scrollable content in the message (memo) box instead of dynamically expanding box
- fixes for the birthday screen
- layout updated to be scrollable for the seed screen
- code cleanup
- SDK 2.0.3 adopted
- optional placeholder for the birthday
- fixes for the restore flow after a wipe
- clean up of TCA warnings, EffectTask refactored to Effect
- BalanceTitle view created for the bigger balance + zcash icon
- balance formatter with 3 floating points created and used everywhere in the views
- tests for this formatted added to check bank rounding
- error dialogs removed
- cleanup of the code
[#861] Remove lightwalletd related error dialogs
- sdk 2.0.2 adopted, version bumped
- error dialogs removed
- a few bugfixes:
- phrase display can handle longer words and still render it fully with no truncation
- tabs tap area increased
- receive screen with addresses now uses the wallet's UA
- concept of tabs implemented, it's the main navigation hub
- home reducer simplified because it no longer plays a role of a navigation hub
- navigation bar titles implemented
- hamburger menu for the settings screen
- balances screen tweaked
- wallet events on home screen instead of a separate screen
- tests fixed
- feature flags removed from the debug menu, no longer used
- semitransparent nav bar implemented
- Profile screen removed completely, no longer in the designs
- AddressScreen is now directly connected to the receive ZEC button
- redesigned according to new Zashi UI
- localized texts
- redesigned according to new Zashi UI
- modified grouping or phrase words, halves instead of quarters
- snapshot tests updated
- code cleanup - recovery phrase screen loads the stored wallet instead of being injected into it
- Home screen updated to show total + spendable balances
- BalanceBreakdown screen updated to show status of the synchronizer
- Zashi BACK button applied to all screens
- tests fixed
- custom toggle
- security screen UI and logic finished
- splash screen extended to report completion, this way I can assure it never shows again
- dynamic Zashi version + build implemented into the warning message
- all features of the button done
- cleanup of everything that is not part of the design anymore, needed for the colors for the buttons
- zcashStyle used for the buttons
- CrashReporter is now an independent module
- all crash reporter TODOs removed
- the crash reporter code commented out is now back in action
- package.resolved file updated
- adopted latest SDK
- test crash reporter added back to debug menu
- typo in comments fixed