Compare commits

...

11 Commits

Author SHA1 Message Date
enahum
06aa01507f Release 1.1 changelog (#827)
* Release 1.1 changelog

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

Set supported server version
2017-08-04 16:36:42 -04:00
enahum
60bf695789 Version Bump to 47 (#825) 2017-08-04 11:13:51 -04:00
enahum
24eaef38ef Version Bump to 47 (#824) 2017-08-04 10:56:43 -04:00
Harrison Healey
53ae78674e RN-205/RN-210 Allow tapping buttons on post and DM lists without closing keyboard (#823) 2017-08-04 09:14:57 -04:00
enahum
d7ef19f883 Version Bump to 46 (#822) 2017-08-04 09:09:38 -04:00
enahum
15e05c44f5 Version Bump to 46 (#821) 2017-08-04 09:07:31 -04:00
enahum
12f6b11e09 Fix Create on Create channel to not push another Create Channel screen (#820) 2017-08-03 18:14:44 -04:00
enahum
10fd389e15 Android Version Bump to 45 (#819)
* Updated yarn.lock (#817)

* Version Bump to 45
2017-08-03 18:09:44 -04:00
enahum
e50049d0d6 Version Bump to 45 (#818) 2017-08-03 18:09:36 -04:00
enahum
9d3e072f7a Fastlane ensure branch for cutting builds (#815) 2017-08-03 16:25:58 -04:00
Harrison Healey
537598cc64 Updated yarn.lock 2017-08-03 16:22:30 -04:00
14 changed files with 80 additions and 29 deletions

View File

@@ -1,8 +1,9 @@
# Mattermost Mobile Apps Changelog
## v1.1 Release (In Progress)
## v1.1 Release
- Planned Release Date: August 2017
- Release Date: August 2017
- Server Versions Supported: Server v3.10+ is required, Self-Signed SSL Certificates are not yet supported
### Highlights
@@ -13,6 +14,13 @@
#### Emoji Reactions
- View Emoji Reactions on a post
#### Group Messages
- Start Direct and Group Messages from the same screen
#### Improved Performance on Poor Connections
- Added auto-retry to automatically reattempt to get posts if the network connection is intermittent
- Added manual loading option if auto-retry fails to retrieve new posts
### Improvements
- Android: Added Big Text support for Android notifications, so they expand to show more details
- Added a Reset Cache option
@@ -20,17 +28,21 @@
- Tapping on an @username mention opens the user's profile
- Disabled the send button while attachments upload
- Adjusted margins on icons and elsewhere to make spacing more consistent
- iOS: mattermost:// links now open the new app
- iOS URL scheme: mattermost:// links now open the new app
- About Mattermost page now includes a link to NOTICES.txt for platform and the mobile app
- Various UI improvements
### Bug Fixes
- Fixed an issue where sometimes an unmounted badge caused app to crash on start up
- Group Direct Messages now show the correct member count
- Hamburger icon does not break after swiping to close sidebar
- Fixed an issue with some image thumbnails showing up blurry
- Fixed an issue with some image thumbnails appearing out of focus
- Uploading a file and then leaving the channel no longer shows the file in a perpetual loading state
- For private channels, the last member can no longer delete the channel if the EE server pemissions do not allow it
- When SSO login fails, error messages are now shown
- For private channels, the last member can no longer delete the channel if the EE server permissions do not allow it
- Error messages are now shown when SSO login fails
- Android: Leaving a channel now redirects to Town Square instead of the Town Square info page
- Fixed create new public channel screen shown twice when trying to create a channel
- Tapping on a post will no longer close the keyboard
## v1.0.1 Release

View File

@@ -91,7 +91,7 @@ android {
applicationId "com.mattermost.rnbeta"
minSdkVersion 16
targetSdkVersion 23
versionCode 44
versionCode 47
versionName "1.1.0"
multiDexEnabled true
ndk {

View File

@@ -273,7 +273,6 @@ class List extends Component {
screenBackgroundColor: theme.centerChannelBg
},
passProps: {
channelType: General.PRIVATE_CHANNEL,
closeButton: this.closeButton
}
});

View File

@@ -248,6 +248,7 @@ export default class CustomSectionList extends React.PureComponent {
sections={this.state.sections}
keyExtractor={this.props.keyExtractor}
renderItem={this.renderItem}
keyboardShouldPersistTaps='handled'
/>
);
}

View File

@@ -4,6 +4,7 @@
import React, {Component} from 'react';
import PropTypes from 'prop-types';
import {
Keyboard,
View,
TouchableOpacity
} from 'react-native';
@@ -69,6 +70,7 @@ export default class FileAttachmentList extends Component {
handlePreviewPress = (file) => {
this.props.hideOptionsContext();
Keyboard.dismiss();
preventDoubleTap(this.goToImagePreview, this, this.props.postId, file.id);
};

View File

@@ -176,6 +176,7 @@ export default class PostList extends PureComponent {
{...refreshControl}
renderItem={this.renderItem}
theme={theme}
keyboardShouldPersistTaps='handled'
/>
);
}

View File

@@ -128,6 +128,7 @@ class CreateChannel extends PureComponent {
};
close = (goBack = false) => {
EventEmitter.emit('closing-create-channel', false);
if (goBack) {
this.props.navigator.pop({animated: true});
} else {

View File

@@ -3,6 +3,7 @@
import {bindActionCreators} from 'redux';
import {connect} from 'react-redux';
import {createSelector} from 'reselect';
import {General} from 'mattermost-redux/constants';
import {getChannels, joinChannel, searchChannels} from 'mattermost-redux/actions/channels';
@@ -16,16 +17,23 @@ import {getTheme} from 'app/selectors/preferences';
import MoreChannels from './more_channels';
const joinableChannels = createSelector(
getChannelsInCurrentTeam,
getMyChannelMemberships,
(channels, myMembers) => {
return channels.filter((c) => {
return (!myMembers[c.id] && c.type === General.OPEN_CHANNEL);
});
}
);
function mapStateToProps(state, ownProps) {
const {currentUserId} = state.entities.users;
const {currentTeamId} = state.entities.teams;
const {getChannels: requestStatus} = state.requests.channels;
const {config, license} = state.entities.general;
const roles = getCurrentUserRoles(state);
const myMembers = getMyChannelMemberships(state);
const channels = getChannelsInCurrentTeam(state).filter((c) => {
return (!myMembers[c.id] && c.type === General.OPEN_CHANNEL);
});
const channels = joinableChannels(state);
return {
...ownProps,

View File

@@ -58,6 +58,7 @@ class MoreChannels extends PureComponent {
this.state = {
channels: props.channels.splice(0, General.CHANNELS_CHUNK_SIZE),
createScreenVisible: false,
page: 0,
adding: false,
next: true,
@@ -80,6 +81,10 @@ class MoreChannels extends PureComponent {
props.navigator.setButtons(buttons);
}
componentWillMount() {
EventEmitter.on('closing-create-channel', this.handleCreateScreenVisible);
}
componentDidMount() {
// set the timeout to 400 cause is the time that the modal takes to open
// Somehow interactionManager doesn't care
@@ -101,7 +106,13 @@ class MoreChannels extends PureComponent {
this.setState({channels, showNoResults: true});
}
this.headerButtons(nextProps.canCreateChannels, true);
if (!this.state.createScreenVisible) {
this.headerButtons(nextProps.canCreateChannels, true);
}
}
componentWillUnmount() {
EventEmitter.off('closing-create-channel', this.handleCreateScreenVisible);
}
close = () => {
@@ -112,6 +123,10 @@ class MoreChannels extends PureComponent {
this.headerButtons(this.props.canCreateChannels, enabled);
};
handleCreateScreenVisible = (createScreenVisible) => {
this.setState({createScreenVisible});
};
headerButtons = (canCreateChannels, enabled) => {
const buttons = {
leftButtons: [this.leftButton]
@@ -182,7 +197,9 @@ class MoreChannels extends PureComponent {
this.close();
break;
case 'create-pub-channel':
this.onCreateChannel();
this.setState({
createScreenVisible: true
}, this.onCreateChannel);
break;
}
}

View File

@@ -3,11 +3,16 @@ skip_docs
platform :ios do
before_all do |lane|
if lane == :beta
ensure_git_branch(
branch: 'master'
)
sh "git checkout -b ios-#{lane}"
if lane == :beta or lane === :release
current_branch = (sh 'git rev-parse --abbrev-ref HEAD').chop!
UI.user_error!("To cut a beta or a release you need to be on master or in a release branch.
Current branch is #{current_branch}
Exiting") unless current_branch == 'master' or current_branch.start_with?('release')
if lane == :beta
sh "git checkout -b ios-#{lane}"
end
end
end
@@ -211,11 +216,16 @@ end
platform :android do
before_all do |lane|
if lane == :alpha
ensure_git_branch(
branch: 'master'
)
sh "git checkout -b android-#{lane}"
if lane == :alpha or lane === :release
current_branch = (sh 'git rev-parse --abbrev-ref HEAD').chop!
UI.user_error!("To cut a beta or a release you need to be on master or in a release branch.
Current branch is #{current_branch}
Exiting") unless current_branch == 'master' or current_branch.start_with?('release')
if lane == :alpha
sh "git checkout -b android-#{lane}"
end
end
end

View File

@@ -1320,7 +1320,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Mattermost/Mattermost.entitlements;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 44;
CURRENT_PROJECT_VERSION = 47;
DEAD_CODE_STRIPPING = NO;
DEVELOPMENT_TEAM = UQ8HT4Q2XM;
HEADER_SEARCH_PATHS = (
@@ -1353,7 +1353,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Mattermost/Mattermost.entitlements;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 44;
CURRENT_PROJECT_VERSION = 47;
DEAD_CODE_STRIPPING = NO;
DEVELOPMENT_TEAM = UQ8HT4Q2XM;
HEADER_SEARCH_PATHS = (

View File

@@ -21,7 +21,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>44</string>
<string>47</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSRequiresIPhoneOS</key>

View File

@@ -19,6 +19,6 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>44</string>
<string>47</string>
</dict>
</plist>

View File

@@ -3645,7 +3645,7 @@ makeerror@1.0.x:
mattermost-redux@mattermost/mattermost-redux#master:
version "0.0.1"
resolved "https://codeload.github.com/mattermost/mattermost-redux/tar.gz/09be47436ce729d8ab7a390e7e159fcfb75fd27f"
resolved "https://codeload.github.com/mattermost/mattermost-redux/tar.gz/e5297912f528b822b61c61a36735fb4d6699d08d"
dependencies:
deep-equal "1.0.1"
harmony-reflect "1.5.1"