Commit Graph

68 Commits

Author SHA1 Message Date
Lukas Korba cc9138dff1 tca-navigation-update
- TODO with the issue linked added
2024-09-09 10:55:37 +02:00
Lukas Korba 8a760bdc99 server-checks
- 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
2024-09-09 10:22:11 +02:00
Lukas Korba 11746dfbfe [#1238] display USD value in addition to ZEC value in the app UI
- 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
2024-08-07 09:56:07 +02:00
Lukas Korba d444b0511b [#1272] Fix all broken unit tests
- Massive refactor and update of all unit tests that addresses work in past few months
2024-06-14 15:56:46 +02:00
Lukas Korba 6e054f5b52 [#1087] Total and available balances component
- The total and available balances have been extracted into separate and fully autonomous component used in 3 independent places (Account, Send and Balances)
- Code massively cleaned up
- Available balance underline logic + redirect to Balances

[#1087] Total and available balances component

- Unit tests fixes

[#1087] Total and available balances component

- tests fixed

[#1087] Total and available balances component

- small fixes and tweaks
2024-04-05 11:52:44 +02:00
Lukas Korba 5d3fcdd094 [#1149] Include rust error desc in the alert view
- The alert views now show more detailed info about the error. Code + message + rust/service error info
- Unit tests fixed
2024-03-24 11:20:54 +01:00
Lukas Korba 28a88a9a1e [#1092] Adopt proposal API
- TCA sdkSYnchronizer dependency extended with 3 new Proposal APIs
- proposeTransfer tested, works as expected

[#1092] Adopt proposal API

- send transaction via new proposal API implemented

[#1092] Adopt proposal API

- code cleaned up and finished

[#1092] Adopt proposal API

- unit tests fixed

[#1092] Adopt proposal API

- Typical Fee < 0.001 localized and updated in the UI

[#1092] Adopt proposal API

- awaiting all transaction results with use of new proposal.transactionCount() method

[#1092] Adopt proposal API

- Implemented new PartialProposalError reducer and view
- Contact support mail with transaction IDs logic implemented
- Fallback to share logic implemented
- PPE integrated into SendFlow
- PPE integrated into Shielding

[#1092] Adopt proposal API

- Changelog updated

[#1092] Adopt proposal API

- SDK's fee constant removed

[#1092] Adopt proposal API (#1117)

- debug code reverted

[#1092] Adopt proposal API (#1117)

- copy change

[#1092] Adopt proposal API (#1117)

- code cleanup

[#1092] Adopt proposal API (#1117)

- proposed total fee

[#1092] Adopt proposal API (#1117)

- Final copy

[#1092] Adopt proposal API (#1117)

- Transaction statuses added

[#1092] Adopt proposal API (#1117)

- tests fixed
2024-03-20 09:51:29 +01:00
Lukas Korba a0a17c6d49 [#1080] Send fields enhancements
- All bullet points from the parent ticket have been resolved
- The keyboard is not decimal one so users don't need to switch to numbers + it reduces cases when users fill in some alphabetical letters + it improved the UX with floating point comma vs. point
- Error handling fixed
- Max amount fix and rely on spendable balance
- Unit tests fixed
2024-02-22 13:47:15 +01:00
Lukas Korba 9b683651cf [#1058] Cleanup dependency injection in reducers
- 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.
2024-02-14 14:42:01 +01:00
Lukas Korba 0faa37c243 [#981] Send button disable check must include the fee
- 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)
2024-02-14 12:44:42 +01:00
Lukas Korba f546c9d8f5 [#932] Pending balances
- 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
2024-02-01 17:50:54 -08:00
Lukas Korba 777aab54d5
[#991] Send failed alert not localized (#993)
- The alert metadata fixed
- changelog updated
- new test case for send failure implemented
2024-01-10 13:28:32 +01:00
Lukas Korba 5c1898f5a7
[#963] Sending gets stuck (#964)
- Fixed alert appearance in the view
- Fixed missing memo UI in the confirmation screen
- Created a few more tests to cover new cases
2023-12-04 16:24:47 +01:00
Lukas Korba 8b53ebfc34
[#936] Send confirmation screen UI (#957)
- 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
2023-11-30 15:11:58 +01:00
Lukas Korba 26de9e250b
[#930] Newly created transaction (#944)
- 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
2023-11-27 10:26:03 +01:00
Lukas Korba a8a68852d3
[#902] Adopt TCA version 1 (#920)
- 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
2023-11-16 16:10:24 +01:00
Lukas Korba 14c5057eff
[#900] Reset states after wipe of the wallet (#901)
- 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
2023-11-14 15:33:07 +01:00
Lukas Korba 74a2936b26
[#875] Send Screen UI (#882)
- 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
2023-11-02 10:37:38 +01:00
Lukas Korba 896f4532a1
[#766] Modularize batch of leaf features Vol III (#768)
Following features have been modularized:
- OnboardingFlow
- ImportWallet
- SendFlow
- Sandbox
- crashReporter TODO added
2023-06-08 14:13:36 +02:00
Lukas Korba 561ccc0689
[#750] Batch of Dependency Packages Vol IV (#756)
Last 4 dependencies modularized

- URIParser
- UserPreferencesStorage
- WalletConfigProvider
- WalletStorage
2023-06-01 16:05:35 +02:00
Lukas Korba e2502075e0
[#754] Structure for modules (#755)
- the modules are now in folders
2023-05-31 09:49:37 +02:00
Lukas Korba 7e9f8c3170
[#746] Batch of Dependency Packages Vol II (#748)
Finished modules for:
- DiskSpaceChecker
- FeedbackGenerator
- LocalAuthentication
- LogsHandler
- Mnemonic
- NumberFormatter
- Pasteboard
2023-05-30 22:33:56 +02:00
Lukas Korba c8546376db
[#744] Batch of Dependency Packages Vol I (#745)
Finished modules for:
- AudioServices
- Capturedevice
- DatabaseFiles + FileManager
- Deeplink
- DerivationTool
- Utils: NumberFormatter+zcash, String, URL+Empty
2023-05-29 14:38:53 +02:00
Lukas Korba 403d60bf9f
[#724] Adopt TCA 0.53.0 (#725)
- in general, cleanup of warnings:
- unused code in the tests
- cancellable ids updated
- fulfillment instead of wait
- library updated to 0.53.0
2023-05-23 17:57:43 +02:00
Lukas Korba c143f4b31d
[#709] Better error handling in tests (#713)
- 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
2023-05-10 13:52:56 -03:00
Lukas Korba 041a630412
[#707] Adopt latest SDK (#708)
- TransactionState simplified and adopted to the latest ZcashTransaction
- WalletEvent simplified
- sendTransaction updated to the async/await
- unit tests fixed
2023-05-09 07:20:33 -03:00
Lukas Korba fe1e7b758c
[#705] Transaction detail lacks memo and addresses (#706)
- synchronizer's protocol cleaned up
- latest SDK adopted
- memos back toincleared transactions
- recipient back in cleared transactions
- unit tets fixed
- pending transaction memos are back
- recieved recipients no longer available, removed from the UI
2023-04-27 19:27:58 +02:00
Lukas Korba ef26c835c2
[#691] Adopt sync/async synchronizer changes (#696)
- async APIs called instead of a sync one
- tests fixed
2023-03-23 16:10:18 +01:00
Lukas Korba 4a3be9ac0b
[#684] Improvements for the derivation tool dependency (#689)
- dependency updated and simplified
- tests fixed
2023-03-21 11:09:26 +01:00
Lukas Korba 702b71103b
[#682] Adopt removal of the Notification center on the SDK side (#687)
- 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
2023-03-21 11:03:42 +01:00
Lukas Korba 59ad8f4c7b
[#673] End to end bugfix (#679)
- memo is nil for send transaction and transparent address
- memo is hidden from the UI when transparent address is used
- derivation tool respect the network set in the target
- unit tests fixed
- memo logic related to the address added
2023-03-17 18:46:41 +01:00
Michal Fousek 5ce87b18a9
[#654] Convert SDKSynchronizerDependency to regular TCA dependency (#672)
Closes #654

- `SDKSynchronizerClient` is now regular TCA dependency like any other
  dependency that we have in the app.
2023-03-15 09:53:16 +01:00
Francisco Gindre 4212e4781b
[#611] Disable Send ZEC button when sync in progress (#623)
This disables the send button when the app is syncing. but if the user
is already there it won't change the underlying store to avoid unwanted
re-renders by SwiftUI engine.

Test reflect this situation. Also fixed a problem where the tests would
not reflect the correct state from the dependency injection.

Closes #611
2023-03-07 18:19:16 -03:00
Lukas Korba 8e46737321
[#566] Change colors app-wide (#603) 2023-03-06 15:14:18 +01:00
Lukas Korba c686a74372
[#562] Clean up the Send screen (#580)
- send screen simplified + UI changes
- confirmation screen removed (hold to confirm)
- test and snapshot tests modified accordingly
2023-02-27 08:21:54 +01:00
Lukas Korba f946de15bb
[#444] Ensure that sensitive information can't be logged intentionally or by accident (#536)
- 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
2023-02-13 20:32:50 +01:00
Lukas Korba fdd6ff19c0
[#516] Adopt unreleased changes that will go live with SDK 0.18.0-beta release (#532)
- all issues refactored
- previous transactions replaced by new data type from the SDK
- unit tests fixed
2023-02-06 09:38:34 +01:00
Lukas Korba f978565f38
[#517] QR codes integration into the wallet details and send feature (#518)
- Address details have been extended to show QR codes for the addresses
- Profile + Address views are now scroll views
- Send feature now supports scan QR feature, when valid zcash address is scanned the address is automatically filled
- snapshot tests & unit tests fixed and extended accordingly
2023-01-12 13:04:36 +01:00
Dimitris Apostolou a16de79a45
Fix typos (#507) 2023-01-02 12:18:58 -03:00
Lukas Korba 8e3544b732
[#499] Refactor Route to Destination (#500)
- Route -> Destination refactor done
- test working
- cleanup of URLRouting usage
2022-12-01 15:31:30 +01:00
Michal Fousek a591ee93ce
[#442] Adopt SDK 0.17.0 (#496)
Fix _URLRouting error on project

Fix: Wallet account identifiers must be sequential on initialization

Adopt async API of SDK

Fixes after rebase

Fix tests
2022-11-22 11:32:48 +01:00
Lukas Korba 665c792808
[#492] Update TCA to 0.46.0 (#493)
- 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
2022-11-18 11:34:33 +01:00
Lukas Korba c8b97a8266
[#490] Consolidation of TCA dependencies - 2nd batch (#491)
- all dependencies are now consolidated
- cleanup of dependencies
- getting rid of all .live instances in the tests
- all dependencies use mocked or noOp instances
2022-11-17 12:25:55 +01:00
Lukas Korba 7839d56977
[#477] Consolidation of TCA dependencies (#489)
- DiskSpaceChecker dependency consolidated
- DatabaseFiles dependency consolidated
- DeeplinkHandler dependency consolidated
- AudioServices dependency consolidated
- CaptureDevuice dependency consolidated
- DerivationTool dependency consolidated
- AppVersionHandler dependency consolidated
- LocalAuthentication dependency consolidated
- all unit and snapshot tests work again
2022-11-14 19:36:51 +01:00
Lukas Korba 1e6397b950
[#463] Migrate SendFlow to ReducerProtocol (#486)
- SendFlow migrated to ReducerProtocol
- unit and snapshot tests fixed
2022-11-08 20:02:55 +01:00
Lukas Korba 046681efff
[#467] Migrate TransactionAmountTextField to ReducerProtocol (#483)
- TransactionAmountTextField migrated to ReducerProtocol
- unit tests fixed
2022-11-08 09:36:03 +01:00
Lukas Korba be558f00be
[#464] Migrate MultilineTextField to ReducerProtocol (#476)
- MultilineTextField migrated to ReducerProtocol
- unit and snapshot tests fixed
2022-11-07 11:58:56 +01:00
Lukas Korba 8753c2d883
[#468] Migrate CurrencySelection to ReducerProtocol (#478)
- CurrencySelection migrated to ReducerProtocol
- unit tests fixed
2022-11-07 11:53:39 +01:00
Lukas Korba 02d094904a
[#466] Migrate TransactionAddressTextField to ReducerProtocol (#475)
- TransactionAddressTextField migrated to ReducerProtocol
- unit and snapshot tests fixed
2022-11-07 11:53:20 +01:00
Lukas Korba 13061e7a1a
[#465] Migrate TCATextField to ReducerProtocol (#474)
- TCATextField migrated to ReducerProtocol
- unit tests fixed
2022-11-05 16:47:11 +01:00