Commit Graph

37 Commits

Author SHA1 Message Date
Lukas Korba 0328beb36b ua-without-a-transparent-receiver
- Code refactored
- Changelog updated
- Each Receive screen access generates a new private UA (= the one without transparent receivers)
2025-05-14 12:34:29 +02:00
Lukas Korba c5b8f4cf1f Keystone experience updated
- Home's more replaced with buy
- Integrations offer Coinbase
- Updated empty state img
- bugfix
2025-04-19 11:38:27 +02:00
Lukas Korba 545dbc8453 Root subflows Batch 1
- get some zec flow done
- receive flow done
- advanced settings & integrations done
- send coord flow prepared - WIP
2025-04-17 08:29:06 +02:00
Lukas Korba ad52e32d90 Smart Banner 2025-04-17 08:27:52 +02:00
Lukas Korba 867cd3e53c Subroot Stack navigation idea 2025-04-17 08:27:52 +02:00
Lukas Korba 994ca3329a Another batch of updates, settings mostly done, KS flows WIP 2025-04-17 08:21:49 +02:00
Lukas Korba 63e28def20 PoC and first batch of overall re-write 2025-04-17 08:21:07 +02:00
Lukas Korba 0865f3de2e Integrations keystone update
- some bugfix
- Integrations screen add keystone wallet flow added
2025-02-17 12:50:03 +01:00
Lukas Korba 9c249a027d Shielding flow and API update
- the flow for sending has been updated to shielding texts - locallized
- API of the synchronizer adopted and updated
2024-12-16 13:13:03 +01:00
Lukas Korba d9cc27cad0 [#1239] implement localization in Spanish
- WIP

[#1239] implement localization in Spanish

- project set up

[#1239] implement localization in Spanish

- code cleanup
- fixes after strings were provided
- what's new localized as well

[#1239] implement localization in Spanish

- Resolved issue with localizations

[#1239] implement localization in Spanish

- resolved file

[#1239] implement localization in Spanish

- Updated some texts based on the feedback
- fixed some UI issues

[#1239] implement localization in Spanish

- recovery phrase screen fixes

[#1239] implement localization in Spanish

- latest translations
2024-11-18 12:23:34 +01:00
Lukas Korba 9871a1ad61 [#1368] Update Settings flows UI
- About
- Private data export
- Reset Zashi
- What’s New
- Recovery Phrase

[#1373] update buttons across the app and remove the grid pattern

- Send feedback finished

[#1373] update buttons across the app and remove the grid pattern

- All settings screens localized

[#1373] update buttons across the app and remove the grid pattern

- Recovery phrase screen prepared for onboarding

[#1368] Update Settings flows UI

- changelog updated

[#1368] Update Settings flows UI

- SDK bumped up to 2.2.5

[#1368] Update Settings flows UI

- Zasji testnet version bumped up

[#1368] Update Settings flows UI

- Rebased

[#1368] Update Settings flows UI

- tooltip for the birthday added

[#1368] Update Settings flows UI

- spacing

[#1368] Update Settings flows UI

- regenerated cleanup
2024-11-18 12:23:34 +01:00
Lukas Korba 821976d068 [#1367] update UI of Not Enough Free Space status screen
- The screen has been redesigned

[#1367] update UI of Not Enough Free Space status screen

- changelog updated

[#1367] update UI of Not Enough Free Space status screen

- available MBs are in bold

[#1367] update UI of Not Enough Free Space status screen

- This state must avoid any interaction with the synchronizer, therefore some of the options in the settings has been eliminated
2024-11-18 12:23:34 +01:00
Lukas Korba 0a603b0dad [#1284] Flexa
- 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
2024-10-15 20:28:30 +02:00
Lukas Korba 510b4c054d [#1358] build Request ZEC flow
- 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
2024-10-03 17:55:51 +02:00
Lukas Korba 8b0791d86b [#1341] remote storage for address book
- iCloud support implemented for the address book storage
- The dependency is prepared for encryption
2024-09-27 13:44:14 +02:00
Lukas Korba 3e704537ad [#1341] add address book feature
- 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
2024-09-27 08:18:48 +02:00
Lukas Korba 37c976499f [#1284] Flexa integration
- 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
2024-09-26 14:10:02 +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 2366a62f43 [#1288] Detect unavailable service and show a dialog
- 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
2024-06-05 21:10:19 +02:00
Lukas Korba 7a307bf592 1233-changelog screen to inform users about changes implemented in an update
- WIP

[#1233] changelog screen to inform users about changes implemented in an update

- About screen is now an independent feature with standalone reducer
- What's new feature implemented
- JSON structure defined for the what's new
- What's new provider implemented to read the json file
- Custom styling via attributed strings implemented

[#1233] changelog screen to inform users about changes implemented in an update

- Localization support implemented

[#1233] changelog screen to inform users about changes implemented in an update

- About view final design
- What's new final design
- JSON extended to cover all production version releases

[#1233] changelog screen to inform users about changes implemented in an update

- Code cleanup
2024-05-16 13:04:56 +02:00
Lukas Korba d46d0a4f94 [#1191] Refactor AdvancedSettingsReducer to latest TCA
- The reducer has been refactored
- The Bindings have been refactored to not use deprecated API
- View has been refactored to not rely on ViewStore
- Dependency version have been bumped up in order to use latest TCA
2024-04-15 16:09:39 +02:00
Lukas Korba 5afe5fb1dd [#1070] No email account in iPhone error handling
- Alert view message updated
- Copy support email button added to the alert view
- Unit test for the new functionality added

[#1070] No email account in iPhone error handling (#1074)

- empty row comment addressed
2024-02-20 12:02:38 +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 8498cff744 [#1032] Advanced settings
- 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
2024-02-14 11:12:51 +01:00
Lukas Korba ec6e082938 [#1028] Runtime switch of lightwalletd servers
- 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
2024-02-14 11:10:31 +01:00
Lukas Korba b801ac72d7
[#974] Restore of the wallet UI (#989)
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
2024-01-09 19:36:42 +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 34f0077604
[#887] UI tweaks for transactions on Home (#890)
- 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
2023-11-13 11:28:43 +01:00
Lukas Korba c15b9558b8
[#885] Export of private data (#886)
- PrivateDataConsent screen implemented where is possible to share the dataDb
- tests fixed + added
2023-11-01 19:38:41 +01:00
Lukas Korba c0d34224c4
[#864] Restore from seed UI (#872)
- 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
2023-10-24 10:38:19 +02:00
Lukas Korba 44510ac88d
[#865] Settings UI (#867)
- Settings UI according to the Zashi UI
- cleanup of unused code
- fixed tests
2023-10-20 15:00:52 +02:00
Lukas Korba 2d4ddd72c6
[#858] About screen UI (#859)
- About screen updated to the Zashi UI
- back button finalised according to the Zashi UI
2023-10-13 08:25:35 +02:00
Lukas Korba 1e0c82e15d
[#845] Recovery screen (#848)
- 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
2023-10-10 13:47:52 +02:00
Lukas Korba 59e0a68da5
[#747] CrashReporterClient as isolated package (#799)
- 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
2023-08-10 08:20:31 +02:00
Lukas Korba d972a7834b
[#776] Alerts do not work as expected (#777)
- 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
2023-06-22 08:12:33 +02:00
Lukas Korba 0d5904e30c
[#764] Modularize batch of leaf features Vol II (#765)
Following features have been modularized:
- BalanceBreakdown
- WalletEventsFlow
- Scan
- ExportLogs
- Settings
- AlertState generic type cleanup
- crashReported TODO added
2023-06-08 09:37:05 +02:00