* 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
* chore: upgrade libp2p and related packages
* fix: public key on peer id can now be undefined
* chore: upgrade remainder packages
* chore: fix tests
* chore: address comments
* chore: upgrade playwright and proto
* chore: rename IReceiver subscribe
* feat!: new `subscribe() API that only takes in decoders and callback
* chore: `to_async_iterator` uses new function name
* chore: make `createSubscription` private, and shorten error handling
* chore: update subscribe return type
* tests: use new API
* fix: tests
* fix: use pubsubTopic from current ones if not set
* fix: improve type on dial method
* enforce same pubusb on filter.subscribe, make content topic to pubsub mapping default for decoder / encoder
* fix mapping problem
* update tests
* add error handling
* fix typo
* up lock
* rm lock
* up lock
* remove only
* fix content topic
* fix ephemeral test
* fix filter unsubscribe test
* up utils
* fix subscribe test
* up interfaces and filter api
* remove only
* up ping test
* fix subscribe test
* fix push test
* fix lightPush
* fix multiple pubsub
* remove only, fix subscribe filter test
* remove only
* fix cluster ID selection and named sharding subscription test
* fix unsubscribe test
* fix light push test
* fix light push test
* fix push test
* fix relay publish
* create runNode and fix relay tests
* generalize runNodes, fix some tests
* fix store tests
* fix toAsyncIterator tests
* remove only
* fix lightPush
* use generics
* try fix test
* run failing tests
* remove only
* address failed tests, remove DefaultPubsubTopic dependency in some tests
tests: use a generator for sharded pubsub topics
set pubsub topic in encoder/decoder based on sharding type
add function for grouping content topics by pubsub topic
add autosharding config to create options
add autoshard rpc endpoints to nwaku and use in tests
set autoshard pubsub topics in all protocols
fix rebase with static sharding
removes unused function
remove console logs
remove autosharding from ShardInfo, add to EncoderOptions
fix enr and encoder/decoder options
test that same application/version hashes to same shard index
update comment on shard field
fix spelling of autosharding
fix content topic protocol in tests
add sharding type alias and function to determine topic in encoders/decoders
move DefaultPubsubTopic from core to interfaces
* allure test reporting
* make reports only for the main job
* fail a test for demo
* fail a test for demo
* revert
* fail a test for demo
* revert
* deploy to allure-jswaku
* use PAT
* add pat as secret
* check if pat exists
* debug secrets issue
* remove debug steps
* debug1
* debug2
* debug3
* debug4
* set reports for all tests
* fix after ci run
* self review
---------
Co-authored-by: Sasha <118575614+weboko@users.noreply.github.com>
* setup a custom Logger with log level support
* refactor codebase for to use new Logger with log levels
* disallow usage of `debug` directly / only allow usage in/through custom Logger
* remove `debug` from logger
* refactor: rename as this method does not check empty payloads
* feat: fail early when trying to send empty payload
---------
Co-authored-by: Sasha <oleksandr@status.im>
* `ProtocolCreateOptions` now has `pubSubTopic` as `pubSubTopic[]`
* chore: update encoder & decoder to support `PubSubTopic`
* feat(protocols): allow multiple `PubSubTopic[]`
* feat(relay): allow multiple `PubSubTopic[]`
* chore(tests): update for new API
* chore: minor fixes
* chore: make store more robust
* fix(relay): correctly set types
* chore(address comments): update terminology around configured pubsub topics
* chore(address comments): minor refactoring
* chore(relay): split `subscribe` into smaller functions for readability & modularity
* chore(address comments): refactor `waitForGossipSubPeerInMesh`
* chore(store): only allow to query one `pubSubTopic`
* fix: `store` bug
* feat(tests): add some basic tests
* sharding utils
* address comments
* feat(relay): re-add API for `getMeshPeers`
* update error message
Co-authored-by: fryorcraken <110212804+fryorcraken@users.noreply.github.com>
* refactor for new API
* feat: simplify handling of observers (#1614)
* refactor: simplify handling of observers
* refactor: Remove redundant PubSubTopic from Observer
* use `??` instead of `||`
* update `pubsubTopic` to `pubSubTopic`
* update `interval` typo
* change occurence of `pubsubTopic` to `pubSubTopic`
* relay: rm `getAllMeshPeers` and make `pubSubTopics` public
* relay: use `push_or_init_map` and move to `utils`
* fix: update API for tests
* fix: relay waitForRemotePeer
---------
Co-authored-by: fryorcraken <110212804+fryorcraken@users.noreply.github.com>
* update typescript, define in root package.json
* update typedoc and fix typedoc comments
* update dev version of tsconfig
* set module and resolution for tsconfig dev
* bump ts plugins
* set order of typedoc generation
* turn off warnings as errors setting