summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md28
-rw-r--r--doc/README.md29
-rw-r--r--web/react/components/rhs_root_post.jsx4
-rw-r--r--web/react/components/search_autocomplete.jsx4
-rw-r--r--web/react/components/user_profile.jsx2
-rw-r--r--web/react/utils/utils.jsx5
-rw-r--r--web/sass-files/sass/partials/_popover.scss28
-rw-r--r--web/sass-files/sass/partials/_post.scss2
8 files changed, 86 insertions, 16 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3ac8a3261..142e15d91 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,7 +17,8 @@ Messaging and Notifications
- Users can now search for teammates to add to **Direct Message** list via **More** menu
- Users can now personalize Direct Messages list by removing users listed
-- Link previews - Adding URL with .gif file adds image below message
+- Link previews - Adding URL with .gif file adds image below message
+- Added new browser tab alerts to indicate unread messages and mentions
Search
@@ -38,6 +39,8 @@ User Interface
- Languages include `Diff, Apache, Makefile, HTTP, JSON, Markdown, Java, CSS, nginx, ObjectiveC, Python, XML, Perl, Bash, PHP, Coffee, C, SQL, Go, Ruby, Java, and ini`.
- Use by adding the name of the language on the first link of the code block, for example: ```python
- Syntax color theme can be defined under **Account Settings** > **Appearance Settings** > **Custom Theme**
+- Updated Drag & Drop UI
+- Added 24 hour time display option
Team Settings
@@ -49,6 +52,7 @@ Extras
- Added `/shrug KEYWORD` command to output: `¯\_(ツ)_/¯ KEYWORD`
- Added `/me KEYWORD` command to output: _`KEYWORD`_
+- Added setting option to send a message on control-enter instead of enter
System Console
@@ -57,7 +61,10 @@ System Console
#### Bug Fixes
-- Various fixes to theme colors
+- Various fixes to theme colors
+- Fixed issue with the centre channel scroll position jumping when right hand side was opened and closed
+- Added support for simultaneous login to different teams in different browser tabs
+- Incoming webhooks no longer disrupted when channel is deleted
### Compatibility
@@ -93,7 +100,17 @@ The following is for informational purposes only, no action needed. Mattermost a
#### Known Issues
- Microsoft Edge does not yet support drag and drop
-- Incoming webhooks no longer disrupted when channel is deleted
+- After upgrading to v1.2 existing users will see the newly added tutorial tips upon login (this is a special case for v1.2 and will not happen in future upgrades)
+- Channel list becomes reordered when there are lowercase channel names in a Postgres database
+- Member list only shows "20" members for channels with more than 20 members
+- Searches containing punctuation are not highlighted in the results (including in: or from: search modifiers and searches with quotations)
+- Media files of type .avi .mkv .wmv .mov .flv .mp4a do not play properly
+- Editing a post so that it's text is blank (which should delete it) throws a 404
+- No scroll bar in centre channel
+- Theme color import from Slack fails to import the “Active Channel” selection color
+- Pasting images into text box fails to upload on [BROWSERS]
+- Users cannot claim accounts imported from Slack via password reset
+- Slack import @mentions break
#### Contributors
@@ -110,7 +127,10 @@ Many thanks to our external contributors. In no particular order:
- [jvasallo](https://github.com/jvasallo)
- [layzerar](https://github.com/layzerar)
- [optimistiks](https://github.com/optimistiks)
-- [layzerar](https://github.com/layzerar)
+- [Tsynapse](https://github.com/Tsynapse)
+- [vinnymac](https://github.com/vinnymac)
+- [yuvipanda](https://github.com/yuvipanda)
+- [toyorg](https://github.com/toyorg)
## Release v1.1.1 (Bug Fix Release)
diff --git a/doc/README.md b/doc/README.md
index 1b9cc759d..7ed20fba6 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -3,32 +3,51 @@
## Installation
#### Preview Installation
-Get up and running quickly with Docker-based install
+See what Mattermost has to offer in a Docker-based preview install
+Local Machine:
+- [One-line Docker Install](install/Docker-Single-Container.md#one-line-docker-install)
+- [Mac OS X install](install/Docker-Single-Container.md#mac-osx)
+- [Ubuntu Install](install/Docker-Single-Container.md#ubuntu)
+- [Arch Install](install/Docker-Single-Container.md#arch)
+
+Service Based:
- [AWS Elastic Beanstalk Setup](install/Amazon-Elastic-Beanstalk.md)
-- [Docker Single Container Preview Setup](install/Docker-Single-Container.md)
+
+Optional:
- [SMTP Email Setup](install/SMTP-Email-Setup.md)
- [System Console Settings](install/Configuration-Settings.md)
#### Production Installation
-Set up Mattermost in your data center
+Set up Mattermost in your data center using compiled binaries
- [Software and Hardware Requirements](install/Requirements.md)
- [Production Ubuntu Setup](install/Production-Ubuntu.md)
- [SMTP Email Setup](install/SMTP-Email-Setup.md)
- [System Console Settings](install/Configuration-Settings.md)
+- [Trouble Shooting Guide](install/Troubleshooting.md)
+
+Optional
+- [Community Guide for Production Debian Setup](install/Production-Debian.md)
#### Configuration and Management
- [System Console Settings](install/Configuration-Settings.md)
- [GitLab SSO Configuration](integrations/Single-Sign-On/Gitlab.md)
-- [Mattermost Release Numbering Scheme](install/Release-Numbering.md)
+- [Mattermost Release Numbering and Schedule](install/Release-Numbering.md)
+
+#### System Upgrades
+Procedures for upgrading the Mattermost server
+- [Mattermost Release Numbering and Schedule](install/Release-Numbering.md)
+- [Upgrade Guide](install/Upgrade-Guide.md)
## Developer Documentation
-- [Code Contribution Guidelines](developer/Code-Contribution-Guidelines.md)
+- [Code Contribution Guidelines](https://github.com/mattermost/platform/blob/master/CONTRIBUTING.md)
- [Developer Machine Setup](developer/Setup.md)
- [Mattermost Style Guide](developer/Style-Guide.md)
- [API Overview](developer/API.md)
- [Incoming Webhooks](integrations/webhooks/Incoming-Webhooks.md)
+ - [Outgoing Webhooks](integrations/webhooks/Outgoing-Webhooks.md)
+ - [Web Service API](developer/API-Web-Service.md)
## Help
diff --git a/web/react/components/rhs_root_post.jsx b/web/react/components/rhs_root_post.jsx
index 21e52b438..e3b023841 100644
--- a/web/react/components/rhs_root_post.jsx
+++ b/web/react/components/rhs_root_post.jsx
@@ -9,6 +9,7 @@ var utils = require('../utils/utils.jsx');
var FileAttachmentList = require('./file_attachment_list.jsx');
var twemoji = require('twemoji');
var Constants = require('../utils/constants.jsx');
+const PostBodyAdditionalContent = require('./post_body_additional_content.jsx');
export default class RhsRootPost extends React.Component {
constructor(props) {
@@ -180,6 +181,9 @@ export default class RhsRootPost extends React.Component {
onClick={TextFormatting.handleClick}
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(post.message)}}
/>
+ <PostBodyAdditionalContent
+ post={post}
+ />
{fileAttachment}
</div>
</div>
diff --git a/web/react/components/search_autocomplete.jsx b/web/react/components/search_autocomplete.jsx
index 736919697..3ff33fe57 100644
--- a/web/react/components/search_autocomplete.jsx
+++ b/web/react/components/search_autocomplete.jsx
@@ -289,7 +289,7 @@ export default class SearchAutocomplete extends React.Component {
key='public-channel-divider'
className='search-autocomplete__divider'
>
- {'Public ' + Utils.getChannelTerm(Constants.OPEN_CHANNEL) + 's'}
+ <span>{'Public ' + Utils.getChannelTerm(Constants.OPEN_CHANNEL) + 's'}</span>
</div>
);
suggestions = suggestions.concat(publicChannels.map(this.renderChannelSuggestion));
@@ -302,7 +302,7 @@ export default class SearchAutocomplete extends React.Component {
key='private-channel-divider'
className='search-autocomplete__divider'
>
- {'Private ' + Utils.getChannelTerm(Constants.PRIVATE_CHANNEL) + 's'}
+ <span>{'Private ' + Utils.getChannelTerm(Constants.PRIVATE_CHANNEL) + 's'}</span>
</div>
);
suggestions = suggestions.concat(privateChannels.map(this.renderChannelSuggestion));
diff --git a/web/react/components/user_profile.jsx b/web/react/components/user_profile.jsx
index c4402ae23..eb0a8f0ca 100644
--- a/web/react/components/user_profile.jsx
+++ b/web/react/components/user_profile.jsx
@@ -41,7 +41,7 @@ export default class UserProfile extends React.Component {
UserStore.removeChangeListener(this.onChange);
}
onChange(userId) {
- if (userId === this.props.userId) {
+ if (!userId || userId === this.props.userId) {
var newState = this.getStateFromStores(this.props.userId);
if (!Utils.areStatesEqual(newState, this.state)) {
this.setState(newState);
diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx
index 8052c000c..38f91b35f 100644
--- a/web/react/utils/utils.jsx
+++ b/web/react/utils/utils.jsx
@@ -513,7 +513,7 @@ export function applyTheme(theme) {
changeCss('#post-list .post-list-holder-by-time', 'background:' + theme.centerChannelBg, 1);
changeCss('#post-create', 'background:' + theme.centerChannelBg, 1);
changeCss('.date-separator .separator__text, .new-separator .separator__text', 'background:' + theme.centerChannelBg, 1);
- changeCss('.post-image__column .post-image__details', 'background:' + theme.centerChannelBg, 1);
+ changeCss('.post-image__column .post-image__details, .search-help-popover .search-autocomplete__divider span', 'background:' + theme.centerChannelBg, 1);
changeCss('.sidebar--right, .dropdown-menu, .popover, .tip-overlay', 'background:' + theme.centerChannelBg, 1);
changeCss('.popover.bottom>.arrow:after', 'border-bottom-color:' + theme.centerChannelBg, 1);
changeCss('.popover.right>.arrow:after, .tip-overlay.tip-overlay--sidebar .arrow, .tip-overlay.tip-overlay--header .arrow', 'border-right-color:' + theme.centerChannelBg, 1);
@@ -541,11 +541,12 @@ export function applyTheme(theme) {
changeCss('.channel-header #member_popover', 'color:' + changeOpacity(theme.centerChannelColor, 0.8), 1);
changeCss('.custom-textarea, .custom-textarea:focus, .preview-container .preview-div, .post-image__column .post-image__details, .sidebar--right .sidebar-right__body, .markdown__table th, .markdown__table td, .command-box, .modal .modal-content, .settings-modal .settings-table .settings-content .divider-light, .webhooks__container, .dropdown-menu, .modal .modal-header, .popover, .mentions--top .mentions-box', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
changeCss('.popover.bottom>.arrow', 'border-bottom-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
+ changeCss('.search-help-popover .search-autocomplete__divider span', 'color:' + changeOpacity(theme.centerChannelColor, 0.7), 1);
changeCss('.popover.right>.arrow', 'border-right-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
changeCss('.popover.left>.arrow', 'border-left-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
changeCss('.popover.top>.arrow', 'border-top-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
changeCss('.command-name, .popover .popover-title', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
- changeCss('.dropdown-menu .divider', 'background:' + theme.centerChannelColor, 1);
+ changeCss('.dropdown-menu .divider, .search-help-popover .search-autocomplete__divider:before', 'background:' + theme.centerChannelColor, 1);
changeCss('.custom-textarea', 'color:' + theme.centerChannelColor, 1);
changeCss('.post-image__column', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 2);
changeCss('.post-image__column .post-image__details', 'color:' + theme.centerChannelColor, 2);
diff --git a/web/sass-files/sass/partials/_popover.scss b/web/sass-files/sass/partials/_popover.scss
index 430813e63..7d98935d5 100644
--- a/web/sass-files/sass/partials/_popover.scss
+++ b/web/sass-files/sass/partials/_popover.scss
@@ -36,10 +36,36 @@
}
}
+ .search-autocomplete__divider {
+ margin: 10px 0 5px;
+ line-height: 21px;
+ position: relative;
+ &:first-child {
+ margin-top: 5px;
+ }
+ span {
+ display: inline-block;
+ padding-right: 10px;
+ background: #fff;
+ z-index: 5;
+ position: relative;
+ }
+ &:before {
+ content: "";
+ position: absolute;
+ width: 100%;
+ height: 1px;
+ background: #ddd;
+ top: 10px;
+ left: 0;
+ @include opacity(0.2);
+ }
+ }
+
.search-autocomplete__item {
cursor: pointer;
padding: 6px 8px;
- margin: 3px 0;
+ margin: 3px 0 0 5px;
@include border-radius(2px);
white-space: nowrap;
overflow: hidden;
diff --git a/web/sass-files/sass/partials/_post.scss b/web/sass-files/sass/partials/_post.scss
index b57c51242..36f6f445e 100644
--- a/web/sass-files/sass/partials/_post.scss
+++ b/web/sass-files/sass/partials/_post.scss
@@ -674,7 +674,7 @@ body.ios {
width: 20%;
float: right;
img {
- height: 75px;
+ max-height: 75px;
max-width: 100%;
}
}