Commit graph

141 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
7f35c843fd
Tweak post list numbers (#4112)
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-04-02 15:01:00 -03:00
Mattermost Build
fe477f68d5
Automated cherry pick of #4062 (#4066)
* Enable FlatList virtualization

* Update snapshot test

Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
2020-03-24 10:19:51 -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
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
Elias Nahum
d7acd5d0c3
MM-23176 Fix crash due to scrollToIndex out of range (#4026) 2020-03-11 17:14:11 -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
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
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
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
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
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
ee15776a06 MM-21230 Added check for first post (#3786)
* MM-21230 Added check for first post

Added a check to see if there was an original postId to validate the moreMessages check.

* Added comment
2020-01-13 12:23:10 -03:00
Elias Nahum
5d743004b8 MM-17044 Load posts until no more are needed (#3656)
* MM-17044 Load posts until no more are needed

* Improving post list tests for componentDidUpdate

Co-authored-by: mattermod <mattermod@users.noreply.github.com>
2020-01-07 11:59:31 -07:00
Elias Nahum
17a7054ae6 MM-19993 Fix Channel spinner is black on dark theme (#3558) 2019-11-18 22:04:52 +08:00
CJ
0d7d1b7542
MM-18054: Removed Commented On from new messages in thread with same poster (#3351)
* MM-18054:

Added a check for previousPost to use in validating new messages in thread to check if we should display Commented On message.

* MM-18054 Updated

Updated the check for Commented line to validate the previous thread was one that the post user commente on.

* MM-18054 Fixed Eslint Issues

Fixed Eslint Issues

* MM-18054 Fixed Eslint Issues

Missed a space...

* MM-18054 Cleanup

Cleaned up some code from suggestions
2019-10-12 01:31:55 -04:00
Miguel Alatzar
459801d10b
[MM-17560] Await dismissAllModals and popToRoot prior to calling showSearchModal (#3298)
* Patch react-native-navigation

* Make navigation actions regular functions

* Fix unhandled promise rejection warning

* Missing semicolons

* Mock navigation actions

* Add unit tests for navigation actions

* Place all patches in patches directory

* Fix channel_info snapshot test
2019-09-25 15:23:45 -07:00
Miguel Alatzar
8fd0a515a8
Null check on current (#3309)
* Null check on current

* Null check on current
2019-09-24 17:13:27 -07:00
Miguel Alatzar
20fb25df8d
Call scrollToIndex only when ref is set and index is in range (#3285) 2019-09-19 12:39:47 -07:00
Sudheer
0f67b47026 Revert "Call scrollToIndex only when ref is set and index is in range (#3282)" (#3284)
This reverts commit ecbbb3f0e5.
2019-09-19 11:39:52 -07:00
Miguel Alatzar
ecbbb3f0e5 Call scrollToIndex only when ref is set and index is in range (#3282) 2019-09-20 00:00:43 +05:30
Harrison Healey
6fc8569266 MM-18466 Change recent date separators to yesterday/today (#3245)
* MM-18466 Change recent date separators to yesterday/today

* Add i18n strings
2019-09-14 07:02:51 -03:00
Elias Nahum
a6a299352e
MM-18024 MM-18025 Fix race condition when push notification opens the app and credentials are not set (#3168) 2019-08-23 09:37:48 -04:00
Elias Nahum
0856d4b517
Migrate to moment to fix timestamps based on timezone or local time (#3126) 2019-08-15 12:32:16 -04:00
Elias Nahum
fddb0cf2fb
MM-17562 scroll to new message line indicator on componentDidUpdate (#3074)
* MM-17562 scroll to new message line indicator on componentDidUpdate

* feedback review

* Cancel animation frame requests
2019-08-08 15:50:37 -04:00
Miguel Alatzar
78bdf0e4e2
Check initialIndex in callback (#3025) 2019-07-24 09:51:36 -07:00
Miguel Alatzar
83c9856897
Call scrollToIndex only if flatListRef.current is not null (#3022) 2019-07-23 11:21:38 -07:00
Miguel Alatzar
085a3ecf6c [MM-17016] Ensure Flatlist is mounted prior to calling scrollToIndex (#2977)
* Ensure Flatlist is mounted prior to calling scrollToIndex

* Address review comment
2019-07-16 21:07:59 +08:00
Miguel Alatzar
51aac1e6e7 Merge branch 'master' into rnn-v2 2019-07-02 18:15:19 -07:00
Elias Nahum
9f88923656
Place the new message indicator at the top of the screen (#2943)
* Place the new message indicator at the top of the screen

* Add unit tests for channel postVisibility reducer
2019-07-02 12:28:13 -04:00
Miguel Alatzar
b65ce5d283 [MM-16136] Update channel related screens (#2915)
* 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

* Fix typo

* Use goToScreen for Android too

* Remove navigationComponentId
2019-06-26 16:46:05 -04:00
Miguel Alatzar
fdb6cc6b2a [MM-16456] Ensure Flatlist is mounted prior to calling scrollToOffset (#2925)
* Ensure Flatlist is mounted prior to calling scrollToOffset

* Make linter happy
2019-06-26 17:01:44 +08:00
Elias Nahum
6546dfdfd2
Set post list data and timestamp based on the user timezone if available (#2888) 2019-06-17 15:24:28 -04:00
Elias Nahum
de37a2aa7a
Fix autocomplete showing behind the keyboard on iOS and not working on Android (#2830)
* Fix autocomplete showing behind the keyboard on iOS and not working on Android

* Unbundle config for Android

* Dismiss keyboard on post long press, fix scroll to bottom on new message and update tests

* Add a timeout before scrolling to give time to render the last post

* Fix crash on Android
2019-05-27 19:18:43 -04:00
Elias Nahum
f7f56e958b
MM-9494 & MM-13888 Tapping execute actions & interactive keyboard dismissal (#2799)
* MM-9494 & MM-13888 Tapping with the keyboard opened executes the action & iOS iteractive keyboard

* Fix tests

* feedback review

* add new line at the end of file

* feedback review and added todo list

* Track interactive dismiss keyboard and set scrollview bounds natively

* Fix snapshots

* Fastlane default to current branch when no BRANCH_TO_BUILD is set

* Set NODE_OPTIONS in ios build script

* Rebind scrollview when channel gets first set of posts

* Keep scrolling momentum on keyboard close

* Update react-native-keyboard-tracking-view

* Fix ScrollView offset with keyboard-tracking

* Fix offset while dragging the keyboard

* Allow action on channel drawer on tablets

* Fix typo

Co-Authored-By: Saturnino Abril <saturnino.abril@gmail.com>

* Fix indentation
2019-05-20 12:02:00 -04:00
Elias Nahum
f36ee37402
Upgrade to RN 0.59.6 and dependencies (#2777)
* Upgrade to RN 0.59.6 and dependencies

* Remove channel loader unused style

* Update to the latest netInfo that fixes a crash

* Do not set default timezone with moment

* Use RN 0.59.8
2019-05-13 13:33:18 -04:00
Miguel Alatzar
45e5bae8da
Avoid possible reading of length property on undefined (#2783) 2019-05-10 09:34:23 -07:00
Saturnino Abril
c450c530a7 add lastPostIndex props to Thread and Permalink, and add markers for those screens (#2780) 2019-05-09 07:39:58 -07:00
Saturnino Abril
e086d66ec2
[MM-13955] Add telemetry for Android (#2719)
* add markers for Android profiling

* update per comments

* Remove beta build flag

* update per comment, latest change on telemetry server and others

* rebase and fix merge conflicts, and update per comments

* update commit hash of mattermost-redux
2019-05-08 00:23:59 +08:00
Elias Nahum
5ce9208d32 MM-14958 Scroll to bottom when posting a new message (#2761) 2019-05-07 13:28:16 +05:30
Elias Nahum
a16c98b34e MM-15428 Return empty object for native managed configuration when not set (#2770) 2019-05-06 09:20:08 -07:00
Elias Nahum
08df256c1d MM-14921 Fix iPad layout including safeAreaInsets (#2748)
* MM-14780 and MM-14921 Fix iPad layout including safeAreaInsets

* Fix unit tests
2019-05-03 17:42:32 -04:00
Elias Nahum
6eeb830662
Use of cached managed config in components (#2758) 2019-05-01 18:34:09 -04:00
Elias Nahum
2d48215bf1
fix mattermostManaged event name (#2754) 2019-04-30 11:12:28 -04:00
Miguel Alatzar
89c0d1b5f9
Increase Typing animation duration and remove handleScrollToRecentPost (#2730) 2019-04-23 14:49:15 -07:00
Harrison Healey
9c53852128
Reorganize post state and make postsInChannel into a sparse array (#2693)
* MM-13957 Reorganize post actions (#2553)

* MM-13957 Reorganize post actions

* Update mattermost-redux

* Update mattermost-redux

* Update package-lock.json to resolve build issues

* MM-13958/MM-13959 Make postsInChannel into a sparse array (#2600)

* MM-13960 Re-add combined system messages (#2637)

* MM-13960 Re-add combined system messages

* Pass entire post to PostOptions

* Update mattermost-redux

* Update mattermost-redux

* Address feedback

* Update mattermost-redux
2019-04-15 17:20:23 -04:00
Courtney Pattison
c3a1e3561e [MM-13381] Added reply to post options (#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
2019-03-25 13:29:46 -07:00
Saturnino Abril
8a4c6de86f
fix intermittent crash when selecting a link (#2620) 2019-03-05 02:28:40 +08:00