js-waku/packages/core
Danish Arora 93e78c3b87
feat(lightpush): peer management for protocols (#2003)
* chore: make `dropConnection` to be a public function

* feat: peers are maintained for protocols
- passes `ConnectionManager` to ProtocolSDK to allow disconnecting from within protocol
- maintains `numPeersToUse` for each protocol within BaseProtocolSDK

* fix: pass options to protocols

* chore: update interfaces to allow public access

* chore: improve logging on protocol

* fix: renew peer upon failure

* chore(tests): allow DefaultPubsubTopic

* feat(lightpush): write peer management tests

* chore: rename test

* feat: add lock to `maintainPeers()` to handle parallelisation of requests
fixes parallelisation of lightpush.send() requests

* fix: concurrent lightpush requests

* fix: test & improve peers fetching

* chore: use getter

* address comments

* chore: smaller improvements

* feat: attempt to improve time for first lightpush.send()

* chore: use `window.interval` for type-safety

* chore: remove delays

* feat: add autoRetry

* feat: `forceUseAllPeers` to wait for all connected peers to be resoled
2024-06-19 01:52:16 -04:00
..
src feat(lightpush): peer management for protocols (#2003) 2024-06-19 01:52:16 -04:00
.eslintrc.cjs chore: upgrade libp2p and related deps (#1482) 2023-08-16 20:18:13 +05:30
.mocha.reporters.json chore: allure test reporting (#1668) 2023-10-23 17:53:56 +03:00
.mocharc.cjs chore: allure test reporting (#1668) 2023-10-23 17:53:56 +03:00
CHANGELOG.md chore: release master (#1957) 2024-04-30 17:50:00 +02:00
README.md chore: fix Discord invite link 2023-03-20 16:06:50 +11:00
karma.conf.cjs feat: add Firefox and Webkit to karma (#1598) 2023-09-22 17:48:07 +02:00
package.json fix: failing `node_optional` check (#2025) 2024-06-18 13:43:22 -04:00
rollup.config.js chore: upgrade libp2p and related deps (#1482) 2023-08-16 20:18:13 +05:30
tsconfig.dev.json chore: merge tsconfig 2022-12-02 15:54:30 +11:00
tsconfig.json chore: merge tsconfig 2022-12-02 15:54:30 +11:00
typedoc.json chore: update typescript (#1528) 2023-09-21 10:57:37 +02:00

README.md

NPM

Discord chat

@waku/core

Core components of js-waku, a TypeScript implementation of the Waku v2 protocol.

Documentation

API Documentation can also be generated locally:

git clone https://github.com/waku-org/js-waku.git
cd js-waku
npm install
npm run doc

Changelog

Release changelog can be found in CHANGELOG.md.

Bugs, Questions & Features

If you encounter any bug or would like to propose new features, feel free to open an issue.

For general discussion, get help or latest news, join #js-waku on Vac Discord or the Waku Telegram Group.

Roadmap

You can track progress on the project board.

Contributing

See CONTRIBUTING.md.

License

Licensed and distributed under either of

or

at your option. These files may not be copied, modified, or distributed except according to those terms.