Commit Graph

179 Commits

Author SHA1 Message Date
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
Prem Chaitanya Prathi 58a3cc1127 feat(waku)_: allow client to set store confirmations 2024-07-15 09:37:57 +01:00
Prem Chaitanya Prathi 6c0c267c3c feat_: flag to enable/disable sent message store query confirmations 2024-07-15 09:19:01 +01:00
Arseniy Klempner a006d80acf
feat(telemetry)_: send peer count metric (#5460) 2024-07-12 13:37:55 -07:00
Vaclav Pavlin 33c2f231b0
feat(waku)_: add PeerExchange rate-limit (#5507)
* feat(waku)_: add PeerExchange rate-limit

* fix_: unintentional wg.Add change
2024-07-12 15:21:21 +02:00
Vaclav Pavlin ea35803eef
feat(waku)_: add lightpush rate-limiter (#5504)
* feat(waku)_: add lightpush rate-limiter

* chore_: update go-waku
2024-07-12 12:34:56 +02:00
richΛrd 56cc5c96c5
feat_: bump go-waku to introduce new keep alive interval (#5484)
- Also renames the existing keepAliveInterval to randomPeerKeepAliveInterval, and uses time.Duration instead of int
2024-07-11 14:36:34 -04:00
Richard Ramos 80fe18bef9 feat_: `wakuext_relayPeersByTopic` 2024-07-11 12:32:31 +01:00
richΛrd c0a7a1ee9e
feat_: flag to enable/disable missing message verification (#5497) 2024-07-09 09:42:34 -04:00
richΛrd e47e867b9b
refactor_: use go-waku onlinechecker to manage connection state (#5340) 2024-06-28 09:54:48 -04: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
Prem Chaitanya Prathi bd8aa0dac7
fix: enable pxclient in relay and lightClient and some fixes (#5350)
* fix_: use cluster and shard to filter peers received via peerExchange

* chore_: enable pxClient in relay and increase relay peer connections (#5411)

* chore_: update go-waku with fixes
2024-06-28 13:56:56 +05:30
kaichao d8a49c538b
Reset MVDS epoch after peer is online (#5349)
* feat_: reset epoch for online peer

* chore_: fix

* chore_: refactor

* chore_: update mvds

* chore_: fix lint

* chore_: update mvds

* chore_: make vendor

* chore_: fix tst

* chore_: tuning store query hash parameter

* chore_: non-blocking mvds status change channel
2024-06-27 09:54:31 +08:00
richΛrd 7731f56b17
feat(waku2)_: check for missing messages (#5281) 2024-06-26 14:25:44 -04:00
richΛrd a300e12853
feat_: wakuext_enr (#5367) 2024-06-18 15:48:49 -04:00
richΛrd b18baea5cd
fix_: peer counter (#5348) 2024-06-14 12:35:05 -04:00
richΛrd eb0f907137
fix_: use node context instead of context with timeout for discv5 (#5347) 2024-06-14 12:05:17 -04:00
Vit∀ly Vlasov 68acef62d4
feat: Simplify FilterManager and move subscription management to waku (#4665)
* feat_: simplify filter management

fix_: try using shard as a default topic

fix_: filter test to work with shards.staging fleet

* fix_: handle connection status change and manage filter subscriptions better

* chore_: bump go-waku to latest and with some fixes

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

* chore_: disabling pxClient so that only fleet nodes are used for now

---------

Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>
Co-authored-by: richΛrd <info@richardramos.me>
2024-06-14 18:11:45 +05:30
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
kaichao 47899fd045
feat_: hash based query for outgoing messages. (#5217)
* feat_: hash based query for outgoing messages.

* chore_: more logs

* chore_: fix comments

* chore_: do not lock when send queries

* chore_: use constant for magic number

* chore_: remove message ids from query queue after ack

* chore_: fix ack clean process

* chore_: fix message resend test

* chore_: add test for waku confirm message sent.

* chore_: fix tests.

* chore_: fix more

* chore_: set store peer id when mailserver updates

* fix_: tests

* chore_: increase max hash query length

* chore_: remove debug log of ack message

* chore_: remove automatic peer selection

* chore_: mark raw message to sent after ack

* chore_: fix test

* chore_: fix test
2024-06-11 15:45:01 +08:00
richΛrd b1433e6bfa
chore_: improve store logging (#5298)
- Logs the requestID in the response
- Log cursor details
- Refactor_: reduce number of parameters for query and fix tests
- Fix_: rename `DefaultShard` to `DefaultNonProtectedShard`
2024-06-06 09:52:51 -04:00
Andrea Maria Piana 0061c563f2
bug_: fix resend type for private group messages (#5258)
* chore_: bump go-waku

* fix_: fix resend type for private group messages

---------

Co-authored-by: Richard Ramos <info@richardramos.me>
2024-05-30 14:18:54 +02:00
richΛrd 69514629f0
refactor(wakuv2)_: handle discv5 restarts in a single place (#5213) 2024-05-28 13:38:06 -04:00
richΛrd 0a9cff25f4
refactor_: do not use identify protocol, and actually use the nodes from the config for peer exchange (#5212) 2024-05-27 09:43:47 -04:00
richΛrd 94e5431ea3
chore: add fleet ENRs to the list of discv5 nodes (#5184)
* chore_: add fleet ENRs to the list of discv5 nodes
* fix_: handle scenario in which there are dnsDiscoveryURLs and enrs in the DiscV5Bootnode list
2024-05-26 19:16:26 -04:00
Vaclav Pavlin d31200e55b
fix(waku)_: only use requestId in store query if defined (#5211) 2024-05-23 08:26:21 -04:00
richΛrd 0937850268
chore: use custom logger for message timestamps and log query duration (#5199)
* chore_: use custom logger for message timestamps
* chore_: log store query duration
2024-05-21 13:29:29 -04:00
richΛrd 82ae41f6d5
feat(waku2)_: allow using an env variable to set the node's key (#5152) 2024-05-15 19:15:22 -04:00
richΛrd 9e0fb30f8d
chore_: bump go-waku (#5150) 2024-05-15 19:15:00 -04:00
frank 22bea87bb2 fix_: not enough peers to publish 2024-05-02 05:40:49 +08:00
frank 8c5a735438 feat_: retry sending specific messages 2024-05-02 05:40:49 +08:00
richΛrd 3de2756660
refactor_: expire envelope cache (#5061) 2024-04-17 08:19:03 -04:00
Igor Sirotin 5a54d703c7
fix: flaky test request profile info (#4895) 2024-03-08 15:50:46 +00:00
frank 7eeeb07cab fix: no peers discovered 2024-03-07 17:20:53 +08:00
frank 881da9e654 address review feedback 2024-03-07 17:20:53 +08:00
frank 3de945feaf chore: WakuV2 use config instead of settings 2024-03-07 17:20:53 +08:00
Prem Chaitanya Prathi 92685e5a7b chore: use available peers rather than connected peers, since in case of lightMode we don't connect to all boot nodes 2024-03-07 17:20:53 +08:00
Prem Chaitanya Prathi 500755110a fix: peer exchange client logic to identify and connect to peers 2024-03-07 17:20:53 +08:00
Vitaly Vlasov 81be9ea190 fix crashes on mobile 2024-03-07 17:20:53 +08:00
Prem Chaitanya Prathi 16b3e99205 chore: fix lint errors 2024-03-07 17:20:53 +08:00
Prem Chaitanya Prathi cbec0dc726 fix: disable discv5 in lightmode and enable peer-exchange in lightmode 2024-03-07 17:20:53 +08:00
Vitaly Vlasov 637ce1d5eb Only use DiscV5 for full nodes 2024-03-07 17:20:53 +08:00
Igor Sirotin 515dbdf2b3
fix: waku connection status subscription lock (#4762)
* fix: lock waku connStatus subscription for sending
* update skipped tests
2024-02-19 23:44:38 +00:00
Igor Sirotin 44c39d345e
chore: testWakuV2Config (#4704)
* chore: testWakuV2Config

* renamed to `NewTestWakuV2`
2024-02-12 12:53:15 +00:00
Igor Sirotin 8fa31df498
chore: better lib-p2p logging (#4706)
* fix: libp2p debug level follows main logger level
* chore: implement pubsub tracer
2024-02-12 12:10:29 +00:00
Andrea Maria Piana 605fe40e32 Fix encryption metadata issues #4613
This commit fixes a few issues with communities encryption:

Key distribution was disconnected from the community description, this created a case where the key would arrive after the community description and that would result in the client thinking that it was kicked.
To overcome this, we added a message that signals the user that is kicked. Also, we distribute the key with the community description so that there's no more issues with timing.
This is a bit expensive for large communities, and it will require some further optimizations.

Key distribution is now also connected to the request to join response, so there are no timing issues.

Fixes an issue with key distribution (race condition) where the community would be modified before being compared, resulting in a comparison of two identical communities, which would result in no key being distributed. This commit only partially address the issue.
2024-02-07 10:25:41 +00:00
richΛrd f31808d938
fix: full nodes should run filter and lightpush (#4655) 2024-01-31 14:45:24 -04:00
Igor Sirotin 0c2a935578
fix: fetch history when back online (#4651) 2024-01-30 18:13:18 +00:00
richΛrd 98c1ebec05
fix: handle community shard unassignment and update (#4627) 2024-01-30 13:56:59 -04:00
richΛrd e2341248b3
feat: add peer count to logs (#4648) 2024-01-30 12:42:26 -04:00