- 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 SDK wipe is first with max 3 attempts to retry
- the App wipe is next
- the Keychain data delete is next with max 3 attempts to retry
- new alert view states added for delete stage errors
- accountIndex is not used anymore, refactored to SDK's Account
- shared state used so there is only 1 source of truth for the account
- The key for the chacged ABKeys is an Int, this could be a problem in the future
- Zip32Account addopted
- OSStatusError screen implemented, UI is WIP
- Navigation + detection done
- Mocked failure for now
[#1419] Status page for keychain read failure
- finished UI layout, waiting on ES translation
- added contact support button
- Flexa tested and fixes implemented on our side
- SDK numerator/denominator fixes WIP
[#1284] Flexa
- Total vs. Available balance handling
- Fixed freeze of Zashi by wrapping Flexa code into Task
- Prints cleanup
[#1284] Flexa
- SDK reverted to 2.2.3
[#1284] Flexa
- rebased
[#1284] Flexa
- Initialization moved to the Integrations screen
[#1284] Flexa
- simple feature flaggins system implemented
- flexa is behind the feature flags, hidden in the production & testnet builds, available for internal builds
[#1284] Flexa
- flexa seek logo added to the integrations screen
[#1284] Flexa
- fixes
[#1284] Flexa
- versions bumped up
[#1284] Flexa
- versions cleanup
[#1284] Flexa
- live vs. test Flexa keys support
[#1284] Flexa
- Versions
[#1284] Flexa
- WIP
[#1284] Flexa
- disconnect a user after reset zashi
[#1284] Flexa
- ZEC logo in Flexa
- shielded balance instead of total balance
[#1284] Flexa
- code cleanup
- random illustrations for failed screens
- close failure screen returns a user back to the confirmation screen
- report button sharing failure data + device info
- auto expand the latest transaction when view transaction button is tapped
[#1390] Send flow with success and error screens
- build fixed
- Send flow enhanced to go through sending screen followed by some of the result screens
[#1390] Send flow with success and error screens
- Ilustrations are now randomly picked
- refactor of nuke wallet -> reset zashi
- Flexa account is closed when reset zashi is used
- Resubmission error handling
- authentication added to the app start pipeline
- it's triggered for all fresh app launches
- it's required after 15minutes after cold starts
- recognizes available auth method and reflects it in the UI
[#1375] App launch protected by device authentication method
- final UI for the re-authenticate
[#1375] App launch protected by device authentication method
- Changelog updated
- Texts localized
- Flexa tested and fixes implemented on our side
- SDK numerator/denominator fixes WIP
[#1284] Flexa
- Total vs. Available balance handling
- Fixed freeze of Zashi by wrapping Flexa code into Task
- Prints cleanup
[#1284] Flexa
- SDK reverted to 2.2.3
[#1284] Flexa
- rebased
[#1284] Flexa
- Initialization moved to the Integrations screen
[#1284] Flexa
- simple feature flaggins system implemented
- flexa is behind the feature flags, hidden in the production & testnet builds, available for internal builds
[#1284] Flexa
- flexa seek logo added to the integrations screen
[#1284] Flexa
- fixes
- Design cleanup, all obsolete buttons have been updated to the new design
- Backgrounds with grid pattern have been removed
- Paddings and borders haven been updated as well so it matches new design
[#1366] Grid pattern and buttons design update
- Added branded colours
- Created base for the branded gradient background
- zip321 payment uri is generated in a form or a QR code, can be shared or terminated
[#1358] build Request ZEC flow
- code clean up
[#1358] build Request ZEC flow
- ZecKeyboard fixes or reported issues
- REQUEST title for the whole screen fix
- Padding wixes in the request zec flow
[#1358] build Request ZEC flow
- Consumer part of the request zec implemented
- The code is scanned and dedicated confirmation screen is shown
- When system camera is used, the blocking view is shown
- zcash: scheme activated for Zashi
[#1358] build Request ZEC flow
- The code is finished for the request zec (both generate & scan) except localized texts (it'll be done in a separate PR)
[#1358] build Request ZEC flow
- final UI touches
- Initial screens for the feature done
[#1341] add address book feature
- partially redesigned to final designs
- edit updated to work without swipe over the contact
[#1341] add address book feature
- Package.resolved updated
[#1341] add address book feature
- Package.resolved update
[#1341] add address book feature
- ZashiButton component done
- Latest design for some screens
- Send screen facelift
[#1341] add address book feature
- Scan view redesigned
- Tweaks of layouts, error handlings for the fields, etc.
[#1341] add address book feature
- Another batch of tweaks and finalizations for Address Book
[#1341] add address book feature
- AddressBook finished, testing starts
- New Zashi internal target added to distribute the app
[#1341] add address book feature
- package update
[#1341] add address book feature
- Testing & Debugging
- fix: card for add new address is always visible
- fix: done button associated with the keyboard is now fully custom solution
- fix: memo field broken input
[#1341] add address book feature
- modifier for the fonts and styles
[#1341] add address book feature
- Modifier for the screen horizontal padding
[#1341] add address book feature
- All Address book texts localized
[#1341] add address book feature
- Archivo removed from the project and all instances replaced with Inter
[#1341] add address book feature
- All images refactored to use DesignSystem's modifiers
[#1341] add address book feature
- fixes + design system refactors
- transaction history revamp
[#1341] add address book feature
- Package.resolve update
[#1341] add address book feature
- Scan screen redesigned
[#1341] add address book feature
- QR code scan navigation fixed
[#1341] add address book feature
- ZashiButton tap area fix
- Auto-focuses in Add New Contact implemented
[#1341] add address book feature
- ScanView design tweaks
- Address is not in address book redesigned to hint that dismisses automatically after 3s
[#1341] add address book feature
- zImage
[#1341] add address book feature
- build fixes
- implemented POC for server check in Zashi, adopted SDK with the feature
[#1237] Choose the best server by testing responses from multiple server hosts
- Logic has been updated to deliver all requirements
- UI has been upgraded to reflect latest and new design
[#1237] Choose the best server by testing responses from multiple server hosts
- inverted tint if needed implemented for the progress view
[#1237] Choose the best server by testing responses from multiple server hosts
- Rebased
[#937] Shielded transaction UI
- The TransactionState has been extended to handle shielding
- The UI for the transaction row has been extended to handle right states for all types of transactions, newly for shielding, shielded and shielding failed
[#937] Shielded transaction UI
- Rebased and updated to the latest API
[#937] Shielded transaction UI
- WIP
[#937] Shielded transaction UI
- Shileding UI updated to show amount the same way as sent/received
- Shielding UI updated to show ID
[#1337] update UI of the Settings and Advanced Settings screens
- settings WIP
[#1337] update UI of the Settings and Advanced Settings screens
- Changelog updated
- Design is finalized for both Settings and Advanced Settings
design-system
- POC done
- All Colors added/implemented
- first set of variables implemented
design-system
- Color names made unique
- CurrencyConversion screen refactored to use new design system colors
- Currency conversion colors removed from the catalogue
design-system
- Variables made for the Utilities (all of them are missing aliases in Figma so it's just prepared except a few I updated myself)
- ServerSwitch refactored to use design system
- error and primary tint updated to use design system
design-system
- Utility variables finished
- Server switch refactored to the latest design system variables
tca-deprecation-resolution
- All reducers have been updated to use @Reducer macro
- All scopes have been updated to use \. case path
- All destinations have been updated to use new Bindings
tca-deprecation-resolution
- @DependencyClient macro used for all dependencies
- Unit tests fixed
shared-state
- POC
shared-state
- Exchange rate is now handled by TCA's shared state
shared-state
- Hide balances feature has been refactored using TCA's shared state
- It's no longer treated as "hide balances" but rather "hide sensitive data" because we will add a few more things to it besides balances in the near future
- Previous approach with Combine's subject and TCA's dependency have been removed from Zashi
[#1284] Flexa integration
- WIP
[#1284] Flexa integration
- Some progress, I'm able to create an account and pass the verification
- WIP: Dealing with no assets issue
[#1284] Flexa integration
- AccountId used for the start of Flexa
[#1284] Flexa integration
- onTransactionrequest connected to the TCA
[#1284] Flexa integration
- Version bumped to 1.0.1
[#1284] Flexa integration
- Rebased and updated for the latest design
[#1284] Flexa integration
- Settings remade to have a new navigational path for all Integrations, Flexa is among them
[#1284] Flexa integration
- SettingsRow supports a description if needed
[#1284] Flexa integration
- WalletStatus updated to be handled by TCA's Shared state so it can be used to determine when Flexa is available and when it's not
[#1284] Flexa integration
- Handling of restoring status in the integrations
[#1284] Flexa integration
- Payment flow finalized, testing the functionality, cleanup needed
[#1284] Flexa integration
- code cleanup after rebase
[#1284] Flexa integration
- Code cleanup
[#1284] Flexa integration
- Flexa key handled by PartnerKeys
[#1284] Flexa integration
- Accountid generated only once until Zashi is deleted
[#1284] Flexa integration
- Package.resolved
[#1284] Flexa integration
- Version bumped up to 1.0.2
- Total balance ditched and replaced with available balance
- Start of the Flexa uses the latest known balance
- WalletBalances now can handle currency conversion with respect to the system's locale settings
[#1238] display USD value in addition to ZEC value in the app UI
- WIP
- the input fields have been completely reworked
[#1238] display USD value in addition to ZEC value in the app UI
- QR scan button is back in the address field
[#1238] display USD value in addition to ZEC value in the app UI
- Prefix views for the inputs implemented
- Titles for the inputs implemented
- Error messages for the inputs implemented
- Hide balances support
- Send Confirmation enhancements
[#1238] display USD value in addition to ZEC value in the app UI
- Confirmation screen shows the currency value defined in the Send screen
[#1238] display USD value in addition to ZEC value in the app UI
- Exchange rate design implemented
- Custom tooltip implemented and used for cases when the rate is not available or stale
[#1238] display USD value in addition to ZEC value in the app UI
- cleanup and last fixes
- Initial draft done
[#1302] Upgrade RootReducer to the latest TCA
- RootReducer has been refactored to the @Reducer Root
- All unit tests have been refactored as well
[#1302] Upgrade RootReducer to the latest TCA
- Code cleanup
- Autolock handler dependency that watches state of the battery and determine plugged or unplugged state of the device
- When app is restoring and pluggedn it, it will no longer sleep
[#1021] Do not let iPhone sleep while restoring
- Final design for the screen
- Logic that prevents iPhone from sleeping while plugged-in and restoring
- Unit tests fixed
- Changelog updated
- draft
[#1288] Detect unavailable service and show a dialog
- cleanup
[#1288] Detect unavailable service and show a dialog
- changelog updated
[#1288] Detect unavailable service and show a dialog
- localizations added to the strings file
[#1288] Detect unavailable service and show a dialog
- Restoring badge has been completely redesigned to be a universal wallet status panel
- 3 possible states at the moment: none, restoring and disconnected
- Disconnected state is now tight to the wallet status disconnected, rendered over restoring if needed
[#1288] Detect unavailable service and show a dialog
- changelog updated
[#1288] Detect unavailable service and show a dialog
- code cleanup
- package resolved updated
[#1288] Detect unavailable service and show a dialog (#1289)
- show the dialog only with the transition from any state to disconnected one
[#1288] Detect unavailable service and show a dialog (#1289)
- cleanup
[#1288] Detect unavailable service and show a dialog (#1289)
- latest copy
[#1288] Detect unavailable service and show a dialog (#1289)
- Fixed the case when Zashi's server is down while attempting to recover wallet from a seed
- The UI has been updated to the latest design
- The values of disc space are provided
- The business logic has changed to react to check every app start or app foreground
- Test has been fixed
[#1029] Not enough free space UI
- Final copy
[#1029] Not enough free space UI (#1170)
- changelog updated
- 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.
- check for the confirmed phrase backup implemented, when not confirmed, the phrase is displayed and awaiting user's confirmation
- unit tests added + modified
- 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
- 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
- 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
- actions from alerts are now properly propagated
- dismissal of an alert is not clearing out the state
- qrcode icon is now a system one
- swiftgen paths updated