Franck Royer
537a2b73a7
Use prod nodes by default instead of test
2021-05-18 13:26:42 +10:00
Franck Royer
243b6629c3
Add callback option to store query
2021-05-17 16:32:34 +10:00
Franck Royer
4b6fe84392
Use one object as we are increasing the number of parameters
2021-05-17 16:32:33 +10:00
Franck Royer
79bef35460
Add and use `getStatusFleetNodes` to connect to Status' wakunodes
2021-05-15 19:52:05 +10:00
Franck Royer
a8d4d494f8
Add getPeers method
...
To know if relay messages would be published.
2021-05-13 20:48:33 +10:00
Franck Royer
eb9955314c
Align terminology with specs
...
In specs, this is referenced as a `pubsubTopic`.
2021-05-13 20:48:30 +10:00
Franck Royer
6f7c1e0ca3
Enhance addPeerToAddressBook
...
So that consumer does not need to import multiaddr and peer-id.
2021-05-13 13:42:40 +10:00
Franck Royer
19e265c490
Remove unneeded variable
2021-05-13 12:30:13 +10:00
Franck Royer
fda65ca83b
Fix documentation
2021-05-13 12:30:13 +10:00
Franck Royer
7c6730b4a3
Remove `declare` keyword which removes the values from generated JS
2021-05-11 14:05:13 +10:00
Franck Royer
40fd7ff365
Use Typedoc comment style
2021-05-11 09:06:22 +10:00
Franck Royer
50eaa39fec
Add debug statement in tests
...
Also enable debug logs in CI.
2021-05-10 20:18:26 +10:00
Franck Royer
3663ce260d
Rework exports for an easy use of the library
2021-05-10 16:41:58 +10:00
Franck Royer
e91f7933c9
Pass proto in constructor
...
Makes the relation between the protobuf class and the wrapper more
direct. Conversion only happens at creates or on getters.
2021-05-10 16:29:25 +10:00
Franck Royer
3b7fc44419
Remove `Proto` suffix
...
Manage with namespace instead.
2021-05-10 15:53:23 +10:00
Franck Royer
ba6b67cc53
Enable observers to filter by contentTopic
2021-05-10 14:54:08 +10:00
Franck Royer
de3dcd9e22
Improve test readability
...
By avoiding buffer comparison.
2021-05-10 14:10:37 +10:00
Franck Royer
71a5b23bd2
Add observer interface that directly pass waku messages
2021-05-10 12:38:44 +10:00
Franck Royer
ace5f2776f
Prefer camel case for module constants
2021-05-10 12:38:44 +10:00
Franck Royer
cbe9559096
Clarify what methods should be used
2021-05-10 12:38:44 +10:00
Franck Royer
21414ad55e
Upgrade nim-waku to latest version
2021-05-07 11:30:36 +10:00
Franck Royer
d19be03862
Ensure that rpc call to send messages is successful
2021-05-07 11:30:35 +10:00
Franck Royer
775a288a5c
Log more around usage of waku store
2021-05-07 10:41:38 +10:00
Franck Royer
906d118d7d
Remove empty file
2021-05-05 09:59:36 +10:00
Franck Royer
19d6459883
Move chat message in js-waku
2021-05-05 09:59:19 +10:00
Franck Royer
9e30627e2b
Force return types to be specified
...
Makes it easier to use the library. Best to enforce this early on.
2021-05-04 11:12:32 +10:00
bors[bot]
3ae782d3b4
Merge #118 #121 #122
...
118: Clean up WakuMessage API r=D4nte a=D4nte
121: Always trigger store query at connection r=D4nte a=D4nte
If no new messages are received, the rendering does not change
as dupe messages are filtered out.
122: Use provided API r=D4nte a=D4nte
Co-authored-by: Franck Royer <franck@status.im>
2021-05-04 00:26:12 +00:00
Franck Royer
d0020744b4
Use provided API
2021-05-04 10:23:31 +10:00
Franck Royer
0ff0e6ee7b
Clean up WakuMessage API
2021-05-03 16:26:02 +10:00
Franck Royer
1016e85f70
Enable pubsub topic filter in history queries
...
Resolves #78
2021-04-29 16:52:55 +10:00
Franck Royer
5664c14743
Check subscribers until it finds one
2021-04-29 16:38:50 +10:00
Franck Royer
0270003556
Increase test timeouts
2021-04-29 16:07:37 +10:00
Franck Royer
2c66f86e91
Upgrade libp2p packages
2021-04-29 12:06:38 +10:00
Franck Royer
69a3f73ee6
Self emit to see own messages
2021-04-22 14:47:43 +10:00
Franck Royer
09fa8a0447
Must pass filter.all to connect to ip4 ws peer
2021-04-22 10:39:05 +10:00
Franck Royer
afba3210e9
Upgrade libp2p to 0.31.0-rc.3
2021-04-21 16:17:32 +10:00
Franck Royer
ee6226bd32
Update waku store as per the latest spec
2021-04-20 15:38:40 +10:00
Franck Royer
6ee404c3ce
Skip the js-nim-js test as it fails in CI
2021-04-20 15:26:01 +10:00
Franck Royer
eec55b7b71
Add sleep for failing tests + logging
2021-04-20 15:15:18 +10:00
Franck Royer
818a8256e7
Wait for identify protocol to finish
2021-04-20 10:34:23 +10:00
Franck Royer
00e303ee0a
Increase test timeout
2021-04-20 10:13:13 +10:00
Franck Royer
e233ad8da4
Increase test timeouts
2021-04-20 09:38:30 +10:00
Franck Royer
e0debac165
Subscribe to default topic when starting, Remove dual Waku relay classes
2021-04-16 11:25:08 +10:00
Franck Royer
bc1ba3f4e4
Increase test timeout
2021-04-15 15:24:01 +10:00
Franck Royer
896462340a
Simplify API
...
At this stage, if waku relay is mounted then we always want to subscribe
to default topic.
We can re-introduce the flexibility once we know what matters to the user.
Resolves #17 .
2021-04-15 14:45:14 +10:00
Franck Royer
9a305033bc
Use peerStore event to determine if identify is done
2021-04-15 14:44:35 +10:00
Franck Royer
503157401e
Allow passing transports, enable websocket transport
2021-04-15 13:56:07 +10:00
Franck Royer
31a45bf44e
Group imports
2021-04-15 13:56:07 +10:00
Franck Royer
1a4407b4f5
Increase test timeout
2021-04-15 13:56:06 +10:00
Franck Royer
4b31a6aaba
Wait for identify protocol to finish when dialing
...
Removes most `delay()`.
2021-04-13 22:43:13 +10:00
Franck Royer
b38634fd14
Remove warnings
2021-04-13 15:25:00 +10:00
Franck Royer
ee8db698b3
Allow constant condition for loops
2021-04-13 15:03:14 +10:00
Franck Royer
0e9b0b1b74
Ensure store waku calls returns messages in chronological order
...
Oldest at the start of the list.
2021-04-13 15:02:56 +10:00
Franck Royer
433f0432b3
Use pagination to retrieve all results from store
2021-04-13 15:02:53 +10:00
Franck Royer
1e10eeb5f5
Change API to directly return array of Waku Messages
2021-04-13 12:51:04 +10:00
Franck Royer
59df437490
test: History messages through several pages are retrieved
2021-04-13 11:47:15 +10:00
Franck Royer
ef409bd89b
Upgrade to latest nim-waku commit
2021-04-13 10:36:22 +10:00
Franck Royer
e534e0a4c8
Do not rely on nim-waku trace logs for test purposes
2021-04-13 09:51:41 +10:00
Franck Royer
e9d51a6c57
Implement Waku store protocol
2021-04-09 16:54:30 +10:00
Franck Royer
79a9520348
Test cleanup
2021-04-09 16:05:43 +10:00
Franck Royer
27540fae47
Remove dupe test
2021-04-09 10:47:29 +10:00
Franck Royer
5bc6173cb8
Upgrade nim-waku
2021-04-08 22:32:36 +10:00
Franck Royer
ff8e96b60c
Clean up imports
2021-04-01 18:27:15 +11:00
Franck Royer
ff9bfa7f0a
Override gossipsub function that checked for gossipsub peers
...
Instead, we need to check for waku relay peers.
2021-04-01 16:58:26 +11:00
Franck Royer
b487e7803b
Returns waku relay peers, not all waku peers across the various protocols
2021-04-01 16:44:28 +11:00
Franck Royer
433a490dec
Move waku relay codec and default topic to constants module
2021-04-01 16:41:49 +11:00
Franck Royer
7bd48b6220
Move all relay files under common folder
2021-04-01 16:37:05 +11:00
Franck Royer
ed5a363096
Ensure that heartbeat checks for waku, and not gossipsub, peers
2021-04-01 16:18:06 +11:00
Franck Royer
95b88d2815
Check against gossipsub protocol was also done in publish
...
Meaning it would sometimes fail to recognize another waku node at
a subscriber of a topic, depending on timing with the `subscribe`
call.
2021-04-01 15:47:34 +11:00
Franck Royer
5a967ecbcc
Avoid possible type name clash between js-waku and consuming apps
...
`Message` is a very generic name and JS does not offer strong namespace
boundaries. Using `WakuMessage` avoid name clashing with classes
of the consumer app.
2021-04-01 11:18:35 +11:00
Franck Royer
cca1d685dc
Implement chat message protobuf to support nick and time handles
2021-04-01 11:01:15 +11:00
Franck Royer
c3cf6462cc
Pass listening addresses as argument
2021-04-01 11:01:14 +11:00
Franck Royer
d2f1995f3e
Can receive message over internet
2021-04-01 11:01:14 +11:00
Franck Royer
2b450cf2dd
Include js>nim>js test
2021-04-01 11:01:14 +11:00
Franck Royer
086623243e
Remove `StrictSign` hack
2021-04-01 11:01:14 +11:00
Franck Royer
f2c1c92353
Chat app example
2021-04-01 11:01:14 +11:00
Franck Royer
e167f4fba4
Decode payload to utf8 string
2021-03-29 15:08:31 +11:00
Franck Royer
46c41dc50f
Test connection triggered from js and add API
2021-03-29 15:08:31 +11:00
Franck Royer
a57f361b1e
Print log file name on failure
2021-03-26 13:09:44 +11:00
Franck Royer
1d248351c1
Wait a bit before subscribing
2021-03-26 13:09:44 +11:00
Franck Royer
e7ad81afee
Re-add Publish test
2021-03-26 09:37:01 +11:00
Franck Royer
4f58bde054
Add js to js subscribe test
2021-03-26 09:37:01 +11:00
Franck Royer
4473ad4cc7
Add tests where js initialize the connection to nim
2021-03-25 20:47:48 +11:00
Franck Royer
ee0c63eba3
Improve helper function for log name
2021-03-25 15:49:07 +11:00
Franck Royer
e89b4ca437
Override Gossipsub.join` function to consider waku peers
...
Instead of gossipsub peers, this allows js to publish messages to nim.
2021-03-24 12:22:00 +11:00
Franck Royer
71f3e9aa1f
Name logs with test name only
2021-03-24 12:22:00 +11:00
Franck Royer
2486071708
Reduce entropy usage in tests
...
When playing around with tests frameworks, it was noticed that noise
was using entropy that lead to handles remaining open at the end of the
test run.
2021-03-22 22:25:13 +11:00
Franck Royer
08a7f004c3
Missing protocols in identify message are now present
...
status-im/nim-waku/issues/419 has been fixed.
2021-03-22 22:05:18 +11:00
Franck Royer
27c3668121
Use `--exit` to force termination of node after tests
2021-03-22 21:36:44 +11:00
Franck Royer
d1e8ba2c6e
Finish conversion to mocha
2021-03-22 16:02:10 +11:00
Franck Royer
704f2770d1
Use ts-proto
...
This allows the generation of ts files which makes it easier
to handle with test frameworks than just d.ts files
2021-03-22 15:49:58 +11:00
Franck Royer
a89f2700a2
Partial conversion to ts-node/mocha
2021-03-22 15:05:03 +11:00
Franck Royer
090b064c84
Kill nim-waku & js-libp2p nodes after tests
2021-03-22 14:24:01 +11:00
Franck Royer
13e941513d
Reorg tests, add describe sections
2021-03-19 15:55:38 +11:00
Franck Royer
7d595b0c8f
Move waku relay tests in dedicated file
2021-03-19 15:55:38 +11:00
Franck Royer
39332808d5
Improve API by using composition
2021-03-19 14:40:16 +11:00
Franck Royer
345a2ba7b3
Skip failing test
...
Investigation is harder that first thought.
Skipping this so we can track a green CI and not introduced more bugs
by mistake.
2021-03-19 10:41:40 +11:00
Franck Royer
5c29394937
Migrate to jest for better debugging experience
...
ava is not yet integrated in popular IDEs.
2021-03-17 15:34:58 +11:00
Franck Royer
33a6176181
pubsub config is specific to waku relay
2021-03-17 14:30:35 +11:00
Franck Royer
eb06f056c0
Work around nim-waku signing policy bug
2021-03-16 15:41:44 +11:00
Franck Royer
b2632af04b
Remove fixed time delays
2021-03-16 13:45:18 +11:00
Franck Royer
953aeea053
Implement reception of messages over waku-relay
2021-03-16 13:39:34 +11:00
Franck Royer
b53bf4ddca
Correct comment
2021-03-15 17:57:31 +11:00
Franck Royer
4c34420ccc
Remove TODO
2021-03-15 17:53:24 +11:00
Franck Royer
f0233f7696
Manually patch identify protocol
2021-03-15 17:29:48 +11:00
Franck Royer
e3a488bbf5
Fix spelling
2021-03-15 15:45:41 +11:00
Franck Royer
6558ac60bb
Force identify nim node to support waku protocol
2021-03-15 15:34:56 +11:00
Franck Royer
548c50668a
test: Send message from js node to nim node
2021-03-15 13:27:50 +11:00
Franck Royer
c99e02af20
Allow waiting for nim waku logs from test
2021-03-15 13:25:14 +11:00
Franck Royer
b7ce121955
Replace delay by waiting on correct event
2021-03-15 11:35:30 +11:00
Franck Royer
eb874a956b
Only node receiving message needs to subscribe
2021-03-15 11:23:20 +11:00
Franck Royer
4c6c54cf87
Nim node subscribes to default topic as soon as it connects to js node
2021-03-15 10:28:32 +11:00
Franck Royer
fdbcbe0896
Allow multiple wakunodes to be started in parallel
2021-03-12 17:08:59 +11:00
Franck Royer
a0d6784e3c
Use multiaddr lib instead of string parsing
2021-03-12 17:08:58 +11:00
Franck Royer
a7c666f108
Fix WakuMessage (de)serialisation
2021-03-12 17:08:58 +11:00
Franck Royer
ee38df8757
Nim-interop: nim sends message (not working)
2021-03-12 10:35:50 +11:00
Franck Royer
8ed47b2cf7
Nim-interop: subscribe
...
At this stage, we are only able to check that the
subscription works on js side: it confirms that
the nim node is considered as subscribing to the same
topic.
2021-03-12 09:46:47 +11:00
Franck Royer
f0c9c3ef50
Check peer ids on both side when connecting
2021-03-11 15:02:29 +11:00
Franck Royer
a6c1fae5a6
test: Nim-waku connects to JS (wip)
2021-03-11 10:54:35 +11:00
Franck Royer
4f63bd5835
test: Connect to nim waku
2021-03-10 17:39:53 +11:00
Franck Royer
b8c63355a5
Ensure waku relay node does not use a sub protocol
...
At the moment we do not assert that we publish messages over waku relay
protocol (not sure this assertion is possible).
By asserting we do not register any sub (pubsub, gossipsub, floodsub)
protocols, we can be (more) confident that this
protocols are not be used behind the scenes.
2021-03-10 16:25:54 +11:00
Franck Royer
4329b8006e
Use waku messages over waku relay
2021-03-10 16:22:49 +11:00
Franck Royer
070847d2c0
Use waku relay interface to subscribe and publish messages
2021-03-10 15:15:36 +11:00
Franck Royer
12c2a93c7f
Register waku protocol instead of gossip sub
2021-03-10 15:08:27 +11:00
Franck Royer
525815528f
Remove message signing as per waku specs
2021-03-10 14:58:04 +11:00
Franck Royer
b5bf5c03ab
Reduce test verbosity
2021-03-10 14:56:12 +11:00
Franck Royer
dfe08058d9
Use promises to remove one delay
2021-03-10 14:55:16 +11:00
Franck Royer
8e91ca6d01
Adopt more typescript-y syntax, do not lint generated files
2021-03-10 14:30:31 +11:00
Franck Royer
5e64708111
Can use gossipsub to publish messages
2021-03-10 14:24:23 +11:00
Franck Royer
be47223bae
Connects to nim-waku using waku-relay protocol
2021-03-05 14:41:20 +11:00
Franck Royer
f46ce77f57
Initial commit
...
Created with bitjson/typescript-starter@586cdb3029
2021-03-05 09:34:01 +11:00