Mirror of https://github.com/ssbc/go-ssb-room/ to add Docker image builds with Drone
Go to file
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
.github/workflows fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
.reuse add dep5 file for REUSE 2022-05-14 13:35:31 +03:00
LICENSES fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
cmd fix: error out if repoPath doesn't exist 2022-04-06 14:33:47 +03:00
docs Add instructions for installing Go 2022-10-22 21:49:54 +03:00
internal Fix alias generation (#294) 2022-01-18 10:31:01 +02:00
muxrpc Add an RPC endpoint listing all members 2022-11-01 13:30:00 +02:00
roomdb fix: accept invites as an existing member is ok 2022-03-28 13:48:00 +03:00
roomsrv Add an RPC endpoint listing all members 2022-11-01 13:30:00 +02:00
roomstate fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
web update production style.css 2022-08-22 09:10:09 +00:00
.dockerignore Exclude .env from docker builds (#317) 2022-08-03 15:04:45 +03:00
.env_example fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
.gitignore chore: ignore new test files 2022-04-10 10:21:06 +02:00
.goreleaser.yml fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
Dockerfile fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
LICENSE add LICENSE file 2021-05-25 12:39:56 +02:00
README.md Update README.md 2022-10-31 11:07:54 +02:00
docker-compose.yml fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
errors.go fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
go.mod fix support for SSB URIs on Android Chrome 2021-11-23 09:20:08 -03:00
go.sum fix support for SSB URIs on Android Chrome 2021-11-23 09:20:08 -03:00
go.sum.license fix SPDX headers and add reuse API badge 2021-10-08 14:39:31 +02:00
start.sh proposed fix for issue #272. args were not correctly formatted. changed the start script and development documentation 2021-11-11 15:35:02 +02:00

README.md

Go-SSB Room

REUSE status

This repository implements the Room (v1+v2) server spec, in Go.

It includes:

  • secret-handshake+boxstream network transport, sometimes referred to as SHS, using secretstream
  • muxrpc handlers for tunneling connections
  • a fully embedded HTTP server & HTML frontend, for administering the room

Features

  • Rooms v1 (tunnel.connect, tunnel.endpoints, etc.)
  • User management (allow- & denylisting + moderator & administrator roles), all administered via the web dashboard
  • Multiple privacy modes
  • Sign-in with SSB
  • HTTP Invites
  • Alias management

For a comprehensive introduction to rooms 2.0, 🎥 watch this video. For a description of MuxRPC APIs see https://github.com/ssbc/rooms2

🚀 Deployment

If you want to deploy a room server yourself, follow our deployment.md docs.

🔧 Development

For an in-depth codebase walkthrough, see the development.md file in the docs folder of this repository.

🧑‍🤝‍🧑 Authors

License

MIT