Commit graph

187 commits

Author SHA1 Message Date
Mattermost Build
b5b2310f33
update dependencies (#4958) (#4968)
* 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

(cherry picked from commit b226d451f3)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-11-19 13:37:43 -03: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
Kaiden Sin
a1c8a4691e [mm 15792] Fix massive app slowdown with many emojis (#3209)
* [MM-16593] [MM-17175] [MM-17164] [MM-17189] [MM-17181] Android - Upgrade to RN 0.60 (#3145)

* Upgrade to react-native 0.60

* Use @sentry/react-native

* Manually link @sentry/react-native

* Address review comments

* Jetify after install

* Call jetify from node_modules

* Run npm install react-native-fast-image --save

* Link react-native-fast-image for Android

* Link react-native-fast-image to iOS Pod

* Replace Image with FastImage in emoji.js and remove redundant caching

* Remove duplicate sentry gradle

* Feedback review

* Remove FastImage and Sentry from the Podfile
2019-11-17 23:34:39 -05:00
Harrison Healey
bf68a33bab Merge branch 'master' into mark-as-unread 2019-10-29 10:00:22 -04:00
Miguel Alatzar
1efb01deda
[MM-16593] Upgrade to RN 0.61.2 (#3455)
* [MM-16593] [MM-17175] [MM-17164] [MM-17189] [MM-17181] Android - Upgrade to RN 0.60 (#3145)

* Upgrade to react-native 0.60

* Use @sentry/react-native

* Manually link @sentry/react-native

* Address review comments

* Jetify after install

* Call jetify from node_modules

* [MM-17785] iOS - Upgrade to RN 0.60 (#3153)

* Upgrade to react-native 0.60

* Use @sentry/react-native

* Manually link @sentry/react-native

* Address review comments

* Jetify after install

* Call jetify from node_modules

* Get app building for iOS

* Revert react-native-image-picker upgrade

* Minor version upgrade of react-native-image-picker

* [MM-17142] Convert all string refs to callbacks (#3217)

* Replace string refs

* Fix tests

* Don't use inline functions

* Fix mattermost-redux reversion from master merge

* [MM-18336] Upload Sentry debug symbols only when SENTRY_ENABLED is true (#3227)

* Upgrade @sentry/react-native

* Run Sentry gradle tasks only when enabled

* Upgrade @sentry/react-native and remove extra Sentry build phase

* [MM-17144] Use Hermes (#3226)

* Replace string refs

* Fix tests

* Don't use inline functions

* Fix mattermost-redux reversion from master merge

* Use Hermes

* bundleCommand ram-bundle no longer needed

* Require harmony-reflect only for Android

* Fix failing test

* Path react-native's splitLayoutProps (#3337)

* [MM-18867] [MM-17186] [MM-18866] [MM-19447] [MM-18967] Upgrade to RN 0.61.2 (#3423)

* Upgrade to RN 0.61.2

* Update rn-fetch-blob commit hash

* Update react-native-keyboard-tracking-view commit hash

* Use react-native-youtube with AVPlayer fix

* Fix jest mocks

* Use updated document picker API

* Remove unnecessary linking

* Revert "MM-17759 Add code highlighting (#3072)"

This reverts commit 26b999e885.

* Fix share extension

* Revert "Revert "MM-17759 Add code highlighting (#3072)""

This reverts commit 52aca776b12dee3abe8646d0c90480f8528e86c1.

* Address PR reviews

* Rename patch to match version

* Update react-native-youtube patch

* Update dependencies

* Fix RNDocViewer reference

* Update tests and revert to redux-persist 4.10.2

* Revert "Revert "Revert "MM-17759 Add code highlighting (#3072)"""

This reverts commit 5ef383be2619b1be6167c23f128ecb4b4ad25df9.

* Android fixes after dep upgrades

* Use fresco 2.0.0

* Use mattermost forks

* Use React-Core in Mattermost.scheme instead of react

* Remove packager (#3452)

* Remove Pods from source control

* Fix unit tests

* Add new line before entering the keystore in gradle.properties

* set ios as working directory for cocoapods

* Cache cocoapods on circleCI builds

* set ios as working dir

* fix cocoapods cache key

* Unify fastlane and npm dependencies command

* Use package-lock.json checksum for npm cache

* Fix package.json and use the checksum as the cache key

* Fix package.json and use the checksum as the cache key

* changes to circleci.yaml fastlane and removing pods from git

* Fix Mattermost.xcodeproj

* Update coocoapods to 1.7.5 and fix xcode header search paths

* Update package-lock.json

* Remove unused tooltip component

* Fix incorrect ref

* Disable Hermes (#3460)

* Revert "Remove packager (#3452)"

This reverts commit b2a79e184b3242124dfdb91ae095f6ce3f4eb986.

* Disable Hermes :'(

* Update preloaded modules

* Fix packages moduleNames and modulePaths, update snapshots and update mm-redux (ts version)

* remove document picker from modulePaths

* Fix package-lock.json

* Add eslint disable rules
2019-10-28 15:04:24 -07:00
Harrison Healey
d8f8dac79a
Fix android senderName call (mark-as-unread) (#3471) 2019-10-25 13:45:40 -04:00
Harrison Healey
c27e96579f Merge branch 'master' into mark-as-unread 2019-10-23 17:25:48 -04:00