Skip to content
This repository has been archived by the owner on Sep 28, 2020. It is now read-only.

Commit

Permalink
Merge 1.17 from staging to production (#52)
Browse files Browse the repository at this point in the history
* Count the posts received after combining join/leave (mattermost#2378)

* Fix Post and network indicator Layouts (mattermost#2382)

* Fix post layout that caused text cutoff

* Fix network indicator layout on non iPhone X devices

* Fetch team channels on extension init (mattermost#2383)

* Fix jewel in team sidebar for android (mattermost#2386)

* Fix post menu touchables (mattermost#2385)

* MM-12960: Only back to previous channel if is not archived (mattermost#2389)

* Fixing no parseable (by the i18n extractor) optional chaining construction (mattermost#2387)

* MM-13041: Not show direct channels without display name (mattermost#2388)

* Android: Fix crash when attaching files from the downloads folder (mattermost#2390)

* Add Ukrainian to Mattermost (mattermost#2392)

* Fix fetching more channels to join (mattermost#2393)

* Fix fetching more channels to join

* update snapshot

* Fixed issue where message attachments were empty if text came through on fallback (mattermost#2395)

* Bump app build number to  160 (mattermost#2396)

* More fixes to the post layout (mattermost#2408)

* File image attachments sometimes do not open the image preview (mattermost#2397)

* Update mattermost-redux sidebar sorting and WS fixes (mattermost#2410)

* NOTICE.txt updates for December 2018 (mattermost#2417)

- Removed no-longer-used dependency `react-native-drawer-layout`
- Minor authorship/copyright/URL updates

* Add support for Elixir syntax highlighting (mattermost#2355)

see mattermost/mattermost-webapp#2056

* Adding i18n-extract task to the Makefile (mattermost#2416)

* Fixed typo in i18nId (mattermost#2384)

There are should be `mobile.advanced_settings.delete_file_cache` instead of `mobile.advanced_settings.clear_downloads`.

* post menu and file attachments (mattermost#2414)

* post menu and file attachments

* Fix post list selector test

* Use new Gesture handler to avoid gesture conflicts in post menu and reaction list

* Allow reaction list to scroll the header on Android

* Feedback review

* Add some comments

* Fix eslint

* Bump app build number to 161 (mattermost#2421)

* Wait 1s before clearing notifications when app is brought to the foreground (mattermost#2419)

* [MM-8404] Channel notification setting for disabling channel mentions (#MM-8404) (mattermost#2302)

* Channel notification setting for disabling channel mentions (#MM-8404)

* Replaces raw string value by constants (#MM-8404)

* Updates import according to redux update (#MM-8404)

* make circular badge on jewel for single-digit mention (mattermost#2422)

* render text for non-existent emoji when post metadata is enabled (mattermost#2423)

* Fix opening documents on Android (mattermost#2425)

* Android extension channel list to display all items (mattermost#2426)

* Update fastlane env vars example (mattermost#2402)

* Fix reaction list cutoff at end of list (mattermost#2424)

* MM-13361 Set Open Teams icons background to white (mattermost#2430)

* MM-13362 Update account settings header color when changing theme (mattermost#2431)

* MM-13362 Update account settings header color when changing theme

* Removed unneded static var

* Fix team mention badge alignment on iOS (mattermost#2427)

* MM-13364 Fix text too light on dark themes in TextSetting widget (mattermost#2432)

* MM-13366 Post menu doesn't hint at more options below the fold (mattermost#2434)

* MM-13367 Unexpected scrolling/blank while long post is incoming (mattermost#2435)

* MM-13374 Fix collapse posts with long message attachments (mattermost#2436)

* MM-13379 Make deleted comments indented (mattermost#2437)

* Sort pinned posts from newest to oldest (mattermost#2440)

* Sort pinned posts from newest to oldest

* Update mattermost-redux

* MM-13368 Do not truncate tall images in preview screen (mattermost#2438)

* MM-13368 Do not truncate tall images in preview screen

* Add unit test for viewport max height

* Fix typo

* MM-13358 iOS Share extension channel list (mattermost#2429)

* Hide Favorite channel section when there are not favorite channels (mattermost#2439)

* Properly check if link is an image when link is shortened (mattermost#2441)

* MM-13365/MM-13375 Fix edit profile image (mattermost#2433)

* MM-13365/MM-13375 Fix edit profile image

* Set Max file size to 20Mb

* MM-13419 Fix leaving private channel from another client (mattermost#2442)

* update redux commit to fix sorting of channels at sidebar unreads section (mattermost#2444)

* Bump app build number to 162 (mattermost#2445)

* Update react-native-image-picker dependency (mattermost#2446)

* Fix edit profile image (mattermost#2448)

* Fix copy markdown link (mattermost#2449)

* MM-13420 Always show the Unreads section in the channel list (mattermost#2451)

* MM-13421 Fix channel sidebar sometimes using old permissions (mattermost#2450)

* MM-12906 - Add thumbnails to theme selection (mattermost#2381)

* MM-13431 Fix load more posts (mattermost#2452)

* Load more posts of a channel by determining the amount of posts shown regardless of how many are in the store

* Feedback review

* do not combine posts when fetching them

* Post Menu initial position to show one option cut off (mattermost#2453)

* MM-13333 Fix minor alignment issue with reply thread indicator (mattermost#2456)

* Add a pixel to margin right for profile_picture container
    to compensate status icon platform styles

* Bump app build number to 163 (mattermost#2459)

* prevent double tap on Channel Info options (mattermost#2455)

* Update date separators when timezone changes (mattermost#2443)

* Update date separators when timezone changes

* Fix typo

* Remove extra divider below Edit Channel in Channel info (mattermost#2454)

* Remove extra divider below Edit Channel in Channel info

* Fix indentation

* v1.15 Changelog (mattermost#2370)

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-Authored-By: amyblais <[email protected]>

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-Authored-By: amyblais <[email protected]>

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-Authored-By: amyblais <[email protected]>

* MM-12354 Remove Profile Image (mattermost#2428)

* save progress

* Add option to remove profile picture

* missed when rebasing

* rename extraOptions to removeProfileImage

* clean up removeProfileImage action

* placeholder after removing profile picture, unit tests

* [MM-13433] Fix unnecessary rendering for reactions component and reaction list screen (mattermost#2464)

* fix unnecessary rendering for reactions component and reaction list screen

* update redux commit

* Show an alert box when the team could not be joined (mattermost#2462)

* Bump app build number to 164 (mattermost#2469)

* Bump app build number to 165 and increase minimum Android SDK version (mattermost#2470)

* Bump app build number to 165

* Increase Android minimum SDK version

* Add the onMessage handler when sso completes (mattermost#2474)

* Add the onMessage handler when sso completes

* Enable handler only for mattermost server

* Bump App Version to 1.15.1 and Build number to 166 (mattermost#2475)

* Bump app version number to 1.15.1

* Bump app build number to 166

* Fix formatting error in changelog and add note about Android compatibility change in v1.15 (mattermost#2465)

* Fix formatting error in changelog

* Update CHANGELOG.md

* Update CHANGELOG.md

* Fixes for duplicate text on message attachments, empty space when attachment has no title (mattermost#2460)

* LHS use getSortedFavoriteChannelIds instead of getFavoriteChannelIds (mattermost#2471)

* Fix post menu rounded corners (mattermost#2472)

* Bump version to 1.16.0 and Build number to 167 (mattermost#2481)

* Fix fastlane platform thumbnail

* Bump app version number to 1.16.0

* Bump app build number to 167

* Edit Profile fix

* Update CHANGELOG.md (mattermost#2486)

* Handling nulls in getMyCurrentChannelMembership (mattermost#2488)

* MM-13405 Change warning message to be singular when adding last user to GM (mattermost#2478)

* MM-13432 Remove unsed request flags from channel_members (mattermost#2490)

* Remove unsed request flags from channel_members

* Fix intial state to match redux state

* Update redux hash

* MM-11232 Fix table column width to better support wide tables  (mattermost#2467)

* MM-11232 Fix table column width to better support wide tables

* Fix horizontal scrolling on Android

* Fix visibility of retry failed message option (mattermost#2492)

* Fix visibility of retry failed message option

* Feedback review

* Fix other users status changes (mattermost#2491)

* Update fastlane (mattermost#2494)

* Handling nulls in getMyChannelMember (mattermost#2493)

* Handling nulls in getMyChannelMember

* Addressing review comments

* MM-13432 Remove getFilesForPost request state and use react state (mattermost#2496)

* MM-13432 Remove getFilesForPost request state and use react state

* Add test cases

* Fix Keywords modal title on Android (mattermost#2498)

* MM-13666 Detect post as emoji only if not a codeblock (mattermost#2497)

* Detect post as emoji only if not a codeblock

* Feedback review

Co-Authored-By: enahum <[email protected]>

* Feedback review

Co-Authored-By: enahum <[email protected]>

* MM-13654: Removes pin and delete longpress options from posts in arch… (mattermost#2495)

* MM-13654: Removes pin and delete longpress options from posts in archived channels.

* MM-13654: Maintains existing option order. Updates others' posts options.

* Fix settings screen not showing joinable teams (mattermost#2500)

* Bump app build number to 168 (mattermost#2505)

* MM-13665 Prevent quick multiple taps on file to open multiple file previews (mattermost#2503)

* MM-13751: Fix for incorrect access to delete button. (mattermost#2508)

* Bump app build number to 169 (mattermost#2510)

* Version 1.15.2 and Build number 170 (mattermost#2513)

* Bump app version number to  1.15.2

* Bump app build number to 170

* v1.16 Changelog (mattermost#2487)

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* translations PR 20190121 (mattermost#2518)

* Clicking username in read-only allows sending message (mattermost#2489)

* Update fastlane (mattermost#2526)

* Fastlane env vars example update (mattermost#2527)

* MM-13722 Set the application badge to the number of mentions (mattermost#2523)

* MM-13752 Thread view should not display new message indicator (mattermost#2519)

* Change the prop `indicateNewMessages` on postList in thread view to be false

* MM-13439 change close edit profile window text to Cancel (mattermost#2520)

* MM-13673 combine reset cache & delete files into one action (mattermost#2499)

* MM-13846 Alert boxes to follow UX Guidelines (mattermost#2525)

* MM-13525 Fix alignment of jewel on channel drawer icon (mattermost#2473)

* MM-13525 Fix alignement of jewel on channel drawer icon
Fix position of dot
Fix snapshot
Change unread indicator to be View instead of . text

* Fix position of dot for unread indicator in badge

* Update snapshot

* Bump Version to 1.16.0 and Build number 171 (mattermost#2530)

* Bump app build number to 171

* Bump app version number to 1.16.0

* [MM-13412 & MM-13711] Allow showing of all post options if possible to fit 75% of the screen height (mattermost#2501)

* allow showing all options if possible to fit 60% of the screen height

* change max initial position from 60% to 70%

* fix broken UI of the bottom part of post options

* change to 75%

* Bump redux version. (mattermost#2531)

* MM-13875 Fix user profile icon for a Webhook to follow the prop for use_user_icon (mattermost#2533)

* MM-13876 React Native: Webhook icon is misaligned and bottom edges are cut off (mattermost#2536)

* Enable tapping on channels when jump to textfield is focused. (mattermost#2535)

* Allow tapping on channels in the filtered list …

… when the keyboard is open. This option also allows tapping on non-interactive areas to still dismiss the keyboard.

* keyboard propery updates

- change ‘on-drag’ to ‘interractive’
- change ‘handled’ to ‘always’ to be more consistent with other uses of same property

* support multiple keyboard dismiss modes

* MM-13866 Never ending loader if app is un authenticated (mattermost#2539)

* if token or url is not present setState of loaded flag to true

* [MM-13839] Remove possibility to change eMail within mobile app (mattermost#2540)

* Make eMail setting read only

* Add translation entry, change wording

* Update wording

* MM-13897 preserve iOS push notifications when opening the app and set the proper badge count (mattermost#2541)

* MM-13859 set the auth token when fetching images from the server (mattermost#2537)

* MM-13859 set the auth token when fetching images from the server

* set the image_cache siteURL from redux

* HH suggestion

Co-Authored-By: enahum <[email protected]>

* Removing comment

* Bump app build number to 172 (mattermost#2543)

* Update NOTICE.txt (mattermost#2544)

- Minor copyright owner updates

* [MM-13677] Fix to ensure unsupported unicode emoji can be rendered jumbo size (mattermost#2545)

* fixes unicode emoji not rendering jumbo

- replace inline emoji regex with npm emoji-regex library
- update notice.txt with emoji-regex license
- jumbo emoji issue automatically fixed with updated unicode emoji regex

* Add several tests specifically for 🤟emoji.

* Fix previewing doc files more than once on Android (mattermost#2550)

* MM-13974 Missing translations (mattermost#2549)

* Missing translations

* update snapshots

* Fix placeholder image on Android when profile pic is removed (mattermost#2551)

* MM-13830 Ensure schedule of session expired notification (mattermost#2554)

* Ensure schedule of session expired notification

* feedback review

* passing intl instead of message

* Add support for relative permalinks (mattermost#2555)

* Bump app build number to 173 (mattermost#2557)

* MM-13337 Fix EMM connections using VPN on-demand (mattermost#2558)

* Fix EMM connections using VPN on-demand

* Update package.json

* Update package-lock.json

* MM-13428 Updating mm-redux hash (mattermost#2566)

* [MM 13720] Fix for "No internet connection" banner not always showing (mattermost#2563)

* Add `opacity` to compopnent state …

… to trigger render updates when the property changes.

* Fix bug stopping app from updating connection status

- if the app is opened when no internet connection is present, turning on the internet with the app open will not remove the `No internet connection` message.

* style corrections

* Build Fix

* MM-14001 Don't mount PostBodyAdditionalContent for system messages (mattermost#2564)

* MM-14055: Load the channel even if not joining. (mattermost#2567)

* Fix alignment of count on channel drawer (mattermost#2569)

* [MM 13934] Prevent blank mention keys from crashing the app (mattermost#2570)

* don’t match blank word boundaries

* test for blank mention keys

* Check for blank mention before looking for match

* account for multiple spaces as a blank mention

* Deep linking based on channel url; Fix merge conflicts (mattermost#2542)

Code cleanup

* Bump app build number to 174 (mattermost#2572)

* Bump app build number to 175 (mattermost#2573)

* Update mattermost-redux to latest (mattermost#2574)

* v1.16 Changelog (mattermost#2529)

* MM-13896 Sync channel as read between clients (including opening Push Notifications) (mattermost#2548)

* Update mattermost-redux to use latest WS changes

* Properly mark channel as read, keep the new message indicator, and fix push notification flow

* unneeded parameter in setCurrentUserStatusOffline

Co-Authored-By: enahum <[email protected]>

* Feedback review

* Update mm-redux ref

* [MM-13295] Make channel link clickable for user who's not member of the public channel (mattermost#2466)

* Make channel link clickable for user who's not member of the public channel

* update per review

* update per comment

* remove setChannelDisplayName

* Don't show confusing versioning message in "Check for Updates" screen when using a beta/testing build or platform config hasn't been updated for prod (mattermost#2556)

UI doesn't update when NO_BETA is set

* Fix opengraph and reactions for older servers (mattermost#2581)

* [MM-14017] Fix whitespace between input box and post list on iOS (mattermost#2580)

* fix whitespace between input box and post list on iOS

* corrected viewPosition when pulling down the post list and add constant for thread screen

* corrected changes made to viewPosition

* [MM-13975] Add Terms of Service and Privacy Policy Links (mattermost#2559)

* [MM-13975] Add terms of service and privacy policy links

* [MM-13975] Address comments

* [MM-10346] Set CSRF Token from Cookie after Login / on App load (mattermost#2534)

* Set CSRF Token from Cookie after Login / on App load

* Reset CSRF on Logout

* Simplify cookie value access

* Make Set CSRF Blocking

* [MM 13161] Mobile: Add paging to Select Teams screen (mattermost#2468)

* Use updated getJoinableTeams function from mattermost-redux

* Use onEndReached for infinite scrolling of paginated teams

* Add onRefresh

* Update Settings screen to expect joinableTeams as array

* Fix linter issues

* Test that page is updated after getTeams() call

* Revert package-lock.json changes

* Update mattermost-redux dependency

* Update mattermost-redux dependency

* Only call getTeams if more can be loaded and only after a previous
call has completed

* Update snapshot due to  prop

* Update CustomList to support refreshing as well as option to not
render the separator

* Use CustomList in SelectTeam

* Prevent the app from crashing when file mime type is null (mattermost#2582)

* Bump app Version to 1.16.1 and Build Number to 176 (mattermost#2584)

* Bump app build number to 176

* Bump app version number to 1.16.1

* Update fastlane

* Dependencies update (mattermost#2576)

* Dependencies update

* Fix WebView

* Update to RN 0.58.5 and include the WebSocket fix

* Update react-native-video

* Fix RNFetchBlob

* Migrate Android from GCM to FCM (mattermost#2577)

* Fix utils reference (mattermost#2586)

* Update mattermost-redux (mattermost#2587)

* [MM-13954] Fix prop type for post reactions (mattermost#2578)

* Fix prop type for post reactions

* Update react list test

* Update CHANGELOG.md (mattermost#2589)

* [MM-14193] Render emojis in Message Attachment title (mattermost#2591)

* immediately return when connection is offline (mattermost#2594)

* Update Android RAM Bundle (mattermost#2585)

* Update Android RAM Bundle

* Remove missed files and fix README

* rename schedule to scheduler

* fix README.md formatting (mattermost#2592)

* iOS Native Share Extension (Swift) (mattermost#2575)

* iOS Native Share Extension (Swift)

* Re-arrange files

* Fix .gitignore

* Use forked react-native-navigation with v1 patch (mattermost#2596)

* Bump Version to 1.17.0 Build 177 (mattermost#2602)

* Bump app build number to 177

* Bump app version number to 1.17.0

* Update sentry to fix android build (mattermost#2603)

* Handle pending posts when dispatching RECEIVED_NEW_POST (mattermost#2606)

* Check for null uri prior to getting path to shared content (mattermost#2607)

* Ensure data has url key before attempting upload (mattermost#2609)

* Fix crash when fresh install android when getting the fcm token (mattermost#2608)

* Add coverage to .gitignore (mattermost#2601)

* [MM-14081] Show MFA Prompt after Server returned error for login request (mattermost#2599)

* Show MFA Prompt after Server returned error for login request

* eslint

* Hide MFA error on first login attempt

* [MM-13824] add one_you strings for better translatability in team/channel related messages. (mattermost#2604)

* [MM-14238] Add make command to generate unsigned x86_64 build for VM/simulator (mattermost#2597)

* add make command to generate unsigned x86_64 build for VM/simulator

* updated per comment, added common function at makefile

* added start|stop_packger to start and stop phony

* Update NOTICE.txt (mattermost#2618)

- Minor copyright owner updates

* fix intermittent crash when selecting a link (mattermost#2620)

* fix default email interval from never to immediate (mattermost#2614)

* Fix checkLoginResponse for MFA (mattermost#2623)

* Update PULL_REQUEST_TEMPLATE.md (mattermost#2616)

So the links looked like placeholder wiki redirects, fixed them to their targets

* fix undefined site URL when copying permalink (mattermost#2629)

* fix enabling post icon override (mattermost#2611)

* Fix github issues link (mattermost#2615)

* Fix github issues link

* Fix link to issues for server tagged ReactNative

* Fix regression when sharing files with spaces in the filename (mattermost#2624)

* Set the correct channel display name when switching teams (mattermost#2625)

* Add target to Mattermost and MattermostShare (mattermost#2626)

* Wait for VPN connection only when appconfig flag is set (mattermost#2627)

* Bump app build number to 178 (mattermost#2630)

* Bump app build number to 179 (mattermost#2632)

* Do not show deactivated users when adding members (mattermost#2613)

* Highlight CJK mention keywords in sentense (mattermost#2590)

* [MM-14192] Render hyperlinks in Message Attachment title (mattermost#2617)

* Change comment to more common xml format (mattermost#2621)

* fix multiple text entries when typing with Shift+Letter on Android (mattermost#2634)

* do not save email interval preference on cancel on Android device (mattermost#2633)

* Add Office 365 login support (mattermost#2628)

* fix channel mention when app is started from push notification (mattermost#2638)

* MM-14461: make @-mentions (and searches) case insensitive (mattermost#2641)

* [MM-14527] Fix default behavior when enabling/disabling email batching (mattermost#2642)

* fix default behavior when enabling/disabling email batching

* update redux commit to master - 98856a3

* Bump app build number to 180 (mattermost#2645)

* fix channel mention badge and posts after opening the app from push notification (which is initially at closed state) (mattermost#2648)

* fix email setting to "Never" when first saved (hitting back button on iOS) without actually changing the selection (mattermost#2650)

* Bump app build number to 181 (mattermost#2651)

* Clear iOS notifications on channel read (mattermost#2652)

* MM-14630 Mark channel as read and viewed when opening brought from the background (mattermost#2658)

* iOS Share Extension fix post and dm/gm list (mattermost#2659)

* MM-14629 DMs and GMs for the iOS extension to match sidebar

* MM-14631 ios extension logging and fix race condition to post after uploading

* Bump app build number to 182 (mattermost#2661)

* MM-13795 Detect timezone updates on Android (mattermost#2660)

* MM-14154 Update react-native-image-gallery (mattermost#2655)

* translations PR 20190318 (mattermost#2657)

* remove state.value and rely only on props.value (mattermost#2635)

* MM-14316 Android Notifications and reply to notifications from native code (mattermost#2653)

* MM-14316 Android Notifications and reply to notifications from native code

* Feedback review

* Fix typo

* setBadgeIconType only for Android 8+

* v1.17 changelog (mattermost#2598)

* fix showing o fpost options for system admin (mattermost#2644)

* Do not use WebKit for CookieManager operations in SSO (mattermost#2515)

* Do not use WebKit for CookieManager operations in SSO

This allows the SSO login to function again with devices that are not running IOS-11.

* Use WebKit for CookieManager operations only with iOS 11 or later

Detect OS version and use WebKit only when iOS 11 or later is detected.
This allows the SSO login to function again with older devices.

* Support MinimumHashtagLength setting (mattermost#2583)

* Support MinimumHashtagLength setting

* Set default value if missing

* IWA support for Android and iOS (mattermost#2654)

* MM-14459 Ensure hydrationComplete is set to true when resetting the cache and logging out (mattermost#2664)

* Transfer dependencies from enahum to mattermost (mattermost#2666)

* Bump Version to 1.18.0 and Build to 183 (mattermost#2667)

* Bump app build number to 183

* Bump app version number to 1.18.0

* [MM-13381] Added reply to post options (mattermost#2665)

* [MM-13381] Added reply to post options

* [MM-13381] Fixes for adding reply to post options

* [MM-13381] Fixed logic for adding reply to post options

* [MM-13381] Fixed canReply logic for post options

* MM-14345: Changes the channelIsReadOnly prop to be associated to the post's channel rather than the current channel. Show the unpin regardless of whether a channel is read-only. (mattermost#2656)

* BG load messages  (on latest upstream)

* Allow for deep linking with "/vault#" in url to support email notifications

* Fixes for iOS crash when attempting to scroll to recent post on empty channel

* [MM-14866] Fix app crash due to parseInt call on null and display test notification message (mattermost#2690)

* Call setNumber on notification only if badge is not null

* Move setNumber call

* Add bundle to empty list

* Reminder message (`/remind`) do not show message text on mobile. (#51)
  • Loading branch information
dseawel authored and csduarte committed Apr 10, 2019
1 parent 840e85f commit c042913
Show file tree
Hide file tree
Showing 498 changed files with 30,307 additions and 18,802 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
assets/override
dist
build-ios
*.zip
server.PID
mattermost.keystore
Expand Down Expand Up @@ -80,6 +81,7 @@ ios/sentry.properties

# Testing
.nyc_output
coverage

# Pods
.podinstall
Expand Down
155 changes: 155 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,160 @@
# Mattermost Mobile Apps Changelog

## 1.17.0 Release
- Release Date: March 20, 2019
- Server Versions Supported: Server v4.10+ is required, Self-Signed SSL Certificates are not supported unless the user installs the CA certificate on their device

### Combatibility
- If **DisableLegacyMfa** setting in ``config.json`` is set to ``true`` and [multi-factor authentication](https://docs.mattermost.com/deployment/auth.html) is enabled, ensure your users have upgraded to mobile app version 1.17 or later. See [Important Upgrade Notes](https://docs.mattermost.com/administration/important-upgrade-notes.html) for more details.
- Fixed support for EMM connections using VPN on-demand to indicate that every request should wait for the VPN connection to be establish and to set the value in seconds for the timeout. See docs for more details on [setting AppConfig values](https://docs.mattermost.com/mobile/mobile-appconfig.html#mattermost-appconfig-values) for VPN support.
- Mobile App v1.13+ is required for Mattermost Server v5.4+.
- Android operating system 7+ [is required by Google](https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html).
- iPhone 5s devices and later with iOS 11+ is required.

### Highlights
- iOS Share Extension now supports large file sizes and improved performance

### Bug Fixes
- Fixed support for EMM connections using VPN on-demand. See docs for more details on [setting AppConfig values](https://docs.mattermost.com/mobile/mobile-appconfig.html#mattermost-appconfig-values) for VPN support.
- Fixed several Android app crash / fatal error issues.
- Fixed an issue on Android where the app crashed intermittently when selecting a link.
- Fixed an issue where email notifications setting was out of sync with the webapp until the setting was edited.
- Fixed an issue where notification badges were not cleared from other clients when clicking on a push notification after opening the mobile app.
- Fixed an issue where the app did not show local notification when session expired.
- Fixed an issue where the profile picture for webhooks was showing the hook owner picture.
- Fixed an issue where some emoji were not rendered as jumbo.
- Fixed an issue where jumbo emoji posted as a reply sometimes appeared with large space beneath.
- Fixed an issue where the "No Internet Connection" banner did not always display when internet connectivity was lost.
- Fixed an issue where the "No Internet Connection" banner did not always disappear when connection was re-estabilished.
- Fixed an issue where opening channels with unreads had loading indicator placed above unread messages line.

## 1.16.1 Release
- Release Date: February 21, 2019
- Server Versions Supported: Server v4.10+ is required, Self-Signed SSL Certificates are not supported unless the user installs the CA certificate on their device

### Combatibility
- Mobile App v1.13+ is required for Mattermost Server v5.4+.
- Android operating system 7+ [is required by Google](https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html).

### Bug Fixes
- Fixed an issue where link previews and reactions weren't displayed when post metadata was disabled.
- Fixed an issue on Android where the app crashed when sharing multiple files.

## 1.16.0 Release
- Release Date: February 16, 2019
- Server Versions Supported: Server v4.10+ is required, Self-Signed SSL Certificates are not supported unless the user installs the CA certificate on their device

### Combatibility

- Mobile App v1.13+ is required for Mattermost Server v5.4+.
- Android operating system 7+ [is required by Google](https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html).

### Improvements
- Added the ability to remove own profile picture.
- Changed "X" to "Cancel" on Edit Profile page.
- Added support for relative permalinks.

### Bug Fixes
- Fixed an issue where the iOS app did not wait until the on-demand VPN connection was established. (EMM Providers)
- Fixed an issue with a white screen caused by missing Russian translations.
- Fixed an issue where the iOS badge notification did not always clear.
- Fixed an issue where the thread view displayed a new message indicator.
- Fixed an issue where quick multiple taps on the file icon opened multiple file previews.
- Fixed an issue where the settings page did not show an option to join other teams.
- Fixed an issue where image previews didn't work after using Delete File Cache.
- Fixed an issue on Android where the notification trigger word modal title was "Send email notifications" instead of "Keywords".
- Fixed an issue where the Webhook icon was misaligned and bottom edges were cut off.
- Fixed an issue on Android where the user was not asked to authenticate to the app first when trying to share a photo, resulting in a white "Share modal" screen with a never-ending loading indicator.
- Fixed an issue on iOS where push notifications were not preserved when opening the app via the Mattermost icon.

## 1.15.2 Release
- Release Date: January 16, 2019
- Server Versions Supported: Server v4.10+ is required, Self-Signed SSL Certificates are not supported unless the user installs the CA certificate on their device

### Combatibility

- Mobile App v1.13+ is required for Mattermost Server v5.4+.
- Android operating system 7+ [is required by Google](https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html).

### Bug Fixes

- Fixed an issue where the status changes for other users did not always stay current in the mobile app.
- Fixed an issue where a post did not fail properly when the user attempted to send the post while there was no network access.
- Fixed an issue where date separators did not update when changing timezones.
- Fixed an issue where the Favorites section did not clear from a users's channel drawer.
- Removed an extra divider below "Edit Channel" of Direct Message Channel Info.
- Fixed an issue where a user was not returned to previously viewed channel after viewing and then closing an archived channel.
- Fixed an issue where a quick double tap on switch of Channel Info created and extra on/off state.
- Fixed an issue where iOS long press menu didn't have rounded corners.

## 1.15.1 Release
- Release Date: December 28, 2018
- Server Versions Supported: Server v4.10+ is required, Self-Signed SSL Certificates are not supported unless the user installs the CA certificate on their device

### Combatibility

- Mobile App v1.13+ is required for Mattermost Server v5.4+.
- Android operating system 7+ [is required by Google](https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html).

### Bug Fixes
- Fixed an issue preventing some users from logging in using OKTA.

## 1.15.0 Release
- Release Date: December 16, 2018
- Server Versions Supported: Server v4.10+ is required, Self-Signed SSL Certificates are not supported unless the user installs the CA certificate on their device

### Combatibility

- Mobile App v1.13+ is required for Mattermost Server v5.4+.
- Android operating system 7+ [is required by Google](https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html).

### Highlights
- Added mention and reply mention highlighting.
- Added a sliding animation for the reaction list.
- Added support for pinned posts.
- Added support for jumbo emojis.
- Added support for interactive dialogs.
- Improved UI for the long press menu and emoji reaction viewer.

### Improvements
- Added the ability to include custom headers with requests for custom builds.
- Push Notifications that are grouped by channels are cleared once the channel is read.
- Improved auto-reconnect when unable to reach the server.
- Added support for changing the mobile client status to offline when the app loses connection.
- Added 'View Members' button to archived channels.
- Added support on iOS for keeping the postlist in place without scrolling when new content is available.

### Bug Fixes
- Fixed an issue where clicking on a file did not show downloading progress.
- Fixed an issue on Android where on fresh install the share extension would not properly show available channels.
- Fixed an issue where recently archived channels remained in in: autocomplete when they had been archived.
- Fixed an issue where text should render when no actual custom emoji matched the named emoji pattern.
- Fixed an issue on iOS where text got cut-off after replying to a message.
- Fixed an issue where search modifier for channels was showing Direct Messages without usernames.
- Fixed an issue where "Close Channel" did not work properly when viewing two archived channels in a row.
- Fixed an issue with "Critical Error" screen when trying to upload certain file types from "+" to the left of message input box.

## 1.14.0 Release
- Release Date: November 16, 2018
- Server Versions Supported: Server v4.10+ is required, Self-Signed SSL Certificates are not supported unless the user installs the CA certificate on their device

**Combatibility Note: Mobile App v1.13+ is required for Mattermost Server v5.4+**

### Bug Fixes
- Fixed an issue where the Android app did not allow establishing a network connection with any server that used a self-signed certificate that had the CA certificate user installed on the device.
- Removed "Copy Post" option on long-press message menu for posts without text.
- Fixed an issue where the "Search Results" header was not fully scrolled to top on search "from:username".
- Fixed an issue where channel names truncated at fewer characters than necessary.
- Fixed an issue where the same uploaded photo generated a different file size.
- Fixed an issue where the "(you)" was not displayed to the right of a user's name in the channel drawer when a user opened a Direct Message channel with themself.
- Fixed an issue where a dark theme set from webapp broke mobile display.
- Fixed an issue where channel drawer transition sometimes lagged.
- Fixed an issue where sending photos to Mattermost created large files.
- Fixed an issue where the apps showed "Select a Team" screen when opened.
- Fixed an issue where at-mention, emoji, and slash command autocompletes had a double top border.
- Fixed an issue where the drawer was unable to close when showing the team list.
- Fixed an issue where team sidebar showed + sign even without more teams to join.


## 1.13.1 Release
- Release Date: October 18, 2018
Expand Down
101 changes: 56 additions & 45 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@
.PHONY: check-style
.PHONY: start stop
.PHONY: run run-ios run-android
.PHONY: build build-ios build-android unsigned-ios unsigned-android
.PHONY: build build-ios build-android unsigned-ios unsigned-android ios-sim-x86_64
.PHONY: build-pr can-build-pr prepare-pr
.PHONY: test help

POD := $(shell which pod 2> /dev/null)
OS := $(shell sh -c 'uname -s 2>/dev/null')
BASE_ASSETS = $(shell find assets/base -type d) $(shell find assets/base -type f -name '*')
OVERRIDE_ASSETS = $(shell find assets/override -type d 2> /dev/null) $(shell find assets/override -type f -name '*' 2> /dev/null)
MM_UTILITIES_DIR = ../mattermost-utilities

node_modules: package.json
@if ! [ $(shell which npm 2> /dev/null) ]; then \
Expand Down Expand Up @@ -75,6 +76,10 @@ post-install:
@# Need to copy custom RNDocumentPicker.m that implements direct access to the document picker in iOS
@cp ./native_modules/RNDocumentPicker.m node_modules/react-native-document-picker/ios/RNDocumentPicker/RNDocumentPicker.m

@# Need to copy custom RNCWebViewManager.java and RNCWEKWebView.m that implements IWA support for the WebView to avoid forking the lib
@cp ./native_modules/RNCWebViewManager.java node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManager.java
@cp ./native_modules/RNCWKWebView.m node_modules/react-native-webview/ios/RNCWKWebView.m

@rm -f node_modules/intl/.babelrc
@# Hack to get react-intl and its dependencies to work with react-native
@# Based off of https://github.com/este/este/blob/master/gulp/native-fix.js
Expand All @@ -91,21 +96,10 @@ post-install:
@sed -i'' -e 's|transform: \[{scaleY: -1}\],|...Platform.select({android: {transform: \[{perspective: 1}, {scaleY: -1}\]}, ios: {transform: \[{scaleY: -1}\]}}),|g' node_modules/react-native/Libraries/Lists/VirtualizedList.js

start: | pre-run ## Starts the React Native packager server
@if [ $(shell ps -ef | grep -i "cli.js start" | grep -civ grep) -eq 0 ]; then \
echo Starting React Native packager server; \
npm start; \
else \
echo React Native packager server already running; \
fi
$(call start_packager)

stop: ## Stops the React Native packager server
@echo Stopping React Native packager server
@if [ $(shell ps -ef | grep -i "cli.js start" | grep -civ grep) -eq 1 ]; then \
ps -ef | grep -i "cli.js start" | grep -iv grep | awk '{print $$2}' | xargs kill -9; \
echo React Native packager server stopped; \
else \
echo No React Native packager server running; \
fi
$(call stop_packager)

check-device-ios:
@if ! [ $(shell which xcodebuild) ]; then \
Expand Down Expand Up @@ -181,75 +175,92 @@ run-android: | check-device-android pre-run prepare-android-build ## Runs the ap
fi

build: | stop pre-build check-style ## Builds the app for Android & iOS
@if [ $(shell ps -ef | grep -i "cli.js start" | grep -civ grep) -eq 0 ]; then \
echo Starting React Native packager server; \
npm start & echo; \
fi
$(call start_packager)
@echo "Building App"
@cd fastlane && BABEL_ENV=production NODE_ENV=production bundle exec fastlane build
@ps -ef | grep -i "cli.js start" | grep -iv grep | awk '{print $$2}' | xargs kill -9
$(call stop_packager)


build-ios: | stop pre-build check-style ## Builds the iOS app
@if [ $(shell ps -ef | grep -i "cli.js start" | grep -civ grep) -eq 0 ]; then \
echo Starting React Native packager server; \
npm start & echo; \
fi
$(call start_packager)
@echo "Building iOS app"
@cd fastlane && BABEL_ENV=production NODE_ENV=production bundle exec fastlane ios build
@ps -ef | grep -i "cli.js start" | grep -iv grep | awk '{print $$2}' | xargs kill -9
$(call stop_packager)

build-android: | stop pre-build check-style prepare-android-build ## Build the Android app
@if [ $(shell ps -ef | grep -i "cli.js start" | grep -civ grep) -eq 0 ]; then \
echo Starting React Native packager server; \
npm start & echo; \
fi
$(call start_packager)
@echo "Building Android app"
@cd fastlane && BABEL_ENV=production NODE_ENV=production bundle exec fastlane android build
@ps -ef | grep -i "cli.js start" | grep -iv grep | awk '{print $$2}' | xargs kill -9
$(call stop_packager)

unsigned-ios: stop pre-build check-style ## Build an unsigned version of the iOS app
@if [ $(shell ps -ef | grep -i "cli.js start" | grep -civ grep) -eq 0 ]; then \
echo Starting React Native packager server; \
npm start & echo; \
fi
$(call start_packager)
@echo "Building unsigned iOS app"
@cd fastlane && NODE_ENV=production bundle exec fastlane ios unsigned
@mkdir -p build-ios
@cd ios/ && xcodebuild -workspace Mattermost.xcworkspace/ -scheme Mattermost -sdk iphoneos -configuration Relase -parallelizeTargets -resultBundlePath ../build-ios/result -derivedDataPath ../build-ios/ CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
@cd ios/ && xcodebuild -workspace Mattermost.xcworkspace/ -scheme Mattermost -sdk iphoneos -configuration Release -parallelizeTargets -resultBundlePath ../build-ios/result -derivedDataPath ../build-ios/ CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
@cd build-ios/ && mkdir -p Payload && cp -R Build/Products/Release-iphoneos/Mattermost.app Payload/ && zip -r Mattermost-unsigned.ipa Payload/
@mv build-ios/Mattermost-unsigned.ipa .
@rm -rf build-ios/
@ps -ef | grep -i "cli.js start" | grep -iv grep | awk '{print $$2}' | xargs kill -9
$(call stop_packager)

ios-sim-x86_64: stop pre-build check-style ## Build an unsigned x86_64 version of the iOS app for iPhone simulator
$(call start_packager)
@echo "Building unsigned x86_64 iOS app for iPhone simulator"
@cd fastlane && NODE_ENV=production bundle exec fastlane ios unsigned
@mkdir -p build-ios
@cd ios/ && xcodebuild -workspace Mattermost.xcworkspace/ -scheme Mattermost -arch x86_64 -sdk iphonesimulator -configuration Release -parallelizeTargets -resultBundlePath ../build-ios/result -derivedDataPath ../build-ios/ ENABLE_BITCODE=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO
@cd build-ios/Build/Products/Release-iphonesimulator/ && zip -r Mattermost-simulator-x86_64.app.zip Mattermost.app/
@mv build-ios/Build/Products/Release-iphonesimulator/Mattermost-simulator-x86_64.app.zip .
@rm -rf build-ios/
$(call stop_packager)

unsigned-android: stop pre-build check-style prepare-android-build ## Build an unsigned version of the Android app
@if [ $(shell ps -ef | grep -i "cli.js start" | grep -civ grep) -eq 0 ]; then \
echo Starting React Native packager server; \
npm start & echo; \
fi
$(call start_packager)
@echo "Building unsigned Android app"
@cd fastlane && NODE_ENV=production bundle exec fastlane android unsigned
@mv android/app/build/outputs/apk/unsigned/app-unsigned-unsigned.apk ./Mattermost-unsigned.apk
@ps -ef | grep -i "cli.js start" | grep -iv grep | awk '{print $$2}' | xargs kill -9
$(call stop_packager)

test: | pre-run check-style ## Runs tests
@npm test

build-pr: | can-build-pr stop pre-build check-style ## Build a PR from the mattermost-mobile repo
@if [ $(shell ps -ef | grep -i "cli.js start" | grep -civ grep) -eq 0 ]; then \
echo Starting React Native packager server; \
npm start & echo; \
fi
$(call start_packager)
@echo "Building App from PR ${PR_ID}"
@cd fastlane && BABEL_ENV=production NODE_ENV=production bundle exec fastlane build_pr pr:PR-${PR_ID}
@ps -ef | grep -i "cli.js start" | grep -iv grep | awk '{print $$2}' | xargs kill -9
$(call stop_packager)

can-build-pr:
@if [ -z ${PR_ID} ]; then \
echo a PR number needs to be specified; \
exit 1; \
fi

i18n-extract: ## Extract strings for translation from the source code
@[[ -d $(MM_UTILITIES_DIR) ]] || echo "You must clone github.com/mattermost/mattermost-utilities repo in .. to use this command"
@[[ -d $(MM_UTILITIES_DIR) ]] && cd $(MM_UTILITIES_DIR) && npm install && npm run babel && node mmjstool/build/index.js i18n extract-mobile


## Help documentation https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
help:
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

define start_packager
@if [ $(shell ps -ef | grep -i "cli.js start" | grep -civ grep) -eq 0 ]; then \
echo Starting React Native packager server; \
npm start & echo; \
else \
echo React Native packager server already running; \
fi
endef

define stop_packager
@echo Stopping React Native packager server
@if [ $(shell ps -ef | grep -i "cli.js start" | grep -civ grep) -eq 1 ]; then \
ps -ef | grep -i "cli.js start" | grep -iv grep | awk '{print $$2}' | xargs kill -9; \
echo React Native packager server stopped; \
else \
echo No React Native packager server running; \
fi
endef
Loading

0 comments on commit c042913

Please sign in to comment.