Commit graph

213 commits

Author SHA1 Message Date
Anurag Shivarathri
fe12190f4b
App crash in android sometimes while opening the notifications (#5776)
* Checks for condition before removing the notification

* Misc
2021-10-24 14:40:28 -03:00
Elias Nahum
523777a207
Use @mattermost/react-native-paste-input to allow pasting of images & files (#5703)
* Use @mattermost/react-native-paste-input to allow pasting of images & files

* upgrade @mattermost/react-native-paste-input
2021-09-30 09:34:57 -03:00
Elias Nahum
0947baeffe
Android clear notification preferences on version change (#5666)
* Android clear notification preferences on version change

* remove spacings
2021-09-04 11:33:34 -04:00
Elias Nahum
29ec86b673
Properly handle notification snooze on Android (#5656) 2021-09-03 09:19:19 -04:00
Matthew Birtch
066e005158
MM-37662 Update App Icon to New Brand Colors (#5603)
* adds updated icon files to align with new branding colors

* small tweak to icon colors
2021-08-13 10:03:03 -04:00
Matthew Birtch
ced61af9d3
MM-37092 Update Splash Screen to align with new branding (#5610)
* reworking splash screen for new brand modifying layout

* removed background_splash file and reworked launch_screen file instead

* simplified to reduce number of changed files

* updated release launch screen as well

* reworked to simplify changes

* removed iOS splash background image not being used for this PR

* added support for dark mode

* tweak to splash background to center better

* update fastlane

* Replace iOS Splash Screen release assets

* Replace Android Splash Screen release assets

* Replace iOS release LaunchScreen.storyboard

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-08-13 10:02:31 -04:00
Elias Nahum
8953f29623
Android Send Notification event to JS only once when the app is in the foreground (#5620) 2021-08-12 13:46:03 -04:00
Elias Nahum
fdf93ae0c5
MM-37674 Fix android push notification crash (#5601) 2021-08-06 09:00:14 -04:00
Elias Nahum
ba78bc9d00
Properly group Android push notifications by channel (#5548) 2021-07-20 11:36:42 -04:00
Elias Nahum
78156ee75b
1.45 Release testing bug fixes (#5529)
* MM-36908 display unicode emoji in text field after selecting from autocomple

* MM-36935 Fix android crash when ammending search in Sidebar Jump to

* MM-36929 & MM-36928 fix notification badge resetting on new notification

* MM-36920 Fix android push notification issues

* MM-36922 Edit profile image

* Fix crash when opening Android test notification
2021-07-12 16:01:37 -04:00
Elias Nahum
65a14f309b
Allow reply from individual notifications on Android (#5494) 2021-06-29 14:32:08 -04:00
Elias Nahum
f4f8379796
Update dependencies and setup project with node 16 / npm 7 (#5474) 2021-06-21 18:36:38 -04:00
Elias Nahum
0a4dafa127
MM-36256 avoid path traversal for Android image picker (#5432) 2021-06-08 09:11:27 -04:00
Elias Nahum
9f238d5ef4
Post List & post components refactored (#5409)
* Update transform to make Android's post list scroll smooth

* set start since metric when appStarted is false

* Refactor Formatted components

* Downgrade RNN to 7.13.0 & patch XCDYouTube to allow video playback

* Refactor Post list and all related components

* review suggestion rename hour12 to isMilitaryTime

* feedback review use aliases

* feedback review deconstruct actions in markdown_link

* feedback review simplify if/else statement in combined_used_activity

* Simplify if statement for consecutive posts

* Specify npm version to build iOS on CI

* Refactor network_indicator

* render Icon in file gallery with transparent background

* Increase timeout to scroll to bottom when posting a new message

* fix: scroll when tapping on the new messages bar

* fix: dismiss all modals

* fix navigation tests

* Handle dismissAllModals for iOS to prevent blank screens

* Prevent modal from dismissing when showing the thread screen in the stack

* Update app/components/image_viewport.tsx

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

* Update app/utils/post.ts

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

* Apply suggestions from code review

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

* fix: rename selector and prop

* Fix XCDYouTube patch

* Fix posting from a thread in the right channel

* do not render reply bar on the thread screen

* close previous permalink before showing a new one

* move XCDYouTube patch to ios/patches folder

* closePermalink directly instead of using an onClose prop

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
2021-06-03 11:12:15 -07:00
Elias Nahum
3181c66348
MM-35992 set android activity affinity to blank (#5408) 2021-06-01 09:36:49 -04:00
Anurag Shivarathri
6e23fbe7a7
MM-32921 shared channels (#5241)
* Unable to open previews from search, pinned and mentions

* Updated Compass Icons

* Added Icon to LHS and Channel Info

* Added Icons to Manage/View Members list

* Added Icon to shared users in posts

* Added icon to channel header, fixed header style

* Added Icons in autocomplete

* WIP: Add shared shannels to browse

* Adding Shared Channels string to i18n

* Added remote organization to remote user profile

* Updated snapshot for channel header

* Added browsing shared channels

* Removed the exmpty line

* Added snapshot when user is remote

* Reverted compass icons and added icons only needed for shared channels

* Fixed i18n swapped

* Copied compass-icons from webapp

* Fixed showing shared channels as deleted after browsing them

* Added new compass ttf to android & fixed icon style for browse channel listing

* Fixed search for shared channels

* user profile snapshot updated with testId

* User list row snapshot updated with testID

* Moved shared user check to util function

* Fixed required props warning for ChannelIcon component

* Update app/screens/user_profile/index.js

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

* Removed Request related redux

* Reverted client4

* Added rest calls

* Updated snapshot

* Reverted files

* Adding back shared channels stuff to channel icon & showing shared channels only when enabled in browse channels

* Fixed misc issues

* moved empty array outside the function to avoid re-render

* Removed renaming fields

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-05-24 16:07:47 +05:30
Elias Nahum
288c847518
Add Perf metrics, some cleanup & dep updates (#5378) 2021-05-12 08:48:20 -04:00
Shaz Amjad
f01981ca25
[MM-26160] Updates to check if text is string before attaching as string (#5353)
* Updates to check if text is string before attaching as string
* Code tidy-up
2021-04-29 10:54:27 +10:00
Anurag Shivarathri
66ebe3683b
MM-34508 in-app browser emm configuration (#5274) 2021-04-07 14:15:19 -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
4ce430bdb8
MM-32725 Reduce KeyStore qty access (#5261) 2021-04-06 09:54:00 -04:00
Elias Nahum
9e30de1ba7
Copy temp file if isMediaDocument contentUri is null (#5269) 2021-04-03 14:53:54 -03:00
Elias Nahum
86a096d1ce
MM-33495 Sanitize filename in Android ShareExtension (#5210)
* MM-33495 Sanitize filename in Android ShareExtension

* Apply sanitization after getting uri last path segment

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-03-08 14:38: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