l3mpire / lemverse

The first-ever coworking metaverse
https://app.lemverse.com
GNU Affero General Public License v3.0
149 stars 40 forks source link

1 - Developer can disabled tchat tools in settings #161

Closed YglesEyes closed 1 year ago

YglesEyes commented 1 year ago

Add in settings

{
  "public": {
    "disabledFeatures": ["textualCommunicationTools"]
  }
}
ramnes commented 1 year ago

139 architecture doesn't work for what you want to achieve? We could extend it with a dropdown for all textual communications tools.

YglesEyes commented 1 year ago

The goal is to have a more global restriction for the server and not only for a team, for the moment it seems easier to use flag instead of rework the code to have optional modules.

ramnes commented 1 year ago

Okay, then we probably want to streamline the way these permissions work because it seems to me that it's going all over the place.

I would suggest a common list of modules across the different types of feature flag systems and a generic way of toggling these modules at each level (guests / level / server), with a config that would look like this (or anything really):

{
  "features": {
    "useMessaging": {
      "enabled": true,
      "guestEnabled": false,
      "levelConfigurable": true
    },
    ...
  }
}

What do you think?

ramnes commented 1 year ago

At the very least we should use the same format and module names, i.e. here we should replicate how guests is structured:

{
  "features": {
    "useMessaging": false
  }
}

rather than

{
  "disabledFeatures": ["textualCommunicationTools"]
}

or it will be a nightmare to streamline later. :(

YglesEyes commented 1 year ago

Like it, it is more generic and configurable, i don't have time yet but I will implement it ASAP