Commit Graph

3012 Commits

Author SHA1 Message Date
Danish Arora 86c704ba68
chore: readability improvements 2024-10-09 15:28:55 +05:30
Danish Arora 919aeac81f
feat: store peer usage for protocols in metadata 2024-10-09 15:25:12 +05:30
Danish Arora b7bdb60dba
chore: remove .only 2024-10-09 12:27:47 +05:30
Danish Arora e84eb620f7
chore: update protocol health for lightpush 2024-10-09 12:10:39 +05:30
Danish Arora 829d1834c1
chore: update playright 2024-10-09 12:05:21 +05:30
Danish Arora 535a20f86d
chore: fix lock 2024-10-09 12:01:12 +05:30
Danish Arora 43fa32b43a
feat: Filter reacts to peer:disconnect event, add tests 2024-10-09 11:50:17 +05:30
Danish Arora ed138cc3c9
chore: update lockfile 2024-10-09 11:49:53 +05:30
Danish Arora b9bfaa27c3
chore: improve hasPeers() 2024-10-09 11:49:42 +05:30
Danish Arora 874d835117
feat(peer-manager): unit tests 2024-10-09 11:49:42 +05:30
Danish Arora d0714d9de4
chore: update interafce 2024-10-09 11:48:52 +05:30
Danish Arora 017e90184f
chore: remove additional arg 2024-10-09 11:48:52 +05:30
Danish Arora 92b506dd86
chore: update playright 2024-10-09 11:48:52 +05:30
Danish Arora b0d53bc730
chore: fix rebase 2024-10-09 11:48:42 +05:30
Danish Arora 8e88fadbb7
chore: minor improvements 2024-10-09 11:48:42 +05:30
Danish Arora 7b7d691fc3
chore: add TODO 2024-10-09 11:48:42 +05:30
Danish Arora 3eef8be43b
chore: await for sequential operations 2024-10-09 11:48:42 +05:30
Danish Arora 4d7b997d4c
chore: renewal doesnt disconnect, only removes 2024-10-09 11:48:41 +05:30
Danish Arora 3647ec97ed
chore: improve logs & add debug 2024-10-09 11:48:41 +05:30
Danish Arora aec9451486
chore: add modularity to getting connected peers 2024-10-09 11:48:41 +05:30
Danish Arora be7a0b05ec
fix: hasPeers management 2024-10-09 11:48:41 +05:30
Danish Arora 2e7954019f
rm: only 2024-10-09 11:48:40 +05:30
Danish Arora d1d9198ea7
chore: update tests 2024-10-09 11:48:40 +05:30
Danish Arora 1df0556e19
chore: update HealthManager updates 2024-10-09 11:48:40 +05:30
Danish Arora 8cb3c352ad
chore: rm tests for remove internal util 2024-10-09 11:48:40 +05:30
Danish Arora 82baa26841
feat: peer manager 2024-10-09 11:47:49 +05:30
Danish Arora 558fb6ae2e
chore: some mutex lock-release improvements 2024-10-09 11:47:49 +05:30
Danish Arora 557ee96b52
fix: build 2024-10-09 11:47:39 +05:30
Danish Arora 3384b875a9
feat: add mutex locks to tackle race conditions over shared state 2024-10-09 11:47:39 +05:30
Danish Arora ac1a0304f3
chore: peer mgmt responds to conenction/disconnection and improve logging 2024-10-09 11:47:03 +05:30
Danish Arora 128041b539
chore: track peers in a hashmap instead of array 2024-10-09 11:47:03 +05:30
Danish Arora 6117593d72
chore: trimming down BaseProtocolCore 2024-10-09 11:47:03 +05:30
Danish Arora 692081e2be
chore: update logging 2024-10-09 11:47:02 +05:30
Danish Arora 4554eeab91
chore: add logs for subscription maintenance 2024-10-09 11:47:02 +05:30
Danish Arora 8caa220e8f
chore: improvements 2024-10-09 11:47:02 +05:30
Sasha 75fcca4cd9
feat: replace `waitForRemotePeers()` with `waku.waitForPeer()` method (#2161)
* fix comment of default number of peers

* export default number of peers from base protocol sdk

* rename to light_push, move class to separate file

* move waitForRemotePeer to sdk package

* add todo to move waitForGossipSubPeerInMesh into @waku/relay

* clean up waitForRemotePeer, split metadata await from event and optimise, decouple from protocol implementations

* simplify and rename ILightPush interface

* use only connected peers in light push based on connections instead of peer renewal mechanism

* improve readability of result processing in light push

* fix check & update tests

* address tests, add new test cases, fix racing condition in StreamManager

* use libp2p.getPeers

* feat: confirm metadata and protocols needed in waitForRemotePeer

* rely on passed protocols and fallback to mounted

* add I prefix to Waku interface

* implement waku.connect method

* add docs to IWaku interface

* remove export and usage of waitForRemotePeer

* move wait for remote peer related to Realy out of @waku/sdk

* change tests to use new API

* fix linting

* update size limit

* rename .connect to .waitForPeer

* export waitForRemotePeer and mark as deprecated

* feat: add mocha tests to @waku/sdk and cover waitForRemotePeer (#2163)

* feat: add mocha tests to @waku/sdk and cover waitForRemotePeer

* add waitForRemote UTs

* remove junk

* feat: expose peerId and protocols from WakuNode (#2166)

* chore: expose peerId and protocols from WakuNode

* remove unused method

* move to private method

* rename to waitForPeers

* up test
2024-10-09 00:43:34 +02:00
Sasha d37e0245cf
feat: confirm metadata and protocols needed in waitForRemotePeer (#2160)
* fix comment of default number of peers

* export default number of peers from base protocol sdk

* rename to light_push, move class to separate file

* move waitForRemotePeer to sdk package

* add todo to move waitForGossipSubPeerInMesh into @waku/relay

* clean up waitForRemotePeer, split metadata await from event and optimise, decouple from protocol implementations

* simplify and rename ILightPush interface

* use only connected peers in light push based on connections instead of peer renewal mechanism

* improve readability of result processing in light push

* fix check & update tests

* address tests, add new test cases, fix racing condition in StreamManager

* use libp2p.getPeers

* feat: confirm metadata and protocols needed in waitForRemotePeer

* rely on passed protocols and fallback to mounted

* imrpove iteration for existing connections

* address protocol adverisement in CI

* add protocols needed

* add missing protocols

* make lightpush and filter default for tests

* up
2024-10-05 01:49:54 +02:00
Sasha 2be0e81a0a
chore: rename IProtocolSDK interfaces to IProtocol naming convention (#2159)
* chore: rename IProtocolSDK interfaces to IProtocol
2024-10-04 13:53:54 +02:00
Sasha 1d68526e72
feat(lightPush): improve peer usage and improve readability (#2155)
* fix comment of default number of peers

* export default number of peers from base protocol sdk

* rename to light_push, move class to separate file

* move waitForRemotePeer to sdk package

* add todo to move waitForGossipSubPeerInMesh into @waku/relay

* clean up waitForRemotePeer, split metadata await from event and optimise, decouple from protocol implementations

* simplify and rename ILightPush interface

* use only connected peers in light push based on connections instead of peer renewal mechanism

* improve readability of result processing in light push

* fix check & update tests

* address tests, add new test cases, fix racing condition in StreamManager

* use libp2p.getPeers
2024-10-04 10:50:58 +02:00
Sasha b93134a517
fix: peer renewal connection drop & stream management (#2145)
* fix: peer renewal connection drop

* fix stream manager

* fix over iteration during stream creation

* remove timeout and use only open peers

* add logs

* refactor code, add tests

* debug test

* up debug

* remove debug, supress check for timestamps

* remove only

* add more debug

* remove debug

* remove check for timestamps
2024-10-01 12:54:55 +02:00
chair 3e821591c9
Merge pull request #2142 from waku-org/chair28980-update-codeowners-20240917
chore: Update CODEOWNERS to reference correct team
2024-09-17 23:42:08 -07:00
chair 1ed9ca5b33
Update CODEOWNERS to reference correct team 2024-09-17 21:57:54 -07:00
Danish Arora 7a6247cb70
feat(lightpush): introduce ReliabilityMonitor and allow `send` retries (#2130)
* chore: restructure reliabiltiy monitors

* feat: setup sender monitor

* chore: update tests

* chore: minor fixes

* chore: comment for doc
2024-09-17 11:34:59 +05:30
Danish Arora 7ad1d321ca
feat(filter): reliability monitor as a separate class to handle reliability logic (#2117)
* chore: move SubscriptionManager to a separate file

* feat: introduce ReliabilityMonitor

* fix: peer data updates

* fix: logical error when returning includesMessage

* chore: handle edge case

* chore: move ping failures handling inside monitor

* chore: move renewal logic to monitor

* chore: improve structuring

* chore: update logger

* chore: readd connectionListener() logic from merge

* chore: minor fixes

* chore: improve

* chore: setup destruction of ReliabilityMonitors

* fix: condition for ping failure

* fix: setters

* chore: handle race condition & fix test
2024-09-13 14:57:29 +05:30
Danish Arora 9d9a696024
chore: mandate `.js` extensions for imports (#2128)
* feat: add eslint rule

* chore: update codebase import extensions
2024-09-13 14:18:29 +05:30
Sasha a2c5dba32d
chore: release master (#2122) 2024-09-06 01:42:16 +02:00
Sasha 0263cb80c5
fix: improve node bootstrapping (#2121)
* fix: improve node bootstrapping

* implement dns discovery on failed dials

* update const to match RFC

* up
2024-09-06 01:10:54 +02:00
Sasha f4b6bb04b3
fix: temporarily remove peer cross dependencies (#2123)
* chore: temporarily remove peer cross dependencies

* up lock

* add missing dep
2024-09-06 00:44:59 +02:00
Sasha 5d3cc5fd45
fix: filter missing messages (#2119)
* bug: fix filter missing messages

* fix keep alive

* fix const
2024-09-03 00:59:21 +02:00
Sasha 5cfe9327b6
chore: remove relay from sdk package (#2040)
* remove full node

* remove relay from sdk

* comment node counter check

* try using logline

* up comment
2024-08-31 15:18:51 +02:00