Skip to content
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

Undeprecate and document enableLabs #12683

Closed
aaronraimist opened this issue Mar 10, 2020 · 5 comments
Closed

Undeprecate and document enableLabs #12683

aaronraimist opened this issue Mar 10, 2020 · 5 comments

Comments

@aaronraimist
Copy link
Collaborator

Also why does showLabsSettings exist?

@tulir
Copy link
Contributor

tulir commented Mar 10, 2020

It's not mentioned because it's officially deprecated.

I think that the deprecation should be cancelled though. The current features system is good for instances that want to control what labs options their users see, but some instances just want all existing options to be visible without having to update their config file every time.

Also why does showLabsSettings exist?

I think there are some labs options that don't have a feature flag and are always visible if labs are visible (e.g. showing hidden events), so that option was added as a hacky way to show labs without showing any of the options that do have feature flags.

@aaronraimist aaronraimist changed the title enableLabs isn't mentioned in config.md Undeprecate and document enableLabs Mar 10, 2020
@turt2live
Copy link
Member

Largely this is a request to solve #8498 (which involves designing a feature system that actually works). There's a bit more information on #10360 about the feature system and its history.

The remainder of this is a duplicate of #11014

@turt2live
Copy link
Member

Though if people have thoughts about a feature system, here's something I wrote up in ~5 minutes with zero peer review: https://docs.google.com/document/d/1KY0vMcif_OAS3PLncs6X-96bGwNeSfBpBu3nyo1uFkA/edit?usp=sharing

It might be a terrible idea, but that's why people should take a look :D

@aaronraimist
Copy link
Collaborator Author

aaronraimist commented Mar 10, 2020

Personally I was not advocating for #8498 to be solved. Here's how I personally think it should work which isn't very different from current state (I don't really understand the history of this is implemented so maybe that's why this is complex):

A person running a Riot instance (also likely to be a homeserver admin) should have the ability to turn on or off all labs features (enableLabs) for their users. They should also be able to turn on or off individual labs features using the existing config options for that.

We rebuild the entire system to instead be based on “developer mode” and everyone else. We add a toggle for turning on developer mode, which unlocks options like ‘show all events’ and widget screenshots. This would also turn on features that are known to be unstable and not recommended for general use (like cross-signing).

I don't actually think individual users who are just running /app need a way to get at unstable Labs features like cross signing. That is not useful for them because they are going to turn everything on and then complain that it is buggy. It is also not useful for you, you are going to get a bunch of bad bug reports since you'll get reports about issues you fixed days ago but aren't on /app yet. There could be a developer mode but it should only expose advanced features like View Hidden Events and Widget Screenshots, not unstable features.

All I wanted with this issue was a global toggle in config.json to show all the labs features at once without having to enable each individually, aka enableLabs.

@turt2live
Copy link
Member

The current state is a bad state, in my opinion. We don't have the ability to achieve what we've wanted out of the current system and have been trying to apply patches to it for years.

People running Riot instances are less likely to be homeserver admins nowadays, and we're moving to a place where we'll need labs options on the nightly builds too. We already receive bad bug reports from people on /develop, which is a fairly high portion of our users from looking at the stats. We've historically wanted to turn on the option of labs features for people on /app, but we could just as easily hide that one developer mode toggle.

I don't believe a config.json option is the best way to achieve this, and never have. It's much more important that people can just use their Riot normally and reduce the maintenance burden on us for having to keep this system working.

@aaronraimist can you transfer your comments to the doc please? The feedback is almost certainly going to get lost otherwise :(

t3chguy pushed a commit that referenced this issue Oct 17, 2024
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants