Commit graph

99 commits

Author SHA1 Message Date
Elias Nahum
8e314022ca
MM-24285 Use FastImage instead of Image (#4218)
* Enable ESLint no-unused-vars

* Use FastImage instead of Image

* Update fast-image patch to support multiple cookies

* Fix ESLint errors

* Have jest run timers for post_textbox tests

* Feedback review

* Update snapshots
2020-04-28 11:36:32 -04:00
Mattermost Build
9434acd79a
Automated cherry pick of #4192 (#4216)
* Fix infinite loop retrieving post files

Right now if all the attachments of a post are removed the component
update code enters into an infinite loop becuase the comparison between
arrays always return false.

* Move all the code inside the file changing detector condition

Co-authored-by: Mario de Frutos <mario@defrutos.org>
2020-04-23 07:56:14 -04:00
Miguel Alatzar
2d81b497cf [MM-23520] Port mattermost-redux (#4088)
* Remove mattermost-redux

* Move mm-redux files into app/redux

* Add @redux path to tsconfig.json

* Fix imports

* Install missing dependencies

* Fix tsc errors

* Fix i18n_utils test

* Fix more imports

* Remove redux websocket

* Fix tests

* Rename @redux

* Apply changes from mattermost-redux PR 1103

* Remove mattermost-redux mention in template

* Add missing imports

* Rename app/redux/ to app/mm-redux/

* Remove test file

* Fix fetching Sidebar GM profiles

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-04-17 21:12:09 -07:00
Mattermost Build
7f3798a547
Automated cherry pick of #4165 (#4166)
* Fix headers when preloading images

* Import isGif

Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2020-04-16 19:28:14 -07:00
Mattermost Build
7a4e7711d1
Automated cherry pick of #4160 (#4161)
* Correctly load file attachment images

* Remove cache control from gallery

* Remove unused import

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-04-16 16:33:45 -04:00
Elias Nahum
5a2bb0125b
Validate previous app version (#4151)
* Validate previous app version

* Update snapshot and fix typo in constant
2020-04-14 15:03:22 -04:00
Mattermost Build
3af9ea000f
Revert "Use file URL over preview URL for GIFs (#3981)" (#4091)
This reverts commit cbc6ef185c.

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-03-27 23:09:39 -03:00
Miguel Alatzar
cbc6ef185c
Use file URL over preview URL for GIFs (#3981) 2020-03-02 15:42:51 -03:00
Elias Nahum
0504a962a1
MM-22379 & MM-22598 Boost perf by using FastImage cache in favor of ImageCacheManager (#3971)
* MM-22379 & MM-22598 Boost perf by using FastImage cache in favor of ImageCacheManager

* Code review
2020-02-27 16:29:51 -03:00
Amit Uttam
9d44ef8053
MM-22629 Center-align tall & thin image attachments (#3931)
Bug reported in community: https://community.mattermost.com/core/pl/yy39ajg1ajfm386dms6tdyjrtw
2020-02-18 15:48:26 -03:00
Elias Nahum
7c09334dc4
Deps update (#3806)
* Dependecy updates

* Update dependencies
2020-01-20 13:20:03 -03:00
Amit Uttam
ef0274cad8 [MM-16263] UI/UX Improvements to the mobile post draft area (#3807)
* Adding base button functionality

Moving file upload previews to be under textbox

* Ensuring textbox is scrollable when in landscape mode

* Updated image picker to use mixed camera option

* Added unit tests, fixed other tests affected by dependency update

* Updated patch for react-native-image-picker to 1.1.0

* Fixing incorrect import of DocumentPicker

* MM-20989: Ensuring keyboard doesn't dismiss while submitting post (#3758)

* Ensuring keyboard doesn't dismiss while submitting post

* Update snapshot

* Preventing the @ icon from being repeatedly tappable (#3777)

* Fix snapshot from merge

* MM-21736 Select/Take images and videos for Android

* MM-21737 Fix attachment error message position on iOS

* Remove FileUploadPreview from the iOS Thread screen

* Fix android camera permissions

* Fix post input box sizing and disable scrollview

* Fix iOS photo gallery videos

Co-authored-by: Andre Vasconcelos <andre.onogoro@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-01-16 22:17:03 -03:00
Vladimir Lebedev
422fc5ee4a MM-18767 Remove deprecated lifecycle methods from post textbox (#3697)
* MM-18767 Remove deprecated lifecycle methods from post textbox

* fix current issues

* change deep equal compare to just compare, fix test

* remove redundant state initialization

* restore state

* move state from constructor
2020-01-09 23:07:55 +08:00
Amit Uttam
66a6e5c932 [MM-10813] Design update for Post attachments (#3511)
* [MM-10813] Design update for Post attachments

Fixes https://github.com/mattermost/mattermost-server/issues/12841

* Updated visual treatment for Post attachments (images, documents, videos)
* Grouped image attachments, expanding to fit Post width dimension
* Itemized listing of non-image attachments
* Special handling of "small" image attachments (<48 point width/height)

* Set attachment post width to max width of portrait orientation

Accounts for post display offset and extra spacing used for rendering post replies.

* Use available Post real estate: flex: 1 instead of width 100%

* Image spacing responsibility: AttachmentList -> AttachmentImage

* Fit download progress circle correctly over new attachment icons

* Layers progress circle over the icon, rather than under.
* Uses offset constant as far as possible, rather than fixed point spaces.

* Refactor props and 'more' counting for image file attachment(s)

* Implement conditional gutter between image attachments

Flex's `justifyContent: space-between` won't work in this case because of the use of `absoluteFill` and `paddingBottom: 100%` in the box placeholder for an image attachment to auto-fill *all* available flex space.

* Additional snapshots for Post file attachment scenarios

* Use new 'text' icon for text files (.txt, .rtf)

Depends on https://github.com/mattermost/mattermost-redux/pull/979

Even without the change to mattermost-redux above, text files will default to pre-existing "code" icon.

* Set file attachment icon background to theme

Default to transparent. Override if explicitly specified.

* Treat animated GIFs as images when auto-adjusting attachment width

* Fix images layout, progressive image margins, and gallery for images and videos

* fix on iPad (splitview, permanent sidebar) card types and image sizes

* Add all files back to the gallery
2019-11-15 22:41:09 -05: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
Miguel Alatzar
b1b7fa06cd
Pass fileInfoContainer style directly to Touchable (#3379) 2019-10-08 18:56:16 -07:00
Miguel Alatzar
459801d10b
[MM-17560] Await dismissAllModals and popToRoot prior to calling showSearchModal (#3298)
* Patch react-native-navigation

* Make navigation actions regular functions

* Fix unhandled promise rejection warning

* Missing semicolons

* Mock navigation actions

* Add unit tests for navigation actions

* Place all patches in patches directory

* Fix channel_info snapshot test
2019-09-25 15:23:45 -07:00
Elias Nahum
9975a19b91
MM-18236 Prevent the post menu from triggering when using the back gesture (#3319)
* MM-18236 Prevent the post menu from triggering when using the back gesture in the thread screen

* Update snapshots

* Update app/components/touchable_with_feedback/touchable_with_feedback.ios.js

Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>

* Update app/components/touchable_with_feedback/touchable_with_feedback.ios.js

Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>

* Update app/components/post/post.js

Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>

* Update app/components/touchable_with_feedback/touchable_with_feedback.ios.js

* Fix eslint
2019-09-26 00:19:49 +03:00
Elias Nahum
9da5b234ed MM-18542 Fix file attachment scroll on tablets, MM-18732 Slow scroll in landscape & MM-18836 settings sidebar width (#3321) 2019-09-25 10:27:18 -07:00
Elias Nahum
e87858d7af Various fixes (#3078)
* MM-17588 Remove navigation component from stack

* MM-175986 Fix Clock Display Settings on iOS

* Fix markdown and team icon currentServerUrl

* Fix closing permalink logs out the user

* Fix file attachment document ref

* Fix applyTheme when changing a theme in the app

* Feedback review

* remove / when fetching the image on the markdown table on relative paths
2019-08-08 22:28:07 +08:00
Miguel Alatzar
150253d392
[MM-16012] [MM-16084] Update screens related to settings sidebar + update SearchResultPost screen and its children (#2913)
* Update screens

* Update login tests

* Remove done

* Fix failing tests

* Update screens and components

* Check styles fix

* Update tests

* Prevent setState call after component unmounts

* Add empty setButtons func to dummy navigator

* Remove platform check

* Remove Platform import

* Update react-native-navigation version

* Add separate showModalOverCurrentContext function

* check-style fixes

* Remove overriding of AppDelegate's window

* Fix modal over current context animation

* Add showSearchModal navigation action

* Check-style fix

* Address review comments

* Update SettingsSidebar and children

* Update EditProfile screen

* Update SettingsSidebar

* Keep track of latest componentId to appear

* Track componentId in state to use in navigation actions

* Update FlaggedPosts and children

* Update RecentMentions

* Update Settings

* Store componentIds in ephemeral store

* Update AttachmentButton

* Remove unnecessary dismissModal

* Fix typo

* Check-style fix

* Address review comments
2019-06-24 12:52:08 -07:00
Elias Nahum
f7f56e958b
MM-9494 & MM-13888 Tapping execute actions & interactive keyboard dismissal (#2799)
* MM-9494 & MM-13888 Tapping with the keyboard opened executes the action & iOS iteractive keyboard

* Fix tests

* feedback review

* add new line at the end of file

* feedback review and added todo list

* Track interactive dismiss keyboard and set scrollview bounds natively

* Fix snapshots

* Fastlane default to current branch when no BRANCH_TO_BUILD is set

* Set NODE_OPTIONS in ios build script

* Rebind scrollview when channel gets first set of posts

* Keep scrolling momentum on keyboard close

* Update react-native-keyboard-tracking-view

* Fix ScrollView offset with keyboard-tracking

* Fix offset while dragging the keyboard

* Allow action on channel drawer on tablets

* Fix typo

Co-Authored-By: Saturnino Abril <saturnino.abril@gmail.com>

* Fix indentation
2019-05-20 12:02:00 -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
Miguel Alatzar
19c493ff6e
[MM-15401] Fix setting of extension when caching files (#2762)
* Get extension from Content-Disposition first

* User ImageCacheManager.cache over getCacheFile

* Add unit tests for ImageCacheManager.getCacheFile

* Add unit tests for ImageCacheManager.cache

* Use exports and require to be able to mock isDownloading

* Chain mockReturnValueOnce calls

* Fix getExtensionFromContentDisposition and its unit tests
2019-05-03 09:24:40 -07:00
Elias Nahum
3feaa8e6bb
iOS Native Share Extension (Swift) (#2575)
* iOS Native Share Extension (Swift)

* Re-arrange files

* Fix .gitignore
2019-02-26 14:31:57 -03:00
Elias Nahum
da6160f0b8
Fix previewing doc files more than once on Android (#2550) 2019-02-05 19:12:56 -03:00
Elias Nahum
e1853c6682 MM-13665 Prevent quick multiple taps on file to open multiple file previews (#2503) 2019-01-11 21:29:44 +05:30
Sudheer
53e98628f0 MM-13432 Remove getFilesForPost request state and use react state (#2496)
* MM-13432 Remove getFilesForPost request state and use react state

* Add test cases
2019-01-09 20:21:02 +08:00
Elias Nahum
f2e13c8887
Fix opening documents on Android (#2425) 2018-12-06 14:23:05 -03:00
Chris Duarte
6163b8e913 File image attachments sometimes do not open the image preview (#2397) 2018-11-30 09:17:34 -05:00
Elias Nahum
8fbb7e7081
Fix Post and network indicator Layouts (#2382)
* Fix post layout that caused text cutoff

* Fix network indicator layout on non iPhone X devices
2018-11-27 19:43:08 -03:00
Elias Nahum
736a955be8
Use post metadata to prevent scroll pop (#2304)
* Use post metadata to prevent scroll pop

* Fix not to fetch for reactions every time

* Update post-metadata mm-redux ref

* Update mattermost-redux to include post-metadata
2018-11-22 19:47:27 -03:00
Elias Nahum
678c2599ac
Update post header to support flagged/pinned posts (#2350)
* Update post header to support flagged/pinned posts

* Fix header cutoff when commented on visible

* Update snapshots
2018-11-20 08:23:42 -03:00
Elias Nahum
85fd0e7d74 Fix download document progress indicator (#2344) 2018-11-16 22:57:03 +05:30
Elias Nahum
ae629a455c
Update UX for post long press menu (#2325)
* Update UX for post long press menu

* Post menu feedback review
2018-11-14 17:29:09 -03:00
Elias Nahum
201e122827 Fix Android image preview (#2323) 2018-11-09 16:20:08 -05:00
Elias Nahum
e25a1939fc
Set the file prefix in image_cache_manager (#2313) 2018-11-05 15:24:30 -03:00
Elias Nahum
a78482c942
Set explicit white background to icon previews (#2256) 2018-10-11 15:31:34 -03:00
Harrison Healey
cfb372f75a
MM-11157 Switch ESLint to use eslint-config-mattermost (#2247) 2018-10-11 13:35:25 -04:00
Elias Nahum
fa5efd4007
Revert "image thumbnail not centered (#2210)" and fix it properly (#2219)
This reverts commit 5f31374e74.
2018-10-04 19:41:41 -03:00
Elias Nahum
5f31374e74 image thumbnail not centered (#2210)
* image thumbnail not centered

* feedback review
2018-10-04 01:37:59 +08:00
Elias Nahum
e6c37e5e69 Do not fetch image if file.id is not present (#2165) 2018-09-26 10:26:35 -04:00
Elias Nahum
637ca9244a
Update RN to version 0.57.0 (#2131) 2018-09-20 19:05:41 -03:00
Sudheer
710ce17a19
MM-12038 Fix attachment icon styling (#2115)
* MM-12038 Fix attachment icon styling

  * Fix attachment icon background-color.
  * Fix attachment icon alignment when downloading.
2018-09-18 20:51:04 +05:30
Elias Nahum
2a54c00e16
Open file attachment preview when tapping on the filename (#2049) 2018-08-29 17:05:37 -03:00
Elias Nahum
ddc4a3057e Disallow download of all file types on RN apps when disallowed in System Console (#2038) 2018-08-29 14:04:36 -04:00
Elias Nahum
96e9c6c707 Update rn-fetch-blob and CBA support for iOS (#2033)
* Update rn-fetch-blob and CBA support for iOS

* remove trusty

* remove react-native-fast-image dependency
2018-08-29 14:01:37 -04:00
Elias Nahum
b47c7db4dc
Fix cropped images (#1936)
* Fix cropped images

* Unit tests
2018-07-20 13:34:46 -04:00
Elias Nahum
7b18047800
CBA support for iOS (#1767)
* CBA Support

* cba support for iOS Share extension

* Autologin with credentials

* Set initial config for ExperimentalClientSideCertEnable as false

* Fix mattermost-redux to cba branch

* feedback review

* Fix eslint
2018-06-19 19:35:42 -04:00
Jesse Hallam
8372e95d4a add eslint-plugin-header, and --fix all (#1726) 2018-06-19 19:14:50 -04:00