-
-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
moderation #45
moderation #45
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! Could you also update the readme /w the new APIs you've surfaced?
Travis is failing because a |
@cblgh @nikolaiwarner @cinnamon-bun (and anyone else): any of you want to block this / request changes? I'm feeling not 100% on the |
cabal://modkey@cabalkey is more similar to how the URI schema uses scheme://authority@host which is why I did it that way. I'm also not very attached to this particular scheme. Other options include cabal://cabalkey/modkey or many more. |
oh hell yes, i'll review later tonight! |
This is great, thanks substack. Excited to use this. can we use |
In hyperdrive the syntax folks use is dat://key@seq, not sure if cabal wants to reuse that to refer to a specific message, or come up with another scheme for referring to a message |
Yay moderation ✨ Cabal keys and user pubkeys are so long that the I don't know which is better to come first:
Could you maliciously re-use a pubkey across multiple cabals to make them have similar looking addresses in case B? Do we care if the whole address can be easily selected by double-clicking? Personally I feel itchy about But I don't want to bikeshed it and we can change it later! I'm excited this is happening 🐰 👍 |
from IRC: 10:22:28 < cblgh> substack: i started adding the bikeshed proposal by rewriting the tests, but i might have found a bug |
Remaining tasks for this PR:
Future work:
|
Actually, let's do message pruning in another PR: it's nontrivial and I'm keen to get this in. |
🎉 thank you @substack |
🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 |
This is a rough initial implementation for subjective (yet sticky) moderation.
When you initialize a cabal, your own key is added as admin for your view of the network. You can optionally set another key in the cabal URL via
cabal://modkey@cabalkey
. This way you can share a cabal chat with somebody inclusive of a moderation setting so you can share your subjective view of the network (and not have that other person see filtered content that you don't even see).This patch adds
ban/add
,ban/remove
,mod/add
, andmod/remove
types. When you add a moderator you can set the role to beadmin
,mod
, or a custom string for custom application purposes. Setting admins and mods can be channel specific or cabal-wide (by not specifying a channel or using the special@
super-user group). Admins can add and remove admins and mods and can add and remove bans. Mods can add and remove bans.More info: https://github.com/substack/materialized-group-auth
Clients will need to be updated for ban and mod commands once this lands and a lot of other UI work will need to be done.