Commit graph

78 commits

Author SHA1 Message Date
Miguel Alatzar
2d81b497cf [MM-23520] Port mattermost-redux (#4088)
* Remove mattermost-redux

* Move mm-redux files into app/redux

* Add @redux path to tsconfig.json

* Fix imports

* Install missing dependencies

* Fix tsc errors

* Fix i18n_utils test

* Fix more imports

* Remove redux websocket

* Fix tests

* Rename @redux

* Apply changes from mattermost-redux PR 1103

* Remove mattermost-redux mention in template

* Add missing imports

* Rename app/redux/ to app/mm-redux/

* Remove test file

* Fix fetching Sidebar GM profiles

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-04-17 21:12:09 -07:00
Mattermost Build
d100c7d95d
Automated cherry pick of #4072 (#4172)
* MM-22292 Don't use redux to store username and password

* Set login and password MFA props

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-04-17 20:53:48 -07:00
Elias Nahum
5f74491ea8
Upgrade Navigation library (#3997)
* Upgrade Navigation library

* Feedback review on Navigation Library

* Fix select server background color

* Fix iPhone 11 and 11 Pro Max navbar height

* Fix background color on Select Server

* Upgrade nav lib to 6.1.0

* Apply patch to nav lib

* Upgrade RNN to 6.1.1
2020-03-09 12:50:42 -07:00
Elias Nahum
334a07aabe
Performance improvements (#3911)
* Improve sidebar performance on first load

* Initial work for switch channel

* Revert android changes

* Split Sidebar per Platform

* Fix waitForHydration executing the callback more than once

* Fix custom emoji not showing on Android

* Finalize Channel Switch

* Enable Android Ram Bundles

* Select the right team for lastChannelForTeam

* Channel loading post indicator

* Fix main sidebar base intl provider

* Update mm-redux

* No need to request configAndLicense on launch

* Load channel member roles

* Rename closeChannelDrawer to closeMainSidebar

* do not throw errors when console is called while running tests

* constant for LOADING_POSTS_HEIGHT

* Remove show more if a long post is edited and no longer long

* Update mm-redux#batch-actions branch

* Code review

* Clear notifications if channel was switched

* Import Platform

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-02-17 21:18:09 -07:00
Miguel Alatzar
abaed71f47
[MM-22034] Tighten up post draft UI (#3898)
* Tighten up post draft UI

* Revert "MM-15307 Updated to use InteractionManager (#3666)"

This reverts commit e08155c81b.

* Address PR review comments

* Update snapshot test

* Don't return null if no files

* Fix progress text and padding issues

* Fixes per Matt's review

* Make linter happy
2020-02-10 11:46:00 -03:00
Andre Vasconcelos
b6e6d4c9e0 Fixing post draft style to comply with design specs (#3818)
* Polishing post draft to comply with design specs

* changed maxHeight in landscape mode, fixed icon sizes

- Refactored code so that post draft icon sizes are taken from same constant value

- Set maxHeight value in landscape mode to be smaller (tests pending)

- Removed repeated styles for button wrappers (passing them down as props to child components)

- Increased size of image attachment remote icon, and increased tappable area

* Removing repeated logic for file upload

* Fixing failed snapshot tests / style checks

* Fixing file upload remove icon to have 64% opacity

* post draft UX/UI improvements

* Fix input box extra spacing

* input box line height and attachment border

* Animate to original state even if error is showing

* Fix permissions

* Improve attachment error animation

* Fix iOS post input height

* Update snapshots
2020-01-21 15:20:19 -03:00
CJ
e08155c81b MM-15307 Updated to use InteractionManager (#3666)
* MM-15307 Updated to use InteractionManager

Replaced the setTimeout with InteractionManager to resolve the delay set.

* Updated to apply animation to the input height

* Updated to apply animation to the input height

* Fixed eslint issue

* Updates per review

* Updates from feedback
2020-01-09 18:02:02 +08:00
CJ
a5b4375aa5 MM-19599 Updated Channel Nav Bar height (#3509)
During the landscape changes from the previous release, I had added 8px of padding to the iOS landscape, which caused this issue to occur. This change reverts the added padding so that the height matches across the screens for the navigation bar.

To note, react-native-navigation is used for the info/thread headers and there is no way to adjust the height of this without replacing the header entirley.
2019-11-04 17:29:50 -07:00
Miguel Alatzar
1bde8ed4dc [MM-18983] Store insets in ephemeral store (#3457)
* Store insets in ephemeral store

* Address PR review
2019-10-25 14:50:13 +03:00
Miguel Alatzar
90574d2fc5
Rename IOSX_TOP_PORTRAIT (#3412) 2019-10-17 07:58:18 -07:00
CJ
67ae09f868 MM-18658 Edit Channel MaxLength (#3317)
Set MaxLength on Edit Channel Name.
Updated ViewTypes MaxLength from 22 to 64 for validation/errors.
2019-09-25 16:53:52 +03:00
Elias Nahum
06e333dc52
MM-10193 Apply SafeAreaView to Landscape views (#3003) (#3081)
* MM-10193 for landscape Feature

Commit for MM-10193 to the landscape feature with latest pull.
This is the initial commit with SafeAreaView in place, but should not be merged into master as this is step one and not suitable for production.
Another commit will be following with adjustments to allow SafeAreaView to display correctly for users.

* MM-10193 for landscape Feature

Commit for MM-10193 to the landscape feature with latest pull.
This is the initial commit with SafeAreaView in place, but should not be merged into master as this is step one and not suitable for production.
Another commit will be following with adjustments to allow SafeAreaView to display correctly for users.

* MM-10193 Extend design elements for iPhoneX SafeAreaViews

This is the second portion of the MM-10193 changes for the landscape feature. This item was to extend the design elements for the application into the SafeAreaView so the application looks uniform on the iPhoneX.

* MM-10193 Patch for Snapshot tests and eslint

* MM-10193 Re-Patch

These chanbes mistakenly got reverted from last Patch

* MM-10193 Updates for PR

Fixed the 4 screens from the text box that were missed.
Updated the padding to run from a method.

* Revert "MM-10193 Updates for PR"

This reverts commit fe8d650ce3ca2828d8c94e4af470649aa2582ec1.

* MM-10193 Updates for PR

This reverts commit 4966d83d5401720d26ca22a55cf8f92f1657b7e2.
Applied Updated Snapshots

* MM-10193 Updated Modifier for iphone_x_spacing

Updated Modifier for iphone_x_spacing

* MM-10193 Updates for Review

Review changes for Post Textbox and a few states that were unavailable.

* MM-10193 Fix Longpress padding

Fixed longpress padding for Channel Info and Edit Post views.

* MM-10193 Update isLandscape

Updated isLandscape to pull directly from dimensions.
Updated padding for Recent Mentions and Flagged Posts.

* MM-10193 Updates for review longpost

Updated for longpost padding.
Fixed issue with notifications not padding right correctly.

* MM-10193 Update with Cleanup

Reverted Cocoapods back to 1.5.3.
Cleaned up spacing in two files.

* MM-10193 Merge Conflict Updates

Updates to resolve merge conflicts
2019-08-09 11:14:38 -04:00
Hossein Ahmadian-Yazdi
55bd6a2f7e [MM-13849] Display confirmation box for [at]all and [at]channel (#3028)
* [MM-13849] Display confirmation box for @all and @channel

* [MM-13849] Fetch Channel stats when user changes channel

* [MM-13849] Address PR comments

* [MM-13849] Addressed PR comments

* [MM-13849] Made getChannelStats into it's own statement
2019-08-08 16:21:52 -04:00
krjn
5abfb66b78 [MM-16389] Enable emojis for profile icons from webhooks (#2961)
* [MM-16389] Enable emojis for profile icons from webhooks

Removes borders from profile icons when it is from a custom URL.

* feat: reapply border for all profile pictures and shrink emojis

* feat: remove border from emoji profile pictures

* feat: decide if post has emoji icon through props instead of url

* refactor: better checking of potentially undefined property

Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
2019-07-18 10:23:41 -04:00
Miguel Alatzar
5eee2b7652
[MM-16139] [MM-16140] [MM-16141] Update the remaining screens/components (#2920)
* Update screens

* Update login tests

* Remove done

* Fix failing tests

* Update screens and components

* Check styles fix

* Update tests

* Prevent setState call after component unmounts

* Add empty setButtons func to dummy navigator

* Remove platform check

* Remove Platform import

* Update react-native-navigation version

* Add separate showModalOverCurrentContext function

* check-style fixes

* Remove overriding of AppDelegate's window

* Fix modal over current context animation

* Add showSearchModal navigation action

* Check-style fix

* Address review comments

* Update SettingsSidebar and children

* Update EditProfile screen

* Update SettingsSidebar

* Keep track of latest componentId to appear

* Track componentId in state to use in navigation actions

* Update FlaggedPosts and children

* Update RecentMentions

* Update Settings

* Store componentIds in ephemeral store

* Update AttachmentButton

* Remove unnecessary dismissModal

* Fix typo

* Upate NotificationSettings

* Update NotificationSettingsAutoResponder

* Update NotificationSettingsMentions

* Update NotificationSettingsMobile

* Update CreateChannel and children

* Update MoreChannels

* Update ChannelPeek and children

* Update ChannelNavBar and children

* Update ChannelPostList and children

* Update ChannelInfo and children

* Update ChannelAddMembers

* Update ChannelMembers

* Update EditChannel

* Fix setting of top bar buttons

* Update Channel screen and children

* Update PinnedPosts

* Update LongPost

* Update PostOptions

* Update PostTextboxBase

* Update EditPost

* Check-styles fix

* Update DisplaySettings

* Update Timezone

* Update SelectTimezone

* Update IntlWrapper and Notification

* Update InteractiveDialog and children

* Update ExpandedAnnouncementBanner

* Update ClientUpgradeListener

* Update MoreDirectMessages

* Update SelectorScreen

* Update UserProfile

* Update Thread

* Update About

* Update ImagePreview

* Update TextPreview

* Update AddReaction

* Update ReactionList and children

* Update Code

* Update TermsOfService

* Update Permalink

* Update Permalink

* Update ErrorTeamsList

* Update Search

* Remove navigator prop

* Fix setButtons calls

* Remove navigationComponentId

* Fix test

* Handle in-app notifs in global event handler

* Fix in-app notification handling

* Fix typo

* Fix tests

* Auto dismiss in-app notif after 5 seconds

* Fix typo

* Update overlay dismissal

* Animate in-app notif dismissal and allow gesture dismissal
2019-07-08 10:03:31 -07:00
Miguel Alatzar
0f948f650d Merge branch 'master' into rnn-v2 2019-06-18 09:58:35 -07:00
Harrison Healey
73792d5526 MM-16011 Update navigation through Login and Channel screens (#2870)
* Update navigation through Login and Channel screens

* Stop using static options and mergeOptions

* Update unit tests
2019-06-11 18:10:14 -04:00
Elias Nahum
29240b9c6f
MM-16061 Keep unread channels in place on Tablets (#2865) 2019-06-06 15:15:40 -04:00
Elias Nahum
a941ce5fff Add Office 365 login support (#2628) 2019-03-11 15:28:59 +05:30
Chris Duarte
f4761860a1 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 (#2556)
UI doesn't update when NO_BETA is set
2019-02-20 01:11:41 +05:30
Elias Nahum
a0a1fa28ce
MM-13896 Sync channel as read between clients (including opening Push Notifications) (#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 <nahumhbl@gmail.com>

* Feedback review

* Update mm-redux ref
2019-02-16 15:09:22 -03:00
Elias Nahum
fa12bb18ad
MM-13431 Fix load more posts (#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
2018-12-13 08:38:23 -03:00
Chris Duarte
5c24375dae Reorganize sidebar channel items via pref (#1928)
* Reorganize sidebar channel items via pref
Add onItemPress


Add isModal prop


Add options modal for ungrouped sidebar


Filter zero item unreads from sections


Refactor unread filtering

Add SidebarSectionTypes to constants

Update mm-redux dep

Remove unused variable

* Fix lint errors. Update redux commit

* Add recent activity title

* Review feedback

* Fix issues after rebase

* Review feedback

* Change to use getAllDirectChannels

* Update redux library

* Fix lint error

* Update modal list snapshot
2018-11-09 13:06:21 -03:00
Joram Wilander
10a1e93e7d MM-12348 Persist interactive menu choices past channel switch and share with thread view (#2207)
* Persist interactive menu choices past channel switch and share with thread view

* Remove unneeded async
2018-10-03 15:08:05 -03:00
Joram Wilander
ef3ba7eb00
MM-11934 Add interactive action menus (#2099)
* Add interactive action menus

* Add snapshot tests

* Updates per feedback

* Update styling of menu action

* Updates per feedback

* Update submitted message color

* Update snapshots
2018-09-20 14:01:51 -04:00
Saturnino Abril
669f0ea1cd use profile image from local after editing a profile image (#1990) 2018-08-16 06:57:23 -07:00
Chris Duarte
26950abb61 Add deep linking support (#1805) 2018-07-31 08:43:54 -04:00
Jesse Hallam
8372e95d4a add eslint-plugin-header, and --fix all (#1726) 2018-06-19 19:14:50 -04:00
Chris Duarte
e8712f9199 Cold startup js refactor (#1598)
* Switch to SingleDex and remove all locales

* WIP Mattermost Start Component for lazy loading modules

* Add files changed for native modules

* Add Entry component and app global object

* dispatch setStatusBarHeight for iOS

* Update screen imports

* Include Entry screen

* Refactor app to mattermost.android.js

* Override unnecessary java files

* Fix minor issues in changes

* Display empty state based on user credentials

Also, add proper background theme for empty loading screen

* Add native module constant cache support

* Fix startup theme regression

* Add Keychain support for credentials

* Fix Orientation regression

*  Fix SharedExtension regression

* Emit NATIVE_APP_LAUNCHED across bridge only once during cold start

* Add iOS Support

* Revert to previous implementation of i18n

* Fix styling issues

* Include listener for SERVER_VERSION_CHANGED

* Add SafeAreaView in Entry screen

* Register deviceToken early, in order to get iOS PN Support

* Include StartTimeModule

* Add ReplyFromPush support and remove NATIVE_APP_LAUNCHED listener

* Package native constants in StartTimeModule and avoid bridge calls

* Fix check-style errors

* Code cleanup

* Rename StartTimeModule to InitializationModule

* Remove NavigationApplication

* Documentation and minor changes

* Account for app opening after SharedExtension

* Refactor getIntl to getTranslations

* Move native module constants into it's own forked repos

* Include FetchBlob and DeviceInfo forked repos
2018-05-18 17:13:00 -04:00
Elias Nahum
7db7a311f1
MM-10300 Fix crash when leaving channel (#1606) 2018-04-24 08:01:55 -03:00
Elias Nahum
006c5a08d7
Use local Images when possible (#1580)
* Fix advance settings android layout

* include react-native-image-gallery dependency

* ImageCacheManager

* Add support for isGif, isDocument, isVideo and purge to file utils

* Remove file fetch cache

* include progressive image component

* Refactor image previewer

* Add image preview support for open graph and embed images

* Cache user profile picture

* Fix post additional content images for android

* Preview markdown inline images

* Improve progressive image

* feedback review
2018-04-13 12:23:15 -03:00
Martin Kraft
ebbbd9689b MM-9545: Disables threads with deleted root post, display system message. (#1526)
* MM-9545: Adds system message for deleted root posts in threads; disables input.

* MM-9545: Removes key.
2018-03-21 09:17:54 -04:00
Jesse Hallam
58b72302d6 update eslint's comma-dangle rule to always-multiline (#1457)
* update eslint's `comma-dangle` rule to `always-multiline`

* add check and fix scripts to package.json

* Invoke `yarn fix` to adopt the updated eslint rules. No other changes are included.
2018-02-23 09:06:02 -05:00
Joram Wilander
84a2a0fab8
ABC-123 Add handling for loading custom emojis asynchronously (#1406)
* Add async handling of custom emoji to posts and channel info

* Add server request to emoji autocomplete

* Add custom emoji paging and server search to emoji picker

* Fix android

* Update mattermost-redux and revert temp change

* Backwards compatibility fixes

* Updates per feedback

* Set server version when user is not logged in

* Reset section index when search is cleared or cancelled

* Some small fixes and upgrade mattermost-redux

* Minor sorting changes
2018-02-15 17:38:45 -05:00
enahum
27c764d288 [ICU-579] Display Announcement banner (#1428)
* Announcement banner

* Feedback review
2018-02-13 10:23:11 -05:00
Harrison Healey
a6d9632cad
ICU-562 Explicitly store whether or not 'load more posts' should be visible (#1379) 2018-01-26 11:29:28 -05:00
enahum
7bd55e96dc
[ICU-536] Fix link previews preference (#1364)
* Fix link previews preference

* Fixed grammar in a comment
2018-01-22 13:37:15 -03:00
enahum
998a5bdb0d
Fix server url (#1361)
* Fix server url

* Fix offline indicator positioning

* Upgrade mattermost-redux with fix for loading custom emojis

* feedback review
2018-01-18 11:17:03 -03:00
enahum
926ffe96c5
Android share extension (#1352)
* Android share extension

* Feedback review

* Feedback review
2018-01-17 18:17:02 -03:00
enahum
bef0248daf
Android header height consistent across screens (#1324)
* Android header height consistent across screens

* Feedback review
2018-01-04 13:22:55 -03:00
enahum
849c8cc4af
Clear failed images from post draft when posting (#1244)
* Clear failed images from post draft when posting

* feedback review

* clone files array only once in the failed reducer
2017-12-04 12:06:16 -03:00
Chris Duarte
f5d77fcebc Add Channel Info Edit options to ChannelInfo screen (#1189)
* Add Channel Info Edit options to ChannelInfo screen

Refactor CreateChannel to CreateChannel and ChannelInfo

Add EditChannel screen

add updateChannelRequest

display header option only if channel is DM or GM

Add editing prop to ChannelInfo

Add saving state to ChannelInfo

Clean up EditChannel and change saving to updating

Add channel name (url) field in EditChannel

Clean up enableRightButton logic for EditChannel

Add error handling for EditChannel fields

Remove leftButton declaration from EditChannel

Add wrapWithPreventDoubleTap to click handlers in ChannelInfo

Move channel info to parent component (CreateChannel)

Add editing support for channel info in parent component

Remove ownProps from connected components

Remove passing parent props using the spread operator

* Strip out channel url field from EditChannel

* Comment out channelUrl textInput ref

Make eslint happy

* Remove injectIntl in favor of intl context props

* Add mobile prefix to json string

* Remove unnecessary actions declaration in ChannelInfo

* Refactor creating | editing to saving

* Safe check refs when blurring in ChannelInfo

* pass channelType for displayingHeaderOnly in EditChannelInfo

* Refactor ChannelInfo component to EditChannelInfo

* pass 1to1 props instead of object

* Add required to certain props in EditChannelInfo

* Use Stylesheet for container styles

* Add InvalidPermission method when updating channel

* Clean up onDisplayNameChangeText and safe check scrollToEnd

* Add {deviceWidth, deviceHeight} from redux

* Remove style.navTitle

* Add wrapper methods for delete and leave channel

* remove alertErrorIfInvalidPermissions

* Fix mobile localization strings to use prefix mobile.-

* Add TODO for channel URL
2017-11-28 19:48:51 -03:00
Chris Duarte
e345ee1e7b Add recently used section (#1136)
* Add recently used section and section icons

* Improve section scrolling indication

* Modify Makefile and use onMomentumScrollEnd

* Make sure top section maintains highlight when scrolled to top

* Sort emojis by startsWith then includes when filtering
2017-11-21 10:20:09 -05:00
enahum
3fdfe92800 Data cleanup (#1070)
* Add message retention middleware and config

* Data cleanup middleware
2017-10-30 11:23:19 -04:00
Chris Duarte
9ff9b872ba Config to enable when clicking on username to fill input with @mention (#966)
* Config to enable when clicking on username to fill input with @mention

* Rename to experimental and move tenary from componet to variable

* Use getCurrentChannelId in insertToPostDraft action

* Change to work with rebase

* Refactor thread reducer and blacklist currentThreadId

* Review feedback

* Review feedback 2
2017-10-26 10:48:52 -04:00
Chris Duarte
54ddec3d46 Prompt/require user to upgrade to new version (#948)
* Prompt/require user to upgrade to new version

* Update en.json

* Update app message text

* Fix typo and add copyright
2017-10-26 10:45:34 -04:00
enahum
f50b1c6ae9 Improve push notification flow (#1044) 2017-10-24 17:03:51 -04:00
enahum
dabad3eca6 Improving Performance Part 1 (#1009)
* Dispatch retry failed action | fix refreshing state | change postVisibility to 15

* Improve channel switching

* Improve handling of visible tooltip

* Improve watching for status bar height changes

* Remove unnecessary mapStateToProps from code screen

* Use drawer native functions to open/close instead of state

* Feedback review
2017-10-11 14:33:26 -03:00
Harrison Healey
61b80e10ba RN-379 Get posts since last websocket disconnect when viewing channel (#971)
* RN-379 Added websocket state to device state

* Fixed view store blacklist

* RN-379 Get posts since last websocket disconnect when viewing channel

* Used Date.now instead of new Date().getTime()
2017-10-02 16:03:13 -03:00
Harrison Healey
98abbd6dca RN-345 Additional improvements to channel switching (#926)
* RN-345 Only show refreshing indicator when channel is actually refreshing

* Added getCurrentLocale selector

* Added SwitchTeams component to channel drawer to reduce rerenders

* Reduced number of props passed from ChannelsList into children

* Removed unused prop from FilteredList

* Moved visible post calculation out of render function

* Don't set the channel to loading when not switching channels

* Added most of channel view state to blacklist
2017-09-22 11:48:30 -07:00