From f5932915afb0ba9231d56c68c354e8627bfdec99 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Thu, 10 Dec 2015 15:26:57 -0500 Subject: [PATCH 01/16] Fixing jumping of center channel with few posts on IE11 --- web/sass-files/sass/partials/_post.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/web/sass-files/sass/partials/_post.scss b/web/sass-files/sass/partials/_post.scss index 3ec1c44340..fbebb4e98f 100644 --- a/web/sass-files/sass/partials/_post.scss +++ b/web/sass-files/sass/partials/_post.scss @@ -209,6 +209,7 @@ body.ios { @include flex(1 1 auto); position: relative; overflow-y: hidden; + height: 100%; .post-list-holder-by-time { background: #fff; From 8f650973080dae861626357ed703fef3d8099037 Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Thu, 10 Dec 2015 14:37:15 -0800 Subject: [PATCH 02/16] PLT-1472 Adding back button to search click through --- web/react/components/search_results_item.jsx | 3 +-- web/react/dispatcher/event_helpers.jsx | 12 ++++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/web/react/components/search_results_item.jsx b/web/react/components/search_results_item.jsx index f71abf9712..f235cac0a9 100644 --- a/web/react/components/search_results_item.jsx +++ b/web/react/components/search_results_item.jsx @@ -31,8 +31,7 @@ export default class SearchResultsItem extends React.Component { handleFocusRHSClick(e) { e.preventDefault(); - - EventHelpers.emitPostFocusRightHandSideEvent(this.props.post); + EventHelpers.emitPostFocusRightHandSideFromSearch(this.props.post, this.props.isMentionSearch); } render() { diff --git a/web/react/dispatcher/event_helpers.jsx b/web/react/dispatcher/event_helpers.jsx index bc11327650..862ff3594e 100644 --- a/web/react/dispatcher/event_helpers.jsx +++ b/web/react/dispatcher/event_helpers.jsx @@ -4,6 +4,7 @@ import AppDispatcher from '../dispatcher/app_dispatcher.jsx'; import ChannelStore from '../stores/channel_store.jsx'; import PostStore from '../stores/post_store.jsx'; +import SearchStore from '../stores/search_store.jsx'; import Constants from '../utils/constants.jsx'; const ActionTypes = Constants.ActionTypes; import * as AsyncClient from '../utils/async_client.jsx'; @@ -39,28 +40,27 @@ export function emitPostFocusEvent(postId) { ); } -export function emitPostFocusRightHandSideEvent(post) { +export function emitPostFocusRightHandSideFromSearch(post, isMentionSearch) { Client.getPost( post.channel_id, post.id, (data) => { AppDispatcher.handleServerAction({ type: ActionTypes.RECIEVED_POST_SELECTED, - post_list: data + post_list: data, + from_search: SearchStore.getSearchTerm() }); AppDispatcher.handleServerAction({ type: ActionTypes.RECIEVED_SEARCH, - results: null + results: null, + is_mention_search: isMentionSearch }); }, (err) => { AsyncClient.dispatchError(err, 'getPost'); } ); - - var postChannel = ChannelStore.get(post.channel_id); - Utils.switchChannel(postChannel); } export function emitLoadMorePostsEvent() { From 9fbbb172edcb8a7de6eabe2262c697b9e2e47101 Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Thu, 10 Dec 2015 14:51:46 -0800 Subject: [PATCH 03/16] Fixing eslint error --- web/react/dispatcher/event_helpers.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/web/react/dispatcher/event_helpers.jsx b/web/react/dispatcher/event_helpers.jsx index 862ff3594e..fa4d1d64f7 100644 --- a/web/react/dispatcher/event_helpers.jsx +++ b/web/react/dispatcher/event_helpers.jsx @@ -9,7 +9,6 @@ import Constants from '../utils/constants.jsx'; const ActionTypes = Constants.ActionTypes; import * as AsyncClient from '../utils/async_client.jsx'; import * as Client from '../utils/client.jsx'; -import * as Utils from '../utils/utils.jsx'; export function emitChannelClickEvent(channel) { AsyncClient.getChannels(true); From 15cc7ccafc745be683cbe9c98409187ecb6a1784 Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Thu, 10 Dec 2015 14:37:15 -0800 Subject: [PATCH 04/16] PLT-1472 Adding back button to search click through --- web/react/components/search_results_item.jsx | 3 +-- web/react/dispatcher/event_helpers.jsx | 12 ++++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/web/react/components/search_results_item.jsx b/web/react/components/search_results_item.jsx index f71abf9712..f235cac0a9 100644 --- a/web/react/components/search_results_item.jsx +++ b/web/react/components/search_results_item.jsx @@ -31,8 +31,7 @@ export default class SearchResultsItem extends React.Component { handleFocusRHSClick(e) { e.preventDefault(); - - EventHelpers.emitPostFocusRightHandSideEvent(this.props.post); + EventHelpers.emitPostFocusRightHandSideFromSearch(this.props.post, this.props.isMentionSearch); } render() { diff --git a/web/react/dispatcher/event_helpers.jsx b/web/react/dispatcher/event_helpers.jsx index bc11327650..862ff3594e 100644 --- a/web/react/dispatcher/event_helpers.jsx +++ b/web/react/dispatcher/event_helpers.jsx @@ -4,6 +4,7 @@ import AppDispatcher from '../dispatcher/app_dispatcher.jsx'; import ChannelStore from '../stores/channel_store.jsx'; import PostStore from '../stores/post_store.jsx'; +import SearchStore from '../stores/search_store.jsx'; import Constants from '../utils/constants.jsx'; const ActionTypes = Constants.ActionTypes; import * as AsyncClient from '../utils/async_client.jsx'; @@ -39,28 +40,27 @@ export function emitPostFocusEvent(postId) { ); } -export function emitPostFocusRightHandSideEvent(post) { +export function emitPostFocusRightHandSideFromSearch(post, isMentionSearch) { Client.getPost( post.channel_id, post.id, (data) => { AppDispatcher.handleServerAction({ type: ActionTypes.RECIEVED_POST_SELECTED, - post_list: data + post_list: data, + from_search: SearchStore.getSearchTerm() }); AppDispatcher.handleServerAction({ type: ActionTypes.RECIEVED_SEARCH, - results: null + results: null, + is_mention_search: isMentionSearch }); }, (err) => { AsyncClient.dispatchError(err, 'getPost'); } ); - - var postChannel = ChannelStore.get(post.channel_id); - Utils.switchChannel(postChannel); } export function emitLoadMorePostsEvent() { From 5472bafb57a6e34f057b4b03d69f0aaa290ac019 Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Thu, 10 Dec 2015 14:51:46 -0800 Subject: [PATCH 05/16] Fixing eslint error --- web/react/dispatcher/event_helpers.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/web/react/dispatcher/event_helpers.jsx b/web/react/dispatcher/event_helpers.jsx index 862ff3594e..fa4d1d64f7 100644 --- a/web/react/dispatcher/event_helpers.jsx +++ b/web/react/dispatcher/event_helpers.jsx @@ -9,7 +9,6 @@ import Constants from '../utils/constants.jsx'; const ActionTypes = Constants.ActionTypes; import * as AsyncClient from '../utils/async_client.jsx'; import * as Client from '../utils/client.jsx'; -import * as Utils from '../utils/utils.jsx'; export function emitChannelClickEvent(channel) { AsyncClient.getChannels(true); From 9943af694811cc7724f785841d6aa4b2ca24fdb0 Mon Sep 17 00:00:00 2001 From: hmhealey Date: Fri, 11 Dec 2015 17:28:12 -0500 Subject: [PATCH 06/16] Changed positioning of root elements to fix weird IE11 bug --- web/sass-files/sass/partials/_base.scss | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/web/sass-files/sass/partials/_base.scss b/web/sass-files/sass/partials/_base.scss index 61ad186e02..bb34214516 100644 --- a/web/sass-files/sass/partials/_base.scss +++ b/web/sass-files/sass/partials/_base.scss @@ -8,7 +8,8 @@ body { font-family: 'Open Sans', sans-serif; -webkit-font-smoothing: antialiased; background: $body-bg; - position: relative; + position: absolute; + width: 100%; height: 100%; &.white { background: #fff; @@ -35,13 +36,11 @@ body { .container-fluid { @include legacy-pie-clearfix; height: 100%; - position: relative; } .channel-view { @include clearfix; height: 100%; - position: relative; } img { From a9fa21473aede43f456bedcfd412061a908e1788 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Fri, 11 Dec 2015 14:19:49 -0500 Subject: [PATCH 07/16] Fixing cacheing issue on IE and Edge --- api/post.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/post.go b/api/post.go index 6736d75e2c..d1b0ae9805 100644 --- a/api/post.go +++ b/api/post.go @@ -986,5 +986,7 @@ func searchPosts(c *Context, w http.ResponseWriter, r *http.Request) { } } + w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") + w.Header().Set("Expires", "0") w.Write([]byte(posts.ToJson())) } From 0932c3a573439ff9238d36d1c2c6244f7a2cfed4 Mon Sep 17 00:00:00 2001 From: it33 Date: Wed, 9 Dec 2015 20:51:23 -0800 Subject: [PATCH 08/16] Adding Highlights to Changelog --- CHANGELOG.md | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a9dad17985..bd620490bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,31 @@ # Mattermost Changelog -## UNDER DEVELOPMENT Release v1.3.0 +## Release v1.3.0 -The "UNDER DEVELOPMENT" section of the Mattermost changelog appears in the product's `master` branch to note key changes committed to master and are on their way to the next stable release. When a stable release is pushed the "UNDER DEVELOPMENT" heading is removed from the final changelog of the release. +Release date: 2015-12-16 -- **Release candidate anticipated:** 2015-12-10 -- **Final release anticipated:** 2015-12-16 +### Release Highlights + +#### iOS App + +- New [Mattermost iOS App](https://github.com/mattermost/ios) now available for iPhone, iPad, and iPod Touch +- New [Mattermost Push Notification Service](https://github.com/mattermost/push-proxy) to relay notifications to custom iOS applications + +#### Search Upgrades + +- Jump to search results in archives using new message permalinks +- It's easier to find what you're looking for with improved auto-complete in search + +#### Advanced Formatting + +- Express more in symbols, with new emoji auto-complete +- Express more in numbers, with rendering of mathematical expressions using Latex (start code blocks with ```latex) +- Personalize your look with new custom font settings under **Account Settings** > **Display** > **Display Font** ### New Features Authentication -- Documented unofficial GitHub SSO support using GitLab UI +- Added unofficial SSO support for GitHub.com and GitHub Enterprise using GitLab UI Archives - Added permalink feature that lets users link to a post in the message archives @@ -35,13 +50,12 @@ Performance - Refactored the center channel Messaging & Comments -- Added "Help" link for messaging -- Removed the @all mention - Added Markdown support for task lists +- Added "Help" link for messaging - Added ability to preview a Markdown message before sending (enabled via Account Settings -> Advanced -> Preview pre-release features) Onboarding -- Added various small improvements to the tutorial +- Minor upgrades to tutorial User Interface - Visually combined sequential messages from the same user @@ -52,6 +66,7 @@ User Interface #### Bug Fixes +- Removed the @all mention to keep users from accidentally spamming team sites - Fixed bug where the member list only showed "20" members for channels with more than 20 members - Fixed bug where the channel sidebar didn't order correctly on Postgres databases - Fixed bug where search results did not highlight when searching with quotation marks, wildcard, or in: and from: modifiers From 6996521751588ae802e36d7b44b19703f1de6bb1 Mon Sep 17 00:00:00 2001 From: it33 Date: Fri, 11 Dec 2015 09:31:42 -0800 Subject: [PATCH 09/16] Push notifications help text update --- web/react/components/admin_console/email_settings.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/react/components/admin_console/email_settings.jsx b/web/react/components/admin_console/email_settings.jsx index 238ace3da7..42e3507d6f 100644 --- a/web/react/components/admin_console/email_settings.jsx +++ b/web/react/components/admin_console/email_settings.jsx @@ -586,7 +586,7 @@ export default class EmailSettings extends React.Component { onChange={this.handleChange} disabled={!this.state.sendPushNotifications} /> -

{'Location of the push notification server.'}

+

{'Location of Mattermost push notification service you can set up behind your firewall using https://github.com/mattermost/push-proxy. For testing you can use https://push.mattermost.com, which connects to the sample Mattermost iOS app in the public Apple AppStore. Please do not use test service for production deployments.'}

From ab367f2bc64c064a3da92424b637fa5fc0b0a01e Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Mon, 14 Dec 2015 08:30:54 -0500 Subject: [PATCH 10/16] Updating dockerfile for release v1.3.0-rc2 --- docker/1.3/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/1.3/Dockerfile b/docker/1.3/Dockerfile index 55b69673a9..a807576887 100644 --- a/docker/1.3/Dockerfile +++ b/docker/1.3/Dockerfile @@ -34,7 +34,7 @@ VOLUME /var/lib/mysql WORKDIR /mattermost # Copy over files -ADD https://github.com/mattermost/platform/releases/download/v1.3.0-rc1/mattermost.tar.gz / +ADD https://github.com/mattermost/platform/releases/download/v1.3.0-rc2/mattermost.tar.gz / RUN tar -zxvf /mattermost.tar.gz --strip-components=1 && rm /mattermost.tar.gz ADD config_docker.json / ADD docker-entry.sh / From 95e0fd88fc281d8b4c5fa0f924a8bb014c682dda Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Mon, 14 Dec 2015 22:27:41 +0500 Subject: [PATCH 11/16] Fixing IE scrolling issue and also fixing horizontal scrollbar --- web/react/components/posts_view.jsx | 3 ++- web/sass-files/sass/partials/_base.scss | 4 +++- web/sass-files/sass/partials/_responsive.scss | 2 -- web/sass-files/sass/partials/_sidebar--right.scss | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/web/react/components/posts_view.jsx b/web/react/components/posts_view.jsx index b7ac926720..cc4f5e1384 100644 --- a/web/react/components/posts_view.jsx +++ b/web/react/components/posts_view.jsx @@ -233,7 +233,8 @@ export default class PostsView extends React.Component { window.requestAnimationFrame(() => { // If separator exists scroll to it. Otherwise scroll to bottom. if (this.refs.newMessageSeparator) { - this.refs.newMessageSeparator.scrollIntoView(); + var objDiv = this.refs.postlist; + objDiv.scrollTop = this.refs.newMessageSeparator.offsetTop; //scrolls node to top of Div } else { this.refs.postlist.scrollTop = this.refs.postlist.scrollHeight; } diff --git a/web/sass-files/sass/partials/_base.scss b/web/sass-files/sass/partials/_base.scss index bb34214516..4f9e1d5c72 100644 --- a/web/sass-files/sass/partials/_base.scss +++ b/web/sass-files/sass/partials/_base.scss @@ -8,7 +8,7 @@ body { font-family: 'Open Sans', sans-serif; -webkit-font-smoothing: antialiased; background: $body-bg; - position: absolute; + position: relative; width: 100%; height: 100%; &.white { @@ -36,11 +36,13 @@ body { .container-fluid { @include legacy-pie-clearfix; height: 100%; + position: relative; } .channel-view { @include clearfix; height: 100%; + position: relative; } img { diff --git a/web/sass-files/sass/partials/_responsive.scss b/web/sass-files/sass/partials/_responsive.scss index 66aaede8d2..2aa130fa9e 100644 --- a/web/sass-files/sass/partials/_responsive.scss +++ b/web/sass-files/sass/partials/_responsive.scss @@ -54,9 +54,7 @@ @media screen and (max-width: 960px) { .sidebar--right { - width: 400px; z-index: 5; - right: 0; @include translateX(100%); &.move--left { diff --git a/web/sass-files/sass/partials/_sidebar--right.scss b/web/sass-files/sass/partials/_sidebar--right.scss index f328f09718..0c0fd930f5 100644 --- a/web/sass-files/sass/partials/_sidebar--right.scss +++ b/web/sass-files/sass/partials/_sidebar--right.scss @@ -8,10 +8,10 @@ padding: 0; background: #fff; @include single-transition(transform, 0.5s, ease); - right: -320px; + @include translateX(400px); &.move--left { - right: 0; + @include translateX(0); } .post-body { From b5a1d0863c49b85610694ddb49996795013b523e Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Mon, 14 Dec 2015 23:00:48 +0500 Subject: [PATCH 12/16] Removing translateX --- web/sass-files/sass/partials/_sidebar--right.scss | 5 ----- 1 file changed, 5 deletions(-) diff --git a/web/sass-files/sass/partials/_sidebar--right.scss b/web/sass-files/sass/partials/_sidebar--right.scss index 0c0fd930f5..488f704dea 100644 --- a/web/sass-files/sass/partials/_sidebar--right.scss +++ b/web/sass-files/sass/partials/_sidebar--right.scss @@ -8,11 +8,6 @@ padding: 0; background: #fff; @include single-transition(transform, 0.5s, ease); - @include translateX(400px); - - &.move--left { - @include translateX(0); - } .post-body { From cada044b9b7dec55dc6a28c8e03072363046d29e Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Mon, 14 Dec 2015 23:09:51 +0500 Subject: [PATCH 13/16] Adding sidebar animation back --- web/sass-files/sass/partials/_sidebar--right.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/web/sass-files/sass/partials/_sidebar--right.scss b/web/sass-files/sass/partials/_sidebar--right.scss index 488f704dea..0c0fd930f5 100644 --- a/web/sass-files/sass/partials/_sidebar--right.scss +++ b/web/sass-files/sass/partials/_sidebar--right.scss @@ -8,6 +8,11 @@ padding: 0; background: #fff; @include single-transition(transform, 0.5s, ease); + @include translateX(400px); + + &.move--left { + @include translateX(0); + } .post-body { From 20fceae163d0aaa1ca11287b913967c671bc55a4 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Mon, 14 Dec 2015 23:39:31 +0500 Subject: [PATCH 14/16] Updating container fluid css --- web/sass-files/sass/partials/_base.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/web/sass-files/sass/partials/_base.scss b/web/sass-files/sass/partials/_base.scss index 4f9e1d5c72..9271fad471 100644 --- a/web/sass-files/sass/partials/_base.scss +++ b/web/sass-files/sass/partials/_base.scss @@ -43,6 +43,12 @@ body { @include clearfix; height: 100%; position: relative; + .container-fluid { + position: absolute; + left: 0; + top: 0; + width: 100%; + } } img { From 4af0cb7767d2e6a431b74f280a54b96d86ef7774 Mon Sep 17 00:00:00 2001 From: Asaad Mahmood Date: Tue, 15 Dec 2015 00:05:48 +0500 Subject: [PATCH 15/16] Fixing pageup issue --- web/sass-files/sass/partials/_base.scss | 6 ------ web/sass-files/sass/partials/_sidebar--right.scss | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/web/sass-files/sass/partials/_base.scss b/web/sass-files/sass/partials/_base.scss index 9271fad471..4f9e1d5c72 100644 --- a/web/sass-files/sass/partials/_base.scss +++ b/web/sass-files/sass/partials/_base.scss @@ -43,12 +43,6 @@ body { @include clearfix; height: 100%; position: relative; - .container-fluid { - position: absolute; - left: 0; - top: 0; - width: 100%; - } } img { diff --git a/web/sass-files/sass/partials/_sidebar--right.scss b/web/sass-files/sass/partials/_sidebar--right.scss index 0c0fd930f5..e39f7730ba 100644 --- a/web/sass-files/sass/partials/_sidebar--right.scss +++ b/web/sass-files/sass/partials/_sidebar--right.scss @@ -1,7 +1,7 @@ @charset "UTF-8"; .sidebar--right { - position: absolute; + position: fixed; width: 400px; height: 100%; right: 0px; From f51d45f6cba0e5a1249146afe4a1c78cf32b7598 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Mon, 14 Dec 2015 18:51:42 -0500 Subject: [PATCH 16/16] Updating dockerfile for release v1.3.0 --- docker/1.3/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/1.3/Dockerfile b/docker/1.3/Dockerfile index a807576887..4a25198af5 100644 --- a/docker/1.3/Dockerfile +++ b/docker/1.3/Dockerfile @@ -34,7 +34,7 @@ VOLUME /var/lib/mysql WORKDIR /mattermost # Copy over files -ADD https://github.com/mattermost/platform/releases/download/v1.3.0-rc2/mattermost.tar.gz / +ADD https://github.com/mattermost/platform/releases/download/v1.3.0/mattermost.tar.gz / RUN tar -zxvf /mattermost.tar.gz --strip-components=1 && rm /mattermost.tar.gz ADD config_docker.json / ADD docker-entry.sh /