Commit Graph

317 Commits

Author SHA1 Message Date
shashankshampi 14dcd29eee test_: Code Migration from status-cli-tests
author shashankshampi <shashank.sanket1995@gmail.com> 1729780155 +0530
committer shashankshampi <shashank.sanket1995@gmail.com> 1730274350 +0530

test: Code Migration from status-cli-tests
fix_: functional tests (#5979)

* fix_: generate on test-functional

* chore(test)_: fix functional test assertion

---------

Co-authored-by: Siddarth Kumar <siddarthkay@gmail.com>

feat(accounts)_: cherry-pick Persist acceptance of Terms of Use & Privacy policy (#5766) (#5977)

* feat(accounts)_: Persist acceptance of Terms of Use & Privacy policy (#5766)

The original GH issue https://github.com/status-im/status-mobile/issues/21113
came from a request from the Legal team. We must show to Status v1 users the new
terms (Terms of Use & Privacy Policy) right after they upgrade to Status v2
from the stores.

The solution we use is to create a flag in the accounts table, named
hasAcceptedTerms. The flag will be set to true on the first account ever
created in v2 and we provide a native call in mobile/status.go#AcceptTerms,
which allows the client to persist the user's choice in case they are upgrading
(from v1 -> v2, or from a v2 older than this PR).

This solution is not the best because we should store the setting in a separate
table, not in the accounts table.

Related Mobile PR https://github.com/status-im/status-mobile/pull/21124

* fix(test)_: Compare addresses using uppercased strings

---------

Co-authored-by: Icaro Motta <icaro.ldm@gmail.com>

test_: restore account (#5960)

feat_: `LogOnPanic` linter (#5969)

* feat_: LogOnPanic linter

* fix_: add missing defer LogOnPanic

* chore_: make vendor

* fix_: tests, address pr comments

* fix_: address pr comments

fix(ci)_: remove workspace and tmp dir

This ensures we do not encounter weird errors like:
```
+ ln -s /home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907 /home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907@tmp/go/src/github.com/status-im/status-go
ln: failed to create symbolic link '/home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907@tmp/go/src/github.com/status-im/status-go': File exists
script returned exit code 1
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>

chore_: enable windows and macos CI build (#5840)

- Added support for Windows and macOS in CI pipelines
- Added missing dependencies for Windows and x86-64-darwin
- Resolved macOS SDK version compatibility for darwin-x86_64

The `mkShell` override was necessary to ensure compatibility with the newer
macOS SDK (version 11.0) for x86_64. The default SDK (10.12) was causing build failures
because of the missing libs and frameworks. OverrideSDK creates a mapping from
the default SDK in all package categories to the requested SDK (11.0).

fix(contacts)_: fix trust status not being saved to cache when changed (#5965)

Fixes https://github.com/status-im/status-desktop/issues/16392

cleanup

added logger and cleanup

review comments changes

fix_: functional tests (#5979)

* fix_: generate on test-functional

* chore(test)_: fix functional test assertion

---------

Co-authored-by: Siddarth Kumar <siddarthkay@gmail.com>

feat(accounts)_: cherry-pick Persist acceptance of Terms of Use & Privacy policy (#5766) (#5977)

* feat(accounts)_: Persist acceptance of Terms of Use & Privacy policy (#5766)

The original GH issue https://github.com/status-im/status-mobile/issues/21113
came from a request from the Legal team. We must show to Status v1 users the new
terms (Terms of Use & Privacy Policy) right after they upgrade to Status v2
from the stores.

The solution we use is to create a flag in the accounts table, named
hasAcceptedTerms. The flag will be set to true on the first account ever
created in v2 and we provide a native call in mobile/status.go#AcceptTerms,
which allows the client to persist the user's choice in case they are upgrading
(from v1 -> v2, or from a v2 older than this PR).

This solution is not the best because we should store the setting in a separate
table, not in the accounts table.

Related Mobile PR https://github.com/status-im/status-mobile/pull/21124

* fix(test)_: Compare addresses using uppercased strings

---------

Co-authored-by: Icaro Motta <icaro.ldm@gmail.com>

test_: restore account (#5960)

feat_: `LogOnPanic` linter (#5969)

* feat_: LogOnPanic linter

* fix_: add missing defer LogOnPanic

* chore_: make vendor

* fix_: tests, address pr comments

* fix_: address pr comments

chore_: enable windows and macos CI build (#5840)

- Added support for Windows and macOS in CI pipelines
- Added missing dependencies for Windows and x86-64-darwin
- Resolved macOS SDK version compatibility for darwin-x86_64

The `mkShell` override was necessary to ensure compatibility with the newer
macOS SDK (version 11.0) for x86_64. The default SDK (10.12) was causing build failures
because of the missing libs and frameworks. OverrideSDK creates a mapping from
the default SDK in all package categories to the requested SDK (11.0).

fix(contacts)_: fix trust status not being saved to cache when changed (#5965)

Fixes https://github.com/status-im/status-desktop/issues/16392

test_: remove port bind

chore(wallet)_: move route execution code to separate module

chore_: replace geth logger with zap logger (#5962)

closes: #6002

feat(telemetry)_: add metrics for message reliability (#5899)

* feat(telemetry)_: track message reliability

Add metrics for dial errors, missed messages,
missed relevant messages, and confirmed delivery.

* fix_: handle error from json marshal

chore_: use zap logger as request logger

iterates: status-im/status-desktop#16536

test_: unique project per run

test_: use docker compose v2, more concrete project name

fix(codecov)_: ignore folders without tests

Otherwise Codecov reports incorrect numbers when making changes.
https://docs.codecov.com/docs/ignoring-paths

Signed-off-by: Jakub Sokołowski <jakub@status.im>

test_: verify schema of signals during init; fix schema verification warnings (#5947)

fix_: update defaultGorushURL (#6011)

fix(tests)_: use non-standard port to avoid conflicts

We have observed `nimbus-eth2` build failures reporting this port:
```json
{
  "lvl": "NTC",
  "ts": "2024-10-28 13:51:32.308+00:00",
  "msg": "REST HTTP server could not be started",
  "topics": "beacnde",
  "address": "127.0.0.1:5432",
  "reason": "(98) Address already in use"
}
```
https://ci.status.im/job/nimbus-eth2/job/platforms/job/linux/job/x86_64/job/main/job/PR-6683/3/

Signed-off-by: Jakub Sokołowski <jakub@status.im>

fix_: create request logger ad-hoc in tests

Fixes `TestCall` failing when run concurrently.

chore_: configure codecov (#6005)

* chore_: configure codecov

* fix_: after_n_builds
2024-10-30 14:49:26 +05:30
Sale Djenic 3179532b64 chore_: completely remove goerli from the code 2024-10-21 17:30:51 +02:00
Igor Sirotin 9fcb153f32
docs_: better usage docs for status-backend (#5955) 2024-10-18 21:59:09 +03:00
Andrey Bocharnikov 86cd41d04e
chore(wallet)_: remove unused upstream client (#5934)
* chore(wallet)_: remove unused upstream client

fixes #5933
2024-10-11 21:01:14 +04:00
Pablo Lopez 0f151a0fbf
chore_: check mvds for tests (#5928) 2024-10-09 09:23:15 +03:00
Dario Gabriel Lipicar ccc3e62ce6 fix(statusd)_: proper db initialization for imported accounts 2024-10-07 14:31:34 +02:00
Igor Sirotin 0791112404
fix_: delete endpoints file (#5922) 2024-10-07 13:07:33 +01:00
Igor Sirotin 5fc8a974d9
chore_: move rename server (#5906)
* chore_: move and rename server files

* fix_: linter
2024-10-04 14:24:36 +01:00
Igor Sirotin c1dd9397f7
refactor_: remove generated files from source control (#5878)
* fix_: gitignore generated files

* chore_: delete generated files

* fix_: update go generate instructions

* feat(Makefile)_: clean-generated-files target

* feat(Makefile)_: `generate` target

* fix(Makefile)_: dependent generate target

* ci_: run generate, update docker file deps

* fix(Makefile)_: remove `clean-generated-files` target

* fix(Makefile)_: simpler GO_GENERATE_CMD arg

* fix_: temp workspace GO_GENERATE_FAST_DIR
2024-10-03 20:59:44 +01:00
Igor Sirotin 5c41e8211a
feat_: status-backend standard requests (#5868)
* feat_: added some standard requests

* fix_: address pr comments
2024-10-02 12:28:23 +01:00
Igor Sirotin 031b5342f1
chore_: move/rename files messing generation (#5897)
* refactor_: rename migrations file

* refactor_: move generate_handlers to cmd

* fix_: makefile generate_handlers path
2024-09-30 19:19:36 +01:00
Igor Sirotin fc36a7e980
feat(cmd)_: `status-backend` (#5847)
* feat_: server supports for mobile api

fix(statusd)_: manually serve

* feat_: generate endpoints list from status/mobile.go

* chore_: mark public endpoint OpenAccounts as deprecated

* chore_: added status-backend makefile targets

* feat_: expose deprecated endpoints, with special header field

* docs(status-backend)_: added README
2024-09-27 16:02:18 +01:00
Igor Sirotin 596d75ab79
fix_: flaky TestSignalsServer (#5838) 2024-09-16 13:38:50 +01:00
Igor Sirotin 9038c66819
feat(statusd)_: websocket endpoint for getting events (#5806)
* feat(statusd)_: websocket endpoint for getting events

* fix_: remove signals naming

* fix_: lint
2024-09-12 14:35:25 +01:00
richΛrd 771a0c3562
refactor: remove wakuv1 code from mailserver cycle and add ENR to list of storenodes (#5753)
* test_: remove eth.prod mailservers from cycle
* test_: disable store request for wakuv1
* chore_: add ENR and remove V1 code
* refactor_: storenode cycle and allow ENRs and multiaddresses
2024-09-05 10:25:26 -04:00
richΛrd 8cf4feec1e
refactor_: remove status-im/rendezvous (#5685) 2024-08-22 13:12:37 -04:00
richΛrd a6645bd209
chore_: remove `status.test` fleet (#5702) 2024-08-16 14:26:35 -04:00
Igor Sirotin 01288227d3
fix_: log utc timestamp (#5672)
* fix_: log zone-agnostic time

* chore_: use time.Truncate
2024-08-07 18:54:42 +01:00
Igor Sirotin eeb34f780f
chore_: remove deprecated `CreateAccount.BackupDisabledDataDir` (#5664)
* chore_: remove deprecated CreateAccount.BackupDisabledDataDir

* test_: cover ErrCreateAccountInvalidRootDataDir
2024-08-07 13:59:43 +01:00
Igor Sirotin 2f5437130e
feat_: auto set random wallet emoji when creating account (#5667)
* feat_: auto set random wallet emoji when creating account

* fix_: remove emoji on error

* fix_: lint
2024-08-07 13:34:04 +01:00
Vaclav Pavlin 780e3e55f4
feat(telemetry)_: publish peerId (#5534)
* feat(telemetry)_: publish peerId

* fix_: fix goimports lint error in waku

* fix_: trim extra slash, use the right Waku service

* fix_: update protocol/messenger.go

Co-authored-by: richΛrd <info@richardramos.me>

* fix_: panic when PeerID is called on wakuv1

* fix_: use option instead of additional param for PeerID

---------

Co-authored-by: Arseniy Klempner <arseniyk@status.im>
Co-authored-by: richΛrd <info@richardramos.me>
2024-07-31 20:27:43 -07:00
richΛrd 0e982f1a3d
chore_: rename shards.test to status.prod (#5571) 2024-07-29 17:19:48 -04:00
Prem Chaitanya Prathi 9a703162c4
refactor: only use shards (#5474)
* refactor_: use shards by default

* fix_: metadata lightclient check

* chore_: update go-waku
2024-07-15 20:55:12 +05:30
richΛrd 6ace9f9be0
chore_: rename shards.staging to status.staging (#5500) 2024-07-11 10:37:16 -04:00
Anton fa05248ad3 feat(statusd)_: start messenger in statusd when recovering from a seed phrase 2024-07-09 16:37:41 +02:00
Jakub Sokołowski 0a6b76643e fix(integration-tests)_: add missing HTTPVirtualHosts
And set it to `*` for tests to avoid RPC access issues.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-07-04 16:14:02 +02:00
Pablo Lopez 2debe06680
chore_: add fleet flag to cli (#5478) 2024-07-04 09:15:58 +03:00
Vaclav Pavlin e6bf7e7df9
fix(status-cli)_: exit on sigint, actualyl print error log on failure (#5398) 2024-06-28 13:50:02 +02:00
Arseniy Klempner 5934233266
feat_: call telemetry upon error pushing envelope (#5430)
* feat_: call telemetry upon error pushing envelope

* feat_: call telemetry upon error pushing envelope

---------

Co-authored-by: Václav Pavlín <vaclav.pavlin@gmail.com>
2024-06-28 13:24:04 +03:00
Mikhail Rogachev 1ba4b86c7e
feat_: Add WS settings to the node config (#5346)
* feat_: add ability to enable http and ws connections from the client app
* feat_: add websocket option for api config
* fix_: use new api options in statusd
* chore_: add test for `overrideApiConfig`
2024-06-26 16:33:22 +02:00
Igor Sirotin 49eaabaca5
feat: adapt create/restore/login endpoints for keycard usage (#5311)
* chore_: remove duplicated `StartNodeWithKey`

* feat(KeycardPairing)_: added GetPairings method

* chore_: simplify startNode... methods

* chore_: added encryption path to be derived

* fix_: error handling in StartNodeWithKey

* feat_: added keycard properties to CreateAccount

* feat_: moved KeycardWhisperPrivateKey to LoginAccount

* fix_: LoginAccount during local pairing

* feat_: added chat key handling to loginAccount

* chore_: struct response from generateOrImportAccount

* fix_: do not store keycard account to keystore

* feat_: added Mnemonic parameter to LoginAccount

* chore_: wrap loginAccount errors

* feat_: RestoreKeycardAccountAndLogin endpoint

* chore_: merge RestoreKeycardAccountRequest into RestoreAccountRequest

* fix_: TestRestoreKeycardAccountAndLogin

* fix_: MessengerRawMessageResendTest

* chore_: cleanup

* chore_: cleanup according to pr comments

* chore_: better doc for Login.Mnemonic

* chore_: add/fix comments

* fix_: lint
2024-06-26 13:14:27 +02:00
Pablo Lopez 39dffd8b70
fix_: logging cli join group, small logging issue missing id, init online state to current state (#5407) 2024-06-24 10:16:05 +03:00
Igor Sirotin d2f4cae18f
fix: merge coverage reports from each test rerun (#5360)
* fix_: fix test coverage when rerunning tests

* fix_: make lint-fix

* chore_: change test coverage report artifact name

* chore_: added codeclimate.json to artifacts

* chore_: bring in gocovmerge util

---------

Co-authored-by: Siddarth Kumar <siddarthkay@gmail.com>
2024-06-19 11:40:52 +01:00
Pablo Lopez 2c349b629d
fix(cli)_: fixed unmarshaling error and improved logging (#5351)
* fix(cli)_: fixed unmarshaling error and improved logging

* fix_: telemetry logger

* fix_: unused var

* fix_: build

* fix_: build
2024-06-14 16:13:31 +03:00
Andrea Maria Piana 1844ab7c83
feat(spiff-workflow)_: disable store nodes for spiffy workfluffy 2024-06-14 10:07:16 +02:00
Arseniy Klempner 1bbb2537b4
feat_: batch all telemetry data and send request every 10 seconds (#5251)
* fix_: add status telemetry client to cli

* feat_: call telemetry when pushing an envelope

* feat_: log status version in all telemetry calls

* feat_: batch all telemetry data and send request every 10 seconds
2024-06-13 15:31:09 -07:00
Pablo Lopez ea5c444dbe
feat(cli)_: add a command 'server-account' to be able to re-run existing accounts (#5329)
* feat(cli)_: add a command 'servelast' to be able to run the latest account.

Reason: because on testing community join req/response we only want to create a community by a cli and remain the owner over multiple runs

* fix_: allow restarting cli with the same account

* docs_: add use cases to readme

* docs(cli)_: typos

* fix(cli)_: typo

* docs(cli)_: add clarifications
2024-06-12 11:00:51 +03:00
Icaro Motta dbed69d155
perf(login)!: Set-up messenger filters outside login flow (#5229)
Fixes the slow login in mobile devices when users have joined large communities,
such as the Status one. A user would get stuck for almost 20s in some devices.

We identified that the step to set-up filters in the messenger is potentially
expensive and that it is not critical to happen before the node.login signal is
emitted. The solution presented in this PR is to set-up filters inside
messenger.Start(), which the client already calls immediately after login.

With this change, users of the mobile app can login pretty fast even when they
joined large communities. They can immediately interact with other parts of the
app even if filter initialization is running in the background, like Wallet,
Activity Center, Settings, and Profile.

Breaking changes: in the mobile repository, we had to change where the endpoint
wakuext_startMessenger was called and the order of a few events to process
chats. So essentially ordering, but no data changes.

- Root issue https://github.com/status-im/status-mobile/issues/20059
- Related mobile PR https://github.com/status-im/status-mobile/pull/20173
2024-06-10 12:02:42 -03:00
Pablo Lopez b434d50ec5
fix_: ability to turn on/off interactive mode in serve (#5318) 2024-06-10 13:21:09 +03:00
Pablo Lopez cd8f8aaf62
fix_: cli not logging all messages (#5317)
* fix_: cli not logging all messages

* refactor_: PR comments: refactor interactive send messages and marshal before
2024-06-10 10:10:09 +03:00
Pablo Lopez 622b6a995e
fix_: minor change to log message id (#5309) 2024-06-07 13:17:49 +03:00
Igor Sirotin a01ffdbe8e
fix: proper usage of CreateAccount RootDataDir (#5284)
* fix_: introduce CreateAccount.RootDataDir
* fix_: deprecate and remove ShhextConfig.BackupDisabledDataDir
2024-06-05 14:03:34 +01:00
Ivan Belyakov 99ead2d90c feat(wallet)_: add support to statusd to create account from seed phrase
fixed minor issues

Closes #5175
2024-06-05 13:43:53 +02:00
Arseniy Klempner ad4fb204ef
chore_: add telemetry url flag to status cli (#5201)
This commit adds a TelemetryUrl param to request for creating
account and to the WakuV2Config. Adds a flag to the cli for
passing in the telemetry server url.
2024-05-22 15:01:54 -07:00
Jakub Sokołowski 292070a854
feat(spiff-workflow)_: support metrics endpoint
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:26:53 +02:00
Jakub Sokołowski 2e0773d793
fix(spiff-workflow)_: use shards.test fleet by default
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:25:52 +02:00
Jakub Sokołowski 8c940bcfb0
fix(spiff-workflow)_: set NoDiscovery=true
To avoid errors like this:
```
NoDiscovery is false, but ClusterConfig.BootNodes is empty
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:25:51 +02:00
Jakub Sokołowski c7397e18dd
chore(all)_: remove obsolete eth.staging fleet
And leftovers of `eth.test` fleet which no longer exists.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-17 20:21:00 +02:00
Anton Iakimov 92ef58d420
chore_: drop wakuv2 fleets, use waku fleets
See https://github.com/status-im/infra-nim-waku/issues/91 for details.

Mostly done automatically. Some parts manually.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-17 18:53:40 +02:00
richΛrd bc8b6d24f0
feat_: shards.staging fleet (#5160) 2024-05-15 20:09:28 -04:00