Commit graph

1173 commits

Author SHA1 Message Date
Elias Nahum
a9763c7480
Do not preload images with FastImage (#4314) 2020-05-20 15:47:06 -04:00
Harrison Healey
c7ef3fe1d3
MM-22155 ESLint configuration updates part 1 (#4311)
* MM-22155 Disable no-undefined

* MM-22155 Disable react-jsx-filename-extension

* MM-22155 Disable no-magic-numbers

* MM-22155 Re-enable camelcase

* MM-22155 Re-enable no-nested-ternary

* Update no-unused-vars to match other repos
2020-05-20 08:27:27 -07:00
Elias Nahum
012eb08fde
Fix infinite skeleton in different use cases and do not scroll to messages already seen (#4304)
* Fix infinite skeleton in different use cases

* Apply suggestions from code review

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>

* Update app/utils/teams.js

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-05-19 18:54:34 -04:00
Miguel Alatzar
a819cce708
[MM-24642] Sidebar fixes (#4286)
* Fixes to height and padding

* Add underlayColor

* Rename to index

* Revert height change for overflow change

* Increase toValue

* Update Android offset
2020-05-18 16:31:11 -07:00
Elias Nahum
d3a6e166ad
MM-15758 Update dependencies including Fastlane (#4272)
* Update dependencies including Fastlane and disable Flipper on iOS

* Remove EventEmitter for previous doc-viewer

* Fix android crash when setting more channels buttons

* Downgrade fuse.js

* Upgrade deps to latest

* Update Podfile.lock

* Downgrade RNN to 6.4.0

* QA Review #2

* Upgrade fuse.js to 6.0.0
2020-05-18 11:24:47 -07:00
Andre Vasconcelos
a0841e0ef1
MM-24497 Ensuring quick reactions render within safe area (#4235)
* Ensuring quick reactions render within safe area

* Added modifier to align paddings

* Updating snapshots
2020-05-14 22:10:15 -04:00
Elias Nahum
1ae5584cb1
MM-24115 Use Native + BuiltIn emojis instead of systemEmojis (#4274)
* MM-24115 Use BuiltInEmojis instead of systemEmojis

* Address QA found issues
2020-05-13 18:23:47 -04:00
Elias Nahum
36e55c95a2
MM-23570 Migrate from Segment to Rudder (#4293)
* Replace Segment with Rudder (ios not working)

* Update @assets reference and fix tests
2020-05-13 16:54:07 -04:00
Elias Nahum
e50fa1d85b
MM-24973 Prevent search input to take full screen on Android landscape (#4283) 2020-05-13 10:12:53 -04:00
Miguel Alatzar
94bdd8e430
Ensure currentChannel set (#4288) 2020-05-11 12:12:01 -03:00
Farhan Munshi
901f31ec4b
[MM-24891] [MM-24572] Add ability to specify default value when role not found for selector (#4277)
* MM-24891 Allow permissions to have defaults set in case where roles not in state

* MM-24891 Add tests for haveIPermission

* MM-24891 Apply the defaults to more channel permission checks
2020-05-08 14:19:33 -04:00
Amit Uttam
42f93769b1
Revert "MM-24113 Support 'leave' slash command (#4273)" (#4279)
This reverts commit fd450f9988.
2020-05-07 14:40:54 -03:00
Amit Uttam
fd450f9988
MM-24113 Support 'leave' slash command (#4273)
Fixes crash on Android when attempting to redirect back to a read-only channel (default channel) after using the `/leave` command.

Also, enables official support of `leave` slash command. Added as auto-complete suggestion.
2020-05-07 13:58:09 -03:00
Elias Nahum
1a605891fe
MM-22401 Refactor Post Draft (#4122)
* Babel TS and Eslint config

* Channel is archived component

* Move Typing component

* Move Uploads component

* Add PostInput component

* QuickActions components

* Add PostDraft component

* Remove old PostTextbox component

* Rename post_textbox constant

* Fix Autocomplete

* Rename blur post draft event

* Fix references

* Feedback review

* Fix autocomplete for iOS
2020-05-06 06:30:51 -04:00
Andre Vasconcelos
64a2de8243
Fixing improper padding of searchBar container (#4212)
* Fixing improper padding of searchBar container

* Ensures leftComponent is hidden after animation
2020-04-29 17:26:57 +08:00
Elias Nahum
9af108026e
MM-24285 Use FastImage instead of Image (#4218)
* Enable ESLint no-unused-vars

* Use FastImage instead of Image

* Update fast-image patch to support multiple cookies

* Fix ESLint errors

* Have jest run timers for post_textbox tests

* Feedback review

* Update snapshots
2020-04-28 23:23:39 +08:00
Mario de Frutos Dieguez
3de2b29570
Fix infinite loop retrieving post files (#4192)
* Fix infinite loop retrieving post files

Right now if all the attachments of a post are removed the component
update code enters into an infinite loop because the comparison between
arrays always return false.
2020-04-22 19:25:34 +02:00
Miguel Alatzar
9a97f91735
Check canPost permissions for v5.22+ (#4193) 2020-04-22 20:10:46 +08:00
Miguel Alatzar
cd8c627dc3
Fix headers when preloading images (#4165) 2020-04-16 18:43:51 -07:00
Elias Nahum
0c7a2c6fa1
Correctly load file attachment images (#4160)
* Correctly load file attachment images

* Remove cache control from gallery
2020-04-16 16:24:28 -04:00
Elias Nahum
aaa571db32
Upgrade to RN 0.62.2 (#4093)
* Upgrade to RN 0.62.0

* Update packager module paths

* Fix Android PasteableInput

* Fix regression on Android share extension credentials needed

* Update android/app/src/main/java/com/mattermost/rnbeta/RNPasteableEditTextOnPasteListener.java

* Reject commit if TSC check fails and Fix small eslint issues automatically

* Use super.getExportedCustomBubblingEventTypeConstants in RNPasteableTextInputManager

* Update to rn 0.62.2

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-04-14 16:39:51 -04:00
Elias Nahum
4ad4b3b103
Validate previous app version (#4151)
* Validate previous app version

* Update snapshot and fix typo in constant
2020-04-14 13:22:43 -04:00
Miguel Alatzar
8b2d9a10f5
Ensure postProps is not null/undefined (#4150) 2020-04-14 11:38:34 -04:00
Elias Nahum
6667962e1f
MM-24093 Fix crash when system message does not contain a username in post props (#4143) 2020-04-13 11:44:22 -04:00
Elias Nahum
9d0209fce6
MM-22043 Render Channel purpose message without markdown (#4131) 2020-04-09 06:08:15 -04:00
Elias Nahum
c64581ef16
MM-22683 use webhook override_username instead of webhook creator on commented on post header (#4130) 2020-04-09 06:07:46 -04:00
Elias Nahum
be6b1ff83f
MM-22198 Don't show commented on for post on the same thread after a date separator (#4129) 2020-04-09 06:07:14 -04:00
Miguel Alatzar
7afa9aed01
[MM-23698] [MM-19559] Remove redux-offline and updated redux-persist (#4120)
* Remove redux-offline and configure redux-persist

* Fix typo

* Fix configure store

* Upgrade to redux-persist 6.0.0

* Add migration from redux-persist v4 to v6

* Replace AsyncStorage with MMKVStorage to boost storage speed

* Mock RNFastStorage

* Fix reactions test

* Fix clearing the store on logout

* Remove the need for LOGOUT_SUCCESS

* No need to pass persistConfig to middlewares()

* Remove unused imports

* Export connection

Accidentally removed this export.

* Add batch action name

Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>

* Add batch action name

Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>

* Add batch action name

Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>

* Add batch action name

Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>

* Fix delete post

* Fix leave channel

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-04-08 13:44:54 -07:00
Miguel Alatzar
8bb43ca4c2
[MM-22632] Set vertical padding for SlashSuggestionItemi (#4125)
* Set minHeight

* Replace minHeight with paddingVertical
2020-04-08 11:08:59 -04:00
Miguel Alatzar
7bee5c368a
Always show expand button (#4121) 2020-04-07 13:52:59 -03:00
shred86
717350adc6
[MM-23755] Add nickname as searchable property (#4099)
* Add nickname search functionality

* Add username property to test

* Fix parentheses out of place

* Add nickname property to additional tests

* Added ability to truncate long names

* Minor clean up

* More minor clean up
2020-04-06 17:48:06 -04:00
RAKESH PEELA
f4d5f4dcaf
Update more unreads button to new design (#4101)
* update `more unreads` button to new design

* update More Unreads button with UI suggestions

* fix lint issues
2020-04-02 18:42:49 -03:00
Elias Nahum
8522b70851
Tweak post list numbers (#4105) 2020-04-02 14:40:02 -03:00
Miguel Alatzar
5346c574e2
Fix mm-redux imports (#4109) 2020-04-01 20:04:39 -03:00
Andre Vasconcelos
d03d504d00
MM-14038 Access recent reactions from the long press menu (#4058)
* WIP: Implementing quick reaction functionality

* Making closing animations smoother

- Added haptic feedback + timeouts for a smooth flow

* Fixing clipping of post options on android

* updating snapshots

* Refactoring code & fixing styles

- Fixed paddings element sizes to comply with design specs
- Replaced reaction image to one with a higher resolution
- Made sizes of emojis to be conditional on deviceWidth

* Apply suggestions from code review

* Adding component to avoid extra re-renders

* Refactoring function call in reaction_button

Am ashamed i didn't catch this before pushing the rest

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-04-01 12:56:49 -07:00
Miguel Alatzar
1079498461
[MM-23708] Send HW key pressed event only when a HW keyboard is connected (#4100)
* Check if HW keyboard is connected

* Call super

* Fix double new line insert
2020-03-31 21:43:18 -03:00
Miguel Alatzar
ee4b85edcf
[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-03-31 11:09:26 -07:00
Martin Kraft
9b553d3760
MM-23636: Default 'canPost' to true. (#4085) 2020-03-30 10:40:08 -03:00
Elias Nahum
950f5863fd
Revert "Use file URL over preview URL for GIFs (#3981)" (#4084)
This reverts commit cbc6ef185c.
2020-03-27 23:04:46 -03:00
Elias Nahum
10d433cfab
Port WebSocket from mm-redux and batch actions (#4060)
* Port WebSocket from mm-redux and batch actions

* Update mm-redux and fix tests

* Change action name

* Naming batch actions

* Fix unit tests

* Dispatch connection change only if its different

* Remove comment

* Add Lint to TypeScript and fix linting errors

* Add WebSocket Unit Tests

* Revert from unwanted RN 0.62
2020-03-26 21:23:50 -03:00
Andre Vasconcelos
a114b19ecc
MM-18455 Replace search bar component (#3998)
* Initiated basic migration to react-native-elements

- Search bar receives all right props without custom animations being necessary
- Need to test on different layouts and cases
- May be possible to unify android and iOS components. Attempt later

* Removing separated android/ios files

- Adding implementation of android searchbar 
- updating test snapshots

* WIP: Integrating leftComponent and adding focus animations

* Adding animations to left component on focus and blur events

* Removing repeated styles and useless props

* Updating snapshots

* Ensuring clearIcon renders when tapping search suggestions

- Also makes sure it prioritizes custom color attributes over default values for the search input

* Refactoring styles, removing clear icon animations

- Also removed useless ternary operations since the library itself already checks whether the search input is empty

* Replacing icon components with props whenever possible

- Removing useless styles

* memoizing styles, adding default props/values

* Memoize searchBarStyle with params

* Fixing backgroundColor

* Removing minWidth for cancel button

* Fixing styling issues on both iOS and android

* Updating snapshots post merge

* Making sure showCancel can be controlled by props

* Updating snapshots

* Fix clipped edges on iOS & cancel icon on Android

* Fixed radius, memoized styles

* Fixing styling issues found on Android

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-03-26 16:53:25 -03:00
Miguel Alatzar
55cac2e062
[MM-23514] Don't use state for rowsSliced/colsSliced (#4075)
* Don't use state for rowsSliced/colsSliced

* Update snapshot

* Also show moreBelow when contentHeight > MAX_HEIGHT
2020-03-25 15:59:17 -07:00
Elias Nahum
54c6d98683
Fix Android Navbar tap events (#4074) 2020-03-24 20:24:29 -03:00
Miguel Alatzar
f404fd00b0
[MM-23483] Add backgroundColor to drawer content parent View (#4067)
* Add backgroundColor

* Revert backgroundColor and set elevation instead

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-03-24 12:40:04 -03:00
Miguel Alatzar
1006d52889
[MM-23506] Enable FlatList virtualization (#4062)
* Enable FlatList virtualization

* Update snapshot test
2020-03-23 22:26:05 -03:00
Elias Nahum
2452297592
Fix Message attachment actions colors on dark themes (#4061) 2020-03-23 22:05:42 -03:00
Amit Uttam
587ba38f4e
MM-23234 Prefer mobile-defined state actions (#4057)
Unify usage to one set of defined dispatch actions in codebase, instead of a mix of (almost) identical actions defined in `mattermost-mobile` and `mattermost-redux` .
2020-03-20 13:53:33 -03:00
Elias Nahum
8fbc988c90
Upgrade Dependencies (#4034)
* Upgrade Navigation library

* Fix background color on Select Server

* Upgrade Navigation library

* Apply patch to nav lib

* Upgrade RNN to 6.1.1

* Update Dependencies

* Feedback review

* Call clearNavigationComponents when reset to channel
2020-03-18 19:05:49 -03:00
Elias Nahum
ec4dfb65b2
MM-23230 Batch post actions and fine tune postlint (#4042)
* PostList optimizations on FlatList

* Stop scroll to index if there is an interaction

* Fix unit tests

* MM-23176 Fix crash due to scrollToIndex out of range

* Batch mark channel as read action

* Fine tune post list

* Batch actions for getting posts

* Update app/utils/push_notifications.js

Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>

* Update app/actions/views/channel.js

Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>

* Pass state as arg to markAsViewedAndReadBatch

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-03-18 16:59:45 -03:00
Hossein Ahmadian-Yazdi
e8150fa7cc
[MM-21408] Make the name displayed consistent with teammate name display (#4021)
* update redux hash and function

* fix lint issue
2020-03-17 20:47:14 -04:00
Elias Nahum
3af9af68e4
MM-22318 Fix autocomplete selection char code for native emojis (#4040) 2020-03-17 12:48:22 -07:00
Farhan Munshi
217ef59f1c
[MM-23271] Check canAddReaction permission inside of render reactions (#4032)
* MM-23271 check canAddReaction when creating in reactions component

* MM-23271 Fixing linting
2020-03-16 11:29:13 -04:00
Elias Nahum
c685690d1e
MM-23179 Avoid unnecessary Overdraws (#4025)
* Set navigation based on theme only once

* Remove unnecessary overdraws

* Feedback review
2020-03-13 11:22:43 -07:00
Miguel Alatzar
d1add3c743
[MM-23241] Use expanded link from state (#4029)
* Get expanded link from state

* No need to await getRedirectLocation
2020-03-13 15:03:37 -03:00
Elias Nahum
50fc7d6896
Remove ExperimentalUsernamePressIsMention build time feature (#3993) 2020-03-13 10:54:19 -07:00
Martin Kraft
fbd7fedfbc
MM-21925: Enforces 'create_post' permission. (#3904)
* MM-21925: Enforces 'create_post' permission.

* MM-21925: Reverts adding 'can_post' check from post component.

* MM-21925: Removes unused variable and some duplicate imports.

* MM-21925: Removes unnecessary prop.

* MM-21925: Removes unused test prop.
2020-03-13 10:17:42 -03:00
Elias Nahum
d7acd5d0c3
MM-23176 Fix crash due to scrollToIndex out of range (#4026) 2020-03-11 17:14:11 -03:00
Elias Nahum
b8562e956b
MM-22975 Fix archive handle when server does not allow view archive channel (#4019)
* MM-22975 Fix archive handle when server does not allow vieweing an archive channel

* Update mm-redux ref
2020-03-09 17:06:02 -03:00
Miguel Alatzar
bdbef9444a
Fix crash for unarchived system message (#4004) 2020-03-05 16:39:37 -07:00
Elias Nahum
06f03d88e9
Ensure modals opened from the Settings Sidebar have a close icon (#3994)
* Ensure modals opened from the Settings Sidebar have a close icon

* Feedback during review
2020-03-04 08:41:03 -03:00
Elias Nahum
58dcbb215b
Fix typing on input box after returning from an archived channel (#3992) 2020-03-03 19:44:23 -03:00
Farhan Munshi
8052112260
[MM-22622] Check mentionHighlightsDisabled in markdown (#3975)
* MM-22622 Check mentionHighlightsDisabled in markdown

* MM-22622 Use array of mentions instead of long conditional

* MM-22622 Disable Channel mention highlight for channel header change messages

* MM-22622 Update tests to ensure mention highlight disabled on system message
2020-03-03 16:37:44 +05:30
Miguel Alatzar
cbc6ef185c
Use file URL over preview URL for GIFs (#3981) 2020-03-02 15:42:51 -03:00
Elias Nahum
5e8872e2d3
MM-22752 Preserve other teams channel membership (#3987) 2020-03-02 11:21:11 -07:00
ami9000
60be3d2783
MM-22134: Fix StatusBar after Photo-Camera post in landscape mode (#3986)
* Fix StatusBar after Photo-Camera post in landscape mode

* revised tests
2020-03-02 13:24:09 -03:00
Miguel Alatzar
b8fc38d3bc
[MM-22152] [MM-22321] Fix Markdown table issues (#3924)
* Ensure isFirstRow prop is set on first row

* Determine maxPreviewColumns on mount

* Fix expand button offset on Android

* Fix moreBelow gradient

* Show right gradient when columns are sliced

* Fix moreRight conditions
2020-03-01 09:27:25 -03:00
Elias Nahum
ce1aad22ce
MM-21276 & MM-22419 Fix PostList insets and Channel Intro (#3921)
* MM-21276 & MM-22419 Fix PostList insets and Channel Intro

* Update patches/react-native-keyboard-tracking-view+5.6.1.patch

Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-02-27 17:06:04 -03:00
Elias Nahum
0504a962a1
MM-22379 & MM-22598 Boost perf by using FastImage cache in favor of ImageCacheManager (#3971)
* MM-22379 & MM-22598 Boost perf by using FastImage cache in favor of ImageCacheManager

* Code review
2020-02-27 16:29:51 -03:00
Farhan Munshi
7952b5aeb7
[MM-21923] Enforce channel mentions permission (#3875)
* MM-21923 Enforce channel mentions permission by hiding it from autocomplete and disabling @mention confirmation modal

Add tests for post_textbox channel mentions

* MM-21923 Set use channel mentions to true if server version is not minimum required

* MM-21923 Point to specific redux hash and update permission check to be easier to read

* MM-21923 Fix currentChannel.id
2020-02-26 18:41:47 -07:00
Ryan Wang
99cc9c94c3
MM-10160 - support interactive button styles (#3896)
* MM-10160 - support interactive button styles

* MM-10160 - update action button styles
- move status colors to constants

* MM-10160 - add unit tests
- add button border opacity
- fix color accuracy

* MM-10160 - change action button padding
- edit hardcoded color status

* MM-10160 - update styles

* MM-10160 - center action button text

* MM-10160 - change action button line height again

* MM-10160 - improve variable names

* MM-10160 - split up tests to be more descriptive
2020-02-26 17:20:20 -07:00
Allen Lai
3e2fc1bc67
[MM-20804] Add "Unarchive Channel" option to the channel info screen (#3663)
* undelete

* fix build

* change let to const

* ran make i18n

* small refactor

* using canUndelete var

* added render message

* fix bug

* sync

* remove duplicate

* fix test

* add unit test for unarchive channel button render

* fix unit test for unarchive channel

* delete space

* change logic in undelete

* add server minimum for feature

* fix renderunarchive test with adding props variables

* snpashot wasnt matching. fixed by adding to base prop

* return early if false

* change position and color for unarchive button

* refactor handle delete undelete leave

* move serverversion call up

* undelete to unarchive

* remove unnecessary seperator

* hash

* Update app/screens/channel_info/index.js

Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>

* delete canuseunarchive feature

* add test to render sys message

* remote 'w' in package.json

* add trailing comma

* update redux hash

* whitespace in test

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-02-26 21:02:28 -03:00
ami9000
30594cec5d
MM-12148: Prevent emdash convert in a Code Block on ios (#3885)
* Add fix to prevent emdash autocorrect in a Code Block on ios

* Add fix to prevent emdash autocorrect in a Code Block on ios

* code clean up

* separate to new switchKeyboardForCodeBlocks function

* added emdash prevention to edit_post and also code cleanup

* moved keyboardType logic to its own utils function and added unit tests

* clean up - align event argument names

* removed unnecessary event check
2020-02-26 20:51:53 -03:00
ami9000
4668c9cce5
Edited onHandlerStateChange to fix reaction list stutter (#3951) 2020-02-26 11:11:48 -07:00
Amit Uttam
9d44ef8053
MM-22629 Center-align tall & thin image attachments (#3931)
Bug reported in community: https://community.mattermost.com/core/pl/yy39ajg1ajfm386dms6tdyjrtw
2020-02-18 15:48:26 -03: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
Elias Nahum
05afa871eb
MM-20184 Remove ios drawer hack and Fix right drawer partially shown on landscape (#3919) 2020-02-17 12:27:54 -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
Amit Uttam
26df779330
MM-22253 Reduce unnecessary re-renders in channel switching (#3900)
Re-renders were occuring because of prop and state updates that created new object references, despite being of identical value. A key culprit was `postListHeight` in `PostList` which goes through a few calls to `handleContentSizeChange` when loading posts.

Also, "New Messages" divider line is a pure component now (via `memo`) to reduce unnecessary re-renders here too.
2020-02-07 14:13:44 -07:00
Amit Uttam
a17b534916
[MM-22344] Remove ChannelPeek (#3894)
Introduced large number of unnecessary re-renders when opening channels, and ideally should not be a part of the channel switching/opening code path. Although this was discovered while trying to investigate an [Android-specific issue](https://mattermost.atlassian.net/browse/MM-22253), this extra code path made it difficult to see what Android is potentially doing differently than iOS.

Functionality originally introduced in #1203.

Conversation for removal is [here](https://community.mattermost.com/core/pl/hfcogf6pr7rw8k3ryq14c69c7e)
2020-02-06 22:42:35 -03:00
Miguel Alatzar
a1474d9e89
[MM-22236] Check against Permissions.RESULTS.GRANTED (#3892)
* Check agains Permissions.RESULTS.GRANTED

* Fix file and image upload as well

* Fix permissions

* Make linter happy

* Use toHaveBeenCalledWith
2020-02-06 11:55:15 -07:00
Emilio Rodriguez
0b98d82bfa
Mm 10601 - Use Enter Key to send message on Hardware Keyboards (#3760)
* Reacting to shift-enter events on iOS

* moving keyEvent logic to handleHardwareEnterPress

* configured android to work with keyEvents

* using dispatchKeyEvent instead of onKeyUp

* using react-native-hw-keyboard-event

* cleanup

* updated package name

* update package name

* using react-native-hw-keyboard-event v0.0.2

* reverted cocoapods version change

* Documentation

* fix detection of Shift-Enter on android

* simplify dispatchKeyEvent()

* fix for stacked hardware keyboard events

* Update android/app/src/main/java/com/mattermost/rnbeta/MainActivity.java

Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>

* simplify dispatchKeyEvent

* removed yarn.lock

* using react-native-hw-keyboard-event v0.0.4

* Using ACTION_UP instead of ACTION_DOWN

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-02-04 09:34:14 -07:00
Elias Nahum
484e7068c3
MM-22165 Fix channel sidebar close gesture (#3879) 2020-02-01 13:12:05 -03:00
Miguel Alatzar
a8f0314067
[MM-22078] [MM-22083] Sort emojis in EmojiPicker (#3865)
* Sort emojis in EmojiPicker

* Pass search term to compareEmojis

* Sort emojis that include search term first

* Fix sorting

* Handle compareEmojis without search term

* Return doDefaultComparison

* Check includes only if needed

* Make linter happy

* Use doDefaultComparison
2020-01-28 15:04:59 -07:00
Elias Nahum
ee25cf49eb
MM-22090 Fix iOS photo/camera denied permissions (#3860)
* Fix iOS photo/camera denied permissions

* Add unit test and rename files

* Request for permission if returns denied
2020-01-28 16:53:14 -03:00
Elias Nahum
2765d1b06b iOS Slide open main sidebar from anywhere (#3859) 2020-01-27 19:53:16 -07:00
Elias Nahum
ff13f3e612 MM-21961 Fix Incorrect Timestamp on Android Mobile App (#3861) 2020-01-27 12:57:22 -07: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
Amit Uttam
36c7cf4014 MM-21723 Handle deep link errors to inaccessible teams, channels & permalinks (#3815)
* Consolidated error handling for a user's reachable teams.
* Consolidated error handling for a user's reachable channels.
2020-01-21 14:43:24 -03:00
Elias Nahum
1e0095d465 MM-21892 Fix TypeError cause by mm-redux#1006 (#3837) 2020-01-21 08:53:01 -07:00
Amit Uttam
331cfcc372 Set default app scheme to mattermost (#3827)
Was originally set to `mattermost-beta` as per #3767 .
2020-01-20 16:14:19 -03:00
Elias Nahum
7c09334dc4
Deps update (#3806)
* Dependecy updates

* Update dependencies
2020-01-20 13:20:03 -03:00
Elias Nahum
08e748bcae MM-21634 Fix keyboard glitch when returning to channel screen from the code screen (#3813) 2020-01-20 08:50:32 -07:00
Amit Uttam
ef0274cad8 [MM-16263] UI/UX Improvements to the mobile post draft area (#3807)
* Adding base button functionality

Moving file upload previews to be under textbox

* Ensuring textbox is scrollable when in landscape mode

* Updated image picker to use mixed camera option

* Added unit tests, fixed other tests affected by dependency update

* Updated patch for react-native-image-picker to 1.1.0

* Fixing incorrect import of DocumentPicker

* MM-20989: Ensuring keyboard doesn't dismiss while submitting post (#3758)

* Ensuring keyboard doesn't dismiss while submitting post

* Update snapshot

* Preventing the @ icon from being repeatedly tappable (#3777)

* Fix snapshot from merge

* MM-21736 Select/Take images and videos for Android

* MM-21737 Fix attachment error message position on iOS

* Remove FileUploadPreview from the iOS Thread screen

* Fix android camera permissions

* Fix post input box sizing and disable scrollview

* Fix iOS photo gallery videos

Co-authored-by: Andre Vasconcelos <andre.onogoro@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-01-16 22:17:03 -03:00
Miguel Alatzar
6879388d04
[MM-21184] Enabled Hermes (#3814)
* Enable Hermes

* Don't sort emojis in selector

* No need for transformer

* Remove unnecessary packager files
2020-01-16 12:56:44 -07:00
Amit Uttam
f6ee6b767e
MM-14470 Deep links launch when app is not currently open (#3802)
Previously, deep links would only work when the app was already open/previously launched.

Now, invoking a deep link launches the app if not already open, and opens the deep link destination.
2020-01-15 13:54:18 -03:00
Elias Nahum
92033f42ec MM-13953 Channel Info screen transition (#3812)
* MM-13953 Channel Info screen transition

* Fix unit test
2020-01-15 09:29:57 -07:00
Amit Uttam
f3b0e4aa28 MM-21068 Notify when attempting to enter private channel/group via explicit link (#3759) 2020-01-13 20:57:06 -07:00
Saturnino Abril
f8698d0293 MM-21342 Fix leading zero on post by using react-intl by default and fallback to moment-timezone for unsupported locale (#3797)
* used react-intl for post time as default and moment-timezone as fallback

* add @testing-library/react-native to better test component rendering
2020-01-13 20:12:51 -03:00
Amit Uttam
a5330bc08f
MM-21369 Require server/site URL for deep links (#3770)
**Old (only worked without serverURL or siteURL)**

Beta
* `mattermost-beta://<teamname>/channels/<channelname>`
* `mattermost-beta://<teamname>/pl/<permalinkID>`

Release
* `mattermost-mobile://<teamname>/channels/<channelname>`
* `mattermost-mobile://<teamname>/pl/<permalinkID>`

**New working deep link patterns**

Beta
* `mattermost-beta://<server-or-site-URL><teamname>/channels/<channelname>`
* `mattermost-beta://<server-or-site-URL><teamname>/pl/<permalinkID>`
* `mattermost-beta://https://<server-or-site-URL><teamname>/channels/<channelname>`
* `mattermost-beta://https://<server-or-site-URL><teamname>/pl/<permalinkID>`

Note: Transport protocol (http, https, etc.) is optional.

Release
* `mattermost-mobile://<server-or-site-URL><teamname>/channels/<channelname>`
* `mattermost-mobile://<server-or-site-URL><teamname>/pl/<permalinkID>`
* `mattermost-mobile://https://<server-or-site-URL><teamname>/channels/<channelname>`
* `mattermost-mobile://https://<server-or-site-URL><teamname>/pl/<permalinkID>`

Note: Transport protocol (http, https, etc.) is optional.
2020-01-13 16:28:14 -03:00
CJ
13866bdfce MM-20625 Unit Tests (#3787)
* MM-20625 Unit Tests

* Updated tests
2020-01-13 12:35:10 -03:00