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
Igor Sirotin
1f0fc2935c
fix: clear waku envelopes cache when deleting a chat ( #4621 )
...
* chore: extract `ErrPermissionToJoinNotSatisfied`
* chore: disable resending messages in communities tests
* chore: move newTestMessenger extraOptions to testMessengerConfig
* chore: `WithTestStoreNode` messenger option
* feat: waku `ClearEnvelopesCache` method
* fix: call `ClearEnvelopesCache` when deleting chat
* chore: `TestBecomeMemberPermissions` checks messages after rejoin
2024-01-30 13:43:34 +00:00
frank
69948a7024
fix: endless logout ( #4563 )
2024-01-30 19:45:08 +08:00
frank
9050ed7aaf
fix: waku udp port conflict ( #4610 )
2024-01-24 09:09:43 +08:00
Andrea Maria Piana
e65760ca85
Add basic peersyncing
...
This commit adds basic syncing capabilities with peers if they are both
online.
It updates the work done on MVDS, but I decided to create the code in
status-go instead, since it's very tight to the application (similarly
the code that was the inspiration for mvds, bramble, is all tight
together at the database level).
I reused parts of the protobufs.
The flow is:
1) An OFFER message is sent periodically with a bunch of message-ids and
group-ids.
2) Anyone can REQUEST some of those messages if not present in their
database.
3) The peer will then send over those messages.
It's disabled by default, but I am planning to add a way to set up the
flags.
2024-01-23 12:46:17 +00:00
Siddarth Kumar
926f6a3c72
Revert "test: bump go-libp2p"
...
This reverts commit d0ca4447c6
.
2024-01-18 20:29:33 +00:00
Richard Ramos
d0ca4447c6
test: bump go-libp2p
2024-01-18 14:28:06 +00:00
Igor Sirotin
a5acffc001
fix: TestFetchRealCommunity with shards fleet ( #4553 )
...
* fix: TestFetchRealCommunity with shards fleet
* fix: DefaultShardPubsubTopic
* chore: print waku query request id
2024-01-16 13:38:41 +03:00
richΛrd
1ac99c2dcb
chore: bump go-waku ( #4505 )
2024-01-05 16:43:05 -04:00
Igor Sirotin
195982c950
fix_(StoreNodeRequestManager): various fixes and improvements ( #4509 )
2023-12-27 13:53:19 +00:00
richΛrd
b6f2aced08
chore: add dns discovery URL to the list of default nodes and add extra logging for store queries ( #4490 )
...
* chore: add dns discovery url to list of default discv5 nodes
* chore: add logs for store queries
2023-12-20 10:04:00 -04:00
Igor Sirotin
92f0479a0c
chore: fetch contact with `StoreNodeRequestManager` ( #4484 )
2023-12-20 12:49:12 +00:00
richΛrd
e5ce11f067
fix: panic in broadcast when logout ( #4475 )
2023-12-19 11:42:50 -04:00
Igor Sirotin
e3ef8c649a
chore: store node requests manager ( #4446 )
2023-12-15 19:50:12 +00:00
richΛrd
93aeefcb89
refactor(waku2): publish messages on a goroutine ( #4466 )
2023-12-15 08:02:04 -04:00
kaichao
9be202be50
chore: fix peer exchange and unit testing ( #4381 )
...
* chore: peer exchange local test
* chore: use local enr resolver
* remove light client close peer.
* fix: peer exchange not start when enabled
* chore: remove ws config
* uncomment light client
* use resolver option
* chore: use option param for dns resolver
* chore: fix vendor changes.
* chore: lint
2023-12-07 08:28:08 +08:00
kaichao
e28eca1c54
Bump waku version ( #4407 )
...
* chore: make vendor
* chore: fix data types
* Update wakuv2/common/message.go
Co-authored-by: richΛrd <info@richardramos.me>
* Update wakuv2/common/message.go
Co-authored-by: richΛrd <info@richardramos.me>
* Update wakuv2/persistence/dbstore.go
Co-authored-by: richΛrd <info@richardramos.me>
* chore: use safe method to get timestamp.
* chore: use proto.Uint64 to convert reference
* chore: manual fix lint issue when import dependency
---------
Co-authored-by: richΛrd <info@richardramos.me>
2023-12-05 12:29:27 +08:00
Vitaly Vlasov
384543d3a6
Re-send messages with ResendAutomatically=true
2023-11-30 10:46:38 +02:00
Igor Sirotin
e32c5546e1
test: request community from storenode ( #4364 )
...
* feat: request community info from storenode test
* shutdownWaitGroup
* fix requestCommunityInfoFromMailserver timestamp roundin
2023-11-25 23:24:20 +00:00
Pablo Lopez
e9c9bbb7b1
Adding store wakuv2 test ( #4340 )
...
* chore: wip tests
* chore: wakuv2 store test
* chore: cleanup
* chore: cleanup
* chore: avoid using sleep in test
* cleanup
2023-11-24 10:13:26 +00:00
Prem Chaitanya Prathi
f622265679
chore: fix linter error
2023-11-23 11:16:50 -04:00
Prem Chaitanya Prathi
9510ad0f5d
fix: specify clusterid as 16 when using sharding fleet so that metadata proto negotiation doesn't fail
2023-11-23 11:16:50 -04:00
Richard Ramos
40c9ba82a5
fix(wakuv2): store query pubsubTopic
2023-11-22 14:02:50 -04:00
Vitaly Vlasov
1794b93c16
Always set PubsubTopic in filters
2023-11-18 02:26:34 +02:00
Richard Ramos
d2578bf0cb
fix: reset context on stop
2023-11-17 13:37:41 -04:00
Richard Ramos
573a97791e
fix: start idService and add wg.Done to fnApply
2023-11-17 13:37:41 -04:00
Richard Ramos
89385cfcaf
fix(waku2): use a cancelable context for initial bootnode discovery
2023-11-17 13:37:41 -04:00
Pablo Lopez
f1d31d6339
add message hash to login ( #4315 )
2023-11-15 16:33:23 +02:00
richΛrd
de12ca885c
fix(wakuv2): don't wait for connections to login ( #4293 )
...
- Identify will not block logout
- Use `peer.AddrInfo` instead of multiaddresses
- Modifies some logs to reduce noise
2023-11-10 11:31:59 -04:00
richΛrd
2c954d42cf
feat: replace DefaultPubsubTopic by Shard 32 ( #4161 )
2023-11-09 20:29:15 -04:00
Michal Iskierko
02e4cc6e1f
feat: Send envelopes to telemetry service
...
Issue #12430
2023-11-08 11:34:10 +01:00
Igor Sirotin
9f69c32593
fix(wakuv2): post envelopes previously cached but not processed ( #4246 )
2023-11-02 14:16:59 +00:00
richΛrd
ba5ed725ce
waku2: static shards ( #3944 )
...
- use protected topics for communities
- associate chats to pubsub topics and populate these depending if the chat belongs to a community or not
- mailserver functions should be aware of pubsub topics
- generate private key for pubsub topic protection when creating a community
- add shard cluster and index to communities
- setup shards for existing communities
- distribute pubsubtopic password
- fix: do not send the requests to join and cancel in the protected topic
- fix: undefined shard values for backward compatibility
- refactor: use shard message in protobuffers
2023-10-12 15:21:49 -04:00
Vitaliy Vlasov
356b2f5ca3
Refactor filter health checks; add debugging logs
2023-10-04 00:39:33 +03:00
Richard Ramos
7d03ae8272
feat: enable filter full node via node config
2023-09-28 21:31:20 -04:00
Andrea Maria Piana
6f4f57b7a8
Handle nil error on request to join
2023-08-29 13:04:00 +01:00
Prem Chaitanya Prathi
b3a93fff12
chore: bumped go-waku to recent commit which contains changes for improved peer management
2023-08-29 13:02:19 +01:00
Richard Ramos
d62a5736a5
fix: return default pubsub topic, and add more logs
2023-08-25 13:34:34 -04:00
Richard Ramos
f9ec588c4e
feat: use protected topics for communities
...
refactor: associate chats to pubsub topics and populate these depending if the chat belongs to a community or not
refactor: add pubsub topic to mailserver batches
chore: ensure default relay messages continue working as they should
refactor: mailserver functions should be aware of pubsub topics
fix: use []byte for communityIDs
2023-08-23 13:56:00 -04:00
Richard Ramos
b9b86712e7
refactor: use context instead of quit channel in wakuv2/waku.go
2023-08-15 10:15:45 -04:00
Andrea Maria Piana
df2a5d8e21
Update go waku & Shorten shutdown
2023-07-17 14:44:32 +01:00
Andrea Maria Piana
c3ae0e98fe
Enable lightclient
2023-07-07 14:49:40 +01:00
Andrea Maria Piana
e08aad7d73
Send account/settings on login
2023-07-06 17:35:32 +01:00
Richard Ramos
28229faec0
chore: bump libp2p related dependencies
2023-06-30 14:23:08 -04:00
Igor Sirotin
4a50e17d57
chore(waku2): revert disable light client on status.prod ( #3606 )
2023-06-15 19:44:29 +03:00
Vitaliy Vlasov
860abca690
Perform initial filter subscribe asynchronously ( #3608 )
...
Also properly unsubscribe from filter
2023-06-15 17:42:54 +03:00
Vitaliy Vlasov
4006cb78b3
Update to FilterV2 ( #3392 )
...
* Update to FilterV2
* Use a separate goroutine for each filter subscription
* Add multiple filter sub test
* Fix test (add Stop() call)
2023-06-07 12:02:19 +03:00
Richard Ramos
3e4fe1e12f
refactor: move circuit relay code to go-waku
2023-05-30 10:49:52 -04:00
Richard Ramos
32ac1c8d8e
fix: peer exchange service is not required for clients
2023-05-17 18:23:27 +01:00
Andrea Maria Piana
efb1036429
update go-waku v0.6.0
2023-05-17 18:23:27 +01:00
Richard Ramos
acad6e4958
chore: bump go-waku
2023-05-09 17:26:29 -04:00
Richard Ramos
a596bcb11d
fix: open/close of channels
2023-04-19 09:11:28 -04:00
Richard Ramos
63d9a9b3d5
fix: start go-waku on Start() instead of New()
2023-04-19 09:11:28 -04:00
Andrea Maria Piana
7c2b5a39b3
Use correct timesource in waku-2
2023-03-31 13:43:19 +01:00
Richard Ramos
cbb016ac00
feat: update go-waku to introduce meta field and deterministic hashing
2023-03-13 21:03:34 -04:00
Richard Ramos
4fd4bea837
fix: use debug level for content topic extraction error
2023-02-24 14:30:34 -04:00
Richard Ramos
2f49117061
fix: only use discv5 functions if enabled
2023-02-24 14:30:34 -04:00
RichΛrd
0babdad17b
chore: upgrade go-waku to v0.5 ( #3213 )
...
* chore: upgrade go-waku to v0.5
* chore: add println and logs to check what's being stored in the enr, and preemptively delete the multiaddr field (#3219 )
* feat: add wakuv2 test (#3218 )
2023-02-22 17:58:17 -04:00
RichΛrd
e998270856
fix: use uuid instead of peerID for reporting bandwidth ( #3200 )
2023-02-17 09:15:28 -04:00
Andrea Maria Piana
dea21f440a
Linting and some fixes on contact requests handling
2023-02-08 17:48:09 +00:00
Andrea Maria Piana
7d72281815
check for nil envelopes
2023-02-08 17:48:09 +00:00
Richard Ramos
dc4c1a61b1
fix: reset bandwidth stats totals every day, and send message size
2023-02-01 16:43:57 -04:00
Richard Ramos
ab2ff4eeb1
feat: protocol stats
2023-02-01 16:43:57 -04:00
Richard Ramos
cccea5f14b
chore(waku2): bump go-waku to notice disconnection from peers faster
2023-01-27 14:17:43 -04:00
Richard Ramos
3553761cb5
fix: use parent ctx (of 30s instead of 20s) and log requestID in case of failures
2023-01-26 14:13:01 -04:00
Richard Ramos
ecbd3a70e9
fix: no messages from storenode
2023-01-19 10:11:44 +01:00
Roman Volosovskyi
657933ec3d
some logs
2023-01-18 11:43:07 -04:00
Richard Ramos
7de1753549
waku2 - restart discv5 when peers are low and use newer go-waku code to deal with discovery
2023-01-18 11:43:07 -04:00
frank
5a4ca88631
use random udp port rather than fixed value 9000 ( #3093 )
2023-01-17 12:03:19 +08:00
Richard Ramos
ebacdfc760
fix: decode peerID string into peer.ID
2023-01-16 22:49:52 -04:00
Andrea Maria Piana
ed9ca8392c
Upgrade linter to 1.50.0
2023-01-13 17:52:03 +00:00
Richard Ramos
09723e3b9a
fix: set nameserver via config
2023-01-11 08:37:31 -04:00
Richard Ramos
0527009f6c
chore: update gowaku
2023-01-10 09:02:37 -04:00
Richard Ramos
9e80f22de6
fix: temporarily setting RateLimitProof to nil so it matches the WakuMessage protobuffer we are sending
...
See https://github.com/vacp2p/rfc/issues/563
2023-01-10 08:04:46 -04:00
Jonathan Rainville
76dce0c8a6
chore: improve the filters did not match log
2023-01-05 13:30:46 -05:00
Andrea Maria Piana
8593866862
Restart discovery when it fails
...
When discovery fails to be seeded with bootstrap/fallback nodes, it
never recovers.
This commit changes the behavior so that status-go retries fetching
bootnodes, and restarts discovery when that happens.
2022-12-14 20:54:48 +00:00
Andrea Maria Piana
f98e65258a
Set dns resolver to cloudflare
2022-12-14 20:54:48 +00:00
Richard Ramos
38a4bbf235
chore: bump go-waku
2022-12-14 20:54:48 +00:00
Richard Ramos
c7ce9adb5e
debug: add more logs to determine why community requests are missing
2022-12-13 10:25:24 -04:00
Richard Ramos
f25ac111db
chore: remove unneeded success signal
2022-12-07 12:15:23 -04:00
Andrea Maria Piana
d63d2ca754
Use NTP sync source when available
2022-12-07 07:49:14 +00:00
Richard Ramos
195c149f47
feat(waku2): peer exchange
2022-12-06 10:23:05 -04:00