Commit Graph

411 Commits

Author SHA1 Message Date
Francisco Gindre fe9f73421c
[#635] Fix HomeTests (#636) 2023-03-07 20:43:56 -03:00
Francisco Gindre 454786e603
[#633] build and release from tag 0.0.1-45 (#634)
Closes #633
2023-03-07 18:48:53 -03:00
Francisco Gindre 4212e4781b
[#611] Disable Send ZEC button when sync in progress (#623)
This disables the send button when the app is syncing. but if the user
is already there it won't change the underlying store to avoid unwanted
re-renders by SwiftUI engine.

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

Closes #611
2023-03-07 18:19:16 -03:00
Michal Fousek c6b222ff46
[#617] Use L10n for all the texts in the app (#627)
Closes #617

- All the texts that weren't in the Localisable.strings file are now
  there.
- L10n is used for all the texts in the code.
- Fixed paths in SwiftGen build phase so L10n.swift is now correctly
  generated when Localisable.strings file change.
2023-03-07 18:18:17 -03:00
Lukas Korba effa4b304a
[#594] Don't Allow user to proceed to send funds if they are not available for spend (#629)
- send button disable/enable logic
- `clear` button of the address field removed
2023-03-07 18:16:43 -03:00
Michal Fousek 6c77e0901b
[#595] Visbility of fiat conversion on homeage depends on feature flag (#625)
Closes #595
2023-03-07 18:03:37 +01:00
Michal Fousek 082e058055
[#592] Add export logs to debug menu (#621)
Closes #592

- Export logs feature moved to separate reducer - `ExportLogsReducer`.
- New reducer is used in debug screen and in settings.
2023-03-07 14:01:22 +01:00
Michal Fousek b7baaf16aa
Fix how sync progress is displayed (#624) 2023-03-07 14:00:55 +01:00
Michal Fousek d528f7ecf7
[#618] Use SwiftGen to generate L10n structure (#619)
Closes #618

- Generate L10n structure by using SwiftGen.
- Replace all strings from localisation file with L10n.
2023-03-07 08:59:17 +01:00
Lukas Korba 4db00ff4a9
[#609] Split birthday from the import seed phrase (#622)
- birthday set separated from the backup seed phrase
- snapshot for the birthday screen added
2023-03-07 07:16:34 +01:00
Francisco Gindre 078d214fd9
[#819] build and release from tag 0.0.1-44 (#620) 2023-03-06 13:17:19 -03:00
Lukas Korba 8e46737321
[#566] Change colors app-wide (#603) 2023-03-06 15:14:18 +01:00
Michal Fousek 8e445f8b09
[#613] Adopt ZcashLightClientKit version 0.19.0-beta (#616)
Closes #613

- Only change was in usage of rewind function. So it's changed.
- And when rewind is done then start of the sync process is called. So
  rewind now really works without app restart.
2023-03-03 14:58:53 -03:00
Michal Fousek 11e8e5c7b5
[#614] Fix error handling when calling wipe (#615)
Closes #614
2023-03-03 14:58:25 -03:00
Francisco Gindre 5d64d0b064
Change "Your UA" for "Your Address" (#606)
Closes #605
2023-03-03 12:09:00 -03:00
Francisco Gindre a97372864d
[#553] Add Mainnet and Testnet icons (#612)
Closes #553
2023-03-03 12:08:45 -03:00
Francisco Gindre 13884a7a82
Test mainnet release (#593)
* Build 42

* mainnet build 42

* build 43
2023-03-02 13:14:05 -03:00
Lukas Korba 49d858d22a
[#557] Nav Changes (#602)
- previous profile screen connected to the receive ZEC button
- receive ZEC is now simplified to show only QR code + UA with small "i" icon leading to address details
- profile's UA address copy to pasteboard added
- home's settings button connected to settings screen
- settings screen updated, test crash report and rescan blockchain moved to debug menu
- root reducer's debug code move to a separate file
- unit tests updated + debug tests provided
2023-03-02 15:24:32 +01:00
Michal Fousek f1c9b06123
[#576] All the errors are handled by alert (#589)
Closes #576
2023-03-02 09:02:24 +01:00
Michal Fousek 23a616baab
[#529] Replace OSLogger_ with OSLogger from the SDK (#590)
Closes #529
2023-03-01 15:34:28 -03:00
Lukas Korba b61fa213b6
[#556] Hide post-seed backup flow and rework screenshot tests (#591)
- flow is hidden by default
- when turned on, only new users (nuke wallet and start over) continues to the flow
- unit tests fixed and updated
- new unit tests
- phrase display screen simplified

[#556] Hide post-seed backup flow and rework screenshot tests (#591)

- never show the phrase for users who had it disabled at the time of wallet creation
2023-03-01 15:33:58 -03:00
Michal Fousek 2a560dea8d
[#575] Add support for sending feedback (#588)
Closes #575

- Added `SupportDataGenerator` object which generates data sent with
  support email. Format of the data is based on what Android has.
- Support button is moved to settings from profile.
- Support button opens mail composer.
2023-03-01 09:52:50 +01:00
Michal Fousek a4d35b759f
[#546] Update how swiftlint is used (#547)
Closes #546

- Have separate swiftlint config for code and for tests.
2023-02-28 15:32:36 -03:00
Lukas Korba 2ddce23427
[#586] secantTests.AppInitializationTests Tests fail on CI (#587)
- Publisher used instead of .task/.run
- fixed all tests

Convert WalletConfigProvider to Combine
2023-02-28 14:02:31 -03:00
Lukas Korba 75150da3a4
[#535] Use 0.18.0's wipe() instead of obsolete nuke approach (#549)
- added alert view asking if nuke is triggered or canceled
- wipe of the keychain
- wipe publisher properly used
- functional wipe accessible through debug menu
2023-02-27 22:43:38 +01:00
Michal Fousek 148ca941f1
[#554] Add ability to update feature flags from debug screen (#583) 2023-02-27 17:26:24 +01:00
Michal Fousek 56e1364659
[#554] Use WalletConfigProvider and WalletConfig in the TCA (#582)
Closes #554

- WalletConfigProvider and WalletConfig are used in the Secant app.
- First feature flag (`onboarding`) is in use.

Co-authored-by: Lukas Korba <lukas.korba@seznam.cz>
2023-02-27 13:55:47 +01:00
Lukas Korba cc7da24732
[#565] Add transaction details as standalone screen (#581)
- the screen is now simplified
2023-02-27 08:22:07 +01:00
Lukas Korba c686a74372
[#562] Clean up the Send screen (#580)
- send screen simplified + UI changes
- confirmation screen removed (hold to confirm)
- test and snapshot tests modified accordingly
2023-02-27 08:21:54 +01:00
Francisco Gindre c8d2355f9d
[#577] Fix TCA warning (#578) 2023-02-27 08:21:40 +01:00
Francisco Gindre db07850fad
[#806] Mainnet target is using testnet endpoint (#579)
also fixes schemes because mainnet was missing

Closes #806
2023-02-26 09:44:37 -03:00
Francisco Gindre f7a61feed4 0.0.1-41 2023-02-24 16:21:43 -03:00
Michal Fousek a1104163f3
[#554] Add WalletConfigProvider (#574)
- Added `WalletConfigProvider` object which handles loading and caching of
  feature flags.
- Added `WalletConfig` which represents one configuration
  of all feature flags.
2023-02-24 17:33:46 +01:00
Lukas Korba 1988d30540
[#559] Remove the circular progress bar from home screen (#572)
- draft of the removal, home screen updated

[#559] Remove the circular progress bar from home screen

- circular area removed
- snapshot tests of the circular area removed
- home screen simplified
2023-02-23 13:42:48 -03:00
Francisco Gindre 60f19a360d
[#560] Remove QR code scanning from the home screen (#571)
Closes #560
2023-02-22 18:37:36 +01:00
Francisco Gindre 7967fac627
[#207] create Secant Mainnet target (#550)
1. duplicates secant-testnet target and call it secant mainnet https://github.com/zcash/secant-ios-wallet/issues/273
2. renames Info copy plist file and Display name
3. Fixes TCA code bootstrapping so it has the mainnet environment

Fixed Info-Plist
4. (off code repo) create the mainnet app on the app store

4. create the mainnet app on the app store
5. create the mainnet variant on Crashlytics
6. create a GoogleServices-Plist file
7. change tag triggers to mainnet and testnet can be built independently from each other
8. add Icons for testnet

Creates TargetConstants enum for network target

Closes [#568] Change display name to sECCant

make Derivation tool be static by SECANT_{NETWORK} target

Closes [#570] Change AppIcon to ECC icon
Closes #207
2023-02-22 11:06:43 -03:00
Lukas Korba 93b1b8c01f
[#564] Add transaction history as standalone screen (#569)
- the transaction history is now separated
- unit tests fixed
- snapshot test updated
2023-02-22 14:50:59 +01:00
Lukas Korba 1027a06ecd
[#537] Flaky navigation issue (#567)
- flaky navigation reproduced and fixed
2023-02-22 11:28:15 +01:00
Francisco Gindre 7d38035350
[#545] Fix CI issues with PR builds (#548)
This fixes the path of the dummy google services file injected at
startup of the build process.

Closes #545

Fix path for crash reporter

Add output file
2023-02-16 11:24:24 -03:00
Francisco Gindre 931569eeea
Fix swiftlint warnings (#544)
* 0.0.1-40

* - [#543] Fix swiftlint warnings
2023-02-16 11:15:47 -03:00
Francisco Gindre 2d5c70aa94 0.0.1-40 2023-02-15 19:35:09 -03:00
Francisco Gindre adb48ba507
[#541] Adopt Latest main commit of SDK (#542)
* [#541] Adopt Latest main commit of SDK

This adopts commit `cf60f44aa83938432c81361917406483ff42c719` from `main`
branch of ZcashLightClientKit.

It includes changes to remove a fake "defaultBirthday" and use the real
`BlockHeight.ofLatestCheckpoint()` function that allows the wallets
to fetch the latest checkpoint available from bundle and define it as the
birthday. Also "defaultBirthday" birthday was incorrectly being used as a
replacement for Sapling Activation height which is the minimum birthday
supported by the wallet in terms of shielded pools.

Wallets with lower heights that have only transparent funds could in theory
work, but they won't be able to see sprout funds. Also the the SDK won't provide a birthday prior to sapling activation.

removes references to `LightWalletService` since this class has been made
internal to the SDK only.

adopts FsBlockDb and adds a FsBlockDbRoot directory dependency for the
Databases dependencies. Which should be renamed in a later commit

Closes #541

* Fix SwiftLint issues
2023-02-15 19:27:52 -03:00
Francisco Gindre 26dd0ea988
Add crash reporter to secant (#531)
* [#525] Adds functions to configure, testCrash and check if it can start.

This adds a build phase where a dummy file is added to the project to
make the build and Plist copy happy. When building in the CI there
will be a script to replace this Plist file with the real one that
then will be copied to the bundle

Crashlytics will be "off" by default and then be turned on when
starting up to be an Opt-Out thing.

This is the only way it can be turned off later.
reference: https://firebase.google.com/docs/crashlytics/customize-crash-reports?platform=ios#enable_opt-in_reporting

The app will start with crash reporting turned off and will set it up
on by default on the application's code. Then if the user wants to
opt-out of crash reporting, it can. Otherwise, it won't be possible.

Adds opting out of crash reporting as a stored user preference.
This adds a value inside UserPreferencesStorage and its live and
mock counterparts.

also creates a builer for `CrashReporterClient` that has a Dependency
to `@Dependency(\.userStoredPreferences)` and sets the references
for the client to set the appropriate values into the user storage

`UserPreferencesStorage` as been adapted to be a TCA Dependency.

`SettingsStore` now as a `Toogle()` to turn off and on crash
reporting. But it doesn't work yet because I haven't found out
how to make a TCA Binding that can rely on an initial value that
is not hardcoded but injected from somewhere else.

See https://www.pointfree.co/episodes/ep158-safer-conciser-forms-part-1
https://www.pointfree.co/episodes/ep158-safer-conciser-forms-part-2

Adds Test Crash button and enable crash reporting

Adds upload-symbols run script phase

Closes #525

Add a custom build environment variable "UPLOAD_CRASHLYTICS_SYMBOLS"
that will let Xcode skip the upload_symbols script for debug builds

Fix Initialization tests

* bump build
2023-02-15 18:18:18 -03:00
Lukas Korba f946de15bb
[#444] Ensure that sensitive information can't be logged intentionally or by accident (#536)
- SensitiveData file holding utilities to hide all strings and data that holds information we don't want to leak or log
- wallet storage fields redacted
- import wallet fields redacted
- create wallet chips redacted
- import wallet reducer changed: BindableStates replaced by bindings to bridge redacted data
- redacted wallet balance
- redacted birthday value (BlockHeight helper)
- Redacted protocol conforming to Undescribable for release/production and testflight builds
- new target for the unredacted debug development
- unit tests fixed
- sensitive data helpers commented
- unit test for conformation to the Undescribable
- memo is redacted
- immutability of redactable structs
- log test capped to look for 6mins at most
2023-02-13 20:32:50 +01:00
Lukas Korba d87d16a031
[#538] Update and adapt 0.50.2 TCA (#539)
- TCA updated to the latest version
2023-02-13 14:13:42 -03:00
Lukas Korba fdd6ff19c0
[#516] Adopt unreleased changes that will go live with SDK 0.18.0-beta release (#532)
- all issues refactored
- previous transactions replaced by new data type from the SDK
- unit tests fixed
2023-02-06 09:38:34 +01:00
Lukas Korba 1aca887800
[#126] TCA component for user logs (#526)
- OSLogger for the defined categories
- TCA logger for the TCA logs
- WalletLogger for the secant logs
- SDKLogger passed to the SDK
- unit tests for the loggers
- export category OS logs
- share txt files (sdk, tca, wallet logs) via native share dialog
- timestamp extension so we see even milliseconds
- txt files up to some X size
- simple button enable/disable logic and wrapping the export work in the Task
- TODO for empty catches
- OSLogger refactored to OSLogger_, just temporary change
- export and share divided into business logic and view logic parts
- unit tests for the TCA part
- async let syntax for the export logs
- simple activity indicator so testers know export is in progress
- static date formatters so we don't instantiate it over and over
2023-02-01 09:08:22 +01:00
Lukas Korba 0d2d898f4e
[#521] Update format for the Swiftlint TODO rule (#523)
- deployment target set to iOS 15
- no warnings or errors needed to be addressed
2023-01-20 14:55:20 +01:00
Lukas Korba 61567834a4
[#521] Update format for the Swiftlint TODO rule (#522)
- TODO rule updated in the yml file
- all TODOs updated to the new format
- some missing TODOs updated as well
- code cleanup
2023-01-20 14:55:08 +01:00
Lukas Korba f978565f38
[#517] QR codes integration into the wallet details and send feature (#518)
- Address details have been extended to show QR codes for the addresses
- Profile + Address views are now scroll views
- Send feature now supports scan QR feature, when valid zcash address is scanned the address is automatically filled
- snapshot tests & unit tests fixed and extended accordingly
2023-01-12 13:04:36 +01:00