* feat_: aggregate filter subscriptions to do bulk subs with peer
* chore_: take possible deadlock fix in go-waku
* fix_: don't resubscribe filters unless there is a change in shard for community (#5467)
* 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
* 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>
* 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
* 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
- Logs the requestID in the response
- Log cursor details
- Refactor_: reduce number of parameters for query and fix tests
- Fix_: rename `DefaultShard` to `DefaultNonProtectedShard`
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.
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.
* 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
- 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
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