Commit Graph

420 Commits

Author SHA1 Message Date
Lukas Korba 93628eac46 [#1293] Dependencies update
- all dependencies have been bumped up to the latest versions
2024-06-14 15:54:59 +02:00
Lukas Korba 2f655c2633 [#1021] Do not let iPhone sleep while restoring
- 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
2024-06-11 13:21:50 +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 d72307e080 [#1290] Inform a user to plug in a device when restoring
- Changelog updated
- Screen with the syncing tips has been implemented
- The sync starts immediately after we know seed + BD (optional) and the view is just presented to inform users
2024-06-04 15:50:29 +02:00
Lukas Korba 8ded02ac19 [#1286] Speed up transations list load
- Deduplication of memos implemented
- On-demand load of memos implemented
- Starting pipeline optimized to use HI screen for a short of time and initiate load of transactions during it

[#1286] Speed up transations list load

- SDK version bumped up to 2.1.8

[#1286] Speed up transations list load

- cleanup
2024-05-30 13:52:49 +02:00
Lukas Korba 3fb36406a3 [#1277] Send failed authentication minor bugs
- The reset form of send calls the right actions for the input fields to reset their local values as well
- When the biometric authentication fails the sending progress of buttons is reseted
2024-05-20 10:57:16 +02:00
Lukas Korba b1d6ecf695
Merge pull request #1273 from LukasKorba/1233-changelog-screen-to-inform-users-about-changes-implemented-in-an-update
[#1233] Changelog screen to inform users about changes implemented in an update
2024-05-17 13:17:20 +02:00
Lukas Korba 8af0d785c7
Merge pull request #1271 from LukasKorba/1270-Synchronizer-error-in-the-alert-view
[#1270] Synchronizer error in the alert view
2024-05-17 13:17:08 +02:00
Lukas Korba 2e928e6ae5
Merge pull request #1269 from LukasKorba/1267--Adopt-sdk-with-shielding-crash-fix
[#1267] Adopt sdk with shielding crash fix
2024-05-17 13:16:57 +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 0ad73b905d [#1270] Synchronizer error in the alert view
- Changelog updated
- SyncProgress reducer has been refactored to the latest TCA
- Progress label is tappable when an error occurs and shows an alert view with the details
2024-05-16 08:55:00 +02:00
Lukas Korba d54675069b [#1234] improve security and authentication requirements
- Biometric lock if available is used to protect seed, delete zashi and export private data
- Also protecting Send at the very last step, when tapping the send button

[#1234] improve security and authentication requirements (#1268)

- Changelog updated
2024-05-16 08:05:12 +02:00
Lukas Korba c1b373dcec [#1267] Adopt sdk with shielding crash fix
- Fixed the crash of shielding, the error message is presented instead
2024-05-15 10:18:05 +02:00
Lukas Korba ccf15f4c9f [#1235] When receiving a multi-output transaction all memos must be displayed
- Multi-text memos implemented
- changelog updated
2024-05-14 10:01:14 +02:00
Lukas Korba 766213023a biometric--send
- WIP

biometric--send

- WIP

biometric--send

- The logic for navigation has been redesigned so confirmation screen is taken out of the tab-view navigation. That allowed to use iOS 15 and biometric lock and avoid SwiftUI navigation bug

biometric--send

- cleanup

biometric--send

- review comment resolved
2024-05-13 19:29:20 +02:00
Lukas Korba 0c4ab9ae56 [#1260] Tweak hide balances
- addressed comments and feedback, the send balances are hidden but not amounts
- the hide balances button is accessible on send screen
- shielding is disabled when balances are hidden
2024-05-09 09:07:29 +02:00
Lukas Korba ad523860ca [#1258] Share QR code lacks background
- Due to inconsistencies of different QR readers we revert the QR code to standardised coluors
2024-05-08 11:42:25 +02:00
Lukas Korba 1d7d5426d4 [#1254] Refresh balances immediately after send
- The balances are proactively refreshed immediately after send or shield proposals are processed
- I also noticed wrong color of disabled message box when sending to transparent address so it's been fixed in this PR as well

[#1254] Refresh balances immediately after send

- unit tests fixed
2024-05-07 13:52:27 +02:00
Lukas Korba 5ac25b2bbb
Merge pull request #1251 from LukasKorba/1250-Restrict-Hide-balances-to-Account-and-Balances-tabs-only
[#1250] Restrict Hide balances to Account and Balances tabs only
2024-05-07 07:54:29 +02:00
Lukas Korba 89e5afc30e [#1252] Some views hide balances that is supposed to be visible
- fixes for some Balances (views) that must stay always visible even though the hide balances is turned on
2024-05-06 20:03:39 +02:00
Lukas Korba 8a2694ed41 [#1250] Restrict Hide balances to Account and Balances tabs only
- The hide balances feature is supposed to be on Account and Balances tabs only so I removed it from Send and Receive
2024-05-06 19:09:28 +02:00
Lukas Korba eaf0a6322c hide-balances
- New dependency broadcasting value of hide balances flag implemented
- Every Zatoshi representation decides whether is rendered as number value or hidden, respects the font size and colour
- Flag value is persisted for next app start

hide-balances

- localization added

hide-balances

- changes according to the final design

[#1232] Be able to hide my balances

- finalized

[#1232] Be able to hide my balances

- changelog updated

[#1232] Be able to hide my balances

- regenerated strings
2024-05-06 19:02:05 +02:00
Lukas Korba 55283ffa1a receive-tab-tweaks
- The selection of the address has been added to the reducer
- UI renders only selected address in a scroll view
- AddressDetails Reducer has been refactored to the latest TCA

receive-tab-tweaks

- design finalized

receive-tab-tweaks

- colors finalized for dark mode

[#1230] improve Receive screen UI by adding a toggle for addresses

- receive tab finalized

[#1230] improve Receive screen UI by adding a toggle for addresses

- removed the forced dark mode

[#1230] improve Receive screen UI by adding a toggle for addresses

- changelog updated
2024-05-06 09:47:54 +02:00
Lukas Korba 02b479826e read-qr-code-from-image
- The ZashiImagePicker implemented that opens a library and reads an image from it
- QR code image detector implemented

read-qr-code-from-image

- QRImageDetector dependency implemented

read-qr-code-from-image

- Multiple codes detection + handling. For it's an error because more codes could result in wrong pick from user's point of view.

read-qr-code-from-image

- final design
2024-05-06 09:47:54 +02:00
Lukas Korba 156dde9678 hide-balances
- New dependency broadcasting value of hide balances flag implemented
- Every Zatoshi representation decides whether is rendered as number value or hidden, respects the font size and colour
- Flag value is persisted for next app start

hide-balances

- localization added

hide-balances

- changes according to the final design
2024-05-06 09:47:54 +02:00
Lukas Korba 8e26014364 dark-mode
- WIP

dark-mode

- inverted QR code colours support

dark-mode

- Custom background color for TextEditor

dark-mode

- Buttons resolved

dark-mode

- Buttons consolidated with the Figma design
- Scan view fix for the back button
- Placeholders for the inputs custom color solution implemented

dark-mode

- Dark mode enabled, controlled by the system settings

dark-mode

- last few fixes, feature is ready

dark-mode

- finished buttons and all answered questions

dark-mode

- fixed issue with QR code being black in dark mode
- caching generated QR code

dark-mode

- fix for the message box shape

dark-mode

- changelog updated

[#1054] Enable dark mode

- dark mode finalized

[#1054] Enable dark mode

- commented code cleaned up
2024-05-04 07:54:52 +02:00
Lukas Korba 534d246006 [#1228] I have saved it button title refactor
- changelog updated
- the button's title has been refactored

[#1228] I have saved it button title refactor (#1229)

- exclamation mark removed
2024-04-30 10:38:41 +02:00
Lukas Korba eb83de4d8d [#1223] Fallback missing server to custom field
- The version1 has been completely refactored and redesigned
- The custom server and term now supports localisation
- The list of servers is now network dependent, different for testnet vs. mainnet
- The selected server is now represented as Hashable and Codable struct ServerConfig that holds the host, port and isCustom flag
- Migration of version1 implemented that ensures to persist previous choice of a user and fills it in a custom field
- The UI dynamically ensured the host & port are at one line, not split to multiline label
- The persistency of a choice is now handled by UserPreferencesStorage, a dependency designed for user settings
- Tests fixed

[#1223] Fallback missing server to custom field (#1226)

- Servers are newly represented as enums allowing customization of naming and localization
2024-04-30 10:03:50 +02:00
Lukas Korba e5f5cbf31f [#1221] Scroll to selected server
- Automatically scroll to the selected server so even the one at the bottom of the list that is not visible will be scrolled to the visual area.
2024-04-30 10:03:50 +02:00
Lukas Korba d43990a7b1
Merge pull request #1222 from LukasKorba/1221-Scroll-to-selected-server
[#1221] Scroll to selected server
2024-04-30 10:02:34 +02:00
Lukas Korba 3c6ca1bde2 [#1221] Scroll to selected server
- Automatically scroll to the selected server so even the one at the bottom of the list that is not visible will be scrolled to the visual area.

[#1221] Scroll to selected server (#1222)

- named constant
2024-04-30 10:02:18 +02:00
Lukas Korba 2280e15a04 [#1224] Bug in Create a New Wallet flow
- The detection of pressed button needed to be extended to cover the case with SecurityWarning screen. I got it button is pressed in one of two possible scenarios and only one was handled.
2024-04-26 21:06:28 +02:00
Lukas Korba 55efc372dc [#1218] Add zec rocks servers
- WIP

[#1218] Add zec rocks servers

- UI tweaked, servers tested
2024-04-26 13:17:59 +02:00
Lukas Korba 6abf3bac93 [#1214] Add more servers to the list
- 8 more servers added to the list
- order of servers changed to show default as 1st, custom as 2nd
2024-04-24 17:42:57 +02:00
Michal Fousek ca35256417 Fix Archive in Xcode 15.3
Problem was in swift-custom-dump package. And it was fixed in this PR:
https://github.com/pointfreeco/swift-custom-dump/pull/108.
2024-04-20 10:03:51 +02:00
Lukas Korba 3b41b52dc1 [#1207] Pending changes are broken
- Pending values were removed with new WalletBalances component, I needed to restore those in order to work again.
2024-04-19 07:29:17 +02:00
Lukas Korba 34db837127 [#1199] Release 1.0.5
- Changelog updated
- SDK version bumped to the latest version
2024-04-17 14:50:10 +02:00
Lukas Korba 6a8b0d5b50 [#1202] View for covering Zashi prevents from seeing the seed
- The cover view is now an overlay instead of a switch to a different view
- The animation of the overlay needed to be removed so it's processed until the app is suspended
- The cover is now processed for background notification only, inactive has been removed to never show during system overlays like face ID, etc.
2024-04-17 14:16:29 +02:00
Lukas Korba 7bbfde8133 [#1195] Transaction History: remove No message included in transaction copy from expanded transparent
- The "no message in the transaction" is no longer rendered for transparent Recipients
2024-04-16 16:38:11 +02:00
Lukas Korba e883749f50
Merge pull request #1197 from LukasKorba/1193-Restore-update-the-copy-inside-the-input-field
[#1193] Restore: update the copy inside the input field
2024-04-16 16:36:37 +02:00
Lukas Korba 16d3499c30 [#1193] Restore: update the copy inside the input field
- The input field for the recovery phrase now shows the expected format in the placeholder.
2024-04-16 08:57:45 +02:00
Lukas Korba cd0fba7665 [#1194] Security Warning: make the text clickable as well to improve usability
- New ZashiToggle created to handle tap on the label as well
- All 3 system Toggles replaced with new one
2024-04-16 08:51:43 +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 3d6ed24dd4 [#1189] Cleanup of unused translations
- All unused texts have been removed from the project
- Tests checked and fixed (missing dependencies)
2024-04-15 14:00:39 +02:00
Lukas Korba 375def846b
Merge pull request #1188 from LukasKorba/1185-Syncing-frame-in-progress-view
[#1185] Syncing frame in progress view
2024-04-12 15:40:55 +02:00
Lukas Korba 7b3d214531 [#1185] Syncing frame in progress view
- The syncing label's height has been unified so whatever state we render, the progress bar stays on the same position.
2024-04-12 15:33:15 +02:00
Lukas Korba c8454ccd9c [#1186] Resolve AppStore warnings
- One of the keys (for user defaults) has been wrongly named - fixed.

[#1186] Resolve AppStore warnings

- Fixed AppStore profile build-ability, the dependency in modules was missing
2024-04-12 15:16:16 +02:00
Lukas Korba 2ebf9fb9d7
Merge pull request #1183 from LukasKorba/1173--Persist-info-about-restore-until-it-is-done
[#1173] Persist info about restore until it is done
2024-04-09 12:35:51 +02:00
Lukas Korba 52a2f6b0a9 [#1173] Persist info about restore until it is done
- The restoration of the wallet is persisted until it's done (up-to date/synced) at some point in the future
2024-04-09 12:22:18 +02:00
Lukas Korba ad1ba0f98f [#1181] No and some transactions at the same time
- The no transaction Text as well as ForEach are connected to the same property and view should re-render accordingly. On a theoretical level it might be possible the view re-rendered only a portion of itself. Adding else should hopefully cover even the theoretical/swiftui potential bug.
2024-04-09 12:21:01 +02:00
Lukas Korba 1bc5d70e36 [#1179] Bold token name in available balance
- The ZEC token name is now aligned with the value (both bold)
2024-04-08 12:24:53 +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 f73b6dc9e1 [#1174] Final not enough free space UI
- The UI has been updated according to the latest design

[#1174] Final not enough free space UI (#1175)

- tweaks

[#1174] Final not enough free space UI (#1175)

- removed mocked state of disk
2024-04-04 13:13:22 +02:00
Lukas Korba 215e745522
Merge pull request #1170 from LukasKorba/1029--Not-enough-free-space-UI
[#1029] Not enough free space UI
2024-04-04 10:16:14 +02:00
Lukas Korba ccb5b2936c
Merge pull request #1172 from LukasKorba/1171-Hide-content-in-the-app-switcher
[#1171] Hide content in the app switcher
2024-04-04 10:15:53 +02:00
Lukas Korba e235a84528 [#1171] Hide content in the app switcher
- The Zashi hides its content when it's going to the background and reveals it when it's going to the foreground

[#1171] Hide content in the app switcher (#1172)

- changelog update
2024-04-04 10:13:09 +02:00
Lukas Korba 88f91380eb [#1029] Not enough free space UI
- 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
2024-04-04 07:54:57 +02:00
Lukas Korba 23379c069c [#1108] Enhance scan UI
- The open settings button added and regular back button used in such case
2024-04-03 15:04:43 +02:00
Lukas Korba 2755f3c2c0 [#1167] Autofocus birthday field in restore flow
- the BD field is automatically focused
2024-04-03 08:15:53 +02:00
Lukas Korba a8847abae6 [#1160] Tweaks and fixes for Zashi 1.0.3
- Fixes for the transparent funds

[#1160] Tweaks and fixes for Zashi 1.0.3

- Changelog updated
- Tests fixed

[#1160] Tweaks and fixes for Zashi 1.0.3

- shielded + pending balance
2024-03-29 12:27:43 +01:00
Lukas Korba be00165d3b [#1160] Tweaks and fixes for Zashi 1.0.3
- Fix for the #1119
2024-03-29 11:49:27 +01:00
Lukas Korba d50a576f82 [#1160] Tweaks and fixes for Zashi 1.0.3
- Tap to Copy memo added
2024-03-29 11:43:09 +01:00
Lukas Korba 10399c9c6c [#1158] Release 1.0.4
- Changelog updated
- SDK version bump
2024-03-28 16:17:42 +01:00
Lukas Korba eeb9a57254 [#1156] Release 1.0.3
- fix for a bug in note selection when sending to a transparent recipient
2024-03-27 23:24:54 +01:00
Lukas Korba 0bb356f6b3 [#1154] Release 1.0.2
- SDK version bump
- Changelog updated
2024-03-27 16:52:02 +01:00
Lukas Korba da3687b9d1 [#1036] Wipe wallet in advanced settings
- Wipe wallet feature integrated into advanced settings
2024-03-27 16:20:56 +01:00
Lukas Korba 6e6245dd64 [#986] Release Zashi iOS version 1.0
- changelog updated
- code cleanup
2024-03-26 18:44:32 +01:00
Lukas Korba 3e6afc69a8 [#1024] KeysMissing when restored to a new iPhone
- validation flow done for the 2 out of 3 flows
- 1. when the restore path is selected and the seed doesn't match the DB
- 2. when create new wallet is selected
- (missing) 3. seed is validated (waiting on API)

[#1024] KeysMissing when restored to a new iPhone

- preparations for SDK 2.1.0

[#1024] KeysMissing when restored to a new iPhone

- Seed validation API used and integrated
- There's an error in rust that must be resolved first

[#1024] KeysMissing when restored to a new iPhone

- rebased

[#1024] KeysMissing when restored to a new iPhone

- updated to use latest SDK's isSeedRelevantToAnyDerivedAccount

[#1024] KeysMissing when restored to a new iPhone

- unstable SDK branch test

[#1024] KeysMissing when restored to a new iPhone

- version bump

[#1024] KeysMissing when restored to a new iPhone

- bugfix
- packae redirected to ECCs repo

[#1024] KeysMissing when restored to a new iPhone

- tests fixed
2024-03-26 18:24:49 +01: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 31d455f0ac [#1147] Handle nil transaction fees
- The transactions with nil fees show Typical Fee < 0.001
- When the fee is available, the value is used
- Tests fixed
2024-03-22 14:50:19 +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 d3adf88b3f
Merge pull request #1144 from LukasKorba/1140-Disable-send-and-back-buttons
[#1140] Disable send and back buttons
2024-03-18 16:32:12 +01:00
Lukas Korba ad05fdb17e [#1140] Disable send and back buttons
- send & back buttons disabled when request is in progress
2024-03-18 14:25:04 +01:00
Lukas Korba 5948947288 [#1141] Bugfix batch
- The no transactions list has been disabled to not scroll
- The sync bar % was canceled on Balanced before it could gather data, the problem is about cancelation IDs not being unique, I updated all effect handles to be UUIDs
- Balances tab was rendering spendable balance instead of total balance
2024-03-18 14:02:02 +01:00
Lukas Korba 14920b0ea9 [#1135] Keyboard toolbars
- The white blank area above the keyboard has been fixed

[#1135] Keyboard toolbars

- Changelog updated
2024-03-18 12:28:17 +01:00
Lukas Korba 111e16fe31
Merge pull request #1130 from LukasKorba/1129-Call-configureCrashReporter-only-when-didFinishLaunching
[#1129] Call configureCrashReporter only when didFinishLaunching
2024-03-18 08:17:13 +01:00
Lukas Korba c525105f59 [#1136] Fix flaky tests
- All false positive tests have been resolved. Flakiness of the tests has been fixed by providing unimplemented dependencies to the right Stores.
2024-03-14 12:52:58 +01:00
Lukas Korba ee83a5afe9 [#1131] Remove swipe gesture between tabs
- The page style of the tab view removed, this way the gesture is no longer available.
2024-03-13 18:47:39 +01:00
Lukas Korba 1bc7f3ca59 [#1129] Call configureCrashReporter only when didFinishLaunching
- I moved the configuration of Firebase to the didFinishLaunching, this way the FB is configured only once at the start of the app, not causing crashes or issues of type 'FB is already configured'
- tests fixed
2024-03-13 18:39:48 +01:00
Lukas Korba 14093cd3ea [#1111] Automatic dSYM upload
- New target for Testflight & AppStore builds has been created
- Automatic dSYM upload run script added to the configuration of the target
- DebugMenu is no longer accessible in production builds, only Testflight builds
2024-03-13 12:19:52 +01:00
Lukas Korba 0819cb6f92
Merge pull request #1114 from LukasKorba/1097-Zashi-iOS-audit-Issue-E
[#1097] Zashi-iOS audit Issue E
2024-03-13 11:35:15 +01:00
Lukas Korba 5260ac7809
Merge pull request #1107 from LukasKorba/1106-Zashi-iOS-audit-Issue-G
[#1106] Zashi-iOS audit Issue G
2024-03-13 11:35:05 +01:00
Lukas Korba 9961058da4
Merge pull request #1112 from LukasKorba/940--Set-final-privacy-policy-URL-for-iOS
[#940] Set final privacy policy URL for iOS
2024-03-13 11:34:54 +01:00
Lukas Korba 42a8cd8184
Merge pull request #1115 from LukasKorba/1103-Remove-pull-to-refresh
[#1103] Remove pull to refresh
2024-03-13 11:34:43 +01:00
Lukas Korba b1b3619db6
Merge pull request #1116 from LukasKorba/863-Phrase-screen-trails-seed-on-iPhone-SE
[#863] Phrase screen trails seed on iPhone SE
2024-03-13 11:34:32 +01:00
Lukas Korba b3c0198d28
Merge pull request #1118 from LukasKorba/1100-Insufficient-funds-when-syncing-and-enabled-Review-button
[#1100] Insufficient funds when syncing and enabled Review button
2024-03-13 11:34:20 +01:00
Lukas Korba 4a634dec7e
Merge pull request #1122 from LukasKorba/1121-Hint-box-text-update
[#1121] Hint box text update
2024-03-13 11:34:08 +01:00
Lukas Korba e1125cf29b
Merge pull request #1123 from LukasKorba/1110-No-transactions-fetched-at-start
[#1110] No transactions fetched at start
2024-03-13 11:33:54 +01:00
Lukas Korba a25bdbb55c [#1124] Line above tab bar
- The line has been added to all tabs excluding Account
2024-03-13 07:59:14 +01:00
Lukas Korba ef460b7b42 [#1110] No transactions fetched at start
- UI updated to handle case when no transactions are available
2024-03-13 07:43:05 +01:00
Lukas Korba 55950c07e5 [#1121] Hint box text update
- text updated

[#1121] Hint box text update

- generated file updated
2024-03-13 07:25:15 +01:00
Lukas Korba 2632c8aad4 [#1100] Insufficient funds when syncing and enabled Review button
- the boolean helpers updated to address some specific states
2024-03-12 08:36:05 +01:00
Lukas Korba 9b08395bf8 [#863] Phrase screen trails seed on iPhone SE
- The issue has been solved with setting the fixedSize() modifier. That one ensures the word is never truncated. I tested the seed words on iPhone SE and it fits the screen even when I repeat the words three times, e.g. "humanhumanhuman". It works well.
2024-03-08 14:09:41 +01:00
Lukas Korba 609158023e [#1103] Remove pull to refresh
- Pull to refresh feature has never been required or designed by Product or Leadership, it was a temporary thing that helped during the development but has been completely replaced with reactive approach over the time.
2024-03-08 13:43:25 +01:00
Lukas Korba 746b6859a7 [#1097] Zashi-iOS audit Issue E
- copy with expiry time set draft

[#1097] Zashi-iOS audit Issue E

- copy to pasteboard has been removed from recovery phrase seed completely
- copy seed to pasteboard added to the debug menu, please note, the debug menu will not be in production build, issue #1113
2024-03-08 13:31:55 +01:00
Lukas Korba 22fab58852 [#940] Set final privacy policy URL for iOS
- new URL used
2024-03-08 13:09:55 +01:00
Lukas Korba b5a71c7bed [#1106] Zashi-iOS audit Issue G
- storedWallet is no longer held in memory
- unit tests fixed
2024-03-06 16:12:23 +01:00
Lukas Korba 557cae3552 [#1086] Resolve interaction with the keychain for both fore and background app states
- draft

[#1086] Resolve interaction with the keychain for both fore and background app states

- revert

[#1086] Resolve interaction with the keychain for both fore and background app states

- initialization pipeline updated to handle state when BGTask runs with fresh app start, in such case Zashi wait and doesn't try to initialize SDK -> no keychain error is triggered

[#1086] Resolve interaction with the keychain for both fore and background app states

- code cleaned up
- finished the state handling
- closing the BGTask asap for state that is supposed to just wait

[#1086] Resolve interaction with the keychain for both fore and background app states

- unit tests fixed

[#1086] Resolve interaction with the keychain for both fore and background app states (#1091)

- Comments addressed

[#1086] Resolve interaction with the keychain for both fore and background app states (#1091)

- Unit tests fixed
- Block time of didFinishLaunching increased to 0.5s (from 0.02)
2024-03-03 10:09:16 +01:00
Lukas Korba 487abbd9bf
Merge pull request #1089 from LukasKorba/931-Statuses-of-the-sync-process-dependency
[#931] Statuses of the sync process dependency
2024-03-02 18:03:00 +01:00
Lukas Korba 99e1b12e7d [#931] Statuses of the sync process dependency
- Statuses updated according to the product/design requirements.
2024-02-27 12:56:06 +01:00
Lukas Korba 21b01fca7d [#1055] Handle unavailable AccountBalance
- The available balance 0 scenario is now handled on a product/design level and the 0 is replaced with a progress view.
- There is some redundancy in the code that is going to be resolved in #1087 because it will require to implement a brand new reducer and stream subscriber, out of the scope of this issue.

[#1055] Handle unavailable AccountBalance

- Changelog updated.

[#1055] Handle unavailable AccountBalance (#1088)

- rebased
2024-02-27 12:54:39 +01:00
Lukas Korba ecc8ec9c1d
Merge pull request #1078 from LukasKorba/1051-Crashlytics-acknowledge
[#1051] Crashlytics acknowledge
2024-02-27 12:52:38 +01:00
Lukas Korba 6b94e1a8f6 [#1051] Crashlytics acknowledge (#1078)
- comments addressed

[#1051] Crashlytics acknowledge (#1078)

- documented what boolean values represents
2024-02-27 12:52:11 +01:00
Lukas Korba 45d7241d33
Merge pull request #1085 from LukasKorba/1082-New-shielding-explanation-copy
[#1082] New shielding explanation copy
2024-02-27 12:48:57 +01:00
Lukas Korba f1c7df7768 [#1082] New shielding explanation copy (#1085)
- generated file updated
2024-02-27 12:46:40 +01:00
Lukas Korba 6c83487da4
Update modules/Sources/Generated/Resources/Localizable.strings
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2024-02-27 12:43:42 +01:00
Lukas Korba 97dc8eea80
Merge pull request #1083 from LukasKorba/1080-Send-amount-enhancements
[#1080] Send amount enhancements
2024-02-25 09:23:20 +01:00
Lukas Korba a83dfa73f7 [#1082] New shielding explanation copy
- Message for the transparent hint box updated
2024-02-22 14:05:22 +01:00
Lukas Korba ab10520492 [#940] Set final privacy policy URL for iOS
- link updated
2024-02-22 13:58:05 +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 c9f1e85c1f [#1060] Memo field behaviours for transparent address
- MessageEditor updated to present disabled state in a different way
- Text in the memo is not persisted when the transparent address is used and MessageBox disabled
- New unit tests implemented and many more updated

[#1060] Memo field behaviours for transparent address (#1075)

- comments addressed

[#1060] Memo field behaviours for transparent address (#1075)

- debug code removed

[#1060] Memo field behaviours for transparent address (#1075)

- code revert
2024-02-22 13:46:23 +01:00
Lukas Korba 25197b1dc6 Update modules/Sources/Generated/L10n.swift
Co-authored-by: str4d <thestr4d@gmail.com>
2024-02-22 10:04:57 +01:00
Lukas Korba ff5cc09941 [#1051] Crashlytics acknowledge
- Layout changes for the Security warning consent
- The screen has also been refactored to the latest TCA
- Unit tests fixed
2024-02-22 10:04:57 +01:00
Lukas Korba 6b6c586f01 [#988] Scan UI (#1069)
- comments addressed
2024-02-22 09:03:42 +01:00
Lukas Korba 774f5d294d Update modules/Sources/Features/Scan/ScanStore.swift
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-02-22 09:03:42 +01:00
Lukas Korba 5a96727b01 [#988] Scan UI
- new layout for the scan screen

[#988] Scan UI

- new layout and design for scan
- camera not authorized case + UI
- scan store refactored to the latest TCA
- unit test fixed

[#988] Scan UI (#1069)

- changelog update
2024-02-22 09:03:42 +01:00
Lukas Korba ef64496739 [#1037] Consolidate back button on the phrase display screen
- ZashiBackModifier updated with a new hidden param. This way it can be controlled by views for dynamic scenarios.
- Reducer updated to latest TCA.
- Unit tests refactored and fixed.

[#1037] Consolidate back button on the phrase display screen

- updated test
2024-02-20 15:25:03 +01:00
Lukas Korba 21cb72dfc9
Merge pull request #1065 from LukasKorba/1056-Redactable-AccountBalance
[#1056] Redactable AccountBalance
2024-02-20 12:10:51 +01:00
Lukas Korba 3460cf6f58 [#1067] Disable logging for production
- There are 3 different and independent loggers that have been disabled for production (release configuration builds)
- The TCA logger doesn't call os_log()
- The SDK is instantiated with .noLogging policy
- The Wallet logger is never set so it's nil
- With no logs the export logs button in Export Private Data screen no longer makes sense so I removed it from the UI

[#1067] Disable logging for production (#1072)

- project reverted back
2024-02-20 12:06:30 +01:00
Lukas Korba 06cc8ed1c1
Merge pull request #1073 from LukasKorba/1068--False-positive-keysMissing-detection
[#1068] False positive keysMissing detection
2024-02-20 12:03:31 +01: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 9d7d9badb6 [#1068] False positive keysMissing detection
- Change of the setup of the keychain massively reduces the probability and frequency of cases when the keychain is required to provide data. Background task for the sync was the main producer of these attempts to read the data, the new flag allows BGTask to operate freely with no errors related to the keychain. Ultimate solution how to make it even better is covered in #1071, TODO added to the code.
2024-02-19 14:04:42 +01:00
Lukas Korba 4639e4fc84 [#1053] Improve successful restore message
- text has been updated
2024-02-15 13:13:29 +01:00
Lukas Korba 21412a356b [#1056] Redactable AccountBalance
- AccountBalance has been wrapped into RedactableAccountBalance
- SynchronizerState has been wrapped into RedactableSynchronizerState
- Code updated to use these new redactable structs instead of direct use of unredacted ones
- tests fixed
2024-02-15 12:42:11 +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 783ed20c20 [#975] Localize the balances
- 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
2024-02-14 11:30:47 +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 5d078035f4 [#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
2024-02-14 11:12:51 +01:00
Lukas Korba 8372df6f1e [#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
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 0919584b81 [#1035] Align balances vertically on Balances tab
- balances aligned for all formats possible
2024-02-08 14:38:40 +01:00
Lukas Korba 70631cc995 [#1007] Missing seed screen lacks any back button
- Exit button from the screen moved one layer up to show even when no words are stored

[#1007] Missing seed screen lacks any back button

- changelog updated
2024-02-06 08:57:02 +01:00
Lukas Korba 1f39ce2423 [#1022] Restore UI not activated when app is deleted and reinstalled
- Restore mode in the UI was missing when Zashi was deleted from an iPhone and reinstalled again.
- Syncing bar in the restore mode bottom padding.
2024-02-05 17:02:26 +01:00
Lukas Korba 05364dc3c3 [#1019] Extract sort logic into a function
- reduced duplication of the code by extracting the logic into the transaction itself
2024-02-02 14:57:51 +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 cef25b79cf
[#1014] Adopt SDK 2.0.8 (#1015)
- changelog updated
- SDK version bumped with shielding fix
2024-01-31 08:56:48 -08:00
Lukas Korba 4231fd321a
[#1005] Adopt SDK 2.0.7 (#1010)
- SDK version bumped up, 2.0.7 has brought some rust performance optimizations
- changelog updated
2024-01-30 09:57:19 -08:00
Lukas Korba 6f03d91bc3
[#1002] Adopt SDK 2.0.6 (#1003)
- SDK updated to the 2.0.6
2024-01-28 19:56:10 -08:00
Lukas Korba 8ebd310798
[#999] Update support mail metadata (#1001)
- Subject in the mail composer/generator fixed
- unit tests checking the subject + mailto implemented
2024-01-28 19:29:07 -08:00
Lukas Korba 79ab841f75
[#997] Keys missing handling (#1000)
- 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
2024-01-28 19:28:18 -08:00
Lukas Korba b6248fdd3c
[#971] Share QR code (#996)
- UI modified to offer both copy & share in the Balance tab
- share of the QR implemented
- unit tests added
- code cleanup
- changelog update
2024-01-23 20:13:46 +01:00
Lukas Korba a4fc0743c6
[#933] Shielding hint box (#994)
- 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
2024-01-14 17:35:47 +01: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 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 1d60dd3275
[#982] Background syncing (#985)
Background processing task implemented
Doc for the Background Synchronization added
changelog update
custom wifi check
2024-01-08 14:14:48 +01:00
Lukas Korba 79205018a5
[#979] Export private data UX tweaks (#980)
- 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
2023-12-15 09:28:05 +01:00
Lukas Korba 9ed49c9a29
[#852] Persistency in onboarding flows (#977)
- check for the confirmed phrase backup implemented, when not confirmed, the phrase is displayed and awaiting user's confirmation
- unit tests added + modified
2023-12-15 09:26:04 +01:00
Lukas Korba 88715ded04
[#968] Share logs in private data sector (#973)
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
2023-12-13 11:17:13 +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 eb36c6db3e
[#961] Grid pattern in the background (#962)
- screen background extended to render either solid background or with grid pattern
- all screens that are designed with pattern have been updated
- recovery phrase screen has been updated to be scrollable because it couldn't fit the smallest iPhone's screen
- changelog updated
2023-12-04 16:23:33 +01:00
Lukas Korba ad4ac13e86
[#950] Sapling address when testnet build (#959)
- 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
2023-12-04 16:20:51 +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 4f3a5f7270
[#928] Balances screen UI (#942)
- 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
2023-11-27 10:04:51 +01:00
Lukas Korba 4f06f83274
[#919] Update TODO to link ECC repo instead of secant (#927)
- the links haven been updated to point to the ECC repo
2023-11-22 10:07:48 +01:00
Lukas Korba 1d8ceb138b
[#918] Omit sapling address (#926)
- the sapling address is no longer on the receive screen
- code cleaned up
- changelog updated
2023-11-22 10:03:00 +01:00
Lukas Korba c76322c0fb
[#922] Batch of ux feedback tweaks (#924)
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
2023-11-21 09:58:00 +01:00
Lukas Korba 4ab2ca0e7c
[#879] BalanceFormatter dependency (#921)
- 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
2023-11-20 15:07:24 +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 aa726aa9e3
[#898] Feature timestamp is broken in unread logic (#899)
- 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
2023-11-13 14:40:09 -07:00
Kris Nuttycombe 23ee03c208 Version and asset updates for release 0.2.0 build 8. 2023-11-13 10:00:59 -07:00
Lukas Korba 50c603278a
[#888] Read and Unread state persistency for transactions (#896)
- 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
2023-11-13 11:34:46 +01:00
Lukas Korba e9d8e0fbbb
[#892] Add floating points to the balances (#895)
- 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
2023-11-13 11:31:34 +01:00
Lukas Korba 49de5f2e3e
[#891] Tap to copy for the transaction details (#893)
- Tap to copy of transaction address and ID implemented
2023-11-13 11:30:10 +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 3fa10e5147
[#881] UI tweaks for the latest Zashi (#883)
- 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
2023-11-02 10:43:08 +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 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 b4dc72d511
[#873] Start of the app shows pending state for the transaction (#874)
- The TransactionState always require a BlockHeight to be given, no more optional
- This ensures transactions are properly evaluated for the state (pending vs. non-pending)
2023-10-25 12:43:54 +02: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 3689e461cd
[#870] balance truncation to 3 floating points (#871)
- 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
2023-10-20 15:03:13 +02:00
Lukas Korba 72c34db59d
[#868] tap to copy seed (#869)
- tap to copy phrase action added to the phrase screen
2023-10-20 15:01:20 +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 9f4243b475
[#861] Remove lightwalletd related error dialogs (#862)
- 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
2023-10-13 08:36:50 -06: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 86007d449a
[#856] Opening screen UI (#857)
- Opening Screen UI has been redesigned according to the new Zashi UI
2023-10-13 08:16:11 +02:00
Lukas Korba 9827e9aff9
[#853] open privacy policy from the security screen (#854)
- here in the texts works as a hyperlink now and redirects a user to the system browser with the PP
2023-10-13 07:53:04 +02:00
Lukas Korba c1190c782e
[#851] Tab bar layout for the home screen (#855)
- 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
2023-10-13 07:47:04 +02:00
Lukas Korba fc4f6ad7f9
[#849] Receive screen (#850)
- 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
2023-10-10 13:51:06 +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 5ad02e0c6b
[#842] Move state and progress of the synchronizer to the balance breakdown screen (#844)
- 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
2023-10-05 11:31:12 +02:00
Lukas Korba 4fb80ed89f
[#841] Warning screen (#843)
- 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
2023-10-05 11:30:04 +02:00
Lukas Korba 7c5022a5df
[#828] Splash masking effect (#836)
- Splash screen accessible from a view modifier
- landing through it to the Home and Restore wallet screens
- final effect after round of feedback from Richard
2023-10-04 15:04:08 +02:00
Lukas Korba e33ee405ee
[#830] Zashi design buttons (#837)
- 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
2023-10-04 11:04:22 +02:00
Lukas Korba e1a5fa9778
[#839] Show total balance on Home screen (#840)
- balance on the home screen is not a total instead of verified one
2023-10-04 11:03:47 +02:00
Lukas Korba 83e5f4fb11
[#833] Ensure that the Send ZEC button is enabled whenever the wallet reports a spendable balance (#835)
- button is enabled when verified shielded balance > 0
2023-10-03 14:05:55 +02:00
Lukas Korba ebbf2520ad
[#832] Replace user-facing Secant strings with Zashi (#834)
- localized files updated, secant -> Zashi
2023-10-03 14:05:44 +02:00
Lukas Korba bbd8da45d6
[#826] proper handling of apps lifecycle (#827)
- SDK version updated
- handling of stopped state added
- swiftgen plugin removed until it's supported by xcode 15 again
2023-09-29 10:23:17 +02:00
Kris Nuttycombe 9586bcbb60 Update Zashi wallet to ZcashLightClientKit 2.0.0-rc.4 2023-09-22 22:05:17 -06:00
Kris Nuttycombe 30eabdf589 Update Zashi wallet to ZcashLightClientKit 2.0.0-rc.3 2023-09-20 15:21:04 -06:00
Lukas Korba feb4ab4eaf
[#820] Adopt SDK sbs-rc1 (#821)
- adopted SDK 2.0.0 RC1 with the Spend-before-Sync
- fixed how memo is selected out of the array of memos (.text is picked, .empty ignored)
2023-09-14 17:10:46 +02:00
Lukas Korba 78f230a768
[#816] Adopt TCA 0.59.0 (#818)
- TCA updated to the latest supported version, there's a 1.0 release already but handled in a different ticket
2023-09-01 08:43:07 +02:00
Lukas Korba 9839f3e34e
[#812] Add Archivo font (#813)
- Archivo font added to the project
- info file indentation fixed
2023-08-29 10:35:44 +02:00
Lukas Korba a73a57aee2
[#814] Server update (#815)
- endpoint updated to the latest and workable server
2023-08-29 10:25:19 +02:00
Lukas Korba 9b2463a370
[#810] Bitrise fails to build (#811)
- hotfix for the CI to work again
2023-08-23 18:16:46 +02:00
Lukas Korba faec526e15
[#804] Update FFI dependency (#805)
- SDK version updated so the FFI is updated as well
- log levels changed so uni tests fixed
2023-08-23 17:06:34 +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 0330f0e7e9
[#789] Use Inter font in Zashi (#797)
- Inter fonts added and registered for use
- all Texts in the Zashi use Inter as a default font
- some texts have custom sizes
- cleanup of fonts in the project
2023-08-10 08:18:19 +02:00
Lukas Korba 1de13698d8
[#793] Polish debug menu and fix dark mode (#794)
- fixed alerts in debug menu
- fixed confirmation dialog in for rescan action
- fixed dark mode colors
- updated texts
- simplified texteditor UI so it's more consistent with the other components
- reduced debug menu items
- tests fixed
2023-08-07 08:33:33 +02:00
Lukas Korba 0206641fc6
[#790] Adopt latest SDK (#791)
- The SDK updated to the latest main (commit hash)
- Fixes for a few texts
- UX improvement: Upgrading databases... label for cases when it takes a few seconds, most of the times it is so quick that the label is even not visible to the user. It simple dismisses before user lands on a home page from the welcome screen
- fixed tests after adding the flag for migration
2023-07-31 18:07:44 +02:00
Lukas Korba ae2c18006d
[#786] Errors for input fields (#787)
- Send flow updated so both input field show an error
- texts for the errors start with capital letters
2023-07-21 09:23:22 +02:00
Lukas Korba de0c954dd7
[#785] Dark mode (#788)
- dark mode support integrated (colors)
- branding updated (name of the app + logo)
2023-07-20 13:21:37 +02:00
Lukas Korba 5fe923f91d
[#783] Set the swift tool version to 5-6 (#784)
- the version has been downgraded to 5.6 from 5.8
2023-07-17 15:11:59 +02:00
Matthew Watt 9fc08a221e
Use SwiftGen plugin (#782)
SwiftGen plugin
2023-07-17 12:12:32 +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 2aadd2870a
[#772] Cleanup app dependencies (#775)
- dependencies cleaned up
- _unmodularized folder cleared as well
2023-06-22 08:05:22 +02:00
Lukas Korba f1de69f10e
[#767] Modularize batch of features Vol IV (#770)
Following features have been modularized:
- Home
- Root
2023-06-09 10:29:01 +02: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 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
Lukas Korba 9b77a57a5f
[#757] Modularize batch of leaf features Vol I (#760)
Following features have been modularized:
- AddressDetails
- RecoveryPhraseDisplay
- Welcome
- Profile
2023-06-01 10:11:37 -04: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 dbc6316766
[#749] Batch of Dependency Packages Vol III (#751)
Finished modules for:

RecoveryPhraseRandomizer
RecoveryPhraseValidationFlow
ReviewRequest
SDKSynchronizer
SecItem
SupportDataGenerator
ZcashSDKEnvironment
UserDefaults
2023-05-31 08:29:32 +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 7ed4d1bfcf
[#739] AppVersion Dependency Package (#742)
- AppVersion dependency moved to a separate package
2023-05-29 08:28:36 +02:00
Lukas Korba 7b7ef3b087
[#738] Date Dependency Package (#741)
- Date dependency moved to a separate package
2023-05-26 13:30:01 +02:00
Lukas Korba 04d4c363d4
[#735] Setup swift package (#740)
- project updated to hold package for future modularization
2023-05-26 12:59:36 +02:00