Commit Graph

16 Commits

Author SHA1 Message Date
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
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
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
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 8e3544b732
[#499] Refactor Route to Destination (#500)
- Route -> Destination refactor done
- test working
- cleanup of URLRouting usage
2022-12-01 15:31:30 +01:00
Lukas Korba 665c792808
[#492] Update TCA to 0.46.0 (#493)
- library updated
- overrides for the dependencies are now done in the trailing closures
- some tests were split to so they cover only 1 case (not 2 cases in one test)
- TCA debug trace back again
2022-11-18 11:34:33 +01:00
Lukas Korba c8b97a8266
[#490] Consolidation of TCA dependencies - 2nd batch (#491)
- all dependencies are now consolidated
- cleanup of dependencies
- getting rid of all .live instances in the tests
- all dependencies use mocked or noOp instances
2022-11-17 12:25:55 +01:00
Lukas Korba d6cb429372
[#449] Migrate Scan to ReducerProtocol (#456)
- Scan migrated to ReducerProtocol
- unit tests fixed
- Reducer postfix added to the reducers
2022-11-05 07:11:25 +01:00
Lukas Korba d44eb5ef1b
[#445] Migrate RecoveryPhraseValidationFlowStore to ReducerProtocol (#446)
- RecoveryPhraseValidationFlow migrated to the ReducerProtocol
- unit tests fixed
2022-11-02 13:43:42 -03:00
Lukas Korba 558675aced
[408] Reduce dependency on TCA in the dependencies (#413)
Following dependencies refactored to await/async
- RecoveryPhraseValidationFlowReducer
- RecoveryPhraseDisplayStore
- AppStore
- UserPreferencesStorage
- WrappedUserDefaults
which allowed to reduce imports of Combine/TCA
2022-08-17 09:12:15 +02:00
Lukas Korba 6026aebc9b
[222] Tests for the initialisation check and process (#334)
- recovery phrase randomizer & wrapper
- did finish launching -> initialized wallet test
- cleanup of static dependencies
- did finish launching -> keys missing integration test
- did finish launching -> uninitialized integration test
- database files were missing, mocked to behave like it's available
- key missing test fix, the database files were missing too => mocked to act like being present
2022-06-03 20:21:51 +02:00
Lukas Korba 4cc7737b21
[106] [Scaffold] Scan QR Screen (#321)
- scan UI view
- UI representable
- scaffold of scan view
- rect of interest support
- simple URI parser and validator
- tests

[106] [Scaffold] Scan QR Screen

- scan status added
- scan status tests

[106] [Scaffold] Scan QR Screen

- custom back button added

[106] [Scaffold] Scan QR Screen

- fixed typo

[106] [Scaffold] Scan QR Screen (321)

- valid vs. invalid code part of the enum

[106] [Scaffold] Scan QR Screen (321)

- refactor

[106] [Scaffold] Scan QR Screen (321)

- cleanup

[106] [Scaffold] Scan QR Screen (321)

- review comments solved
- some improvements added
- firing the valid qr code after 1s

[106] [Scaffold] Scan QR Screen (321)

- tests fixed
- onAppear test added
- print() cleanup

[106] [Scaffold] Scan QR Screen (321)

- wrapped audio services
- vibrate when QR found
- alphabetical order of environmental parameters
- AVCaptureSession stopRunning explicit call, probably handled by AVCaptureSession itself but I didn't find proof
- QRCodeScanView simplified and cleaned up

[106] [Scaffold] Scan QR Screen (321)

- URIParser added to the project
2022-05-24 08:30:12 +02:00
Lukas Korba 339965b9e9
[#319] Update TCA to 0.35.0 (#326)
- TCA updated to 0.35.0
- tests modified so no state change is reflected
2022-05-23 12:36:29 -03:00
Lukas Korba af054b098c
[#180] Project Structure and Source code consistency (#317)
phrase 1:
- project restructured
- swifgen rewired
- files renamed

[180] Code inconsistency

phase 2:
- stores and views refactored

phase 3:
- models, dependencies, utils and UI components

[180] Code inconsistency

- tests fixed
2022-05-13 13:29:57 -03:00
Lukas Korba 465d4feded Test fixes 2022-02-24 17:26:06 +01:00
Francisco Gindre b75def9cc1 Issue #44: Recovery Phrase Validation flow + tests
Rename struct to RecoveryPhraseValidationState. Add docs

WordGrid + tests

Make Word Groups Droppable and Blue word chips draggable

cleanup

Rename Stores and adopt aliases and default pattern for reducers

Fix drop not working

FIX: apply background to header. Spacing

Fix compilation errors. Add validation demo to AppView

Fix: the empty chips are rendered once, because they are not uniquely identifiable

Add the Validation screen to the App Home

make mutating functions static

fix project warnings

Fix Tests

Fixed .complete test

refactoring the Enum. first step

Move given() to RecoveryPhraseValidationState and fix tests

Add canary test for computed property of State

Move RecoveryPhraseValidationStep to a nested type of RecoveryPhraseValidationState

rename RecoveryPhraseValidationState.RecoveryPhraseValidationStep to RecoveryPhraseValidationState.Step

Move static functions from RecoveryPhraseValidationStep to RecoveryPhraseValidationState

Move creational factory methods together to the same extension

Remove unused functions

remove associated values from Step enum

Fix: Avoid Drop being disable between chips

0.0.1-10

add navigation bar to phrase validation demo

Reduce spacing between groups. Code cleanup

Remove RecoveryPhraseValidationStep.swift
Move remaining code to proper places

PR Fixes. Move .initial factory method to test target. Rename given() to apply(chip:group:) and make it a member function

Cleanup. Remove .validate, .invalid and .valid states. Figure word chips out of the state.

Fix randomIndices()

Tie view's title to state

Connect Header to State

BlueChip is now ColoredChip.

Success Screen

fix project

Connect Success Screen to successful validation

Add Red color to backgrounds

Validation Failed Screen

Connect SuccessValidation Screen to home

hide back button on Success view

Connect Phrase Display to validation

0.0.1-11

Fix word grid background colors

View Modifier to add scrollview when the content is being scaled up by DynamicType

Adjust UI spacing and padding to designs

Add Placeholder states for SwiftUI Previews

Flatten EnumeratedChip Hierarchy

Flatten EnumeratedChip view hierarchy

Fix: LazyVGrid can't take GeometryReader on its items' bodies

Fix: Colored Chip does not adjust

Fix: Vertical separation between wordgroups is too tall.

Fix: Accesibility fixes for Validation Failed screen

Rename ValidationFailedView

Accessibility Pass on Validation success screen

 FIX: Colored chips too big when scaled up

Fix: ValidationFailedScreen does not scroll well when scaled up

Fix Empty chip shadow color for dark color scheme

Fix: chip grid background does not bleed out to bottom of the screen

build 12

Fix: pre success/failure screen step shrinks the screen because word grid is missing

Resolved PR comments

Fixes to resolve PR conversations

Fixes to resolve PR conversations

Fix PhraseChip preview

Make ScrollableWhenScaledUp modifier fileprivate

Remove comments and clean up code

Fix Swiftlint issues

Renamed RecoveryPhraseStepFulfillment to ValidationWord

Rename pickWordsFromMissingIndices

PR fixes

PR suggestions

PR suggestions

Move words(fromMissingIndices:size) to RecoveryPhrase

Make ScrollableWhenScaled struct fileprivate

PR Suggestions Part two

PR Suggestion changes

remove unused

PR suggestions

suggested rename

PR suggestions

remove apply(chip:into) move that to Reducer

Formatting changes

more formatting changes

Fix: iPhone 13 Pro Max displays 4 columns instead of three

Fix: Recovery Phrase puzzle shows incorrect number of columns and margin alignment on bigger devices

Add test to catch state not changing as intended

Phrase validation reducer refactor + tests

make step computed property a bool

make isComplete a single line

PR Suggestions

Rename ValidationSuccededView.swift

Fix Bug: valid phrase should contemplate that the phrase is complete first

PR Suggestion

refactor and add Unit Tests for resultingPhrase, isComplete, isValid
2022-02-18 10:26:11 -03:00