Commit graph

359 commits

Author SHA1 Message Date
Elias Nahum
3c034ae3c4
MM-36640 Bring back permalink view on search/recent mentions/pinned and saved posts (#5482)
* Downgrade RNN to avoid bug that cuts off permalink view on iOS

* Bring back permalink view on search/recent mentions/pinned and saved posts

* fix test snapshot
2021-06-24 12:55:46 -04:00
Mattermost Build
2119cb4f85
Fixed custom status issues (#5476) (#5477)
Fixed MM-36571 and MM-36601 issues by dispatching RECEIVED_ME action on websocket reconnecting
Added memoization in makeGetCustomStatus in custom status emoji component
Fixed e2e test case failing due to post header custom status emoji

(cherry picked from commit c06b5ecb4f)

Co-authored-by: Manoj Malik <manoj@brightscout.com>
2021-06-22 10:34:05 -07:00
Mattermost Build
abc2f30ef3
MM-34586 Custom status feature (#5220) (#5420)
(cherry picked from commit e442275c6f)

Co-authored-by: Chetanya Kandhari <chetanya.kandhari@brightscout.com>
2021-06-04 09:02:35 -04:00
Mattermost Build
0d83ac4c93
Post List & post components refactored (#5409) (#5417) 2021-06-03 14:59:42 -04:00
Elias Nahum
288c847518
Add Perf metrics, some cleanup & dep updates (#5378) 2021-05-12 08:48:20 -04:00
Elias Nahum
17fd4ee278
MM-32591: Reliable Websockets: Client side changes (#5362) 2021-05-07 08:20:41 -04:00
Michael Kochell
3eaa538707
[MM-34746] Fix ephemeral error message response (#5304)
* fix ephemeral error message response

* extract helpers for posting call responses
2021-04-29 09:59:06 -04:00
Anurag Shivarathri
e7d5f2c194
MM-24693 Add since query param to the getGroups api request (#5163)
* Added since query param to the getGroups api request

* Update app/actions/views/channel.js

Co-authored-by: Hossein <hahmadia@users.noreply.github.com>

* Replaced lastConnectAt with lastDisconnectAt

* Reverted client4.ts file

* Updated client file

* Fetches all groups enabled/disabled

Co-authored-by: Hossein <hahmadia@users.noreply.github.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-04-27 23:21:19 +05:30
Elias Nahum
4c725f157b
MM-27251 Fetch team channels including archived since last known timestamp (#5328) 2021-04-16 09:53:42 -04:00
Elias Nahum
13eab98143
Refactor rest client class to use mixin and a bit of cleanup (#5318) 2021-04-15 10:04:36 -04:00
Michael Kochell
f766f47358
Post app call response ephemeral messages as bot (#5256)
* post app call response ephemeral messages as bot

* add check for isBot

* add SendEphemeralPost func type

* snapshot
2021-04-02 14:04:31 -04:00
Michael Kochell
e49c0314cc
[MM-33892] Replace em dash with double dash for commands (#5259)
* replace em dash with double dash for commands

* style

* missing semi
2021-04-01 13:45:16 -04:00
Daniel Espino García
e75d3673cc
Make createCall function and related functions return an error message to be shown at a higher level (#5239) 2021-03-24 11:52:54 +01:00
Michael Kochell
11a9590402
Refactor apps modal autocomplete into AutocompleteSelector component (#5229)
* Apps bindings support (#5012)

* Add redux related information

* Add binding loading on channel refresh

* Add channel header and post option bindings

* Fix test

* Minor fixes

* Fix snapshots

* Handle errors and show bindings only on main channel

* Update Expand Levels keys and values to match latest changes

* Add NAVIGATE call response handling.

* Add more isolation to apps related code

* Add defaults to send ephemeral

* Update variable naming

* Rename shouldProcessApps by a more meaningful appsEnabled

* Embedded forms (#5169)

* Add redux related information

* Add binding loading on channel refresh

* Add channel header and post option bindings

* Fix test

* Minor fixes

* Fix snapshots

* Handle errors and show bindings only on main channel

* Update Expand Levels keys and values to match latest changes

* Add NAVIGATE call response handling.

* Add more isolation to apps related code

* Add Embedded Forms

* Fix snapshots

* Add Embedded Forms

* Improve naming, change the root element to be a binding and improve binding handling

* Get post down on the buttons, remove unneeded variables and minor fixes from the review

* Allow undefined bindings to fillBindingsInformation and add logging for error.

* Address review feedback

* Add App Forms (#5177)

* Add App Forms

* Address feedback and self review

* Add dynamic select

* Fixes and improvements

* Add the ability to refresh on submit.

* Use AppFormValue instead of redoing the type

* Address feedback

* [MM-31508] Rename URL to Path in Call (#5186)

* Add user agent to call context (#5193)

* Remove unneeded state reference (#5196)

* Change user agent query on fetch bindings (#5201)

* Add refresh websocket event to refetch bindings (#5194)

* Add refresh websocket event to refetch bindings

* Add missing changes

* Declare socket event constant and separate the handler to a different function

* Add binding validation on binding fetch (#5200)

* Apps commands (#5107)

* Add redux related information

* Add binding loading on channel refresh

* Add channel header and post option bindings

* Fix test

* Minor fixes

* Fix snapshots

* apps modals draft

* Handle errors and show bindings only on main channel

* Update Expand Levels keys and values to match latest changes

* Add NAVIGATE call response handling.

* Add more isolation to apps related code

* reuse command parser throughout slash_suggestion component's lifecycle

* fix prop and lint

* using alert to show error message. need another way

* duplicate import

* types

* types

* types

* rename file

* copy webapp parser and test

* dependencies moved. tests pass

* move app command parser into its own folder

* converted to typescript, all tests are passing

* automated and manual tests work

* lint

* lint

* remove fall throughs with blocks

* types

* doAppCall type

* extract displayError to deps file

* test types

* lint

* fix tests

* unused import

* PR feedback

* fix imports and show errors

* types

* remove execute suggestion for mobile

* watch feature flag

* fix tests

* change form text arugment behavior to show user input and not hint

* return call response error in doAppCall

* update tests to remove hint from text field suggestions

* lint

* use new base command structure

* fix tests

* wrap appsEnabled

* typescript actions/command.ts

* update app constants

* PR feedback

* fix error handling from doAppCall action

* Use App CallRequest structure (#5212)

* error handling

* move test files

* remove unused import

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* Add feature flag (#5207)

* Add feature flag

* Simplify return

* Add localization, call validation and use call type on subpath (#5221)

* Add localization, call validation and use call type on subpath

* Add more localization to the parser and bring fixes from webapp

* Fix ephemerals and channel header / post options crashes

* fix app command parser deps and alert messages

* Improve suggestion handling

* Fix test

* Fix lint

* Return errors as error

* Address PR feedback

* return error property

* fix error string wordings

Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>

* migrate app selector to AutocompleteSelector

* add if statement to avoid missing prop

* add tests for dynamic values

* clean up

* remove old files

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2021-03-23 19:53:04 +01:00
Daniel Espino García
11c8454ee2
Feature - Cloud Apps (#5226)
Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2021-03-22 18:02:06 -04:00
Anurag Shivarathri
3c51b39bf4
Added "Join prompt" when sys admin clicks on perma links of private channels (#4988)
* Added join prompt when sys admin clicks on private channel perma links

* Moved isChannelMember to utils

* Update app/actions/views/permalink.ts

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>

* Added error messages

* Added error messages

* Moved checks to screen components

* Removed unused Alert import

* Removed unused translations and showing channel 'display' name

* fixed eslint error

* Moved private channel check logic from component to handleSelectChannelByName to avoid issues while pressing on url from different team

* Detox test WIP

* Test link fixes

* Added e2e test

* Hiding <Loading component on RN Alert as detox is unable to press on the Join button

* Updated message

* Added team membership check and auto-joining teams before viewing posts

* Fixed testcases

* Leaves newly joined team on any error while joining the channel

* Leaves the team if newly joined if cancelled the prompt

* Moved code to tapping_channel_url_link_joins_channel and refactored code

* Removed unwanted optional chaining operator

Co-authored-by: anurag shivarathri <anuragindianbraves@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-02-12 09:09:34 +05:30
Elias Nahum
a8a4d72075
Upgrade Dependencies (#5103)
* Update fastlane

* Update detox & deps

* Upgrade cocoapods

* Upgrade dependencies
2021-01-13 12:36:31 -07:00
Ashish Bhate
aaba9fa472
[MM-30976] fix viewing/joining archived channels using channel links (#5106) 2021-01-11 15:51:14 -07:00
Daniel Espino García
7bb777f4b3
Handle go to location from CommandResponse (#4620)
* First draft to handle go to location on mobile

* Fix lint

* Fix test

* Remove unnecessary change

* Add not handled cases

* Add i18n missing string

* Fix typo

* Extract handleGotoLocation into an action

* Fix minor issues and extract showPermalinkView to an action

* Fix minor issues and extract showPermalinkView to an action

* Add missing change

* Fix this reference

* Remove unneeded event handlers, sort imports, early handle errors, make group channel visible, remove duplications and move functions to the right place

* Fix tests

* Handle error when opening permalink
2021-01-04 15:06:37 -07:00
Elias Nahum
673f10770d
Set Tablet orientation explicitly to all (#5049) 2020-12-18 17:17:22 -03:00
Guillermo Vayá
0ee7b60e84
[MM-30857] request postssince on reconnect (#5000)
* [MM-30857] request postssince on reconnect

* [MM-30857] add test

* Address CR, add debounce in case of unstable connection

* remove leftovers

* Address review comments

* remove previous changes

* fix tests
2020-12-10 20:49:44 -07:00
A C SREEDHAR REDDY
f0598dde54
MM-18998 Add emojis in the post to recent emojis (#4986)
* add emojis available in the post to recent emojis

* made add recent reactions more performant

* lint fix

* added support for namedicons, update only if send post is success

* updated emojiUnicode function

* limit the number of recent emojis

* added e2e tests for MM-T3495

* filter out aliases

* Typo fix

* return data:true when success false when fails

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-12-10 20:20:40 -03:00
Ed Trist
c106e9f973
[MM-23391] Sort sidebar teams order by user preference (#4911)
* [MM-23391] Sort sidebar teams order by user preference

* Update imports

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>

* Small changes to selector from review

* Select first ordered team in user preference on login

* Check teams length instead

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>

* Return early if teamsOrder is empty

* Return sorted copy of teams instead of mutating original array

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-12-10 17:35:05 -03:00
Ashish Bhate
77d63dfd96
[MM-29037]: Unit and e2e tests for MM-28100 (#4951)
* [MM-29037]: Unit and e2e tests for MM-28100

* e2e test

* review fixes

* move test to correct folder

* update to latest master

* remove console log

* skip query when not required

* re-add console.log
2020-12-01 14:01:34 -03:00
Joseph Baylon
67398d83cb
Add eslint eol-last to require newline at end of files (#4985) 2020-11-30 21:46:05 -07:00
Elias Nahum
dcaaaee44c
MM-30164 fix safe area insets (#4979)
* MM-30164 fix safe area insets

* Fix unit test setup mock for react-native-device-info

* Add insets for edit profile screen

* Fix about screen

* Fix theme screen

* Lock phone screen to portrait

* fix unit tests

* Fix autocomplete layout
2020-11-23 20:10:09 -03:00
Elias Nahum
b226d451f3
update dependencies (#4958)
* update dependencies

* revert keychain update

* Update dependencies & Fastlane

* set path agnostic for bash in scrips

* Fix open from push notification race

* patch react-native-localize
2020-11-18 19:45:07 -07:00
Elias Nahum
2c0b67067f
MM-29252 Tapping on invalid permalink shows an error (#4926) 2020-10-28 11:54:47 -03:00
Elias Nahum
043b3a0e8e
Refactor Android Share extension (js) (#4893)
* Refactor Android Share extension (js)

* Feedback review
2020-10-19 21:39:59 -03:00
Elias Nahum
fbe2a9e575
MM-28539 Fix wrong participant count in GM info (#4887)
* Fix e2e flaky tests

* MM-28539 Fix wrong participant count in GM info

* Apply suggestions from code review

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>

* Apply suggestions from code review

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>

* Update detox/e2e/test/autocomplete/edit_post.e2e.js

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
2020-10-19 10:13:30 -03:00
Ashish Bhate
7647367bcf
[MM-28100] fix reachability check and ensure channel membership before getting posts (#4810)
* [MM-28100] Reload state for newly fetched channels before checking reachability

* join selected channel if not already a member

* fix destructuring

* Revert joining channels in handleSelectChannel

* refactor channel joining

* use different server endpoint to work around requiring a server update
2020-09-24 11:59:46 -07:00
Elias Nahum
96bf1db243
MM-28295 Do not remove the Channel screen from the stack tracking (#4793)
* Do not remove the Channel screen from the stack tracking

* Reset stack for select server & when no teams are present
2020-09-09 13:15:09 -03:00
Elias Nahum
bd7afae6f0
Always load the thread & modify thread selector (#4771)
* Always load the thread & modify thread selector

* review feedback
2020-09-08 13:09:46 -03:00
Kyle Watson
8b9ef0e849
[MM-12526] removed from channel alert (#4633)
* GH-13222: Shows an alert when you are removed from the channel that you are currently viewing

* GH-13222: Removed channel alert improved text

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-08-10 20:34:04 -07:00
Farhan Munshi
581e6ba12a
Ignore pagination when loading group data (#4644) 2020-08-07 09:31:26 -04:00
Miguel Alatzar
1084d38ecb
[MM-27483] Fetch channel and member when loading from push notification (#4648)
* Fetch channel and member

* Uncancel if unreadCount increased from 0
2020-08-06 14:18:50 -07:00
Miguel Alatzar
1324bfd0bf
[MM-27294] Allow returning to Channel screen without resetting the navigation root (#4619)
* Add popDismissToChannel

* Use popToRoot + dismissAllModals

* Just dismissAllModals and popToRoot

* Revert unnecessary changes

* Close permalink on popToRoot

* Emit after dismissAllModals and popToRoot
2020-07-30 12:50:37 -07:00
Elias Nahum
baca7bcf87
Fix the display the error message if ssoLogin action fails (#4609)
* Fix the display the error message if ssoLogin action fails

* Fix typo

* Remove token parameter
2020-07-23 16:42:43 -04:00
Elias Nahum
ac2a3a143a
MM-24895 Load team member and roles in the WebSocket event (#4603)
* Load team member and roles in the WebSocket event

* Split WebSocket actions and events into multiple files
2020-07-23 10:19:54 -07:00
Shota Gvinepadze
5465133c87
Add analytics to the command autocomplete (#4597)
* Add analytics to the command autocomplete

* Refactor analytics

* Refactor reset method
2020-07-23 19:57:42 +04:00
Elias Nahum
a99e938e9c
MM-26817 Upgrade to RN 0.63 (#4566)
* Upgrade to RN 0.63

* Bump to RN 0.63.1

* Fix RN patch

* Use JSC Intl version

* Update android/app/build.gradle

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

* Fix Android external storage permission

* Fix emoji imageUrl when no server url is present

* Patch react-native-image-picker

* Allow to post attachment only messages

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-07-20 18:08:11 -04:00
Hossein Ahmadian-Yazdi
2840a42a00
[MM-23160][MM-24633][MM-24697] Highlight Group Names 2 (#4551)
* Initial Commit for Group Highlights

* Fix some stuff

* Get my groups

* update channel.js

* Address PR comments

* Address PR comments

* Update app/actions/views/channel.js

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

* update selector stuff

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-07-20 10:19:18 -04:00
Miguel Alatzar
7c41c83196
[MM-26855] Ensure More Messages button works as expected when app is launched from a push notification (#4569)
* Fix more messages button with push notif

* Don't cancel in showMoreText
2020-07-16 11:25:40 -04:00
Elias Nahum
f79baea68f
MM-26749 Fix race condition when open from PN (#4556)
* MM-26749 Fix race condition when open from PN

* setStartFromNotification earlier

* Fix Android race condition when closing the app with the back button
2020-07-10 16:24:09 -04:00
Miguel Alatzar
f79f9dc697
[MM-23761] [MM-25766] Add "More Messages" button (#4526)
* Add more messages button

* Update existing tests

* Various fixes:

* Use viewAreaCoveragePercentThreshold over itemVisiblePercentThreshold
* Remove currentUserId check when adding New Message line to postIds and
  instead update the channel last viewed time when an own post is received

* Update snapshots

* Add showMoreMessagesButton prop and default to false

* Android fixes

* Add tests

* Localize more messages text

* Use FormattedText

* i18 extract

* Style fixes

* Account for network indicator

* Fix for failing tests

* Various fixes:

* Set the unreadMessageCount when POST_UNREAD_SUCCESS is dispatched
  with a positive deltaMsgs
* Hide the more messages button when the unread count decreases or
  when the new message line is removed shortly after loading the
  channel

* No need for POST_UNREAD_SUCCESS if we manually call onViewableItemsChanged

* Reset unread count if current channel on channel mount

* Animate text opacity

* Compare indeces to determine when scrolling has ended

* Fix opacity animation trigger

* try with scrolling to the last rendered item

* Add onScrollEndIndex

* Improve animations

* Don't track moreCount in state

* Use moreText over prevNewMessageLineIndex to determine firstPage

* Update intl message format and call cancel in componentDidUpdate when needed

* Fix intl format

* Remove opacity animation and countText

* Fix pressed not being reset

* No need to separate intl func

* Return after resetting

* Fix accidental removal of setState call

* Reset pressed when newLineMessageIndex changes

* Use default windowSize and lower POST_CHUNK_SIZE and delays

* Queue a cancel timer that gets cleared only when the newMessageLineIndex changes

* Define uncancel func

* Increase cancelTimer delay

* Subtract read posts from unread count and account for retry indicator

* Add retry bar indicator tests

* Use props.unreadCount

* Fix handling of newMessageLineIndex change

* Fix handling of newMessageLineIndex change take 2

* Fix handling of newMessageLineIndex change take 3

* Use 'native' TouchableWithFeedback with dark overlay

* Fix handling of manually unread

* Update chunk and window sizes

* Fix hsl

* Update text only when newMessageLineIndex/endIndex is reached

* Don't delay cancel if when no more unreads

* Fixes for when opening the app

* No need to process viewableItems when unreadCount is 0

* Remove line

* Don't show if unreadCount is 0

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-07-09 13:30:30 -07:00
Elias Nahum
8816953e43
MM-26699 Track open modals (#4539) 2020-07-08 10:43:20 -07:00
Hossein Ahmadian-Yazdi
b6eb3b9349
[MM-23158] Group Mentions & Invites - Display group mentions in suggestions list in the main channel textbox (#4118)
* groups in group mention

* fix sorting issues

* address PR comments

* fix tests

* Update groups.ts

* fix nock

* fix translations

* Adding test

* fix linting

* update redux functions

* Add license check

* adddress PR comments

* remove lodash import

* fix lint problems

* revert package.json changes

* Address PR comments

* address PR comments

* fix naming

* address PR comments

* address PR comments

* Address comments found in second PR

* getAllGroups updated

* address PR comments

* Update app/mm-redux/utils/group_utils.ts

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>

* revert change

* remove unneeded actions

* Use correct server version

* MM-26631: Fix order of group displaying

* MM-26633: Fix group mentions not showing up in group constrained team

* MM-26636: Group mentions not updating when role updates

* MM-26637: Group name not updating right away

* Address PR comments

* TRY AND catch

* address PR comments

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-07-08 07:31:58 -04:00
Elias Nahum
0f72bb34c2
MM-15719 Use metadata only to render post additional content (#4386)
* MM-15719 Use metadata only to render post additional content

* Default link to empty instead of undefined

* Feedback review
2020-06-29 11:28:07 -04:00
Miguel Alatzar
363810f708
Various fixes: (#4474)
* Fix map call on Set
* Ensure we don't destructure non-iterable values
* Include error message and stack in Alert
2020-06-23 16:39:49 -07:00
Elias Nahum
023109e250
Fix SSO and clear cookies (#4422)
* Fix SSO and clear cookies

* Fix unit tests

* Removed unnecessary argument

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

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-06-15 14:00:13 -04:00