summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
author=Corey Hulen <corey@hulen.com>2015-12-14 11:34:16 -0800
committer=Corey Hulen <corey@hulen.com>2015-12-14 11:34:16 -0800
commitc7c03817d05c05d5bc3f1a59ee0b06a47048ff4b (patch)
treee66774920eedebe63d7afe072a85e5012e265d0d /web
parentf5ec973cba4c224de5ba75b56aad447f715b9d6b (diff)
downloadchat-c7c03817d05c05d5bc3f1a59ee0b06a47048ff4b.tar.gz
chat-c7c03817d05c05d5bc3f1a59ee0b06a47048ff4b.tar.bz2
chat-c7c03817d05c05d5bc3f1a59ee0b06a47048ff4b.zip
Adding error bar message when console error detected
Diffstat (limited to 'web')
-rw-r--r--web/react/components/admin_console/service_settings.jsx34
-rw-r--r--web/react/stores/error_store.jsx1
-rw-r--r--web/templates/head.html5
3 files changed, 40 insertions, 0 deletions
diff --git a/web/react/components/admin_console/service_settings.jsx b/web/react/components/admin_console/service_settings.jsx
index 1f5faf1d4..d7582d682 100644
--- a/web/react/components/admin_console/service_settings.jsx
+++ b/web/react/components/admin_console/service_settings.jsx
@@ -40,6 +40,7 @@ export default class ServiceSettings extends React.Component {
config.ServiceSettings.EnablePostUsernameOverride = ReactDOM.findDOMNode(this.refs.EnablePostUsernameOverride).checked;
config.ServiceSettings.EnablePostIconOverride = ReactDOM.findDOMNode(this.refs.EnablePostIconOverride).checked;
config.ServiceSettings.EnableTesting = ReactDOM.findDOMNode(this.refs.EnableTesting).checked;
+ config.ServiceSettings.EnableDeveloper = ReactDOM.findDOMNode(this.refs.EnableDeveloper).checked;
config.ServiceSettings.EnableSecurityFixAlert = ReactDOM.findDOMNode(this.refs.EnableSecurityFixAlert).checked;
//config.ServiceSettings.EnableOAuthServiceProvider = ReactDOM.findDOMNode(this.refs.EnableOAuthServiceProvider).checked;
@@ -343,6 +344,39 @@ export default class ServiceSettings extends React.Component {
<div className='form-group'>
<label
className='control-label col-sm-4'
+ htmlFor='EnableDeveloper'
+ >
+ {'Enable Developer Mode: '}
+ </label>
+ <div className='col-sm-8'>
+ <label className='radio-inline'>
+ <input
+ type='radio'
+ name='EnableDeveloper'
+ value='true'
+ ref='EnableDeveloper'
+ defaultChecked={this.props.config.ServiceSettings.EnableDeveloper}
+ onChange={this.handleChange}
+ />
+ {'true'}
+ </label>
+ <label className='radio-inline'>
+ <input
+ type='radio'
+ name='EnableDeveloper'
+ value='false'
+ defaultChecked={!this.props.config.ServiceSettings.EnableDeveloper}
+ onChange={this.handleChange}
+ />
+ {'false'}
+ </label>
+ <p className='help-text'>{'(Developer Option) When true, extra information around errors will be displayed in the UI.'}</p>
+ </div>
+ </div>
+
+ <div className='form-group'>
+ <label
+ className='control-label col-sm-4'
htmlFor='EnableSecurityFixAlert'
>
{'Enable Security Alerts: '}
diff --git a/web/react/stores/error_store.jsx b/web/react/stores/error_store.jsx
index 8fb051138..69d6cca7f 100644
--- a/web/react/stores/error_store.jsx
+++ b/web/react/stores/error_store.jsx
@@ -63,3 +63,4 @@ ErrorStore.dispatchToken = AppDispatcher.register((payload) => {
});
export default ErrorStore;
+window.ErrorStore = ErrorStore;
diff --git a/web/templates/head.html b/web/templates/head.html
index be4ed2b25..7ffeeec7b 100644
--- a/web/templates/head.html
+++ b/web/templates/head.html
@@ -85,6 +85,11 @@
type: 'POST',
data: JSON.stringify(l)
});
+
+ if (window.mm_config.EnableDeveloper === 'true') {
+ window.ErrorStore.storeLastError('DEVELOPER MODE: A javascript error has occured. Please use the javascript console to capture and report the error (row: ' + line + ' col: ' + column + ').');
+ window.ErrorStore.emitChange();
+ }
}
</script>