diff options
-rw-r--r-- | CHANGELOG.md | 31 | ||||
-rw-r--r-- | api/post.go | 2 | ||||
-rw-r--r-- | docker/1.3/Dockerfile | 2 | ||||
-rw-r--r-- | web/react/components/admin_console/email_settings.jsx | 2 | ||||
-rw-r--r-- | web/react/components/posts_view.jsx | 3 | ||||
-rw-r--r-- | web/react/components/search_results_item.jsx | 3 | ||||
-rw-r--r-- | web/react/dispatcher/event_helpers.jsx | 13 | ||||
-rw-r--r-- | web/sass-files/sass/partials/_base.scss | 1 | ||||
-rw-r--r-- | web/sass-files/sass/partials/_post.scss | 1 | ||||
-rw-r--r-- | web/sass-files/sass/partials/_responsive.scss | 2 | ||||
-rw-r--r-- | web/sass-files/sass/partials/_sidebar--right.scss | 6 |
11 files changed, 41 insertions, 25 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b50b7fc1..0bbb2be93 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 diff --git a/api/post.go b/api/post.go index a102cdf4d..b9bd2c052 100644 --- a/api/post.go +++ b/api/post.go @@ -1062,5 +1062,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())) } diff --git a/docker/1.3/Dockerfile b/docker/1.3/Dockerfile index 55b69673a..4a25198af 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/mattermost.tar.gz / RUN tar -zxvf /mattermost.tar.gz --strip-components=1 && rm /mattermost.tar.gz ADD config_docker.json / ADD docker-entry.sh / diff --git a/web/react/components/admin_console/email_settings.jsx b/web/react/components/admin_console/email_settings.jsx index 238ace3da..42e3507d6 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} /> - <p className='help-text'>{'Location of the push notification server.'}</p> + <p className='help-text'>{'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.'}</p> </div> </div> diff --git a/web/react/components/posts_view.jsx b/web/react/components/posts_view.jsx index b7ac92672..cc4f5e138 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/react/components/search_results_item.jsx b/web/react/components/search_results_item.jsx index f71abf971..f235cac0a 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 297367ce9..a03923c1a 100644 --- a/web/react/dispatcher/event_helpers.jsx +++ b/web/react/dispatcher/event_helpers.jsx @@ -4,11 +4,11 @@ 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'; import * as Client from '../utils/client.jsx'; -import * as Utils from '../utils/utils.jsx'; export function emitChannelClickEvent(channel) { AsyncClient.getChannels(true); @@ -39,28 +39,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() { diff --git a/web/sass-files/sass/partials/_base.scss b/web/sass-files/sass/partials/_base.scss index 61ad186e0..4f9e1d5c7 100644 --- a/web/sass-files/sass/partials/_base.scss +++ b/web/sass-files/sass/partials/_base.scss @@ -9,6 +9,7 @@ body { -webkit-font-smoothing: antialiased; background: $body-bg; position: relative; + width: 100%; height: 100%; &.white { background: #fff; diff --git a/web/sass-files/sass/partials/_post.scss b/web/sass-files/sass/partials/_post.scss index 3ec1c4434..fbebb4e98 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; diff --git a/web/sass-files/sass/partials/_responsive.scss b/web/sass-files/sass/partials/_responsive.scss index 66aaede8d..2aa130fa9 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 f6c8d37a9..e39f7730b 100644 --- a/web/sass-files/sass/partials/_sidebar--right.scss +++ b/web/sass-files/sass/partials/_sidebar--right.scss @@ -1,17 +1,17 @@ @charset "UTF-8"; .sidebar--right { - position: absolute; + position: fixed; width: 400px; height: 100%; right: 0px; padding: 0; background: #fff; @include single-transition(transform, 0.5s, ease); - right: -400px; + @include translateX(400px); &.move--left { - right: 0; + @include translateX(0); } .post-body { |