Commit Graph

30 Commits

Author SHA1 Message Date
Stefan 16b866ccbd chore(CPP): Enhance type safety using phantom types
Important changes:

- Converted the easy to mix strings to named types as phantom types
- Renamed `AccountDto`s to `MultiAccount` to better match the status-go
domain knowledge.
- Renamed MultiAccount to ChatOrWalletAccount to better match its multi
purpose and don't confuse with the MultiAccount domain knowledge.
- Remove libs/CMakeLists.txt

Note: Tried to use the fluent::NamedType but it doesn't work with
nlohmann_json, gave up finding why. Therefore I extracted only
the needed functionality for the simple types we use.

Updates: #6321
2022-07-19 16:56:06 +02:00
Stefan 1983443608 chore(CPP): Test basic functionality for wallet status-go wrapper API
Considerations

- MultiAccountStoreAccount is required for generating a new account.
  MultiAccountStoreDerivedAccounts won't be enough even that it works
  for creating initial account and login code
- Validate the understanding that `rootAccount.address` is `walletAccount.derivedFrom`

Updates: 6321
2022-07-18 17:40:59 +02:00
Anthony Laibe 5c53cca9f8 fix(@test): linux test run 2022-07-15 15:03:25 +02:00
femi 971d12ff42 Update Settings NavBar
Update FileManager
Update ObjectMapper
2022-07-15 09:27:51 +01:00
femi 6604a0a94d Update Status ICon 2022-07-15 09:27:51 +01:00
femi 4391d616b6 Update trailing spaces
Update UI component mainWindow_Password_textField
2022-07-15 09:27:51 +01:00
femi f415e4ae3a Update trailing space 2022-07-15 09:27:51 +01:00
femi dde483fd96 Update trailing space 2022-07-15 09:27:51 +01:00
femi 3bdba429e3 feat(@DesktopApp): Login- 12, 18, 24 Seed Phrase
https://github.com/status-im/status-desktop/issues/6274
https://github.com/status-im/status-desktop/issues/6275
https://github.com/status-im/status-desktop/issues/6276

Login for 12, 18 and 24 seed Phrase
2022-07-15 09:27:51 +01:00
femi 00dc09fb18 feat(@DesktopApp): Login- 12 Seed Phrase
https://github.com/status-im/status-desktop/issues/6274

Login for 12 seed Phrase
2022-07-15 09:27:51 +01:00
Stefan a710558c6b chore(CPP): foundation for user onboarding
Contains minimal account creation and login

Considerations:

- migrated status-go wrapper and login code from the fix/cpp-structure (241eec)
- Minimal refactoring and changes at the moment. Expect further refactoring
follow up to reach the desired state.
- Fix missing keychain initialization
- Fix accounts DB initialization call done by startup -> Controller.openedAccounts -> status-go.OpenAccounts calls
- Small refactoring and todos for other steps
- fix SignalsManager
- fix async access to dereferenced status-go memory from SignalsManager
- fix SignalsManager not starting when registering
- finish dev end to end test for create account and login
- small improvements and added TODOs for future work
- add onboarding test helpers and start messaging test
- Refactoring towards Login UI integration

Closes: #5909
Closes: #6028
2022-07-07 23:23:09 +02:00
Stefan 1e8c851283 chore(CPP): Basic project configuration setup using Qt6
Considerations

- Use versioned files. Versioned Qt CMake APIs are disabled to force explicit calls and say that we don't support older `QT`s
- Don't use blobbing. Use `target_sources` and `qt_target_qml_sources`
- Distribute `CMake` definitions closer to the context: main folders with their own `CMakeLists.txt`
- Everything in libraries under `Status` namespace for cleaner code.
- Includes are exposed with Module folder externally and without prefix internally
- File/Folders name matches definitions they contain for uniformity that leads to cleaner code
- All source files (cpp, qml, js ...) have to be added to one of the CMakeLists.txt files to be tracked by CMake build system.
- Use BUILD_DEBUG, BUILD_RELEASE and BUILD_DEVELOPMENT variables from Helpers library
- Avoid Include directories. Not needed anymore CMake `target_*` APIs handles this through `INTERFACE`, `PUBLIC` and `PRIVATE` scope identifiers
- `StatusQ` is meant to be compiled as an external library, therefore StatusQ tests are kept inside its own directory
- Forced CMake version to `3.21` for the latest features and fixes. It is desired to be kept as recent as possible due to its backward compatibility. Following Qt's shipped version might be an option
- Depends on status-go changes to allow forcing of arm for apple silicon

Found limitations to CMake Qt API with Qt 6.3

- Having `0` as major version when using `qt_add_qml_module` doesn't work. Qml engine reports loading the `qmldir` but won't load the plugin library and no error is reported outside that exposed types are not found.
- `qt_target_qml_sources` doesn't work now, it generate a double copy error when deploying qml files in bin-directory. For now we stick with adding files using `qt_add_qml_module` central place
  - Need to add `OUTPUT_DIRECTORY` to `qt_add_qml_module` to use the workaround
- If `MACOSX_BUNDLE` target property is set breaks importing of QML files. Disabled until fixed or workaround found
- For an unknown reason application executable tries to include the `QML_ELEMENT` include files, therefore for now I include all the C++ qml elements in INTERFACE
2022-06-30 12:16:33 +02:00
Anthony Laibe 49b592daa3 chores: add typing to ui-test 2022-06-30 09:28:37 +02:00
femi 46d47e3746 feat(@DesktopApp): Refactor Login Steps
https://github.com/status-im/status-desktop/issues/6101

Refactor Login Steps
2022-06-23 13:47:11 +01:00
femi 02e63a5eee feat(@DesktopApp): Refactor Login Steps
https://github.com/status-im/status-desktop/issues/6101

Refactor Login Steps
2022-06-23 13:47:11 +01:00
femi a19b17aeac feat(@DesktopApp): Refactor Login Steps
https://github.com/status-im/status-desktop/issues/6101

Refactor Login Steps
2022-06-16 22:30:44 +01:00
femi 6d497582b1 feat(@DesktopApp): Basic Chat Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include Basic chat Scenario
2022-06-10 13:41:26 +01:00
femi 9a7eae6ab0 feat(@DesktopApp): Basic Chat Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include Basic chat Scenario
2022-06-10 13:41:26 +01:00
femi 937d9d7d09 feat(@DesktopApp): Basic Chat Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include Basic chat Scenario
2022-06-10 13:41:26 +01:00
femi 304fe07214 feat(@DesktopApp): Basic Chat Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include Basic chat Scenario
2022-06-10 13:41:26 +01:00
femi 3c81a9dcfc feat(@DesktopApp): Basic Chat Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include Basic chat Scenario
2022-06-10 13:41:26 +01:00
femi 1696fec9db feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include script to erase data file before each test
2022-06-01 09:47:13 -04:00
femi 88a7a5f3f7 feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include script to erase data file before each test
2022-06-01 09:47:13 -04:00
femi edc48d2168 feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include script to erase data file before each test
2022-06-01 09:47:13 -04:00
femi 314327f479 feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include script to erase data file before each test
2022-06-01 09:47:13 -04:00
femi 734ad54c47 feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include script to erase data file before each test
2022-06-01 09:47:13 -04:00
femi 2be85fd6a5 feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718
2022-06-01 09:47:13 -04:00
Noelia 4790f7b4c5 chore(ui-test): Added data folder
Added specific data folder for login test (PoC).
2022-05-10 15:16:33 +02:00
Noelia 78f6df4d06 feat(uiTest): Data changes to fit new display name req. 2022-04-25 08:21:51 -04:00
Noelia 57b731198f chore(ui-test): First-approach
Add basic layered architecture and basic test suite (status login).
2022-03-31 16:02:57 -04:00