Commit Graph

97 Commits

Author SHA1 Message Date
Anthony Laibe 3fad95ea0e test(@general): run squish test on ci 2022-08-05 10:11:42 +02:00
Sale Djenic db44bc25d3 feat(@desktop/keycard): initial keycard implementation
Keycard implementation affected onboarding/login flows.
- new user - first run - new keys into keycard
- new user - first run - import seed phrase into keycard
- old user - first run - login importing from keycard
- login the app using keycard

Fixes: #5972
2022-08-04 09:50:04 +02:00
Patryk Osmaczko 7390bed49e chore(translations): add lrealese as part of build process
closes: #6418
2022-07-14 22:04:33 +02:00
Richard Ramos 1c30eff74b fix: logs on node tab 2022-07-12 16:59:59 -04:00
Patryk Osmaczko 0bfc51d4a9 fix(Makefile): ensure `pkg` target rebuilds status client
Otherwise `make pkg` would deploy already built status client,
regardless of its initial configuration.

`make clean` is not required before `make pkg` anymore.

fixes: #6241
2022-06-28 13:47:41 +02:00
Michal Iskierko 8acb3c386a feature(desktop/general): Display mentions number on tray icon badge.
Count all mentions from all chats and communities.
Send it to notifications object.

Issue #4922
2022-05-26 14:16:00 +02:00
Michal Iskierko 38031aba83 feature(desktop/general): Configurable logs
Log level can be chosen during application startup.
Logs are disabled for production build.

Fix #3609
2022-03-28 13:58:08 -04:00
Michal Iskierko 3711ab613a feature(desktop/internal): Improve log file naming convention
Logs are named app_yyyyMMdd_HHmmss.log
Version, commit and start date information are displayed in logs at the begining.
Injecting commit version from Makefile.
Moving DESKTOP_VERSION const to constants.nim

Fix #3611
2022-03-24 17:47:48 -04:00
Sale Djenic 6186bf9c8c fix(@desktop/general): app/os notifications
Fixes #4409
2022-02-21 22:01:19 +01:00
Anthony Laibe 03b4bb0511 feat(@wallet): Add opensea api key 2022-02-16 10:29:00 +01:00
Anthony Laibe 56340bebd1 chores(@general): remove status-lib deps 2022-02-03 11:52:45 -05:00
Patryk Osmaczko ee462ea178 fix(@desktop/input): deploy Qt plugin to support fcitx
Qt provides support for various input methods through plugins.
Since the fcitx plugin is not delivered with Qt, it needs to be
built and deployed by us.

Fixes: #4436
2022-01-26 18:11:39 +01:00
Anthony Laibe d639219b94 feat(general): Force rebuild of status go at least once a day
fixes #4297
2021-12-20 10:07:34 +01:00
Michele Balistreri 314bbc65c2 try to fix macos linking 2021-10-06 08:32:32 -04:00
Michele Balistreri 899c342414 copy libkeycard in AppImage 2021-10-06 08:32:32 -04:00
Michele Balistreri 2508b6b6f1 fix windows build 2021-10-06 08:32:32 -04:00
Michele Balistreri 8f9d300312 add keycard-go to makefile 2021-10-06 08:32:32 -04:00
Richard Ramos 8339fe5cf9 fix: missing lib 2021-09-29 14:50:09 -04:00
Richard Ramos 5c937a28a3 chore: remove status-go from desktop 2021-09-29 14:50:09 -04:00
Richard Ramos 36e4fb2f8f crosscompile to amd64 when building on darwin/arm64 2021-09-28 15:17:28 -04:00
Michael Bradley, Jr 4ddb50573c fix: ensure Nim recompile after make update
These changes are a follow-up to #3582.

Also support `REBUILD_NIM=true` and `REBUILD_UI=true` variables so that it's
possible to ensure a rebuild for the next invocation of `make` or `make run`.

Dev docs have been updated: https://hackmd.io/OtFjDnH6QtOl3K65fKKEGg

Also adjust run targets so that e.g. `make -j16 run` works correctly.

Closes #3639.
2021-09-27 13:38:26 -05:00
Michael Bradley, Jr d969766e67 fix: on macOS download openssl@1.1 bottle because openssl bottle is now alias for openssl@3 2021-09-24 11:44:43 -05:00
Michael Bradley, Jr 8baa8c7b73 chore: improve Makefile targets nim_status_client and rcc
Allow for `make` to check the timestamps of files relevant to those targets and
thereby skip one or both targets if nothing's changed.
2021-09-20 11:42:10 -04:00
Michael Bradley, Jr f892b59ca1 chore: improve the bottles logic in Makefile
With these changes it will be easier to maintain, i.e. to add/remove bottles
just modify the `BOTTLES :=` list.

`brew update` is removed from `scripts/fetch-brew-bottle.sh` and instead done
in an [order-only
prerequisite](https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html). This
allows multiple bottles to be fetched in parallel (e.g. `make -j16`) without
overlapping invocations of `brew update` (which causes script failure).
2021-09-20 11:41:34 -04:00
B.Melnik 67ca89483d feat(spellchecking): add dictionaries as submodule
Closes: #3449
2021-09-17 12:57:28 -04:00
Sale Djenic 8af104a16e feat(@desktop/onboarding): support (optionally) OS keychain to login password
This feature works for MacOs only, for now.

On login, whether new or already created user may select between options:
"Store" - store password to the Keychain
"Not now" - don't store it now, but ask next time again
"Never" - don't store them ever and don't ask again

Selected preference may be changed later in:
`ProfileSettings > Privacy and security > Store pass to Keychain`

On the next app run, if `Store` was selected, a user will be asked to confirm
his identity using Touch Id in order to log in the app. If any error happens
he will be able to login using password.

Fixes: #2675
2021-09-17 12:45:34 -04:00
Andrei Smirnov 691795c644 Testing changes suggested in PR 2021-09-16 16:50:28 -04:00
Andrei Smirnov 343f4ffee3 Fixed output archive path 2021-09-16 16:50:28 -04:00
Andrei Smirnov fce910bd4a Added ENV: STATUS_CLIENT_7Z 2021-09-16 16:50:28 -04:00
Andrei Smirnov d4da9b75f0 feat(@desktop/windows): produce 7z archive when packaging 2021-09-16 16:50:28 -04:00
B.Melnik 12eecd3195 fix(Makefile): fix bottles order 2021-09-16 16:23:46 -04:00
Richard Ramos 03eed589a9 feat: display logs in node management section 2021-09-15 16:04:28 -04:00
B.Melnik d3c9564d91 feat(Spellchecking): Add bottle for spellchecking
Usage:

```qml

SpellChecker {
   id: spellchecker
   lang: "en"
}

```

Closes: #3442
2021-09-15 15:04:26 -04:00
Andrei Smirnov 6e0d8437d4 fix(@desktop/windows): installer to include cacert.pem 2021-09-06 14:47:18 -04:00
Richard Ramos db3b7ecfd9 feat: Version Updating
Fixes #1290
2021-08-24 16:56:55 -04:00
Anthony Laibe 3fdd593f0f feat(@desktop/internal): Specific logfile per app start
fixes #3146
2021-08-19 10:53:43 -04:00
Jakub Sokołowski 2df6def7f9 ci: add scripts/sign-linux-tarball.sh for GPG signing
Adds `scripts/sign-linux-file.sh` which expectes the following variables set:

* `LINUX_GPG_PRIVATE_KEY_FILE` - Path to the GPG export of private key.
* `LINUX_GPG_PRIVATE_KEY_PASS` - Password necessary to use the private key.

Given a file it creates a file with a `.asc` suffix containing the signature:
```
 > wget -q https://status-im-prs.ams3.digitaloceanspaces.com/StatusIm-210809-104514-156806-pr.tar.gz

 > tar xvf StatusIm-210809-104514-156806-pr.tar.gz
StatusIm-210809-104514-156806-pr.AppImage
StatusIm-210809-104514-156806-pr.AppImage.asc

 > gpg --verify StatusIm-210809-104514-156806-pr.AppImage.asc
gpg: assuming signed data in 'StatusIm-210809-104514-156806-pr.AppImage'
gpg: Signature made Mon 09 Aug 2021 12:54:49 PM CEST using RSA key ID E20B4DFD
gpg: Good signature from "Status.im Devel Signing (GPG key for signing Status.im development builds.) <devel@status.im>" [ultimate]
Primary key fingerprint: BBF0 5F92 536B ED19 30A9  FD44 009F B3BF E20B 4DFD
```

Issue: https://github.com/status-im/infra-ci/issues/25
Requires: https://github.com/status-im/status-jenkins-lib/pull/32

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-08-16 11:21:36 -04:00
Anthony Laibe 58506fbd97 feat(@desktop/chat): Display gif popup next to emoji 2021-07-23 15:27:56 -04:00
B.Melnik f0b7eb6789 feat(widnows-installer): Add compilation windows installer build step
Closes: #2223
2021-07-19 13:46:19 -04:00
B.Melnik 116a6f3e0c WIP 2021-07-19 13:46:19 -04:00
Sale Djenic abf89fa399 chore(@desktop/general): use different icons for Windows/Linux and MacOS
Icons are updated, mac uses rounded rect log, win and linux circle logo.

Fixes: #2833
2021-07-19 13:37:56 -04:00
Andrei Smirnov 4031db9bf1 perf(@desktop): "make run" boost and build correct qrc 2021-07-19 13:01:53 -04:00
Richard Ramos 5001f36e86 chore: add chronicles configuration to output logs to a file 2021-07-02 08:58:17 -04:00
Michael Bradley, Jr a564b48f61 build: on Linux use tar+gzip to preserve +x attribute of .AppImage
We create a separate make target to avoid tarballing every time.
This is really useful only for releases we upload for users.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-07 14:26:28 -04:00
Jakub Sokołowski af2ec66e0c ci: implement MacOS notarization using xcrun altool
This introduces an automated MacOS notarization process for Jenkins CI.

The process involves:

* Uploading the signed DMG file to the notary service
* Checking periodically if the scanning process has completed
* Stapling the successful scan ticket to the DMG file

This is done by the `scripts/notarize-macos-pkg.sh` via the `make notarize-macos` target.
The whole process is described in more details in `docs/macos_notarization.md`.

Depends on: https://github.com/status-im/status-jenkins-lib/pull/27
Resolves: https://github.com/status-im/status-desktop/issues/2169

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-01 09:50:13 -04:00
Michael Bradley, Jr 4e477a5b64 build: bump vendor/DOtherSide
Fix a typo in a recently added header file in DOtherSide that causes problems
on case-sensitive filesystems, e.g. on Linux.

Also unify the build command for DOtherSide across platforms.
2021-05-27 18:25:26 -05:00
Michael Bradley, Jr 89e42f960d build: modify run logic for macOS dev builds so notifications work 2021-05-03 14:06:14 -04:00
Jakub Sokołowski 089ee7ee80 ci: scripts/sign-windows-bin.sh for signing Windows binaries
This introduces the `scripts/sign-windows-bin.sh` script which is used
by the `Makefile` to sign application libraries and executables. It also
implements the logic necessary to distinguish between different types of
builds: release and non-release builds.

Some other changes:

* Refactore the `Makefile` target that creates the Windows ZIP to make less verbose.
* Added `Microsoft.VisualStudio.Component.Windows10SDK.10240` to VisualStudio component
* Added `BUILD_TYPE` parameter to `Jenkinsfile`s for different platform builds

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-04-28 18:19:17 +02:00
Michael Bradley, Jr 02b26f3c28 build: launch nim_status_client directly in packaged builds for macOS
Remove the `nim_status_client.sh` launcher script and make related changes.
2021-04-28 07:15:44 -05:00
Michael Bradley, Jr 37c51cc25f build: use same container as Jenkins CI for local packaged builds on Linux
Make the docker-related logic for doing a local packaged build on Linux match
with the Jenkins CI build for Linux.

Also fix the problems with packaged builds for Linux (local or CI) where
gstreamer errors were displayed in the terminal shortly after app start/login
and there was no sound output.
2021-04-27 13:49:46 -05:00