matrix-org / matrix-org/matrix-spec

Cascading Bans and Kicks for subspaces

Open
#2,310 3 comments 0 reactions 0 assignees View on GitHub
improvement
Dominant language
HTML
Stars
330
Forks
150
Avg merge
2h 21m
Merged PRs (30d)
3

Description

When moderating a larger community Space with multiple subspaces, bans and kicks become unweildy and difficult to use. Rather than being able to kick or ban a bad user once, moderators have to go through each and every space within the main space and kick/ban a user multiple times. This is needlessly covoluted and repetitive, making the use of Matrix unappealing to many communities out of fear of bad actors getting in and hiding.

The way it should work is if a user is kicked or banned, they should automatically be removed from all other spaces within the same collection of spaces. For example, in a layout like this:

SPACE

> Subspace 01
> > Room 01-01
> > Room 01-02

> Subspace 02
> > Room 02-01
> > Room 02-02

User B is kicked from Subspace 01. User B should then also be removed from SPACE, Subspace 02, and all rooms within those spaces. This should be done automatically provided that all the subspaces are nested within the same space made by the same owner.

This could also be expanded to cascading joining, if a link has you join the top level Space, you automatically join all subspaces within it.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the issue's proposed hierarchy and the Matrix Space membership behavior it describes. Define how cascading kicks, bans, and optional joining should work across spaces made by the same owner; the issue names no files, tests, or implementation entry point, so the relevant specification sections must first be identified.

Written by the indexing model from the issue text.

Assessment

Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.