Commit graph

1330 commits

Author SHA1 Message Date
Elias Nahum
9c043f1b9f
MM-34585 Use removeClippedSubviews from Lists to improve scroll perf (#5199) 2021-04-08 16:52:23 -04:00
Ben Schumacher
c8f8d2c35c
[MM-34491] Respect slash command root label (#5278) 2021-04-07 09:25:21 +02:00
Elias Nahum
c6953bef47
Fix propTypes warnings (#5285) 2021-04-06 21:18:31 -04:00
Elias Nahum
f8a0f29237
Update dependencies (#5266)
* Update dependencies

* Fix lint, use npm@6

* Fix unit tests

* Dowgrade Fastlane

* Fix Fastlane script

* use android:api-29-node ci image

* Infer gradle json file from apk output folder

* Fastlane to Parse new version of gradle output-metadata.json
2021-04-06 11:12:31 -04:00
Elias Nahum
5bff6f9e58
MM-31874 Properly use theme mention highlight color (#5268) 2021-04-06 07:28:38 -07: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
Daniel Espino García
777b35bda3
Add parsing error to suggestions, add more information to text suggestions and avoid empty suggestions (#5251)
* Add parsing error to suggestions and avoid empty suggestions

* Fix merge issue

* Address feedback and send fetch form errors as suggestion errors

* Fix test
2021-04-01 15:51:46 -04:00
Daniel Espino García
64ccb58684
Fix embedded bindings (#5244) 2021-03-29 15:42:14 +02:00
Daniel Espino García
26ffdbde91
Make app command parse error message more readable (#5238)
* Make app command parse error message more readable

* Update i18n
2021-03-29 13:04:08 +02:00
Joseph Baylon
48d4775907
MM-30428 Detox/E2E: Add e2e for MM-T3199, MM-T3223, MM-T3224 (#5240)
* MM-30428 Detox/E2E: Add e2e for MM-T3199, MM-T3223, MM-T3224

* Updated variables to better names
2021-03-24 22:13:10 +08: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
Michael Kochell
d73d3460b4
[MM-33716] Update mobile command parser with webapp fixes (#5231)
* 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>

* update mobile command parser with webapp fixes

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2021-03-23 11:55:23 -04: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
Joseph Baylon
78c05270ba
MM-30427 Detox/E2E: Add e2e for MM-T3197, MM-T3225, MM-T3239, MM-T3274 (#5230) 2021-03-22 11:16:40 -07:00
Joseph Baylon
a610e7ae5b
MM-30426 Detox/E2E: Add e2e for MM-T3188, MM-T3193, MM-T3198, MM-T3229 (#5228) 2021-03-17 08:02:17 -03:00
Joseph Baylon
27cafc8288
MM-30425 Detox/E2E: Add e2e for MM-T3216, MM-T3217, MM-T3220, MM-T3240, MM-T3269 (#5222)
* MM-30425 Detox/E2E: Add e2e for MM-T3216, MM-T3217, MM-T3220, MM-T3240, MM-T3269

* Added/fixed comments

* Fix snap test

* Stabilize for android

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-03-16 14:34:13 -07:00
Elias Nahum
89c23f4f91
MM-31341 Use first metadata info for inline md images (#5219)
* MM-31341 Use first metadata info for inline md images

* Revert back opening an inline image link
2021-03-15 14:28:46 -03:00
Malik
6287706452
Mm 32502 guest identification 2 (#5198)
* Add Guest Experience Test Cases

* Added testIDs and cleaned up tests

* Minor refactor

Co-authored-by: Furqan Malik <furqanmalik@Furqans-MacBook-Pro.local>
Co-authored-by: Malik <abc@abcs-MBP.phub.net.cable.rogers.com>
Co-authored-by: Furqan Malik <furqanmalik@Furqans-MBP.phub.net.cable.rogers.com>
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-03-15 08:25:19 -07:00
Joseph Baylon
141b5199ba
MM-30424 Detox/E2E: Add e2e for MM-T3237, MM-T3238, MM-T3251, MM-T3257, MM-T3258 (#5188) 2021-03-03 08:23:32 -08:00
A C SREEDHAR REDDY
7a166bd1d6
Calculate the filteredEmojis on first change. (#4987)
* if it is a initial render then calculate the filteredemojis

* set filteredEmojis based on the previous result

* removed timeout variable

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-02-24 16:44:37 -03:00
Joseph Baylon
5b7f522404
MM-30423 Detox/E2E: Add e2e for MM-T3192, MM-T3215, MM-T3219, MM-T3221, MM-T3256 (#5180)
* MM-30423 Detox/E2E: Add e2e for MM-T3192, MM-T3215, MM-T3219, MM-T3221, MM-T3256

* Update detox/e2e/test/smoke_test/direct_messages.e2e.js

Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>

* Update detox/e2e/test/smoke_test/email_notifications.e2e.js

Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>

* Update detox/e2e/test/smoke_test/email_notifications.e2e.js

Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>

* Renamed return object status to userStatus

Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
2021-02-23 08:09:47 -08: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
Joseph Baylon
a49d446b25
MM-30696 Detox/E2E: Add e2e for MM-T3213 (#5147)
* MM-30696 Detox/E2E: Add e2e for MM-T3213

* Add missed file
2021-02-10 13:56:03 -08:00
Joseph Baylon
b716a9ca8d
MM-31256 Detox/E2E: Add e2e for MM-T3618 (#5144) 2021-02-10 13:55:43 -08:00
Joseph Baylon
f495e1e48d
MM-30289 Detox/E2E - Add e2e tests for MM-T3184 and MM-T3186 (#5133)
* MM-30289 Detox/E2E - Add e2e tests for MM-T3184 and MM-T3186

* Update detox/e2e/support/server_api/preference.js

Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>

* MM-31322: redirect permalink handler (#5136)

* invert loadTeam.error test

* MM-31322: handle _redirect permalinks

In the webapp, [there is support](7c5a2e3bfd/components/root/root.jsx (L345-L352)) for a special `_redirect` team name in certain contexts that simply means, "the current team". It's used in the context of redirecting to the integrations backstage (not relevant for mobile), for also for resolving post permalinks.

This simplifies certain kinds of integrations which no longer have to know a team name to render a permanent link to a post. An example link looks like:

    http://localhost:8065/_redirect/pl/e3sxrxtwh78jmxawsaqfemxoew

This PR adds support for same in mobile, unintentionally missed on the first round of implementation.

Fixes: https://mattermost.atlassian.net/browse/MM-31322

* Apply suggestions from code review

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

* linting issues

* Apply suggestions from code review

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

* revert showPermalink changes

* Revert "invert loadTeam.error test"

This reverts commit accf6c8fb7c56009a393a6e85084d4702deec9ed.

* support _redirect deeplinks

* Apply suggestions from code review

* Update app/components/post_list/index.js

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

Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
2021-02-10 13:55:00 -08:00
Miguel Alatzar
e33a16d4f1
Add retriable FastImage component (#5167) 2021-02-10 14:41:30 -07:00
Miguel Alatzar
ed4b100962
[MM-32734] Convert value to string to prevent crash (#5164)
* Convert value to string

* Add default value prop
2021-02-10 14:39:01 -07:00
Miguel Alatzar
5101927e45
Place (you) before username (#5168) 2021-02-10 14:11:44 -07:00
Miguel Alatzar
a17aff9c95
Prevent double tap of send button (#5154) 2021-02-04 11:45:18 -07:00
Harrison Healey
63b0e6043f
MM-32254 Update CommonMark and fix handling of deeply nested Markdown (#5148)
* MM-32254 Update commonmark.js fork from upstream

* MM-32254 Fix handling of partially rendered Markdown tree
2021-02-01 11:31:05 -07:00
Ashish Bhate
f74e94d6cd
[MM-30994] tweak emoji search options for better results (#5120)
* [MM-30994] tweak emooji search options for better results

* Apply updated fuse options to emoji picker

Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
2021-01-26 16:57:02 -07:00
Elias Nahum
5381062bfa
MM-31990 fix limit reacting to a post to 40 different emojis (#5121)
* MM-31990 fix limit reacting to a post to 40 different emojis

* Fix selector
2021-01-21 12:14:49 -07:00
Elias Nahum
a8a4d72075
Upgrade Dependencies (#5103)
* Update fastlane

* Update detox & deps

* Upgrade cocoapods

* Upgrade dependencies
2021-01-13 12:36:31 -07:00
Elias Nahum
e77bd566fc
MM-31196 Add missing "(you)" in at_mention autocomplete (#5105) 2021-01-13 12:18:46 -07:00
Elias Nahum
9fc49c2fe5
MM-31764 Fix image attachment layout when permanent sidebar is visible (#5115) 2021-01-13 14:57:04 -03:00
Ashish Bhate
1a75eed6bc
MM-29104: Add avatars component (#5001)
Summary
Adds an avatar list component. It is required for the new collapsed reply threads feature. The feature design is at https://www.figma.com/file/t2KIwZnxb7h94249k6XdOp/MM-18107-Mobile-Threads-Overhaul and https://mattermost.atlassian.net/wiki/spaces/Threads/pages/1003945985/Mobile+User+Experience

Ticket Link
https://mattermost.atlassian.net/browse/MM-29104
2021-01-11 16:09:13 +05:30
Ashish Bhate
c3f86d1797
[MM-31778]: fix false error message on channel join (#5098) 2021-01-08 10:56:09 -07:00
Miguel Alatzar
ac85110ce7
Default to an empty channel object (#5094) 2021-01-07 15:08:29 -07:00
Miguel Alatzar
7702c050bf
Revert "[MM-29225] Define LSApplicationQueriesSchemes so Linking.canO… (#5067)
* Revert "[MM-29225] Define LSApplicationQueriesSchemes so Linking.canOpenURL can work (#5007)"

This reverts commit f3baaa6aa3.

* Create and use tryOpenURL

* Add missing onError functions

* Update app/components/markdown/markdown_link/markdown_link.js

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

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-01-06 09:11:27 -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
Miguel Alatzar
f577685264
Fix ChannelLoader prop warning (#5055)
* Fix ChannelLoader prop warning

* Missing semicolon
2020-12-18 13:48:28 -07:00
Miguel Alatzar
8fb6510a32
[MM-31376] Do not subtract offset from accessories container (#5042)
* Do not subtract offset from accessories container

* Missing space

* Adjust autcomplete offsetY

* Adjust placement of autocomplete

* Space fix

* Unused onLayout
2020-12-17 19:14:00 -07:00
Joseph Baylon
7aebfd0b13
MM-30286 Detox/E2E: Add e2e test for MM-T3249 and added useful helpers (#4990)
* MM-30286 Detox/E2E: Add e2e test for MM-T3249 and added useful helper functions

* Update app/components/sidebars/main/channels_list/channels_list.js

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

* Add team icon content helper query

* Fixed reset for teams

* MM-30286 Detox/E2E: Add e2e test for MM-T3235 (#5003)

* MM-30286 Detox/E2E: Add e2e test for MM-T3255 (#5006)

* Fix merge issues

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-12-15 17:24:45 -08:00
Miguel Alatzar
68d76af4dd
[MM-29381] Show an indicator if channel is still loading after 10 seconds (#5031)
* Show still-loading indicator

* Update snapshot test

* Call retryLoadChannels on a 10 second interval

* Select default team on retryLoad if no currentTeamId

* Fix use of jest.useFakeTimers
2020-12-11 11:32:56 -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
Miguel Alatzar
170ef360c1
Improve upload attachment error handling (#5026) 2020-12-10 16:08:13 -07:00
Miguel Alatzar
7088481ac6
Check for undefined metadata images (#5021) 2020-12-10 13:55:49 -07:00
A C SREEDHAR REDDY
47b62daccb
filtered_list : removed deprecated lifecycles and memoized dataSource (#4989)
* filtered_list: memoized dataSource instead of storing in a state

* removed deprecated lifecycles

* removed if
2020-12-10 16:37:55 -03:00
A C SREEDHAR REDDY
6e2936e2e9
MM-18764 Remove deprecated lifecycles (#4981)
* create_channel: remove componentWillReceiveProps

* lint fix

* list: removed componentwillreceiveprops

* removed deprecated lifecycle methods

* removed deprecated lifecycle methods
2020-12-10 13:04:32 -03:00
Elias Nahum
c3b3d0239f
MM-31114 fix: regression for in: autocomplete modifier in search screen (#5009) 2020-12-09 22:13:23 -07:00
Miguel Alatzar
f3baaa6aa3
[MM-29225] Define LSApplicationQueriesSchemes so Linking.canOpenURL can work (#5007)
* Revert "[MM-29225] Linking fix (#4860)"

This reverts commit a5cb92876c.

* Define LSApplicationQueriesSchemes
2020-12-09 13:42:21 -07:00
A C SREEDHAR REDDY
757a673416
MM-18769 Removed deprecated lifecycles (#4983)
* select_team : updated snapshot and removed deprecated lifecycles

* removed deprecated lifecycle methods

* Added e2e for MM-T3619

* Fix lint issue

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
2020-12-02 12:37:04 -08:00
A C SREEDHAR REDDY
0360ceeb6e
MM-18771 Removed componentwillreceiveprops (#4980)
* at_mention : removed componentwillreceiveprops

* channel_mention : remove componentwillreceiveprops

* slash_suggestion : remove componentWillReceiveProps
2020-12-01 14:36:56 -03:00
Joseph Baylon
04bb204191
Fix eol-last lint issues (#4996) 2020-12-01 14:18:32 -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
Joseph Baylon
5f6fd6df7a
MM-30286 Detox/E2E: Add e2e test for MM-T3236 and added basic unit tests (#4969)
* MM-30286 Detox/E2E: Add e2e test for MM-T3236

* Fix more testID hierarchies

* Fix typo

* Fix failing test

* Remove extra lines

* Updated to use string interpolation

* Update channels list element query

* Updated channel item unit test to be more consistent

* Fix error text testID hierarchies; fix edit channel info testIDs

* Fix snap file

* Fix line return
2020-11-24 16:58:09 +08: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
Joseph Baylon
4f668f0fdf
MM-30286 Detox/E2E: Add e2e test for MM-T3222 and some cleanup (#4959)
* MM-30286 Detox/E2E: Add e2e test for MM-T3222 and some cleanup

* Fix merge issues

* Fix more issues

* Fixed new line

* Remove redundant check

* Updated instance to getElement

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-11-17 10:52:03 -08:00
Elias Nahum
402c312f8f
MM-27354 Emit the event for visible items in the thread screen (#4961)
* Emit the event for visible items in the thread screen

* Feedback review

* fix unit test

* check for deeplink before running the animation

* Load progressive image for recent mentions, saved / pinned posts & search
2020-11-13 17:29:19 -03:00
Anurag Shivarathri
31d5f9eab6
On change, Group mentions are updated in autocomplete (#4944)
* On change, Group mentions are updated in autocomplete

* Converted getAssociatedGroupsForReference, searchAssociatedGroupsForReferenceLocal functions to reselectors

* Sending only state to getCurrentUserLocale in selector

* Added types to passed params

Co-authored-by: anurag shivarathri <anuragindianbraves@gmail.com>
2020-11-13 08:56:35 -03:00
Joseph Baylon
48dbb75471
MM-29024 Detox/E2E: Add unit and e2e tests for disabled mobile upload (#4954)
* MM-29024 Detox/E2E: Add unit and e2e tests for disabled mobile upload

* Simplified element call

* Remove extra lines

* Added e2e for mobile upload enabled - quick actions

* Fix upload item snap file

* Added check for license

* Fix lint

* Update function export

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-11-12 21:29:16 -03:00
Andre Vasconcelos
e319a79e42
MM-29965 Fix at_mention autocomplete selection bug (#4937)
* Adding E2E tests for at mention autocomplete

* Removing mentionComplete from at_mention autocomplete

- The component is already being hidden when there is no valid matchTerm or sections
- Setting mentionComplete to true after an autocomplete was selected prevented the autocomplete from rendering when @ is tapped a second time

* Updating E2E description

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

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

* complete at-mention selection when there are no more sections

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
2020-11-12 21:00:23 -03:00
Joseph Baylon
0dfb776290
MM-30165 Detox/E2E: Add e2e tests for channel notification preference (#4949)
* Detox/E2E: Add e2e tests for channel notification preference

* Fixed unit snap files

* Moved e2e to notifications and updated formatting

* Added basic snapshot tests

* Update app/components/radio_button/radio_button_group.test.js

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

* Update app/components/radio_button/radio_button_group.test.js

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

* Update app/components/radio_button/radio_button_group.test.js

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

* Update app/components/sidebars/settings/drawer_item.test.js

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

* Update app/screens/channel_info/edit_channel/edit_channel.tsx

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

* Update app/screens/channel_info/notification_preference/notification_preference.test.js

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

* Update app/screens/channel_info/notification_preference/notification_preference.tsx

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

* Update app/components/radio_button/radio_button_group.test.js

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

* Fix radio button group snap file

* Simplified element call

* Rename channel sidebar to main sidebar

* Rename drawer button files

* Update app/components/sidebars/settings/settings_sidebar.test.js

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

* Update app/screens/channel_info/channel_info_row.test.js

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

* Update comments

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-11-10 10:53:38 -07:00
Elias Nahum
dbd7bc8a51
Gallery Improvements (#4837)
* Open/Close Gallery transitions

* Include postId in file info & disable opening the gallery in some cases

* Add progress bar component

* Transition to gallery based on platform

* Improve getting the filename for non attachments

* Patch RNFetchBlob TS definition

* Add gallery types

* fix unit tests for message and post attachment

* add getLocalPath method

* Add react-native-share dependency

* Re-style gallery footer

* Refactor Gallery screen

* Double tap zoom in/out and translate

* Make android activity "transparent"

* Do not animate to height on dismissing gallery

* Open gallery for file uploads

* Fix borderRadius for gallery action button

* Use progress bar for file uploads

* Replace progress bar for file attachment document

* Upgrade RNN to 7.1.0 to fix share elements transitions

* Fix Gallery unit tests

* translate down when popping screen on iOS

* Swipe, Pan & Tap fixes

* fix gallery footer avatar eslint

* Fix gallery snapshot tests

* Use CompassIcon in Gallery

* Feedback from UX review

* Fix gallery UI for other file types

* Set other file type gallery button to 48pt
2020-11-06 21:17:27 -03:00
Bhargav Sangani
b05b797b06
MM-27354 Progressive image loading (#4945)
* init

* Pick one from mini preview and thumnail URL in file attachment image

* Blur thumbnail mini preview & update testID's

* Set blurRadious based on Platform OS

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-11-06 18:26:45 -03:00
Anurag Shivarathri
50cc0b05be
Group mentions are not highlighted until they are posted (#4943)
* Group mentions are not highlighted until they are posted

* Disable highlight when post is pending

* Reverted unit test

Co-authored-by: anurag shivarathri <anuragindianbraves@gmail.com>
2020-11-05 11:48:16 -07:00
Saturnino Abril
a819f63d99
MM-30076 Detox/E2E: Update UI test structure for reusability (#4931)
* update UI test structure for reusability

* fix Android tests

* improve autocomplete test

* minor cleanup
2020-11-03 18:11:49 +08:00
Ashish Bhate
1914b770e5
[MM-28845]: Add storybook to mobile repo (#4870)
*Summary*
- This PR adds storybook into the mobile repo, and adds a sample story for the existing "loading" component.
- In the root of the repo run `npm run storybook`. This step automatically scans and loads all stories. A new browser tab will open with the storybook interface. You can configure the storybook host url by updating the .env file in the root of the repo. This might be required if you're using a real device. When running in an emulator, the code tries to use the default network values.
- Then run the usual `npm run android` (or `npm run ios`) and `npm run start` commands
- Storybook has been integrated into the react-native-dev-menu. When the app is running in the emulator press CTRL+M or CMD+M to open the dev menu and select "Storybook". If running on a real device, shaking the device will bring up the react-native dev menu. You can also press d in the terminal where you ran npm run start to get the app running.
- The storybook interface will open in the mobile app. The stories can be controlled either through the desktop browser storybook UI or the mobile browser storybook UI. Both will render the component on the device.

*Ticket Link*
https://mattermost.atlassian.net/browse/MM-28845

*Device Information*
This PR was tested on:
Iphone 11 emulator running ios 13.7
Pixel 3XL emulator running Android 10
2020-11-02 15:41:07 +05:30
Elias Nahum
9940aacad1
MM-29869 Replace radio button Material with Compass icons (#4928) 2020-10-29 07:38:31 -03:00
Elias Nahum
f73db6e51c
MM-29948 Display error msg when pasting files and uploads are disabled (#4927)
* MM-29948 Display error msg when pasting files and uploads are disabled

* Remove unnecessary ref and Animated.View

Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
2020-10-28 12:06:09 -03:00
Elias Nahum
2c0b67067f
MM-29252 Tapping on invalid permalink shows an error (#4926) 2020-10-28 11:54:47 -03:00
Ashish Bhate
1f6cd323f4
[MM-25349] centre failed network action component and improve responsiveness to device orientation (#4834) 2020-10-26 13:32:14 +05:30
Elias Nahum
cb4d875b13
MM-29620 Add props to post input to prevent autofill (#4916)
* MM-29620 Add props to post input to prevent autofill

* Set autoCompleteType to off instead of none
2020-10-23 15:13:59 -07:00
Elias Nahum
016a725732
MM-28105 do not crash when in-app notification shows (#4915)
* MM-28105 do not crash when in-app notification shows

* Use index.tsx to register the notification screen

* Fix notification e2e and some import cleanup

* Update iOS notification json

* e2e: Show the add reaction screen before receiving a notification

* Update snapshots

* Patch react-native-notifications to prevent iOS crash when opening

* Apply TM4J id

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
2020-10-22 14:34:49 -03:00
Elias Nahum
8c8f93b589
MM-28688 Close sidebar when current channel is selected (#4897)
* MM-28688 Close sidebar when current channel is selected

* Update snapshot

* Apply suggestions from code review

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

* Fix iOS select_channel e2e and feedback review

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
2020-10-19 20:32:34 -07:00
Ed Trist
cff81f168e
[MM-22366] Make user autocomplete also match on spaces (#4880)
* [MM-22366] Make user autocomplete also match on spaces

* Move template string to fullName variable

* Add Detox E2E tests for user autocomplete

* Add TM4J IDs

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

* Add test for keyword not associated with user

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
2020-10-19 10:15:18 -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
Elias Nahum
30d4aa2a3e
Build Improvements (#4884)
* Use AppGroupId from Info.plists instead of hardcoded constant

* Update script, ci & Makefile

* Update Cocoapods to 1.9.3

* Split android builds using ABI filters

* Update Fastlane deps & build scripts

* Update CI to use latests scripts

* Display app version & build number in select server screen

* Make generate scripts compatible with node < 12

* Build scripts

* add build script to package.json

* Update to use bundler 2.1.4 and CI with Xcode 12

* Fix script name for build:ios-unsigned

* Fix RN iOS scripts

* Update CI pods-dependencies step

* Add pipefail to android executor

* Update Fastlane

* Fix type in postinstall script

* update android executor and set TERM

* Fix S3 bucket name variable

* Apply suggestions from code review

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

* Fix master unit tests

* use requireActual in jest setup

* Jest setup to use react instead of React

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-10-15 22:09:36 -03:00
Miguel Alatzar
57d60649f8
[MM-22959] Use Compass icons (#4847)
* Use Compass icons

* Update ChannelInfo and AdvancedSettings

* Fix search modifiers

* Fix Autocomplete item

* Remove VectorIcon component

* Unlink react-native-vector-icons

* Revert ProgressiveImage changes

* Update Mark as Unread icon

* Apply review suggestion

* Replace extension icons

* Update video control button style

* Replace (un)flag with (un)save

* Replace (un)flag with (un)save - take 2

* Use bookmark-outline icon

Co-authored-by: Miguel Alatzar <miguel@Miguels-MacBook-Pro.local>
2020-10-15 15:34:24 -07:00
Hector
eb0f511bb7
MM-T3201 create public channel e2e test (#4867)
* MM-T3201 initial test purpose with detox

* MM-T3201 spaces and more comments

* MM_T3201 update snapshot tests to include test id

* MM-T3201 edit test ID to follow naming convention, PR fix

* MM-T3201 change comments to indicate if action or expect

* MM-T3201 add more testID to create buttons

* MM-T3201 adding trailing commas and testID

* MM-T3201 fix style

* MM-T3201 fix snaps test

* MM-T3201 fix conflicts with prior PR

* MM-T3201 using test dependent on platform to test button behaviour

* Update detox/e2e/test/channels/create_public_channel.e2e.js

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

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
2020-10-15 10:13:41 -07:00
Andre Vasconcelos
c6c0d33f6a
MM-29046 Add unit and e2e tests for autocomplete popover (#4855)
* WIP: Adding autocomplete E2E tests

* Fixing search.e2e tests

* Updated testIDs, added 2 test suites, added comments

* Added comments to search E2E test

* Updating testIDs & reverting changes to common.js

* Updating snapshots

* Added TM4J ticket numbers

* Adding assertion commends to search E2E

* Updated testID values
2020-10-12 09:07:23 -03:00
Clare So
361349a4d4
MM-T3187 Unread channels sort at top (#4833)
* Automate MM-T3187

* Update the snapshots. Applied channel_item_display_name suggestion. Add verification for channels_list (to prove the testID works).

* Update testID. Move test to a new file under smoke test.

* Revert message_posting.e2e.js

* Applied suggestion from code review.

* Update detox/e2e/test/smoke_test/channels.e2e.js

Apply Saturnino's suggestion

Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>

Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
2020-10-08 10:49:24 -03:00
Miguel Alatzar
ae43ba1187
Emit PASTE_FILES event only from last subscribed input (#4872) 2020-10-05 13:09:31 -07:00
Michael Kochell
a6779f4293
[MM-29275]: Remove first char of slash cmd autocomplete suggestion text, only if it is a top-level command (#4868)
* Remove first char of suggestion text, only if it is a slash

* Check if suggestion is for a top-level command
2020-10-05 12:08:57 -07:00
Miguel Alatzar
a5cb92876c
[MM-29225] Linking fix (#4860)
* Catch openURL over checking canOpenURL

* Update en.json
2020-10-02 10:01:44 -07:00
Miguel Alatzar
85382e695a
[MM-29132] Update upload item styling (#4853)
* Update upload item styling

* Use font size 9
2020-10-01 11:19:30 -07:00
Andre Vasconcelos
59045e3bb0
MM-22968 Restyle mobile autocomplete (#4531)
* WIP: slash suggestion autocomplete

* WIP: patched styles a bit

* WIP: Adding styles

* Adding active state to autocomplete items

* Fixing style for channel mention item

* Fixing bugs + styling issues for Android

* Updating snapshot

* Fixing autocomplete to render on top of post draft

- Misc style fixes

* Renaming props, patching slash suggestion icon

* Fixing tests and lint errors

* Resolving post-merge issue with slash commands

* Fixing android positioning for autocomplete

* Fixing autocomplete not scrolling in edit_channel_info

* WIP: Fixing things according to UX Review

* UX Fixes to autocomplete

* Updating snapshots

* Updating snapshots, replacing slash-command icons

* Fixing android scrolling and positioning issues

* Fixing issues with date_suggestion not rendering

* Making use of the "ShowFullName" config in at_mention_item

* Removing top border on first autocomplete section

* Allowing autocomplete to be smaller than its maxWidth

* Fixing slash_suggestion padding

* removing "componentWillReceiveProps" from date_suggestion

* Changing edit_channel_info autocomplete offset

* Replacing toUpperCase() with textTransform: uppercase

* Fixing odd border issues + prop validation warning

* Restore section header background & add paddingBottom

* Patching up padding on channel mentions

- Reverting previous incorrect padding adjustments

* Removing inline 'completeSuggestion' function

* Removing brackets from style prop
2020-09-25 11:26:48 -07:00
Ashish Bhate
99f018faac
[MM-28706] revert ordering change for in: autosuggest search (#4818)
Summary:
Revert ordering change for in: auto-suggest search after user feedback. The ordering now is Public Channels, Private Channels, and finally DMs and GMs.
This PR only fixes ordering. Further search improvements are planned in https://mattermost.atlassian.net/browse/MM-26805

Ticket Link:
https://mattermost.atlassian.net/browse/MM-28706
The Jira ticket above reverts the changes in https://mattermost.atlassian.net/browse/MM-27540 (Parent: https://mattermost.atlassian.net/browse/MM-15477) which was implemented in #4704
2020-09-25 13:43:19 +05:30
Saturnino Abril
6e03ba8351
reintroduce @testing-library/react-native now with v7 (#4766) 2020-09-15 09:24:54 -07:00
Elias Nahum
52886e7631
MM-28602 Fix announcement banner crash if it includes a hashtag (#4808)
* MM-28602 Fix announcement banner with hashtag crash

* Fix expanded announcement banner layout

* Fix announcement banner animation
2020-09-15 10:03:40 -03:00
Elias Nahum
b55e88d0fe
Save draft when post input unmounts (#4785) 2020-09-09 12:03:07 -03:00
Farhan Munshi
b8a002683f
MM-27132 Fix groups not actually being highlighted for self on mobile (#4776) 2020-09-09 01:20:41 -03:00
Elias Nahum
05f264554e
MM-28450 Fix crash when posting at-mention that does not belong to the channel (#4778) 2020-09-08 16:52:04 -03:00
Elias Nahum
c97b2be927
MM-28296 Fix Android @mention render (#4764)
* MM-28296 Fix Android @mention render

* Simplify mention style

* Update @mention snapshot

* @mention fix lint

* Address QA feedback

* QA Review
2020-09-08 13:09:34 -03:00
Jyoti Patel
c9c22583d8
[GH-15305][MM-27677] Improve empty state for Recent Mentions. (#4715)
* Improve empty state for Recent Mentions.

* Change backgroud color of icon.

* Improve empty states for flagged and pinned posts.

* Update pinned posts' test snapshot.

* Change NoResult style as per figma specs.

* Change NoResults icons according to UX specs.

* Change style according to UX feedback.
2020-09-03 22:21:36 -04:00
Miguel Alatzar
4f4be1b319
[MM-28245] Handle upload files only for top screen (#4761)
* Handle upload files only for top screen

* Return early in handlePasteFiles too
2020-09-01 12:36:51 -07:00
Elias Nahum
dce5675f05
Add word boundaries for (all | channel | here) (#4754)
* Add word boundaries for (all | channel | here)

* do not include underscore in channel wide mention highlight

* Regex suggested in code review

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>

* Restyle at_mention suffix

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2020-09-01 10:13:49 -07:00
Ashish Bhate
0210cc4761
[MM-15477][MM-27540][MM-27541]: fix search inconsistencies using in:@ / in: (#4704)
* [MM-15477] reorder search suggest results

* allow searching dms and gms with 'in:@'

* fix sort order for private before public

* faster than regex

* remove server minimum version prop and checks
2020-09-01 10:08:17 -07:00