Implement a prototype of integrating [WalletConnect Web SDK]()
- integrate WalletConnect Web SDK using Node.js and packing it using
[webpack](https://webpack.js.org/guides/getting-started/)
- this way, we achieve the same versioning strategy for the SDK
- add WalletConnectSDK view
- it is used to load the web SDK via a WebView (validated working on
Mac and Windows)
- add new app dependency of WebView QT
- also update vendor packages `Dotherside` and `nimqml` to add
required WebView::initialize API used to initialize the WebView
integration at the app start
- add WalletConnectPage to Storybook for quick prototyping
- Also add dependency for WebView Qt lib
- index.js is the wrapper used to provide a simple stateful interface
with the WC SDK
- Entry in ui/generate-rcc.go ensures the node_modules cache is excluded
from the resource file
Notes:
- Added `com.apple.security.cs.allow-jit` entitlement when signing the
app package. This allows Execution of JIT-compiled Code Entitlement
required by the fast-path of the JavaScriptCore framework on MacOS
platforms.
- Keep some debugging entries expected to help debugging Linux package
- Removed outdated `DerivationPathInputRegressionTests` qml test
Closes#12301
Adds target to run a storybook itself (run-storybook) and also
target to run all tests from storybook directory (run-storybook-tests):
- unit tests for storybook itself
- unit tests for the app using the same stubs mechanism (in offscreen
mode)
- PagesValidator
Tests are run via ctest.
Closes: #12448
Use of TEST_ENVIRONMENT variable is just adding confusion, since that
variable is supposed to be used at runtime and not build time.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
- Settings/About now displays the `status-go` version, read from its
`VERSION` file
- use the actual app icon, to differentiate between prod/dev version
- make the version numbers clickable, taking the user to either the
release notes (prod) or the GH commit browser (dev)
- add "Is production" switch to the About page in storybook
Closes#11424
After a LOT of work from @jrainville bisecting the release branch he
identified the issue to be this commit:
https://github.com/status-im/status-desktop/commit/dad8e453
ci: bump client build retries to 20
Which actually was poorly squashed by @iurimatias and contains the
commit that also adds the retries in the first place:
https://github.com/status-im/status-desktop/commit/a5ba2537
ci: retry nim_status_client build 3 times
The reason why that's an issue is because normally it was caled by `make
tgz-linux` target which included this setting:
```
override RESOURCES_LAYOUT := $(PRODUCTION_PARAMETERS)
```
Which caused `NIM_PARAMS` to use `-d:development` instead of `-d:production`.
The result was the app trying to write config file changes to the read-only
filesystem of the AppImage.
Resolves: https://github.com/status-im/status-desktop/issues/11295
Signed-off-by: Jakub Sokołowski <jakub@status.im>
For some reason the an infra change has triggered the behavior of `make`
where the `if` clauses that compares `QT5_PKGCONFIG_INSTALL_PREFIX` with
`QT5_INSTALL_PREFIX` would be true, which would cause `QT5_LIBDIR` to
not be exported, and some `NIM_PARAMS` to not be set at all.
Resolves: https://github.com/status-im/status-desktop/issues/10876
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Avoid using QTDIR env and hardcoded subdirectories.
Use 'qmake' to detect paths to lib, qml, etc.
It fixes build on hosts with multiple QT installations, where
one of them is installed system-wide.
It needs to be separate script, because once the submodules are broken
and the `variables.mk` file is not available from `nimbus-build-system`
then we cannot even call `make clean-git` successfully because it will
be caught by the `if` clause that checks for `variables.mk`.
Possible fix for issues with submodules not being updated in some
windows release builds.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This avoids a situation in which `variables.mk` from
`nimbus-build-system` does't exist, but at the same time `git submodule
update` doesn't work due to sumodules stuck in a bad state.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This way we avoid errors about missing QT when calling targets that do
not require it, like `make clean` or `make deps`.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This is a continuation of attempts to fix provlems with Windows CI hosts
getting into a broken state due to `.git` directory becoming a file for
random submodules for unknown reason.
Instead of relying on Jenkins functionality of `cleanWs()` function
provided by the [Workspace Cleanup Plugin](https://plugins.jenkins.io/ws-cleanup)
we use Git which should be more reliable, and possibly also speed up the
initial checkout of the repo and submodules.
A nice side-effect is that the repo checkout on all builds after the first
one takes ~1 minute instead of ~5 minutes.
Previous issues:
- https://github.com/status-im/status-desktop/pull/7968
- https://github.com/status-im/status-desktop/pull/8046
Signed-off-by: Jakub Sokołowski <jakub@status.im>