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.
* 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
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)
Since we don't use the web/router through and through to setup handler
functions, accessing the named route varaibles doesn't work inside those
handler functions.
Since I dont find it acceptable to juggle two concepts here I switch the
url generation to classical get query paramters (route?varA=xyz&varB=2).
* fix nav link
* fix roomstate lock and ticker
* fix copy pasta typos
web/handlers: stop using /testing/base in news
This was a brainfart. The idea for a more minimal base template came
from another project with different frontend code.
This stopped us from seeing tempalting errors in the nav area.
Might want to scratch these tests alltogether and just have one place
with all the http tests.
There is a new roomstate package now with a Manager which is shared between muxrpc and the http
handler(s).
Also adds a list of peers in the room to admin dashboard.
It has been brought to my attention that "gossb" reads like "gossip..?"
to the untrained eye. That's just confusing.
Also the project hosts a single room so the plural was just wrong.