- 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
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
tca-deprecation-update
- cleanup
tca-navigation-update
- cleanup of : Reducer
tca-navigation-update
- code cleanup
- 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
- 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.
- 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
- Strings replaced with ZcashError
- unit test don't depend on error descriptions anymore
[#709] Better error handling in tests (#713)
- cleanup
[#709] Better error handling in tests (#713)
- alerts now show error message + code
- secant is buildable again, notifications replaced by publishers
- tests WIP
- all unit tests fixed
- syntax of dependencies consolidated
- syntax of .send and .receive states consolidated
Closes#554
- WalletConfigProvider and WalletConfig are used in the Secant app.
- First feature flag (`onboarding`) is in use.
Co-authored-by: Lukas Korba <lukas.korba@seznam.cz>
- SensitiveData file holding utilities to hide all strings and data that holds information we don't want to leak or log
- wallet storage fields redacted
- import wallet fields redacted
- create wallet chips redacted
- import wallet reducer changed: BindableStates replaced by bindings to bridge redacted data
- redacted wallet balance
- redacted birthday value (BlockHeight helper)
- Redacted protocol conforming to Undescribable for release/production and testflight builds
- new target for the unredacted debug development
- unit tests fixed
- sensitive data helpers commented
- unit test for conformation to the Undescribable
- memo is redacted
- immutability of redactable structs
- log test capped to look for 6mins at most
- destination related actions have been isolated
- app/wallet initialization related actions have been isolated
- AppViewStore helpers encapsulating nested actions for the destinations and deeplinking
- destination enum and state moved to separate file as well
- library updated
- overrides for the dependencies are now done in the trailing closures
- some tests were split to so they cover only 1 case (not 2 cases in one test)
- TCA debug trace back again
- all dependencies are now consolidated
- cleanup of dependencies
- getting rid of all .live instances in the tests
- all dependencies use mocked or noOp instances
Closes#427
- This is scaffold work for #427. Logic is done and some basic UI.
- Logic that works with free disk space is in `DiskSpaceChecker`. Use
`WrappedDiskSpaceChecker` to get live or mocked instances of `DiskSpaceChecker`.
- You can either use `mockEmptyDisk` which mocks situation when there
is enough space on disk.
- Or you can use `mockFullDisk` to mock situation when there isn't enough space on disk.
Following dependencies refactored to await/async
- RecoveryPhraseValidationFlowReducer
- RecoveryPhraseDisplayStore
- AppStore
- UserPreferencesStorage
- WrappedUserDefaults
which allowed to reduce imports of Combine/TCA
- MultiLineTextField Store & View implemented
- memo char limit is set from the zcash sdk environment
- fixed tests
- unit tests for the multiline textfield
- send flow form validity unit tests extended to cover memo char limit
- The app responds to openURL scheme starting with zcash://
- The currently implemented routes:
home
send :no parameters provided
send: amount
send: amount, address
send: amount, address and memo
- making the DeeplinkManager fully independent from the AppAction
- the app processes the deeplink only when fully capable of (initialized and synced) for now
- unit tests
- support for the zcash:{address} format