Commit Graph

161 Commits

Author SHA1 Message Date
Jakub Sokołowski 3f41db0efc fix(status-go): skip Nix shell use to avoid Glibc errors
Linux builds on desktop are stuck with:
```
/usr/bin/ld: .../libstatus.so: undefined reference to `pthread_mutexattr_init@GLIBC_2.34'
/usr/bin/ld: .../libstatus.so: undefined reference to `dlclose@GLIBC_2.34'
/usr/bin/ld: .../libstatus.so: undefined reference to `pthread_detach@GLIBC_2.34'
```
Due to using old Glibc 2.34 from Ubuntu 22.04 while Nix uses 2.38.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-04-11 18:49:47 -04:00
Igor Sirotin a2af01bcda
chore: force some warnings as errors (#14068) 2024-03-20 20:08:43 +00:00
Igor Sirotin de4c20ea4f
upgrade Nim-build-system (#13979)
* chore: upgrade nimbus-build-system

* test UnusedImport warningAsError
2024-03-19 13:58:02 -04:00
Igor Sirotin 67b81e1953
chore: clean up build log (#13928)
* chore: clean up build log

* more cleanup

* typo fix
2024-03-11 17:08:09 +00:00
Jakub Sokołowski a27e447f11
chore(ci): change RELEASE into INCLUDE_DEBUG_SYMBOLS
This way it actually reflects the purpose accurately and allows us to
build without debug symbols in CI without pulling in release credentials.
https://github.com/status-im/status-desktop/issues/13079

The only utility for `RELEASE` parameter is inheriting it
from the parent meta-job(`ci/Jenkinsfile.combined`).

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-26 10:16:03 +01:00
Stefan a8fb355a8d feat(wallet) activate Wallet connect modal from deep-links
- Open wallet connect modal when the application is opened from a
  deep link
- Add test entry that opens wallet connect modal with mocked
  StatusDesktop app that can be used for testing
- Add tests

Closes #12641
2023-12-12 20:12:53 +01:00
Sale Djenic a18a94f5a9 fix(@desktop/general): runtime log level control doesn't work
Fixes: #12919
2023-12-04 16:43:16 +01:00
Michał Cieślak 4d1806a656 fix(StatusQ): run all unittests via make and on CI
Closes: #12841
2023-11-24 23:32:08 +01:00
Dario Gabriel Lipicar 90570b53da chore: remove leftover token code from makefile 2023-11-23 17:04:51 -03:00
Dario Gabriel Lipicar 7384c004cc feat(@desktop/wallet): support alchemy sepolia api keys
Closes #12771
2023-11-23 17:04:51 -03:00
Stefan a87a11f92f fix(tests) fix UI tests when run from scratch
The STATUSQ_SHADOW_BUILD will allow loading the qml files from sources

The StatusQ dependency helps building StatusQ which is used for C++
helpers

Updates #12639

ghstack-source-id: cbe0a994e7
Pull Request resolved: https://github.com/status-im/status-desktop/pull/12787
2023-11-20 20:38:19 +01:00
Igor Sirotin a2e8655835
chore: fix nim build warnings (#12796)
* chore: turn off  'generic methods are deprecated' warnings
* chore: fix homebrew bottles version and macos-min-version
* chore: suppress dotherside deprecation warnings
* chore: fix more nim unused import warnings
* chore(qt.nim): explicit cstring conversion to fix warning
* chore: fix all baseless methods
2023-11-20 16:04:11 +00:00
Sale Djenic 48c9e372dc chore(@desktop/walletconnect): communication between qt desktop app and loaded wallet connect sdk is made via web channel 2023-11-17 13:55:20 +01:00
Roman Volosovskyi 717e9e6bea
Makefile changes for macOS Sonoma 2023-10-31 14:37:19 +01:00
Stefan ccd8c5b65f feat(wallet) Wallet Connect integration prototype
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
2023-10-30 09:29:33 +01:00
Igor Sirotin 8cee3f500a chore(macos): add entitlements required for squish
And CI parameter to override the default entitlements.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-10-26 21:17:09 +03:00
Richard Ramos b638e1bf53 feat: allow passing args to `make run` 2023-10-19 17:15:17 -04:00
Michał Cieślak 5d0466b627 General: Exclude Storybook's PageValildator to separate target in Makefile to mitigate QTBUG-92236
This workaround can be removed after full migration to Qt >= 5.15.4
2023-10-18 13:50:35 +02:00
Michał Cieślak d33e8f23a0 feat(Storybook): Add storybook targets to Makefile
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
2023-10-17 09:19:51 +02:00
Jakub Sokołowski 55833dad2d
chore(keycard): add USE_MOCKED_KEYCARD_LIB
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>
2023-10-13 09:02:33 +02:00
Dario Gabriel Lipicar 3354af0784 feat(@desktop/wallet): use Alchemy API key for Ethereum main/goerli 2023-10-05 10:29:48 -03:00
Anastasiya Semenkevich 41672271dc chore(@keycard makefile): extend condition to accept env variable as true and 1 values 2023-09-29 13:45:22 +03:00
Sale Djenic d107a9f90b feat(@desktop/keycards): managing mocked keycards when running keycard flows 2023-09-27 18:20:43 +02:00
Michał Cieślak 51fd567c82 general: Add possibility to build/run StatusQ tests via make 2023-09-06 10:00:17 +02:00
Anton Iakimov dcfebbcb9e
ci: switch altool to notarytool 2023-08-10 14:31:17 +02:00
Igor Sirotin 8d14c8b885
chore(makefile): improve dotherside build (#11756) 2023-08-02 14:25:05 +03:00
Igor Sirotin b9fbb7c50c
fix: Add camera entitlement on MacOS (#11683) 2023-07-27 11:39:43 +03:00
Lukáš Tinkl 57fc600d5e feat: Add status-go version to About screen
- 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
2023-07-26 21:35:21 +02:00
Cuteivist 9b293f9c34
feat(@desktop/wallet): Loading animation for input data decoding (#11378)
closes #11333
2023-07-10 15:36:29 +02:00
Jakub Sokołowski 24cdab41c6 ci: fix read-only FS errors in AppImage
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>
2023-07-05 15:37:15 -04:00
Jakub Sokołowski 08ef5efda5 fleets.json: drop decomissioned eth.test fleet
The fleet wasn't being used so it has been liquidated:
https://github.com/status-im/infra-eth-cluster/commit/de986014

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-06-30 08:35:06 -04:00
Jonathan Rainville be958d5a1e chore: remove dictionary 2023-06-09 14:50:08 -04:00
Patryk Osmaczko 853929b430 chore(Makefile): ensure LD_LIBRARY_PATH is not overriden 2023-06-08 13:09:59 +02:00
Jakub Sokołowski e19105d878 Makefile: refactor nim_status_client target
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-06-06 17:48:44 +02:00
Alex Jbanca 4e54ee57a6 chore(enableStatusGoOptimizations): Optimise Release build with O3 CFLAG 2023-06-03 09:03:08 +03:00
Jakub Sokołowski a0a5e6d219 makefile: fix MacOS builds, restore missing env vars
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>
2023-06-02 16:00:59 +02:00
Jakub Sokołowski 99fdc91e2b macos: bump notarization retry limit from 20 to 40
Notarization has been taking longer recently and it times out.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-04-27 13:49:29 +02:00
Igor Sirotin 70e8370aae
fix(Makefile): Bugfixes and minor improvements (#10423) 2023-04-25 18:01:19 +03:00
Igor Sirotin ac9069aae6
fix(Makefile): Move StatusQ to order-only-dependencies of the app (#10351) 2023-04-18 19:14:00 +03:00
Igor Sirotin aefa2b9f48
fix(StatusQ): StatusQ is QML module (#10207)
* StatusQ QML module
* qzxing is static lib again
* updated StatusQ resources
* fixed Emoji lookup
* added display to tests-imports ci
2023-04-14 11:18:56 +03:00
Igor Sirotin 14c264e350
feature(Syncing): Embed QR code scanner for syncing devices on onboarding (#9981)
* fix(StatusQrCodeScanner): Improve QR code scanner
- Almost async loading
- Added camera selector
- Added `captureRectangle` property
- Add component info to sandbox qr code scanner page
- Embed QrCodeScanner into desktop app
* Compile and link qzxing as shared library
* Hardcode settingCurrentNetwork. Propagate inputConnectionString errors.
* Added qzxing libdir to e2e tests ld_library_path
2023-03-30 20:57:18 +03:00
Alex Jbanca 4ccdcdf44e chore: Add Apple silicon support 2023-03-22 15:20:07 +02:00
Igor Sirotin 7c1c178d37
QR code scanner (QML component) (#9464)
Co-authored-by: Richard Ramos <info@richardramos.me>
2023-03-07 12:08:38 -04:00
Anthony Laibe 7d9a6f5a71 feat(@wallet): add pokt network + fallbark 2023-02-28 09:12:05 +01:00
Igor Sirotin f899b09082 fix(Makefile): Fixed ANSI coloring 2023-01-25 11:08:40 +03:00
Michał Cieślak e3e99c6a48 feat(general): Initial setup for app monitoring tool
Closes: #8786
2023-01-13 13:47:08 +01:00
Ivan Belyakov 86f64a4613 fix: build issue caused by pkgconfig and system-wide QT.
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.
2023-01-11 15:28:34 +03:00
Patryk Osmaczko 046e75e441 fix(makefile): make `tests-nim-linux` depend on DOTHERSIDE 2023-01-11 10:57:21 +01:00
Patryk Osmaczko ce08265e0d chore: re-enable logging in prod version
closes: #8932
2023-01-04 18:16:04 +01:00
Patryk Osmaczko 94d7c478eb feat: introduce nim tests 2022-12-21 10:32:46 +01:00