Commit Graph

336 Commits

Author SHA1 Message Date
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 f7b6d78d42
Merge pull request #1134 from LukasKorba/1133-Define-NSPrivacyAccessedAPITypes
[#1133] Define NSPrivacyAccessedAPITypes
2024-03-15 12:45:47 +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 36013ce69b [#1133] Define NSPrivacyAccessedAPITypes
- I set the required keys & hopefully the right values according to doc (https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api#4278401)

[#1133] Define NSPrivacyAccessedAPITypes

- Changelog updated
2024-03-14 08:15:59 +01:00
Lukas Korba abb8dcea29 [#1093] Zashi-iOS audit Issue B
- The URL scheme has been removed entirely from the project

[#1093] Zashi-iOS audit Issue B (#1105)

- removed from testnet target
2024-03-08 13:37:16 +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 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 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 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 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 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 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 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
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 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 4913c60741
[#796] Update App icon (#798)
- mainnet app icon updated
- testnet app icon updated
2023-08-07 14:55:39 +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 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 e3a312ee1a
[#761] AlertReducer and RootReducer needs to be decoupled (#763)
- AlertRequest + Reducer + States removed
- Alerts decoupled and living within the features
- tests fixed
2023-06-06 11:30:58 +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
Matthew Watt 2e4c526272
Register custom fonts (#759)
Missing registration of custom fonts
2023-06-01 16:09:55 +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 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 49f7afd56a
[#730] Fix warnings with TCA 0-53 (#733)
- timer instead of self
- TCA updated to 0.53.2
- store.score warnings fixed
2023-05-24 15:44:34 +02:00
Francisco Gindre 31d05d914b
Release/0.0.1-53 (#729)
* fix compiler issues

* bump build number
2023-05-23 20:22:21 -03: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 b142609af9
[#720] User can proceed to send flow without funds (#723)
- the send button is enabled only when some funds are available
- the verified balance used for sufficiency of funds instead of total
- changed the pending transaction logic and split into sending/receiving instead
- code cleanup of unused CancelId
- UI cleanup, detail of receiving transaction rendered "to" prefix with no address

[#720] User can proceed to send flow without funds (#723)

- totalBalance -> totalSpendableBalance
- improved code syntax for the conditions in TransactionState deciding the status
2023-05-17 11:31:08 -03:00
Francisco Gindre b204c42a13
[#717] import birthday does not work as expected (#718)
This corrects the case for which the user does not input a birthday
to restore the wallet and it needs to fall back to sapling activation
2023-05-12 08:38:20 +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 a727f49817
[#265] Integrate App Rating Alert (#703)
- async adaptations of the latest sdk
- review request TCA dependency added
- set of rules for the triggering the app rating dialog
- unit tests fixed
- unit tests for the review request client
- app review request logic disconnected from the production for now (added the TODO for the triggering)
2023-04-06 08:06:49 +02:00
Lukas Korba 36d2090654
[#698] RootView to use SwitchStore (#699)
- all alerts refactored and connected
- unit tests fixed
2023-03-31 07:25:13 +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 8294415a69
[#683] Zip log files into one (#692)
- files stored temporarily and then zipped
- the dependency API changed so it handles the temporary files and folders and returns the final logs.zip URL
- test fixed
2023-03-22 14:38:10 +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
Michal Fousek f46eaf69c5
[#653] Adopt SDK initialisation changes (#671)
Closes #653
2023-03-14 09:14:52 -03:00