no labs for guests

pull/21833/head
Matthew Hodgson 2016-09-17 14:29:40 +01:00
parent 0046ae50b5
commit cf1b1442eb
2 changed files with 13 additions and 0 deletions

View File

@ -160,6 +160,9 @@ module.exports = {
}, },
isFeatureEnabled: function(feature: string): boolean { isFeatureEnabled: function(feature: string): boolean {
// Disable labs for guests.
if (MatrixClientPeg.get().isGuest()) return false;
if (localStorage.getItem(`mx_labs_feature_${feature}`) === null) { if (localStorage.getItem(`mx_labs_feature_${feature}`) === null) {
for (var i = 0; i < this.LABS_FEATURES.length; i++) { for (var i = 0; i < this.LABS_FEATURES.length; i++) {
var f = this.LABS_FEATURES[i]; var f = this.LABS_FEATURES[i];

View File

@ -369,6 +369,16 @@ module.exports = React.createClass({
name={feature.id} name={feature.id}
defaultChecked={ UserSettingsStore.isFeatureEnabled(feature.id) } defaultChecked={ UserSettingsStore.isFeatureEnabled(feature.id) }
onChange={e => { onChange={e => {
if (MatrixClientPeg.get().isGuest()) {
e.target.checked = false;
var NeedToRegisterDialog = sdk.getComponent("dialogs.NeedToRegisterDialog");
Modal.createDialog(NeedToRegisterDialog, {
title: "Please Register",
description: "Guests can't use labs features. Please register.",
});
return;
}
UserSettingsStore.setFeatureEnabled(feature.id, e.target.checked); UserSettingsStore.setFeatureEnabled(feature.id, e.target.checked);
this.forceUpdate(); this.forceUpdate();
}}/> }}/>