Commit graph

161 commits

Author SHA1 Message Date
Harrison Healey
c27e96579f Merge branch 'master' into mark-as-unread 2019-10-23 17:25:48 -04:00
Miguel Alatzar
5e5d3abd79 [MM-17145] [MM-18947] [MM-17110] [MM-14926] [MM-18646] Use patched v2.0.6 of react-native-notifications and fix Android badge number (#3382)
* Refactor custom push notification code

* Use react-native-notifications 2.0.6 and patch for scheduled notifs

* Fix patch

* iOS changes

* Fix delete

* Fix setting of badge number on Android

* Undo Reflect removal

* Undo removal of didReceiveRemoteNotification

* Use min importance for push notifs received while app is active

* Correctly set badge number after push notificaiton reply

* Fix tests

* Localize reply action text

* Add getDeliveredNotifications

* Fix identifier check and failing test

* Fix local push notif test for Android > 9
2019-10-22 21:18:59 +03:00
Harrison Healey
ed2054592b MM-18463 Added update_badge notification when marking a channel as unread (#3352)
* MM-18463 Ignore update_badge push notifications and clean up Java

* MM-18463 Add iOS constants for push notification types

* Address feedback
2019-10-08 08:54:07 +03:00
Ewe Tek Min
0d1fd78263 MM-9599 Paste image from clipboard (#3084)
* Show image paste menu

* Get pasted image

* Add more info for file

* Add custom text input and add extension

* Dismiss contextual menu after paste image

* Group image info together

* Add max file check

* Fix max file size text

* Add PropTypes

* Add support for gif and tiff

* add onchange null check

* Use onPaste event

* Move get image info logic

* Clean up listener when no observer

* Add android upload

* Copy file from google docs

* Clean up file after upload

* Prevent text pasted in textbox if it's content uri

* Rename paste file thread

* Move on paste listener logic

* Remove the redundant data in ios

* Get realpath of item

* Clean up

* Only download for image

* Rename to custom text input

* Update RNPasteableEditTextOnPasteListener.java

* Handle for download image failed

* Fix eslint

* Fix test

* Allow multiple images to be pasted

* Remove additional null check

* Add managed control for Android

* Disable only copy, cut and paste

* Accept image in Android edit text

* Add comment for custom text input

* Do not upload when more than max file

* Stop uplaod when exceed file size

* Fix crash when clip data is null

* Return error to JS

* Move download file logic

* Remove console

* Add some tests

* Add test for handleUploadImages

* Add test for file_upload_item

* Use ImageCacheManager to cache remote images

* Fix crashes from one note

* Remove commented code

* Update test
2019-09-16 20:10:14 -03:00
Harrison Healey
4bb94195f1 MM-18465 Add proper flags when opening settings (#3242)
* MM-18465 Add proper flags when opening settings

* Fix undefined setPerformingAuthentication Function in emm_provider.
2019-09-11 23:57:07 -04:00
Ewe Tek Min
f6c9c950c5 MM-12879 Fix iOS photo/camera permission denied prompt (#2904)
* Update Github issues link

* Update GH issue to permalink

* Add missing comma

* Fix ios not prompting alert after denied photo or camera permission

* Rename permission var

* Update text

* Change to correct text

* Update text for attachement button

* Update text for image_preview

* Fix test

* Integrate react-native-android-open-settings for storage permission denied

* Move react-native-android-open-settings

* Change all default permission denied message

* Revert "Merge remote-tracking branch 'upstream/master'"

This reverts commit 65187f8f98de4943103bdab4b39bd7e1ebd5a220, reversing
changes made to daca425676503a57936a5539b5b5fa68a6c5427e.

* Revert "Revert "Merge remote-tracking branch 'upstream/master'""

This reverts commit c82fa628d5addc1262353539c32b76c6a1130e83.

* Add NSPhotoLibraryAddUsageDescription description

* Fix bad import

* Lazy load react-native-android-open-settings

* Fix indent
2019-09-11 01:18:53 -03:00
Elias Nahum
223bd64a43
[MM-18349] Post menu delay animation speed and haptic feedback (#3214)
* Animate backdrop opacity in slide up panel

* Set delayLongPress to 75ms for post

* Add haptic feedback on slide up of post options

* Ease in slide up animation

* Add haptic feedback to android

* reduce long press delay for post options menu

* helper function for haptic feedback

* Add haptic feedback when opening post options menu

* Patch haptic feedback RN module on Android

* Fix tests

* Move hapticFeedback call to SlideUpPanel

* Decrease long press time for reaction
2019-09-07 07:45:07 +09:00
Miguel Alatzar
3eda53d49a [MM-17970] Check for valid server URL (#3152)
* Check for valid server URL

* Fallback to parsing token
2019-08-21 19:02:58 -04:00
Elias Nahum
90ac092443
Load Android WebView package instead of module (#3053) 2019-07-29 09:15:40 -04:00
Elias Nahum
b8af8a3860
Lazy android native modules (#2973)
* Lazy loading Android modules

* Remove react-native-bottom-sheet

* Remove comments

* npm audit fix

* Update rnn-v2 modals

* audit fix

* Fix tests
2019-07-17 11:06:21 -04:00
Miguel Alatzar
c30bc8bfea Check for null config 2019-07-12 08:56:36 -07:00
Miguel Alatzar
51aac1e6e7 Merge branch 'master' into rnn-v2 2019-07-02 18:15:19 -07:00
Elias Nahum
89b96d51db MM-16430 refactor app entry point (#2924)
* MM-16430 refactor app entry point

* iOS Extensions to use session token from KeyChain

* Remove token from general credentials entity

* Fix mattermost-managed.ios to return the cachedConfig

* Migrate server based keychain for android push notifications

* remove unneeded async

* Remove unneeded android InitializationModule
2019-06-26 15:21:20 -04:00
Elias Nahum
c121f66526 MM-16463 Fix replying from push notification to a message in a thread (#2927) 2019-06-26 16:59:07 +08:00
Elias Nahum
3f925df9d9 MM-16392 Split view support & hide sidebar on tablets (#2898) 2019-06-21 14:10:30 -04:00
Miguel Alatzar
7f30ebbd39 Return if message is null (#2895) 2019-06-18 17:09:52 -04:00
Miguel Alatzar
0f948f650d Merge branch 'master' into rnn-v2 2019-06-18 09:58:35 -07:00
Miguel Alatzar
cbe0c719ac [MM-15874] Add native code to support RNN v2 on Android (#2855)
* Remove fix for MM-9233

* MM-15774 Add native code to support RNN v2 on iOS

* Android changes for RNN v2 upgrade

The activity visibility handling of NotificationsLifecycleFacade
is no longer needed in RNN v2. I've moved the lifecycle callbacks
we use for handling managed config into
ManagedActivityLifecycleCallbacks.java and registered them in
MainApplication's onCreate. Also, I've moved and updated the
loading and getting of the managed config into MainApplication

* Update moduleNames and modulePaths

* Use TAG in restrictionsReceiver

* Set launch screen onCreate

* Comment out registerActivityLifecycleCallbacks for now

* Remove setSoftInputMode call as it's handled in the manifest

* Remove clearHostOnActivityDestroy as that fix is no longer needed

* Rename to canLaunchEntry

* Remove replacement of super.onBackPressed()

* Remove react-navigation from packager files
2019-06-12 15:26:03 -04:00
Elias Nahum
0bb2522b5e MM-16281 Fix regression on android push notification messages (#2879) 2019-06-12 15:10:06 -04:00
Harrison Healey
3503025e53 MM-15643 Better close app when checking for pin code (#2846) 2019-05-30 11:46:35 -07:00
Harrison Healey
6e099d6a21 MM-15643 Send user to settings when passcode is required (#2836)
* MM-15643 Send user to settings when passcode is required

* Allow access to the managed config in the iOS extensions
2019-05-27 19:38:32 -04:00
Elias Nahum
5bf96272ae
Notification receipt delivery for Android and iOS (#2755)
* Notification receipt delivery for Android and iOS

* Update Fastlane with iOS notification service extension

* User JSONObject to build response
2019-05-15 12:45:26 -04:00
Elias Nahum
f36ee37402
Upgrade to RN 0.59.6 and dependencies (#2777)
* Upgrade to RN 0.59.6 and dependencies

* Remove channel loader unused style

* Update to the latest netInfo that fixes a crash

* Do not set default timezone with moment

* Use RN 0.59.8
2019-05-13 13:33:18 -04:00
Saturnino Abril
e086d66ec2
[MM-13955] Add telemetry for Android (#2719)
* add markers for Android profiling

* update per comments

* Remove beta build flag

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

* rebase and fix merge conflicts, and update per comments

* update commit hash of mattermost-redux
2019-05-08 00:23:59 +08:00
Elias Nahum
5ce9208d32 MM-14958 Scroll to bottom when posting a new message (#2761) 2019-05-07 13:28:16 +05:30
Elias Nahum
a16c98b34e MM-15428 Return empty object for native managed configuration when not set (#2770) 2019-05-06 09:20:08 -07:00
Joram Wilander
df2ecf3409
Add native module to reset TextInput to fix bad cursors in some Android keyboards (#2753) 2019-05-01 09:27:21 -04:00
Elias Nahum
fee9a96a11 MM-14885 Android use sender_name in push notifications (#2747) 2019-04-30 15:33:01 -07:00
Miguel Alatzar
fab556c4eb Check for null activity before calling finish (#2738) 2019-04-25 09:23:16 -04:00
Miguel Alatzar
50a83b63fa Remove package name from push notification content (#2700) 2019-04-08 05:23:53 +08:00
Miguel Alatzar
6aaaaef09c
[MM-14871] Fix extraction of sender name for push notifications (#2691)
* Return empty string for sender name when not found
2019-04-03 18:39:28 -07:00
Miguel Alatzar
531a743853
[MM-14866] Fix app crash due to parseInt call on null and display test notification message (#2690)
* Call setNumber on notification only if badge is not null

* Move setNumber call

* Add bundle to empty list
2019-04-03 10:15:05 -07:00
Elias Nahum
1777a4f750
MM-14316 Android Notifications and reply to notifications from native code (#2653)
* MM-14316 Android Notifications and reply to notifications from native code

* Feedback review

* Fix typo

* setBadgeIconType only for Android 8+
2019-03-20 16:39:36 -03:00
Miguel Alatzar
10442444b8
Ensure data has url key before attempting upload (#2609) 2019-02-28 10:58:54 -08:00
Miguel Alatzar
c0bae1f5a9
Check for null uri prior to getting path to shared content (#2607) 2019-02-28 10:57:04 -08:00
Elias Nahum
88f5848850
Dependencies update (#2576)
* Dependencies update

* Fix WebView

* Update to RN 0.58.5 and include the WebSocket fix

* Update react-native-video

* Fix RNFetchBlob
2019-02-20 17:17:04 -03:00
Elias Nahum
7df9711afa
Prevent the app from crashing when file mime type is null (#2582) 2019-02-20 16:47:55 -03:00
Elias Nahum
2184696e65
post menu and file attachments (#2414)
* post menu and file attachments

* Fix post list selector test

* Use new Gesture handler to avoid gesture conflicts in post menu and reaction list

* Allow reaction list to scroll the header on Android

* Feedback review

* Add some comments

* Fix eslint
2018-12-05 14:59:41 -03:00
Elias Nahum
c54738481f
Android: Fix crash when attaching files from the downloads folder (#2390) 2018-11-28 15:06:23 -03:00
Elias Nahum
1eb046a7fd Android/iOS leave notifications until channel is read (#2321)
* iOS clear notifications from a specific channel when clear push notification received

* Android leave notifications until channel is read

* use redux-connect currentChannelId in network indicator
2018-11-19 13:20:44 -05:00
Elias Nahum
fb51e38733
Replace WebView with React Native Community WebView (#2340) 2018-11-16 13:28:54 -03:00
Harrison Healey
28b993834c MM-12424 Properly set softInputMode on Android activity (#2201) 2018-10-03 16:02:04 -03:00
Elias Nahum
f522df7a2e Refactor postlist to include Android Pie fixes and smoother scrolling (#2161) 2018-09-26 10:43:33 -04:00
Elias Nahum
46b6687d1f Show local notification when replying to PN fails (#2142) 2018-09-21 00:58:21 +08:00
Elias Nahum
07f88071c6
Update dependencies (#2040)
* Update dependencies

* Update snapshots
2018-09-17 10:22:38 -03:00
Elias Nahum
c24492be8f
Android notification support for O and P (#2060) 2018-08-30 19:45:21 -03:00
Elias Nahum
bca46b23fe
Bump Android build number to 129 (#1980)
* Fix Sentry module in Android MainApplication

* Bump Android build number to 129
2018-08-07 14:29:59 -04:00
Elias Nahum
cf85c3c1e8 Fix Android share extension and better handle errors (#1965) 2018-08-03 13:18:21 -04:00
Elias Nahum
44152ad5e5 Fix reply pending intent per channel (#1932) 2018-07-18 14:33:08 -04:00
Elias Nahum
a208df9417 Fix uploading files from androids download provider (#1837) 2018-06-27 08:35:22 -04:00
Elias Nahum
3cee7b310e Set Android share extension default mime type for images and videos (#1833) 2018-06-27 08:13:52 -04:00
Elias Nahum
abd67c1bec
Always create a temp file for Android share (#1824) 2018-06-25 13:11:50 -04:00
Elias Nahum
1cddb45905
Verify that the push notification version is not null (#1736) 2018-06-07 10:17:57 -04:00
Elias Nahum
64baa64057
Fix push notification styling backwards compatibility (#1729)
* Android Push notification style backwards compatible

* Fix fastlane android release build
2018-06-05 14:50:51 -04:00
Elias Nahum
e07a738dcd Remove orientation dependency (#1698)
* Remove orientation dependency

* Update NOTICES
2018-05-23 10:39:23 -04:00
Elias Nahum
8e0d167f95 Fix push notification and emm race conditions (#1691)
* Fix push notification and emm race conditions

* feedback review

* Removed unnecesary code
2018-05-22 11:02:14 -04:00
Chris Duarte
e8712f9199 Cold startup js refactor (#1598)
* Switch to SingleDex and remove all locales

* WIP Mattermost Start Component for lazy loading modules

* Add files changed for native modules

* Add Entry component and app global object

* dispatch setStatusBarHeight for iOS

* Update screen imports

* Include Entry screen

* Refactor app to mattermost.android.js

* Override unnecessary java files

* Fix minor issues in changes

* Display empty state based on user credentials

Also, add proper background theme for empty loading screen

* Add native module constant cache support

* Fix startup theme regression

* Add Keychain support for credentials

* Fix Orientation regression

*  Fix SharedExtension regression

* Emit NATIVE_APP_LAUNCHED across bridge only once during cold start

* Add iOS Support

* Revert to previous implementation of i18n

* Fix styling issues

* Include listener for SERVER_VERSION_CHANGED

* Add SafeAreaView in Entry screen

* Register deviceToken early, in order to get iOS PN Support

* Include StartTimeModule

* Add ReplyFromPush support and remove NATIVE_APP_LAUNCHED listener

* Package native constants in StartTimeModule and avoid bridge calls

* Fix check-style errors

* Code cleanup

* Rename StartTimeModule to InitializationModule

* Remove NavigationApplication

* Documentation and minor changes

* Account for app opening after SharedExtension

* Refactor getIntl to getTranslations

* Move native module constants into it's own forked repos

* Include FetchBlob and DeviceInfo forked repos
2018-05-18 17:13:00 -04:00
Elias Nahum
21f2624bec Android Push notification styling improvements (#1683) 2018-05-18 10:13:38 -04:00
Elias Nahum
23ca490525
Ability to upload other file types (#1662) 2018-05-11 18:05:49 -03:00
Elias Nahum
aebe22f58d
Fix Android sharing files without extension (#1646) 2018-04-30 11:57:24 -03:00
Elias Nahum
e31fc00377
Fix share from SwiftKey Keyboard and clear temp files (#1585)
* Fix share from SwiftKey Keyboard and clear temp files

* feedback review
2018-04-13 12:26:29 -03:00
enahum
a9a8017006
Fix Android stuck when opening from push notification (#1429) 2018-02-12 13:51:29 -03:00
enahum
d0f96c0887
[ICU-650] Upgrade React Native to 0.52.2 (#1421)
* Upgrade to React Native 0.52.2

* Bump app version to 1.7.0

* Update fastlane

* Upgrade mattermost redux

* feedback review
2018-02-07 18:24:01 -03:00
enahum
cd6fd9017f Fix Android app stuck in splash screen when killed by the OS (#1403) 2018-02-01 09:56:09 -05:00
enahum
cd80cdfdf4 Fix race condition preventing the app opened from a PN to go to the correct channel (#1398)
* Fix race condition preventing the app opened from a PN to go to the correct channel

* Feedback review
2018-01-31 11:02:02 -05:00
enahum
676a3c4bda
Fix share extension (#1386)
* Remove iOS extension garbage code

* Fix Android Share Extension crash
2018-01-26 18:50:08 -03:00
enahum
926ffe96c5
Android share extension (#1352)
* Android share extension

* Feedback review

* Feedback review
2018-01-17 18:17:02 -03:00
enahum
30863ef42b
Make sure that channelIdToNotification is not null (#1320) 2017-12-22 16:11:00 -03:00
enahum
86efb2d321
Ensure the user has permission to access ringtones (#1313) 2017-12-22 16:05:42 -03:00
enahum
62cedae196 Multiple bug fixes (#1287) 2017-12-08 09:37:14 -05:00
enahum
76169720a5
Android: Avoid crash when clearing notifications (#1282) 2017-12-07 12:19:42 -03:00
Alexander Rashed
bbf4557b54 [1216] Use system default for vibration pattern (#1247) 2017-12-04 12:11:32 -03:00
enahum
bc1554e1bd
Add Document and Video previews (#1170)
* Video file previewer

* Document preview support

* Fix tests

* Feedback review

* feedback review 2

* feedback review 3

* Fix video_controls copyright

* Fix mime undefined
2017-11-20 18:28:20 -03:00
enahum
9910e3438d
Upgrade RN (#1102) 2017-11-07 13:34:39 -03:00
enahum
aebe05fa1f Fix Android: Permission Denial when handling push notification (#1030) 2017-10-17 15:02:32 -04:00
enahum
cc966702fd Improve performance of the channel drawer (#1023)
* Improve performance of the channel drawer

* Feedback review

* Fix makefile

* Feedback review 3

* Fix areStatesEqual

* Fix Android SVG
2017-10-17 10:06:28 -07:00
Chris Duarte
2378ad627b Swith android to use layout file for splash (#952) 2017-10-17 08:44:41 -07:00
enahum
6b103faa3b Fix ArrayIndexOutOfBounds and NullPointer exceptions for android push notifications (#1022) 2017-10-16 12:34:14 -03:00
Elias Nahum
ea4fc49d81 Fix Android crash on push notification 2017-10-05 10:25:15 -03:00
enahum
4995a76f2c Add Landscape support for both platforms (#909)
* Landscape support

* Fix image rotation on Android

* Fix landscape mode for login and login options

* Fix previewer will receive props

* Move device dimensions and others to redux

* Fix unit tests

* Include orientation and tablet in the store
2017-09-20 12:54:24 -07:00
enahum
1fbf3e9e27 Android stack push notifications improvement (#912)
* Android multiple push notifications improvement

* Reverse order and remove duplicate
2017-09-18 12:02:24 -04:00
enahum
0628cbc693 Upgrade to RN 0.48.3 (#911)
* Upgrade to RN 0.48.1

* Update deps to be exact

* Fix tests

* Remove unneeded code from setup and add socketcluster dep

* Fix drawer pan issue

* Fix bridge issues on iOS

* Upgrade to RN 0.48.3

* Search to use RN SectionList
2017-09-18 12:01:47 -04:00
enahum
e0cfefcdff RN-138 Android notification preferences (#889)
* Fix Android and iOS flow

* Own review

* RN-138 Android notification preferences

* Feedback review

* Feedback review 2
2017-09-13 12:00:16 -03:00
enahum
7aebcbd52e Link Previews (#890)
* Link previews, Image previews and YouTube

* Install cocoapods dependencies
2017-09-12 15:06:19 -03:00
Harrison Healey
3ac7b48adc RN-289 Sentry integration (#873)
* Added JS code for Sentry

* Removed leftover initializeSentry call

* Added SentryOptions config setting

* Added native components for react-native-exception-handler

* Removed default props from ErrorText

* Moved where Sentry is initialized

* Added ios/sentry.properties to .gitignore

* Added linking react-native-sentry to Fastlane

* Fixed fastlane to include newlines in sentry.properties

* Moved to manually link react-native-sentry

* Captured redux errors with Sentry

* Redid how Sentry is optionally compiled to be simpler

* Added Sentry middleware to create redux breadcrumbs

* Added Sentry tags for server version

* Initialize Sentry when testing

* Fixed string replacement for SentryEnabled in fastlane

* Added react-native-sentry to NOTICE.txt
2017-09-01 14:50:17 -03:00
Chris Duarte
220fb588b9 RN-80 Add ability to download files (#866)
* RN-80 Add ability to download files

* Add android permission check and toasts

* Add check for ability to download from config
2017-09-01 12:11:49 -03:00
enahum
60087e6b4d Enable replying from the push notification (#871)
* Enable replying from the push notification

* Fix Android and iOS flow

* Own review
2017-08-29 12:16:34 -03:00
enahum
cd5fb71681 Appconfig support for iOS and Android (#856)
* AppConfig support for iOS

* AppConfig support for Android

* Fix typo

* Java feedback review
2017-08-18 12:19:00 -04:00
enahum
c8b59895fa Android Notifications Support for Big View (#774) 2017-07-24 08:25:47 -04:00
enahum
8afd7fe1cd Renaming the bundle and package Ids (#721)
* Renamed to com.mattermost.rnbeta

* Fastlane for release of com.mattermost.rn

* Do not Publish apps directly to production

* Change ios icon format from jpeg to png
2017-07-07 16:37:05 -04:00
enahum
7dbac06983 Fix sentry found issues (#699) 2017-07-03 18:09:04 -04:00
enahum
7f756a9f81 RN-35 handle clear push notifications (#624) 2017-06-14 09:26:13 -04:00
enahum
c285a6f553 Fix push notifications (#596) 2017-06-05 16:15:00 -04:00
Chris Duarte
dda0370b37 Remove sentry to fix build (#573) 2017-05-26 11:30:43 -04:00
Chris Duarte
d14edc25da RN-145 Add support for sentry error tracking (#564)
* RN-145 Add support for sentry error tracking

* Add to notice.txt
2017-05-25 09:56:38 -04:00
enahum
248dafbe0e RN-97 Changed navigation from NavigationExperimental to ReactNative Navigation (#540)
* Add react-navigator dependency

* Add react-native-navigation dependency

* react-native-navigation, ios and android config

* update react-native-navigation

* New navigation and code cleanup

* Set ScreenBackgroundColor

* Fix channel drawer event issue

* Applied RNPN non-working popInitial notification

* Android navbar and back button

* packages and notices

* MM-redux update

* Fix draft on team switch

* Remove custom NavBar
2017-05-16 11:19:46 -04:00
Chris Duarte
ddf03e1372 RN-79: Images uploaded from React Native get renamed (#509) 2017-04-28 10:24:55 -03:00
enahum
2e99a71a0d Several Fixes (#495)
* Revert files to use APIv3

* Fix channel intro constants

* Add src to transpiler for mattermost-redux

* Fix android back button

* Fix check for MFA

* feedback review
2017-04-24 17:39:23 -03:00
enahum
007c8bcf35 PLT-6208 Follow policies set in System Console (#456) 2017-04-05 22:33:03 -03:00
enahum
5d997ae22b PLT-5931 Adds splash screen (#413)
* Adds splash screen

* Increase font size for IOS modal options
2017-03-28 23:29:08 -03:00