Skip to content

Implement group-based permission checks #814

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

Open
gnprice opened this issue Jul 16, 2024 · 1 comment
Open

Implement group-based permission checks #814

gnprice opened this issue Jul 16, 2024 · 1 comment
Labels
a-api Implementing specific parts of the Zulip server API a-model Implementing our data model (PerAccountStore, etc.)

Comments

@gnprice
Copy link
Member

gnprice commented Jul 16, 2024

In the Zulip API, we've recently introduced a new group-based permission system, where a realm's admins can define arbitrary user groups to use for permissions. This is more flexible than the old roles-based system, which has a fixed handful of roles like "admin", "moderator", or "member".

Mostly this is a matter for the server, and for admin settings UIs, and we generally implement very little of an admin settings UI in the Zulip mobile apps (leaving users to go to the web/desktop app to handle those tasks). But in some places a client also needs to check if the user has a given permission, in order to give them a good experience in the case where they don't. For example, #791.

So we need to implement permission checks, and we should do so with the new API. In particular, new permission settings in Zulip (like #791) are being expressed only in the new system, so it's the only way to properly handle those.

This issue is for implementing the infrastructure of that system, so that we can easily add new permissions checks that use it when we need them. That means:

@gnprice gnprice added a-api Implementing specific parts of the Zulip server API a-model Implementing our data model (PerAccountStore, etc.) labels Jul 16, 2024
@gnprice gnprice added this to the Launch milestone Jul 16, 2024
@gnprice gnprice modified the milestones: M5: Launch, M6: Post-launch Nov 21, 2024
gnprice added a commit to gnprice/zulip-flutter that referenced this issue Nov 25, 2024
This field is becoming a group-setting value.  We haven't yet
implemented those (that's zulip#814), so we can no longer handle this field
until we do that work.  Conveniently we weren't actually making any
use of this field, though -- so for now, just ignore it.

Fixes: zulip#1082
chrisbobbe pushed a commit that referenced this issue Nov 25, 2024
This field is becoming a group-setting value.  We haven't yet
implemented those (that's #814), so we can no longer handle this field
until we do that work.  Conveniently we weren't actually making any
use of this field, though -- so for now, just ignore it.

Fixes: #1082
@chrisbobbe
Copy link
Collaborator

chrisbobbe commented Dec 14, 2024

  • Implement some particular setting that uses the system, so we can demonstrate end-to-end that the implementation works.

The edit-topic permission is another candidate for this, used for

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a-api Implementing specific parts of the Zulip server API a-model Implementing our data model (PerAccountStore, etc.)
Projects
Status: No status
Development

No branches or pull requests

2 participants