Commit Graph

91 Commits

Author SHA1 Message Date
decentral1se 00a1452cfc
Migrate to ssbc urls (#336)
* fix: ssbc urls

Closes https://github.com/ssbc/go-ssb-room/issues/332

* fix: go-ssb-refs API changes

* test: go-ssb-refs API changes

Co-authored-by: decentral1se <cellarspoon@riseup.net>
Co-authored-by: André Staltz <andre@staltz.com>
2022-11-07 11:18:13 +02:00
boreq cecadc4402 Fix 2022-11-01 13:30:00 +02:00
boreq 0fa646ccdf Test privacy modes 2022-11-01 13:30:00 +02:00
Filip Borkiewicz 72e7d68176 Update muxrpc/handlers/tunnel/server/members.go
Co-authored-by: decentral1se <1991377+decentral1se@users.noreply.github.com>
2022-11-01 13:30:00 +02:00
boreq ea9b22cfa7 Add an RPC endpoint listing all members
Currently an RPC endpoint which lists only the connected members is
available. A list of all members, even those who are offline, is
available only using the web dashboard. This pull request adds an RPC
endpoint which lists all members of the room.

This new endpoint can be used to augment SSB clients with extra
information about the rooms. For example friends who are room members
can be displayed in room-related settings or information about shared
rooms can be displayed in user profiles.

The new endpoint is a source endpoint called ["room", "members"]. Source
endpoint was selected to make it possible to return multiple smaller
responses instead of one large response - an async endpoint could
struggle to return the list of all members in case of larger rooms. Each
response carries a list of member objects. Currently the implementation
naively returns one member per response message but that can be adjusted
in the future.

Currently the request takes no arguments but extra options could be
added in the future.

Currently member objects only have one property: their id. This can be
extended in the future.
2022-11-01 13:30:00 +02:00
Filip Borkiewicz 92681a9c49
Add a listAliases muxrpc endpoint (#320)
* Add a listAliases muxrpc endpoint

* Remove unwanted error handling
2022-08-19 22:47:33 +03:00
Henry a249fd8bee fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
Henry 580830be76 went a bit too far with search+replace 2021-05-31 14:53:53 +02:00
Henry 4d3610e2fb prepare v2 release 2021-05-31 14:51:05 +02:00
Henry 3e53570638 dependency updates
* use LICENSEd version of nocomment
* use forked kitlog
* cleanup of various dependencies
2021-05-25 12:40:00 +02:00
Henry 4d3b880acc set muxrpc header flag correctly 2021-05-24 16:22:47 +02:00
Henry 85ee99a1b2
remove room.announce and room.leave from muxrpc (#223)
* remove room.announce and room.leave from muxrpc

those were confusion and implied some use beyond just opening
tunnel.endpoints/room.attendants (which implicitly does what
tunnel.announce does).

updates #89
2021-05-21 15:52:04 +02:00
Henry 939e7c1aaa
Apply suggestions from code review
Co-authored-by: Alexander Cobleigh <cblgh@cblgh.org>
2021-05-18 15:20:18 +02:00
Henry 634f464d64 add missing copyright header 2021-05-17 16:13:00 +02:00
Henry e7c20bcd5d add room.attendants implementation
updates #89
2021-05-17 16:06:09 +02:00
Henry ec4edcccbc rename broadcast types 2021-05-17 15:40:33 +02:00
Henry 3fae8a200a change handler registration 2021-05-17 15:31:29 +02:00
Henry 27fc5713cc change isRoom to have metadata
fixes #58
2021-05-17 12:24:29 +02:00
Henry 385b98a3a1 add privacy mode and role tests (fixes #185)
* denied/remove
* denied/add
* invites/revoke
* members/remove
* notices/edit
* notices/add

also:
* add members.CheckAction helper
* fix muxrpc abort bug and update to v2.0.5
* strictly use SeeOther not 307 (fixes #149)
2021-05-14 14:27:01 +02:00
Henry cf3cf1791e reduce tunnel debug logging 2021-05-10 13:53:04 +02:00
Henry 2ecf61f123 don't allow making tunnels to initiator 2021-05-10 13:52:45 +02:00
Henry 7c75b27c8d
have a clear error on taken aliases
fixes #194
2021-05-10 13:51:05 +02:00
Henry f42200638f update ssb-room-client to 0.13.0 2021-04-26 15:55:43 +02:00
Henry 9b9db80406 dont use pull.drain without done cb in test code
and change timeouts slightly
2021-04-26 12:21:00 +02:00
Henry 97dc3c2df5 Add a test where clients are disconnected forcefully
updates #190
2021-04-26 12:09:48 +02:00
Henry 3969372993 reconnect testing 2021-04-26 10:06:34 +02:00
Henry 3093385635 refactor makeTestClient
re-use keys and be able to change the mocks
2021-04-26 09:39:11 +02:00
Henry bdf99ab4fa add staleness and tunnel.connect tests 2021-04-26 09:39:11 +02:00
Henry 7a74f7806c move makeTestClient to utils 2021-04-26 09:39:11 +02:00
cblgh c3ac3a1678 test that non-members are not blocked from establishing connections for community mode servers 2021-04-26 09:29:22 +02:00
cblgh 346ba14ec9 test connection establishment for non-members in restricted rooms 2021-04-26 09:29:22 +02:00
Henry 984f3dfc87 remove peers from the room when the muxrpc sessions ends
fixes #173
2021-04-21 11:56:33 +02:00
Henry f68bd7d46f don't leak internal details to callers
fixes #154
2021-04-21 11:51:00 +02:00
Henry 13d9ba41c4 update some comments 2021-04-21 09:44:44 +02:00
Henry 6aaee070c6 fix test assumption 2021-04-21 08:28:36 +02:00
Henry a965333f90 add assertions to the new test 2021-04-20 18:17:56 +02:00
Henry 9cd7aa0b5a introduce tunnel.endpoint tests 2021-04-20 18:17:56 +02:00
Henry 51ad16ccd5 refactor testSession setup 2021-04-20 18:17:56 +02:00
Henry 1a6d027292 Apply suggestions from code review
Co-authored-by: Alexander Cobleigh <cblgh@cblgh.org>
Co-authored-by: André Staltz <andre@staltz.com>
2021-04-20 18:10:28 +02:00
Henry 940cd2b3d1 Fix ssb-ws connections
The landing path (/) can now also be used as a websocket endpoint.
This enables use of the room server with ssb-browser-demo and similar
applications that can't use TCP connections.

also pin WIP muxrpc branch (fix-stupid-timeout)
2021-04-20 18:10:26 +02:00
Henry 3afe9b3659 fix origin information of tunnel.connect
also cleanup logging by removing output to stdout
2021-04-20 18:09:40 +02:00
Henry 545187dfe5 dont remove peers on a whim
it could be they error on the call for a valid reason.

TODO:
* we need to make an IsConnectionError(err)
* maybe level up the gossip.ping code for liveliness.
2021-04-20 17:18:30 +02:00
Henry b939ca0873 tweak gossip.ping code 2021-04-20 17:18:27 +02:00
cblgh e941e10f24 bump ssb-room-client & package-lock 2021-04-20 09:12:15 +02:00
Henry e1db5d5162 fix muxrpc tests 2021-04-19 15:00:35 +02:00
Henry 52ec94e878 fix link generation for alias registration
fixes #160
2021-04-19 15:00:35 +02:00
cblgh dfddd63225 fix up old test exhibiting a false positive 2021-04-13 09:04:40 +02:00
cblgh 462f9be27f test: verify denied keys can't get endpoint 2021-04-13 09:04:40 +02:00
cblgh 8508987b9c refactor muxrpc tests 2021-04-13 09:04:40 +02:00
cblgh 7ea79b3e33 test invite consumption being denied 2021-04-07 13:01:28 +02:00