summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md28
-rw-r--r--requirements.md23
-rw-r--r--web/react/components/search_bar.jsx7
-rw-r--r--web/react/components/search_results.jsx7
-rw-r--r--web/react/components/setting_picture.jsx4
-rw-r--r--web/react/components/team_feature_tab.jsx4
-rw-r--r--web/react/components/team_settings_modal.jsx2
-rw-r--r--web/react/utils/utils.jsx3
-rw-r--r--web/sass-files/sass/partials/_headers.scss3
-rw-r--r--web/templates/head.html2
-rw-r--r--web/web.go2
11 files changed, 67 insertions, 18 deletions
diff --git a/README.md b/README.md
index e22d3312b..9d8e5dfd3 100644
--- a/README.md
+++ b/README.md
@@ -60,7 +60,7 @@ Local Machine Setup (Docker)
3. When docker is done fetching the image, open http://localhost:8065/ in your browser.
### Arch ###
-1. Install docker using the following commands:
+1. Install Docker using the following commands:
``` bash
pacman -S docker
@@ -70,13 +70,13 @@ Local Machine Setup (Docker)
newgrp docker
```
-2. Start docker container:
+2. Start Docker container:
``` bash
docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform
```
-3. When docker is done fetching the image, open http://localhost:8065/ in your browser.
+3. When Docker is done fetching the image, open http://localhost:8065/ in your browser.
### Additional Notes ###
- If you want to work with the latest master from the repository (i.e. not a stable release) you can run the cmd:
@@ -85,7 +85,7 @@ Local Machine Setup (Docker)
docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:dev
```
-- Instructions on how to update your docker image are found below.
+- Instructions on how to update your Docker image are found below.
- If you wish to remove mattermost-dev use:
@@ -103,7 +103,7 @@ Local Machine Setup (Docker)
AWS Elastic Beanstalk Setup (Docker)
------------------------------------
-1. Create a new elastic beanstalk docker application using the [Dockerrun.aws.zip](docker/0.6/Dockerrun.aws//Dockerrun.aws.zip) file provided.
+1. Create a new Elastic Beanstalk Docker application using the [Dockerrun.aws.zip](docker/0.6/Dockerrun.aws//Dockerrun.aws.zip) file provided.
1. From the AWS console select Elastic Beanstalk.
2. Select "Create New Application" from the top right.
3. Name the application and press next.
@@ -125,7 +125,7 @@ AWS Elastic Beanstalk Setup (Docker)
Configuration Settings
----------------------
-There are a few configuration settings you might want to adjust when setting up your instance of Mattermost. You can edit them in [config/config.json](config/config.json) or [docker/0.6/config_docker.json](docker/0.6/config_docker.json) if you're running a docker instance.
+There are a few configuration settings you might want to adjust when setting up your instance of Mattermost. You can edit them in [config/config.json](config/config.json) or [docker/0.6/config_docker.json](docker/0.6/config_docker.json) if you're running a Docker instance.
* *EmailSettings*:*ByPassEmail* - If this is set to true, then users on the system will not need to verify their email addresses when signing up. In addition, no emails will ever be sent.
* *ServiceSettings*:*UseLocalStorage* - If this is set to true, then your Mattermost server will store uploaded files in the storage directory specified by *StorageDirectory*. *StorageDirectory* must be set if *UseLocalStorage* is set to true.
@@ -171,34 +171,34 @@ Email Setup (Optional)
3. The service should restart automatically. Verify the Mattermost service is running with `ps -A`
4. Current logged in users will not be affected, but upon logging out or session expiration users will be required to verify their email address.
-Upgrading Mattermost
----------------------
+Upgrading Mattermost Preview
+----------------------------
### Docker ###
-To upgrade your docker image to the latest release (NOTE: this will destroy all data in the docker container):
+To upgrade your Docker image to a preview of the latest stable release (NOTE: this will erase all data in the Docker container, including the database):
-1. Stop your docker container by running:
+1. Stop your Docker container by running:
``` bash
docker stop mattermost-dev
```
-2. Delete your docker container by running:
+2. Delete your Docker container by running:
``` bash
docker rm mattermost-dev
```
-3. Update your docker image by running:
+3. Update your Docker image by running:
``` bash
docker pull mattermost/platform
```
-4. Start your docker container by running:
+4. Start your Docker container by running:
``` bash
docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform
```
-To upgrade to the latest master from the repository replace `mattermost/platform` with `mattermost/platform:dev` in the above instructions.
+To upgrade to the latest development build on master from the repository replace `mattermost/platform` with `mattermost/platform:dev` in the instructions 3) and 4) above.
Contributing
------------
diff --git a/requirements.md b/requirements.md
new file mode 100644
index 000000000..cc0d1833d
--- /dev/null
+++ b/requirements.md
@@ -0,0 +1,23 @@
+# Requirements
+
+## Web Client
+
+Supported Operating Systems and Browsers:
+
+- PC: Windows 7, Windows 8 (Chrome 43+, Firefox 38+, Internet Explorer 10+)
+- Mac: OS 10 (Safari 7, Chrome 43+)
+- Linux: Arch 4.0.0 (Chrome 43+)
+- iPhone 4s and higher (Safari on iOS 8.3+, Chrome 43+)
+- Android 5 and higher (Chrome 43+)
+
+## Server
+
+While the pre-released version of Mattermost is not currently supported in production, the intention from the product team is to support:
+
+- Ubuntu
+- Debian
+- CentOS
+- RedHat Enterprise Linux
+- Oracle Linux
+
+The Mattermost roadmap does not currently include production support for Fedora, FreeBSD or Arch Linux.
diff --git a/web/react/components/search_bar.jsx b/web/react/components/search_bar.jsx
index e39cf5d46..b11b39e9e 100644
--- a/web/react/components/search_bar.jsx
+++ b/web/react/components/search_bar.jsx
@@ -48,6 +48,13 @@ module.exports = React.createClass({
});
AppDispatcher.handleServerAction({
+ type: ActionTypes.RECIEVED_SEARCH_TERM,
+ term: null,
+ do_search: false,
+ is_mention_search: false
+ });
+
+ AppDispatcher.handleServerAction({
type: ActionTypes.RECIEVED_POST_SELECTED,
results: null
});
diff --git a/web/react/components/search_results.jsx b/web/react/components/search_results.jsx
index 643ad112b..b1efd7685 100644
--- a/web/react/components/search_results.jsx
+++ b/web/react/components/search_results.jsx
@@ -24,6 +24,13 @@ var RhsHeaderSearch = React.createClass({
});
AppDispatcher.handleServerAction({
+ type: ActionTypes.RECIEVED_SEARCH_TERM,
+ term: null,
+ do_search: false,
+ is_mention_search: false
+ });
+
+ AppDispatcher.handleServerAction({
type: ActionTypes.RECIEVED_POST_SELECTED,
results: null
});
diff --git a/web/react/components/setting_picture.jsx b/web/react/components/setting_picture.jsx
index e97b67706..5b12ad7e9 100644
--- a/web/react/components/setting_picture.jsx
+++ b/web/react/components/setting_picture.jsx
@@ -48,6 +48,7 @@ module.exports = React.createClass({
}
confirmButton = <a className={confirmButtonClass} onClick={this.props.submit}>Save</a>;
}
+ var helpText = 'Upload a profile picture in either JPG or PNG format, at least ' + config.ProfileWidth + 'px in width and ' + config.ProfileHeight + 'px height.'
var self = this;
return (
@@ -59,6 +60,9 @@ module.exports = React.createClass({
{img}
</li>
<li className='setting-list-item'>
+ {helpText}
+ </li>
+ <li className='setting-list-item'>
{serverError}
{clientError}
<span className='btn btn-sm btn-primary btn-file sel-btn'>Select<input ref='input' accept='.jpg,.png,.bmp' type='file' onChange={this.props.pictureChange}/></span>
diff --git a/web/react/components/team_feature_tab.jsx b/web/react/components/team_feature_tab.jsx
index ee0bfa874..4f28d84c6 100644
--- a/web/react/components/team_feature_tab.jsx
+++ b/web/react/components/team_feature_tab.jsx
@@ -133,10 +133,10 @@ module.exports = React.createClass({
<div>
<div className='modal-header'>
<button type='button' className='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>&times;</span></button>
- <h4 className='modal-title' ref='title'><i className='modal-back'></i>Feature Settings</h4>
+ <h4 className='modal-title' ref='title'><i className='modal-back'></i>Advanced Features</h4>
</div>
<div ref='wrapper' className='user-settings'>
- <h3 className='tab-header'>Feature Settings</h3>
+ <h3 className='tab-header'>Advanced Features</h3>
<div className='divider-dark first'/>
{valetSection}
<div className='divider-dark'/>
diff --git a/web/react/components/team_settings_modal.jsx b/web/react/components/team_settings_modal.jsx
index c9f479a22..ef2564de0 100644
--- a/web/react/components/team_settings_modal.jsx
+++ b/web/react/components/team_settings_modal.jsx
@@ -27,8 +27,8 @@ module.exports = React.createClass({
},
render: function() {
var tabs = [];
- tabs.push({name: 'feature', uiName: 'Features', icon: 'glyphicon glyphicon-wrench'});
tabs.push({name: 'import', uiName: 'Import', icon: 'glyphicon glyphicon-upload'});
+ tabs.push({name: 'feature', uiName: 'Advanced', icon: 'glyphicon glyphicon-wrench'});
return (
<div className='modal fade' ref='modal' id='team_settings' role='dialog' tabIndex='-1' aria-hidden='true'>
diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx
index 09cd299df..4571312bb 100644
--- a/web/react/utils/utils.jsx
+++ b/web/react/utils/utils.jsx
@@ -271,11 +271,12 @@ function getYoutubeEmbed(link) {
iframe.setAttribute('src',
'https://www.youtube.com/embed/' +
div.id +
- '?autoplay=1&autohide=1&border=0&wmode=opaque&enablejsapi=1');
+ '?autoplay=1&autohide=1&border=0&wmode=opaque&fs=1&enablejsapi=1');
iframe.setAttribute('width', '480px');
iframe.setAttribute('height', '360px');
iframe.setAttribute('type', 'text/html');
iframe.setAttribute('frameborder', '0');
+ iframe.setAttribute('allowfullscreen', 'allowfullscreen');
div.parentNode.replaceChild(iframe, div);
}
diff --git a/web/sass-files/sass/partials/_headers.scss b/web/sass-files/sass/partials/_headers.scss
index 571c7ff1f..c311941b6 100644
--- a/web/sass-files/sass/partials/_headers.scss
+++ b/web/sass-files/sass/partials/_headers.scss
@@ -200,6 +200,9 @@
}
}
}
+ .search__clear {
+ display: none;
+ }
}
#navbar {
diff --git a/web/templates/head.html b/web/templates/head.html
index 5448b09ed..02904e764 100644
--- a/web/templates/head.html
+++ b/web/templates/head.html
@@ -50,6 +50,8 @@
config = {};
}
config.SiteName = '{{ .SiteName }}';
+ config.ProfileWidth = '{{ .Props.ProfileWidth }}'
+ config.ProfileHeight = '{{ .Props.ProfileHeight }}'
</script>
<script src="/static/js/bundle.js"></script>
diff --git a/web/web.go b/web/web.go
index d6f8d553b..e449d2d3a 100644
--- a/web/web.go
+++ b/web/web.go
@@ -30,6 +30,8 @@ func NewHtmlTemplatePage(templateName string, title string) *HtmlTemplatePage {
props := make(map[string]string)
props["AnalyticsUrl"] = utils.Cfg.ServiceSettings.AnalyticsUrl
+ props["ProfileHeight"] = fmt.Sprintf("%v", utils.Cfg.ImageSettings.ProfileHeight)
+ props["ProfileWidth"] = fmt.Sprintf("%v", utils.Cfg.ImageSettings.ProfileWidth)
return &HtmlTemplatePage{TemplateName: templateName, Title: title, SiteName: utils.Cfg.ServiceSettings.SiteName, Props: props}
}