Commit Graph

11 Commits

Author SHA1 Message Date
Jonathan Rainville 7f0d7fdaa9 chore: update icons to use the new multicoloured Status logo
Fixes #14531
2024-05-07 19:39:59 -04:00
Anastasiya Semenkevich 544b2c1806 chore(@StatusITrayIcon.qml): object names 2023-11-02 15:10:04 +03:00
Lukáš Tinkl a93320f684 fix(main): replace the frozen splash screen with an animator
this runs on the GPU, therefore not prone to main thread being blocked

Fixes: #9524
2023-02-13 19:40:00 +01:00
Stefan a157f688fd chore(CPP): Align Saved Addresses with new changes
It adds favourite false and doesn't extend the implementation to support
these new features
Workaround to crash of chats whit a new account by lazy loading sections
and defaulting to wallet

Updates #7229
2022-10-12 09:38:19 +02:00
Stefan cfef7dc443 fix(CPP): fix linux compiling issues
Fix BigInt compilation on linux
Remove c++20 optimization for NamedType
Add assert for failing getChats that was providing an easy to miss warning
Enable linux CI build
Don't run tests. They fail to run in docker with
 "malloc_consolidate(): invalid chunk size", probably due to status-go
2022-08-23 19:38:23 +02:00
Sale Djenic 45f5a53069 chore(cpp): add chat section and list chats
Closes: #6747
2022-08-11 21:40:39 +02:00
Stefan d5afd6beac chore(CPP): Create new wallet accounts - POC UI
The UI is for demo purposes. Also architecture decisions are open for change

Closes: #6321
2022-08-02 15:30:08 +02:00
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 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 cecfd7f8e8 chore(CPP): base for the window and layouting system
Demo controls migrations to Qt6
POC for an application layout with isolated components

Closes: #5902
2022-07-01 16:57:51 +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