Commit graph

192 commits

Author SHA1 Message Date
Mattermost Build
b14dafa57e
MM-34508 in-app browser emm configuration (#5274) (#5289)
(cherry picked from commit 66ebe3683b)

Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com>
2021-04-07 14:21:42 -04:00
Mattermost Build
6adbc03faa
MM-33495 Sanitize filename in Android ShareExtension (#5210) (#5215)
* MM-33495 Sanitize filename in Android ShareExtension

* Apply sanitization after getting uri last path segment

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
(cherry picked from commit 86a096d1ce)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-03-08 15:36:06 -03:00
Elias Nahum
9568a4592c
MM-32183 Fix in-app notification + Android ack (#5132)
* MM-32183 Fix in-app notification + Android ack

* comment suggested change

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

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2021-01-26 14:21:02 -07:00
Anurag Shivarathri
d11d613815
OAuth through OS browser, added google login & open id methods (#5075)
* Initialised SSO with linking

* Fixed lint errors

* Added translation and version check

* Added translation & detox file: WIP

* Added google logo and login button

* Added openid login option

* Added tests

* Added fallback support for google

* Added server check for openid

* Removed unwated memos

* Server support changed to 5.32

* Added try catch for Linking openurl

* Removed 'or'

* Changed test case version to 5.32

* Changed server version to 5.32

* Update assets/base/i18n/en.json

Co-authored-by: Katie Wiersgalla <39744472+wiersgallak@users.noreply.github.com>

* Update assets/base/i18n/en.json

Co-authored-by: Katie Wiersgalla <39744472+wiersgallak@users.noreply.github.com>

* Update assets/base/i18n/en.json

Co-authored-by: Katie Wiersgalla <39744472+wiersgallak@users.noreply.github.com>

* Update app/screens/sso/sso_with_redirect_url.tsx

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

* Update assets/base/i18n/en.json

Co-authored-by: Katie Wiersgalla <39744472+wiersgallak@users.noreply.github.com>

* Added new custom url scheme for auth

* Added custom url scheme based on app build type, custom user agent for only google & misc typo fixes

* Added check for Deviceinfo

* Reverted to openLink

* Using tryOpenURL instead of Linking.openURL

* Changed office365 url

* Handling cookie read error caused on localhost

* Fixed lint errors

* Updated version in tests

Co-authored-by: Anurag Shivarathri <anurag@13.local>
Co-authored-by: Katie Wiersgalla <39744472+wiersgallak@users.noreply.github.com>
Co-authored-by: Hossein <hahmadia@users.noreply.github.com>
2021-01-19 21:15:24 +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
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
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
          ​ ⁠  ⁠ Ån̶t̶hia¯₣ab̷r̷ε ⚜
2eaeb4e040
make mattermost resizeable on Android DeX #3427 (#4936)
https://github.com/mattermost/mattermost-mobile/issues/3427
2020-11-02 23:28:12 +01:00
Elias Nahum
9940aacad1
MM-29869 Replace radio button Material with Compass icons (#4928) 2020-10-29 07:38:31 -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
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
Miguel Alatzar
ae43ba1187
Emit PASTE_FILES event only from last subscribed input (#4872) 2020-10-05 13:09:31 -07:00
Elias Nahum
bab1cc0601
AppConfig setting to control the default request timeout (#4797)
* AppConfig setting to control the default request timeout

* Set default timeout to 10s
2020-09-10 15:12:00 -03:00
Saturnino Abril
f05faaa949
E2E: Initial Detox setup for Mobile UI automation (#4535)
* initial Detox setup for mobile UI automation

* fix iOS allow permission on opening the app, add npm script to root folder, fix test when using longer site URL and add detox dependency to root for android build dependency

* remove detox proguardFile

* update packages and emulator

* change folder build on local and CI

* add test to post a message, ability to have test in isolation, server API commands, server config, dependency updates and update folder structure

* update snapshot

* update detox and do clean up

* update dependencies
2020-08-29 07:18:41 +08:00
Miguel Alatzar
68457c5e7e
Use substring over replaceFirst (#4707) 2020-08-20 14:55:09 -04:00
Miguel Alatzar
66a8f8a55f
Send event to JS only if React initialized (#4668) 2020-08-13 11:19:59 -07: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
sowmiyamuthuraman
e754e861a2
Show toast when pressing back button on channel screen (#4384)
* MM-24328: Show Press again to exit toast when back button on Channel screeen is pressed.

* Fix feedbacks.

* Handle back press only for the Channel screen.

* MM-24328: Add a back press handler to share activity.

* Update the toast message as Press back again to exit.
2020-07-08 18:01:13 -04:00
Miguel Alatzar
4dff2cc80c
[MM-25781] Don't retry nor use response message on 401 (#4433)
* Don't retry nor use response message on 401

* Explicitly call contentHandler on retry exhaustion

* Handle all non 200 responses for id_loaded notifications

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-06-25 12:04:10 -07:00
Miguel Alatzar
f6611f7093
[MM-26318] Improve cold start and channel switching times (#4452)
* Remove withEncryption

* Remove warm up

* Downgrade react-native-keychain
2020-06-19 16:12:15 -07:00
Elias Nahum
b85766ec31
MM-25931 Handle incoming session expired push notification (#4417) 2020-06-17 21:30:19 -04:00
Amit Uttam
e59a53dde0
MM-25849 Apply backoff & retry logic only for ID-loaded push notifications (#4391)
Changes in #4302 piggy-backed on the existing [exception catching logic](https://github.com/mattermost/mattermost-mobile/pull/4302/files#diff-266cddcf80a6bc300b40cc922e7a659bL101-L102) to retry failed request (status != 200). However, the change applied retries for any type of push notification.
2020-06-08 12:47:09 -03:00
Amit Uttam
ea0f8ab5f0
MM-22181 Backoff retries for ID-loaded push notification messages (#4302)
* MM-22181 Backoff retries for ID-loaded push notification messages

Fibonacci backoffs. 6 attempts in ~20 seconds, not including response latency for each failure.

0 seconds to attempt 1 (original try)
1 seconds to attempt 2
2 seconds to attempt 3
3 seconds to attempt 4
5 seconds to attempt 5
8 seconds to attempt 6

* PR review: Reset re-request counter when server call succeeds

* PR Review: Localize scope of recursion counter

This handles scenario where multiple notification requests are being made at the same time for multiple messages. Counter will be isolated for each fetch request.

* PR Review: Remove unnecessary class variable

* Trigger Build

Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
2020-05-19 10:48:55 -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
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
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
Amit Uttam
2c031c51b2
MM-23687 Fix Android Share Extension (currently can't post) (#4095)
Fixes regression introduced in f5369ac9c5
2020-03-30 16:36:01 -03:00
Amit Uttam
f5369ac9c5
MM-21582 Parse payload safely to report Sentry exception with needed info (#4047)
Users are hitting legitimate exceptions when using the Android Share extension.

However, in some cases where the channel ID isn't available from the user's actions that triggered the exception, the Sentry error reporting message payload can't be successfully formed and it bombs.

This commit allows Sentry's payload to be successfully formed, so that we can now see the actual underlying exception (with its associated user data) in Sentry. The single, catch-all `NoSuchKeyException` should now stop, and be replaced by a few new Sentry exception reports to analyze and tackle individually.
2020-03-19 14:16:16 -03:00
Elias Nahum
5f74491ea8
Upgrade Navigation library (#3997)
* Upgrade Navigation library

* Feedback review on Navigation Library

* Fix select server background color

* Fix iPhone 11 and 11 Pro Max navbar height

* Fix background color on Select Server

* Upgrade nav lib to 6.1.0

* Apply patch to nav lib

* Upgrade RNN to 6.1.1
2020-03-09 12:50:42 -07:00
Elias Nahum
6eb7b5d682
MM-22963 Fix Android post GIF from keyboard (#3996) 2020-03-04 08:44:11 -03:00
Miguel Alatzar
c1528d0944
Add set_online query param (#3940) 2020-02-27 20:39:53 -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
Miguel Alatzar
d25561bb83 [MM-21888] Don't use localPath when it's the share extension cache dir (#3845)
* Don't use localPath when it's the share extension cache dir

* Move android pasted images to cache image folder

* Use Files.move instead of FileInput / FileOutput stream

* Remove commented code and not needed imports
2020-01-27 13:58:30 -03:00
Miguel Alatzar
d56965e4ce Call Linking.getInitialURL() in launchApp (#3843) 2020-01-22 15:06:56 -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
Elias Nahum
2951245d68
MM-21288 Fix attaching files on Android (#3805) 2020-01-13 22:46:27 -03:00
Amit Uttam
a17983c1e4
MM-12215 Make deep link URL prefix configurable for Release/Debug (#3767)
Default deep link URL prefix: `mattermost-beta`

To set to `mattermost-mobile` (or anything else, for that matter) in production releases, set fastlane ENV var `DEEPLINK_PREFIX` to `mattermost-mobile`
2020-01-09 16:00:20 -03:00
Amit Uttam
ae3f7e9802 Enable Deep Links for Android (#3762)
#1805 enabled support for deep links for iOS. The link parsing mechanism remains the same for both platforms, but this commit enables registration of the URL scheme to the Android OS so that deep links can be accessed.
2020-01-06 13:02:24 -07:00
Miguel Alatzar
29c27417bd Add channel ID to push notification sent on failed reply (#3673) 2019-12-09 14:14:50 -05:00
Miguel Alatzar
4ce1d75733 Set number to 0 only if null (#3668) 2019-12-06 13:35:15 -05:00
Elias Nahum
a0a0ed7334 MM-20806 Remove extra info from logs (#3644)
* MM-20779 Handle Android notification reply with special characters

* Remove extra info from logs

* Review feedback
2019-12-02 09:27:43 -07:00
Elias Nahum
39cdbb757d MM-20779 Handle Android notification reply with special characters (#3636) 2019-12-02 08:25:33 -07:00
Elias Nahum
3ac0db6f61
MM-20347 Handle Flag for ID Loaded Push Notifications (#3586)
* Fix id-loaded on Android

* Fix id-loaded on iOS

* Remove constant for PUSH_TYPE_ID_LOADED
2019-11-21 19:34:10 -03:00
Miguel Alatzar
f651da975f [MM-20640] Create notification channels only if supported (#3590)
* Create notification channels only if supported

* Update comment
2019-11-21 13:12:49 -03:00
Miguel Alatzar
430463822b
Use LifecycleEventListener listener for MattermostManagedModule (#3578) 2019-11-20 15:25:53 -07:00
Harrison Healey
b69c6af2b4 Merge branch 'master' into mark-as-unread 2019-11-19 09:57:43 -05:00
Miguel Alatzar
ba76e5eac7 [MM-16232] ID loaded push notifications (#3562)
* [MM-16232] Android: Fetch notification in notificationReceiptDelivery (#3552)

* Fetch notification in notificationReceiptDelivery

* Fix patch

* Fix patch take 2

* No need to send user_id to ack endpoint

* Just putString in mNotificationProps

* Fix patch take 3

* Revert react-native-notifications patch

* Update patch and fix rejections

* Remove trailing newline in patch

* Move PushNotification changes to end of patch

* npm cache test

* Revert "npm cache test"

This reverts commit d31030aaeeb010c1c3d22a5f6196191eeb849add.

* Created patch after upgrading node

* Created patch after upgrading node take 2

* Remove androidx changes from patch

* Patch packages then jetify

* Cache node_modules without patches

* Remove adding of default message (#3557)

* [MM-16232] iOS: Fetch id-loaded push notification from server (#3556)

* Fetch notification from server

* Parse fetched notification response

* Fix id-loaded notifications for DM/GM's

* audit fix

* Only add keys if they exist

* Throw exception if response code is not 200
2019-11-18 19:29:49 -03:00
Harrison Healey
725e9a6985 Merge branch 'master' into mark-as-unread 2019-11-18 17:21:42 -05:00