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)
interface methods: create, consume, list and revoke.
SQLite implementation and some light testing.
Related changes:
* have authfallback.Create return the user id
At some point we will need to not assume that authfallback is our users
table but that will not become relevant before we start adding
moderation roles.
* Update package documentation of admindb and admindb/sqlite
* remove leftover generated.db
now using the roomdb file created by TestSimple
Review comments by @cblgh
* better documentation of hashed token storage
* space between %d and `bytes`
* make interface assertion comments less scary
Notices are pages that admins can fill with their content to describe
and customize the room.
Pinned notices are common notices that each room has. Like a description
and privacy policy.
* update models
* simple crud test for basic notices
* edit and save notices as admin
Though, CSP is primarily a tool against cross-site scripting and we
don't plan to host any user-generated or 3rd party content it's still a
good practice. The primary requirment with this rule is
to move all inline style tags to a seperate file.
in a http.Handler you can now do the following to log events:
logger := logging.FromContext(req.Context())
level.Info(logger).Log("event", "happend", ...)
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.
This removes the nasty need for creating the database manually.
Migrations are kept in an embedded filesystem, just like the templates
and assets for the web frontend. The same -tags dev trick applies for
them.