Commit graph

287 commits

Author SHA1 Message Date
Elias Nahum
114a18c16d
MM-18453 Use native emojis (#3260)
* MM-18453 Use native emojis

* Remove unnecessary else statement

* Add support for builtIn emojis

* Fix Native emojis snapshot tests

* Set emoji text style from StyleSheet

* Remove unneded version check and try/catch

* Add builtIn emojis as custom emojis in emojiPicker

* Simplify emojiPicker lists and fix jumping section headers

* Update snapshots
2019-09-25 12:27:47 +03:00
Andre Vasconcelos
7bd000d794 GH-11952 Adding option to convert public channel to private (#3230)
* Adding option to convert public channel to private

* Added unit tests, feedback alert with error handling, and new alert text

* Ensuring baseProps is never changed between channel_info tests

* Trimming the display_name on alerts

- Preventing extra empty spaces from being displayed on the alerts by trimming the variable
2019-09-23 18:39:15 -07:00
Eric Sethna
2c4764bc88 Update session expiry push notification text (#3211)
* Update session expiry text

* Calculate the session expires in days to be displayed in the local notification

* Feedback review
2019-09-16 12:01:10 -07:00
Devin Binnie
54acc584c3
[MM-18178] Removing caching of failed image loading attempts (#3231) 2019-09-10 12:45:41 -04: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
Elias Nahum
63066f4365
do not dispatch navigation actions when opening the app from a push notification (#3183) 2019-08-23 22:17:32 -04:00
Elias Nahum
405d3d4677
Update sentry (#3179) 2019-08-23 15:59:20 -04:00
Matheus Cardoso
73518da91e Make keyboard dark on dark themes (iOS only) (#3102)
* Support keyboardAppearance theme parameter

* Change approach of keyboardAppearance to auto-detect

* Fix style

* Update snapshots

* Add unit test for getKeyboardAppearanceFromTheme

* Update snapshot

* Fix failing test
2019-08-23 13:18:05 -04:00
Miguel Alatzar
ffbae7589f Apply setNavigatorStyles to all navigation components (#3121) 2019-08-15 02:00:21 +08: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
71e56120eb
[MM-17431] Remove flex for horizontalRule (#3079)
* Remove flex for horizontalRule

* Fix snapshot tests
2019-08-08 07:05:16 -07:00
Elias Nahum
f1ef6920f3
MM-17100 setCSRFFromCookie with subpath support (#3035) 2019-07-25 07:16:37 -04:00
Miguel Alatzar
ebe8d45711
[MM-16816] Parse source URI (#3026)
* Parse source URI

* Revert "Parse source URI"

This reverts commit 1cf421c9b9897e46881685aabebb793ad6ff4c07.

* Pass imageUri instead of defaultSource to ProgressiveImage

* Parse source URI in ImageCacheManager
2019-07-24 07:59:06 -07:00
Miguel Alatzar
76b4bf8262
[MM-14923] Add channel_id to failed push notification reply (#3014)
* Add channel_id to failed push notification reply

* Fix typo
2019-07-22 14:57:40 -07:00
Jesús Espino
ee93e4fa59
Adding guest accounts feature (#2990)
* MM-15059: Restict the permissions for guests (#2791)

* MM-15057: Adding guest badge to identify guest users (#2774)

* MM-15057: Adding guest badge to identify guest users

* Adding Guest tags in the channel title

* Adding i18n translations

* Adding DM and GM guest warnings

* Fixing check-style

* Adding and fixing tests

* Adding i18n text

* Only showing the subtitle when there is enough space

* Addressing new design changes

* Fixing eslint

* Addressing PR comments

* Moving getChannelStats to the handleSelectChannel action

* Adding the guest info in android landscape channel headers

* simplified the guest warning text generation

* Fixing i18n

* Fixing leaving channel behavior for guests (#2989)

* Fixing leaving channel behavior for guests

* Fixing tests and adding a new one

* fixing typo

* Addressing PR comments

* Addressing PR comments

* Fixing tests
2019-07-22 22:14:39 +02: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
5eee2b7652
[MM-16139] [MM-16140] [MM-16141] Update the remaining screens/components (#2920)
* 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

* Upate NotificationSettings

* Update NotificationSettingsAutoResponder

* Update NotificationSettingsMentions

* Update NotificationSettingsMobile

* Update CreateChannel and children

* Update MoreChannels

* Update ChannelPeek and children

* Update ChannelNavBar and children

* Update ChannelPostList and children

* Update ChannelInfo and children

* Update ChannelAddMembers

* Update ChannelMembers

* Update EditChannel

* Fix setting of top bar buttons

* Update Channel screen and children

* Update PinnedPosts

* Update LongPost

* Update PostOptions

* Update PostTextboxBase

* Update EditPost

* Check-styles fix

* Update DisplaySettings

* Update Timezone

* Update SelectTimezone

* Update IntlWrapper and Notification

* Update InteractiveDialog and children

* Update ExpandedAnnouncementBanner

* Update ClientUpgradeListener

* Update MoreDirectMessages

* Update SelectorScreen

* Update UserProfile

* Update Thread

* Update About

* Update ImagePreview

* Update TextPreview

* Update AddReaction

* Update ReactionList and children

* Update Code

* Update TermsOfService

* Update Permalink

* Update Permalink

* Update ErrorTeamsList

* Update Search

* Remove navigator prop

* Fix setButtons calls

* Remove navigationComponentId

* Fix test

* Handle in-app notifs in global event handler

* Fix in-app notification handling

* Fix typo

* Fix tests

* Auto dismiss in-app notif after 5 seconds

* Fix typo

* Update overlay dismissal

* Animate in-app notif dismissal and allow gesture dismissal
2019-07-08 10:03:31 -07:00
Miguel Alatzar
1b9b1e3f39 Merge branch 'master' into rnn-v2 2019-07-05 15:56:56 -07:00
Elias Nahum
24f33b2f97 Fix regression opening a channel from a push notification (#2952) 2019-07-05 15:55:08 -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
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
Miguel Alatzar
0f948f650d Merge branch 'master' into rnn-v2 2019-06-18 09:58:35 -07:00
Elias Nahum
6546dfdfd2
Set post list data and timestamp based on the user timezone if available (#2888) 2019-06-17 15:24:28 -04:00
Miguel Alatzar
7d67f1214e
[MM-16008] Update setNavigatorStyles and replace setOnNavigatorEvent (#2877)
* Update setNavigatorStyles

* Replace navigator.setOnNavigatorEvent and callbacks

* Update unit tests

* Save user notify props on componentWillUnmount

* Add TODOs about removing componentDidAppear/setNavigatorStyles

* check-styles fix

* Fix eslint errors
2019-06-14 08:14:26 -07:00
Elias Nahum
1e8a1307af
Update netInfo to check for internet connectivity (#2850)
* Update netInfo to check for internet connectivity instead of using apple.com as a reference

* Fix network indicator position on tablets
2019-05-31 13:33:56 -04: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
d213565ebb
Use numbered capture over named capture (#2765) 2019-05-03 13:18:41 -07: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
Harrison Healey
1173ca3d97
MM-14030 Don't show large gifs in posts (#2750)
* MM-14030 Don't show large gifs in posts

* Re-add default argument
2019-05-01 09:34:45 -04:00
Miguel Alatzar
1a9b34f618
[MM-14699] Update image cache manager to handle correct file extensions (#2701)
* Update image cache manager to handle correct file extensions

* Use RNFetchBlob.fs.existsWithDiffExt to find cached images with
  extensions other than the default .png

* Add package-lock.json

* Use app/util/file's getExtensionFromMime

* Define DEFAULT_MIME_TYPE in image_cache_manager.js
2019-04-22 19:19:21 -07:00
Miguel Alatzar
a67863c5a2
[MM-14669] Return null dimensions when height or width is falsy (#2681)
* Return 50x50 dimensions when height or width is 0

* Refactor image constants

* Return null dimensions when height or width is falsy
2019-04-22 19:17:03 -07:00
kosgrz
6b5d0a49e5 [MM-14191] Render emojis in Interactive Message Buttons (#2640) 2019-04-09 11:41:39 -04:00
Orjiewuru Kingdom Isaac
102eeb93fe MM-13151 Increase double tap delay for post action buttons (#2406)
* Use app state to disable a button when click to prevent double tap

* remove disable button state after 4000ms

* modify preventDoubleTap to have optional delayTime param

* remove local state use for button control

* remove unused method

* remove app state method to disable a button

* Update tap.js
2019-04-02 10:22:31 -04:00
Elias Nahum
e053219fb0 MM-13795 Detect timezone updates on Android (#2660) 2019-03-19 18:10:45 -07:00
Elias Nahum
f539ddf765
MM-14630 Mark channel as read and viewed when opening brought from the background (#2658) 2019-03-19 19:58:23 -03:00
Saturnino Abril
b5e4b5a657
fix channel mention badge and posts after opening the app from push notification (which is initially at closed state) (#2648) 2019-03-16 00:04:30 +08:00
Elias Nahum
b0a18025c4
Wait for VPN connection only when appconfig flag is set (#2627) 2019-03-05 12:01:43 -03:00
Saturnino Abril
8a4c6de86f
fix intermittent crash when selecting a link (#2620) 2019-03-05 02:28:40 +08:00
Daniel Schalla
5794a0da4d
[MM-14081] Show MFA Prompt after Server returned error for login request (#2599)
* Show MFA Prompt after Server returned error for login request

* eslint

* Hide MFA error on first login attempt
2019-03-01 19:01:10 +01: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
Dean Whillier
fceca49412
immediately return when connection is offline (#2594) 2019-02-25 16:23:28 -05:00
Daniel Schalla
e82146d52f
[MM-10346] Set CSRF Token from Cookie after Login / on App load (#2534)
* Set CSRF Token from Cookie after Login / on App load

* Reset CSRF on Logout

* Simplify cookie value access

* Make Set CSRF Blocking
2019-02-20 17:06:03 +01:00
Chris Duarte
f4761860a1 Don't show confusing versioning message in "Check for Updates" screen when using a beta/testing build or platform config hasn't been updated for prod (#2556)
UI doesn't update when NO_BETA is set
2019-02-20 01:11:41 +05:30
Elias Nahum
a0a1fa28ce
MM-13896 Sync channel as read between clients (including opening Push Notifications) (#2548)
* Update mattermost-redux to use latest WS changes

* Properly mark channel as read, keep the new message indicator, and fix push notification flow

* unneeded parameter in setCurrentUserStatusOffline

Co-Authored-By: enahum <nahumhbl@gmail.com>

* Feedback review

* Update mm-redux ref
2019-02-16 15:09:22 -03:00
Chris Duarte
ffe6b9e2ef Deep linking based on channel url; Fix merge conflicts (#2542)
Code cleanup
2019-02-14 13:29:57 -05:00
Elias Nahum
b9f55dcb60 MM-13337 Fix EMM connections using VPN on-demand (#2558)
* Fix EMM connections using VPN on-demand

* Update package.json

* Update package-lock.json
2019-02-11 10:22:31 -08:00
Elias Nahum
3db8604102 Add support for relative permalinks (#2555) 2019-02-08 22:54:26 +08:00
Dean Whillier
4a51013316
[MM-13677] Fix to ensure unsupported unicode emoji can be rendered jumbo size (#2545)
* fixes unicode emoji not rendering jumbo

- replace inline emoji regex with npm emoji-regex library
- update notice.txt with emoji-regex license
- jumbo emoji issue automatically fixed with updated unicode emoji regex

* Add several tests specifically for 🤟emoji.
2019-02-05 11:58:07 -05:00
Elias Nahum
2ec7a6bba6
MM-13859 set the auth token when fetching images from the server (#2537)
* MM-13859 set the auth token when fetching images from the server

* set the image_cache siteURL from redux

* HH suggestion

Co-Authored-By: enahum <nahumhbl@gmail.com>

* Removing comment
2019-02-01 19:38:04 -03:00
Elias Nahum
c4e3f08c82
MM-13846 Alert boxes to follow UX Guidelines (#2525) 2019-01-28 12:48:07 -03:00
Elias Nahum
2c6b53c5ab MM-13666 Detect post as emoji only if not a codeblock (#2497)
* Detect post as emoji only if not a codeblock

* Feedback review

Co-Authored-By: enahum <nahumhbl@gmail.com>

* Feedback review

Co-Authored-By: enahum <nahumhbl@gmail.com>
2019-01-10 10:33:45 +01:00
Saturnino Abril
af8faa8a2c
[MM-13433] Fix unnecessary rendering for reactions component and reaction list screen (#2464)
* fix unnecessary rendering for reactions component and reaction list screen

* update redux commit
2018-12-18 23:07:42 +08:00
Elias Nahum
91f87d1095
MM-13368 Do not truncate tall images in preview screen (#2438)
* MM-13368 Do not truncate tall images in preview screen

* Add unit test for viewport max height

* Fix typo
2018-12-10 09:02:56 -03:00
ja11sop
6e3b091d45 Add support for Elixir syntax highlighting (#2355)
see https://github.com/mattermost/mattermost-webapp/pull/2056
2018-12-05 08:56:05 -03:00
Chris Duarte
7c711caf2d Theme selection screen (#2320)
* Theme selection screen (initial commit)

PR Review changes

Add custom theme option for users who are already using a custom theme

Fix for limited allowed themes

Selected item case fix

Memoized available themes request, other optimizations

updated snapshots

* Custom theme option changes - title. spacing, save option on state for life-cycle of screen
2018-11-23 14:49:28 -03:00
Saturnino Abril
bc387ed74e
[MM-13074] Render text when named emoji does not match with the existing custom emojis (#2371)
* render text when named emoji does not match with the existing custom emojis

* added more test case
2018-11-24 01:43:27 +08:00
Saturnino Abril
d8abeabd70 [MM-12353] Add feature to render jumbo emoji and unwrapped Emoji component with Text when rendering message containing emoji/s only (#2356)
* add feature to render jumbo emoji/s

* fix bottom clipping of emoji on Android

* updated per feedback
2018-11-22 11:56:27 -05:00
Elias Nahum
c8777422ce
Fix network indicator layout and reconnect logic (#2351)
* Fix network indicator layout and reconnect logic

* Reconnection logic to cover more use cases

* Check for internet connectivity when bringing the app to the foreground
2018-11-22 10:25:08 -03:00
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
592fab2375 Refactor CustomList to use Section and Flat Lists (#2332) 2018-11-13 18:16:57 -05:00
Elias Nahum
e25a1939fc
Set the file prefix in image_cache_manager (#2313) 2018-11-05 15:24:30 -03:00
Elias Nahum
9a5122c19c
Slide up panel for reaction list (#2285)
* Slide up panel for reaction list

* Feedback review

* UI Feedback review

* Feedback review

* Improve slide speed and fix end position

* Scroll to top when changing reaction view

* dismiss modal without animation so backdrop does not scroll down

* Smooth animation to show/hide

* Change animation speed
2018-11-02 13:21:43 -03:00
Elias Nahum
2f7705609f
Fix team utils test eslint (#2295) 2018-10-30 15:48:58 -03:00
Elias Nahum
9db040bcf7
Retry fetching teams if no teams are found (#2288)
* Retry fetching teams if no teams are found

* Remove flow
2018-10-27 00:50:19 -03:00
Harrison Healey
78e5b99884
MM-5957 Add mention highlighting on mobile (#2277)
* Switch pullOutImages to use a NodeWalker

* Add markdown transformer to combine adjacent text nodes

* MM-5957 Add mention highlighting on mobile
2018-10-18 14:12:25 -04:00
Harrison Healey
cfb372f75a
MM-11157 Switch ESLint to use eslint-config-mattermost (#2247) 2018-10-11 13:35:25 -04:00
Harrison Healey
926856f9a5
MM-11477 Use custom thunk middleware to intercept leaked network errors (#2222)
* MM-11477 Use custom thunk middleware to intercept leaked network errors

* MM-11477 Always include url in Client4 errors

* Update redux
2018-10-09 10:13:28 -04:00
Saturnino Abril
b594d58572
fix empty reaction row when profile is missing (#2196) 2018-10-01 18:38:17 +08:00
Saturnino Abril
1fbfe33a22
add border to image of link preview and not allow such image width to exceed the view port width (#2189) 2018-10-01 09:34:30 +08:00
Saturnino Abril
ce47c23100
[MM-9490] Add reaction list (#2125)
* add reaction list

* update styles and add tests

* update styles

* update per comment
2018-09-27 21:54:17 +08:00
Jesús Espino
8884293b18 Add t() translation mark to i18nable strings and update translations (#2026)
* Add t() translation mark to i18nable strings and update translations

* Small fixes

* Adding  to the packager

* Rebase fixes

* Added missed texts
2018-09-21 11:25:38 -03:00
Elias Nahum
46b6687d1f Show local notification when replying to PN fails (#2142) 2018-09-21 00:58:21 +08:00
Elias Nahum
8d21000b9f
Fix unable to delete file cache in Android (#2108) 2018-09-12 16:16:38 -03:00
Harrison Healey
3005a39f07 MM-12109 Switch to using server API to determine redirect location (#2097)
* Switch to using server API to determine redirect location

* Update redux to add version check for getRedirectLocation
2018-09-11 18:06:13 -03:00
Elias Nahum
9ca10dc719 Make sure opengraph displays images (#2083)
* Make sure opengraph displays images

* Revert change for IMAGE_MAX_HEIGHT constant
2018-09-07 09:06:22 -04:00
Elias Nahum
82dc62dfc6
Fix Posts cutoff (#2071)
* Remove PixelRatio from emoji

* Fix removeSubclippedViews in emoji picker

* Add system emojis to the store handler

* Pass element to whyDidYouUpdate util

* Fix post avoidable re-renders

* Fix emoji on Android

* Feedback review
2018-09-04 11:53:15 -03:00
Dmitry Samuylov
9deeb86e1e bug fix: use user's timezone setting for search date flags (#2067) 2018-09-04 11:52:16 -03:00
Elias Nahum
a14a220d14
Gracefully handle http and https redirection (#2044)
* Gracefully handle http and https redirection

* tests

* Feedback review

* Default retry to true
2018-08-29 16:00:35 -03: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
Dmitry Samuylov
1ecb209712 Feature/search after before on (#2028)
* initial partial implementation of search date flags UI (on: before: after:)

* Make the calendar show correctly

* dismiss keyboard when showing the date suggestion since this type of input will primarily be entered through the calendar and later edited if needed

* fixed code style errors

* updates as per pull request comments

* fixed eslint errors

* changes as per pull request comments, removing unnecessary code

* added handling for hiding the date filter feature if the server version doesn't support it

* fixed eslint errors

* removed unnecessary property defaults and server version checks, as per PR suggestions

* this default is needed for the initial load of the component

* changed the way we capture the flag from the search string, this handles scenarios where multiple flags might be present in the search string that are handled by the same suggestion component as is the case here with date based flags

* need property declared to pass jslint rules

* eslint style fix, moved regex out into constants

* removed unused code and references

* updated as per pull request feedback

* updated to latest redux version

* changed to new search posts api that supports passing in of time zone utc offset to support date based search flags

* updated to the upcoming release version in preparation for merging to master

* Properly memoize DateSuggestion mapStateToProps

* Remove moment-timezone
2018-08-28 18:01:11 -04:00
Martin Kraft
b4ca6421a0 MM-11318: Expands shortened links inline. (#1993)
* MM-11318: Expands shortened links inline.

* MM-11318: Accepts only image/* mime types. Switches to HEAD request.

* MM-11318: Fix for YouTube links.

* MM-11318: Renames function because it handles non-images.

* MM-11318: Checks for unmounted. Doesn't request known youtube redirects.
2018-08-24 15:02:07 -04:00
Elias Nahum
830132bc38
Add a timeout to avoid race conditions when opening the app from a push notification (#2015) 2018-08-17 08:55:35 -03:00
Elias Nahum
1ec8dd4577
Fix video playback when filename contains spaces (#1997)
* Fix video playback when filename contains spaces

* Feedback review
2018-08-13 10:19:29 -03:00
Harrison Healey
34a37cef05 MM-11477 Ensure client calls are wrapped with error handling (#1976) 2018-08-07 13:11:48 -04:00
Harrison Healey
979b80d34f MM-11477 Fix error in breadcrumb generation and parse URL correctly (#1977) 2018-08-07 13:05:59 -04:00
Harrison Healey
b01849be39 MM-11477 Attempt to capture uncaught redux errors as Sentry breadcrumbs (#1974) 2018-08-07 10:32:04 -04:00
Chris Duarte
26950abb61 Add deep linking support (#1805) 2018-07-31 08:43:54 -04:00
Elias Nahum
b47c7db4dc
Fix cropped images (#1936)
* Fix cropped images

* Unit tests
2018-07-20 13:34:46 -04:00
Harrison Healey
d410b1eed3 MM-11324 Added defensive code to hashCode function (#1925) 2018-07-13 22:25:10 +05:30
Elias Nahum
7e90c8ee06
Merge pull request #1908 from mattermost/release-1.10
merge Release 1.10 into master
2018-07-09 19:12:39 -04:00
Elias Nahum
01792f2b54
Handle bad state (#1903)
* Upgrade mattermost-redux

* Check if url start with http before pinging

* Remove required status prop in settings sidebar

* Prevent the app to get into a bad state and if that happens try and recover
2018-07-09 18:33:13 -04:00
Elias Nahum
91a4abbd24
Fix race condition when opening the app from push notification (#1898) 2018-07-09 16:15:50 -04:00
Elias Nahum
f157084ad2
Fix replying from push notification (#1894) 2018-07-09 14:59:19 -04:00
Elias Nahum
5bf248d5c4
Fix getting the youtube video id (#1890)
* Fix getting the youtube video id regardless where the id is defined in the link

* feedback review

* Simplify and add unit tests for getYouTubeVideoId
2018-07-05 15:02:34 -04:00
Elias Nahum
07367aa802
Merge branch 'release-1.9' into merge-1.9 2018-07-03 11:24:02 -04:00
Elias Nahum
8c066e0ba3 Attempt to fix some crashes (#1860)
* Attempt to fix some crashes

* remove unnecessary shareExtensionData middleware
2018-07-03 10:14:55 -04:00
Elias Nahum
dbb6f16e92
Fetch posts when receive push notifications as soon as possible (#1811) 2018-06-27 12:08:00 -04:00
Stan Chan
583d6b74ee Timezone feature (#1456)
* Add automatic and manual timezone support

Update users timezone and scrollTo selected timezone in SelectTimezone coponent

Clean styles for SelectTimezone screen

Add auto-timezone update when login or enter app

Hide timezone feature behind config

Fix requested changes

Parse SupportedTimezone from config

Add localTime and localized post stamps

Add trailing commas

Include all timezone util methods from redux

Remove EnableTimezoneSelection flag

WIP get timezones from server

Pull supportedTimezones from api

Minor fixes

Remove wrapWithPreventDoubleTap

Revert back to react-intl formatDate

Include timeZone prop in FormattedTime

Refactor Timezone row into component

Minor cosmetic changes

Add minimum server support for the timezone feature

Move getSupportedTimezones to componentWillMount

Move autoUpdateTimezone function to handleSuccessfulLogin

Specify user timezone in profile_header

Remove format props from FormattedTime

Add ExperimentalTimezone flag

Replace Client().getServerVersion() with entities.general.serverVersion

Add isTimezoneEnabled helper function

Move isMinimumServerVersion to utils/timezone.js

* Fix style errors

* Remove date-time-format-timezone polyfill

* Feedback changes

* Use timezone selector from redux

* Explicitly pass hour12 props to intl.formatDate

* Update package-lock

* Revert iOS project file changes

* Fix license header

* Include timezone related paths in modulePaths

* Fix license header

* Fix minor issue with rebasing

* Fix issue with getconfig in GeneralSettings

* Update package-lock
2018-06-27 06:55:03 -04:00
Elias Nahum
375c41dc3c
Merge branch 'release-1.9' 2018-06-25 15:31:46 -04:00
Harrison Healey
599fa7b4e1 MM-11018 Provide default message for Sentry breadcrumbs (#1819) 2018-06-25 11:25:31 -04:00
Chris Duarte
1a3558bc5e Auto responder feature (#1500)
* Add Auto Responder support

Add Auto Responder message support for <Post/>

Add Out Of Office support

Add Confirmation dialog for Out Of Office status reset

Fixing styling issues

Ensure AutoResponder is enabled in settings with ooo status

Save AutoResponder according to Out Of Office status

Fix copy for AutoResponder hint

Fix eslint errors

* Add constants from Redux

* Small refactor

* Add name consistency with the feature "auto responder"

* Add minimum server version of 4.9 for AutoResponder support

* Add ViewTypes.PROFILE_PICTURE_SIZE in post_profile_picture

* Add ExperimentalEnableAutomaticReplies flag

* Update copy and auto responder styles

* Remove unwanted imports

* AutoResponder feauture in 4.9

* Add AutoResponder Thread support

* Fix OOF copy from review

* Change copy for Auto Responder

* Address feedback

* Fix license headers

* Status name translated in Alert

* Add umbrella icon for AutoResponder

* Fix minor issues with rebase

* Fix License headers
2018-06-22 13:09:37 -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
Chris Duarte
483819aa95 Ping server after setting app offline/online. Also include timeout (#1739)
* Ping server after setting app offline/online.  Also include timeout

* Add missing semicolon
2018-06-08 14:16:48 -04:00
Chris Duarte
c63ca6a7e0 Ping server after setting app offline/online. Also include timeout (#1739)
* Ping server after setting app offline/online.  Also include timeout

* Add missing semicolon
2018-06-07 14:47:09 -04:00
Harrison Healey
861b46d605
MM-9547 Added CustomUrlSchemes option (#1718)
* MM-9547 Added CustomUrlSchemes option

* Switched mattermost-redux back to master
2018-06-04 10:25:34 -04:00
Elias Nahum
cf3683272e Entry screen and Channel Loader improvements (perf part 4) (#1707)
* Entry screen and Channel Loader improvements

* Feedback review

* Removed unnecessary style array
2018-05-29 10:58:06 -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
Harrison Healey
5884bd4dc1 MM-10617 Fixed checking if a link is an image (#1681)
* MM-10617 Fixed checking if a link is an image

* Added unit tests
2018-05-18 01:10:17 +08:00
Elias Nahum
aebe22f58d
Fix Android sharing files without extension (#1646) 2018-04-30 11:57:24 -03:00
Elias Nahum
f704d79e72
Merge branch 'release-1.8' 2018-04-27 22:49:49 -03:00
Harrison Healey
4ebff99360 Fix profile images (#1643)
* Attempted to fix profile pictures on Android

* Fixed uploading profile pictures

* Added warning when ImageCacheManager.cache is called without callback

* Fix image cache so the files are not too long
2018-04-27 21:36:33 -03:00
Elias Nahum
80dd9366a1 Update Dependencies (#1641)
* Update dependencies including react-native

* Update react-native-circle-progress dependency

* Fix prop warnings and possible crashes
2018-04-27 17:49:09 -04:00
Chris Duarte
d9f2bca9c0 Share ext error (#1587)
* Wrap iOS share extension in error boundary component

* Wrap Android share extension in error boundary component

* Review feedback
2018-04-17 15:23:37 -04:00
Elias Nahum
006c5a08d7
Use local Images when possible (#1580)
* Fix advance settings android layout

* include react-native-image-gallery dependency

* ImageCacheManager

* Add support for isGif, isDocument, isVideo and purge to file utils

* Remove file fetch cache

* include progressive image component

* Refactor image previewer

* Add image preview support for open graph and embed images

* Cache user profile picture

* Fix post additional content images for android

* Preview markdown inline images

* Improve progressive image

* feedback review
2018-04-13 12:23:15 -03:00
Elias Nahum
e20b84c6d8 Upload progress indicator (#1562)
* Long post support

* Split file upload component

* Use fetch blob fork

* add progress to file upload

* Remove SERVER.PID from Makefile

* Preview only images

* remove unused prop
2018-04-04 09:14:26 -04:00
Elias Nahum
16ccfab7f6 Fix iOS Share Extension Crash and Bump build and version numbers (master) (#1557)
* Fix iOS Extension crash

* Bump app version to 1.7.1 and build to 92
2018-03-29 09:13:27 -04:00
Harrison Healey
8decb29d52 Change to use theme utils from mattermost-redux (#1531)
* Change to use theme utils from mattermost-redux

* Updated yarn.lock
2018-03-25 12:16:33 +03:00
Harrison Healey
84db6d0974 Reverted changes to normalize font size (#1489) 2018-03-07 16:35:44 +00:00
enahum
d0d9103857 [MM-9374] Open Permalinks in app (#1449)
* [MM-9374] Open Permalinks in app

* Feedback review

* Upgrade mattermost-redux

* Fix eslint

* Navigation fixes

* Fixing style of merged lines
2018-03-07 14:48:31 +00:00
Harrison Healey
80c09b588d MM-9647 Replaced usage of preventDoubleTap with wrapWithPreventDoubleTap (#1471)
* MM-9467 Replaced usage of preventDoubleTap with wrapWithPreventDoubleTap

* MM-9467 Renamed wrapWithPreventDoubleTap to preventDoubleTap
2018-03-02 11:22:37 +00:00
Jesse Hallam
58b72302d6 update eslint's comma-dangle rule to always-multiline (#1457)
* update eslint's `comma-dangle` rule to `always-multiline`

* add check and fix scripts to package.json

* Invoke `yarn fix` to adopt the updated eslint rules. No other changes are included.
2018-02-23 09:06:02 -05:00
Harrison Healey
ede4d22f75 ICU-624 Added markdown tables (#1434)
* ICU-624 Added initial table rendering support

* ICU-624 Added full table view

* Added proper pluralization to +X more lines in code blocks

* ICU-624 Added support for images in tables

* Stopped using injectIntl for tables

* ICU-624 Updated commonmark-react-renderer

* ICU-624 Hid scroll indicator in collapsed table view

* Addressed feedback
2018-02-16 19:31:14 -03:00
enahum
b53f3988b8 [ICU-680] Fix Duplicate posts (#1430) 2018-02-12 14:44:34 -05:00
enahum
418c1ce9ba Update tooltip library (#1426)
* Update tooltip library

* Feedback review

* remove static field
2018-02-12 09:03:05 -05:00
enahum
509fe37f1f
[ICU-676] Make the app extensions follow the max file size that the server accepts (#1411)
* Android Share extension follows server config file size limit

* iOS Share extention follows config file size limit

* feedback review
2018-02-07 18:02:38 -03:00
Stephen Kiers
2444d0f57b
Icu 640 - Fixing RN Font sizes and issues with cutoff fonts (#1402)
* added arrow style functions to eslint

* added padding to text boxes to decrease chance of cutoff

* Removed fontSize prop from Emoji

* base sizes on stylesheet

* normalized font sizes across devices

* minor tweaks

* tweaks

* text to default

* text size relative too

* remove Margintop hack

* Final tweaks

* fixed func name

* fixed scale to always be based on portait mode

* re-added margintop hack

* set Text paddingBottom in markdown file

* Fix style names and setup

* fixed import

* reversed size of edit label

* fix eslint
2018-02-05 13:33:39 -07:00
Elias Nahum
c4ad99d2b8
Merge branch 'release-1.6' 2018-02-02 19:23:48 -03:00
enahum
89e0623e6e Improvements on iOS Share Extension (#1407)
* Improvements on iOS Share Extension

* Switch NSUserDefaults with a file based solution

* create a new entities object instead of mutating

* Clarify the function for requiring emm authentication

* ensure entities is not a shallow copy
2018-02-02 16:48:09 -05:00
Stephen Kiers
29705d0715 ICU-573 Allow flag on file upload to trigger unescape of filename (#1383)
* properly encode filename to be handled by android

* Perf updates

* remove form-data devDependency

* Broke out encoding to function

* missed one

* Removed fontSize prop from Emoji

* trigger jenkins

* reverse jenkins trigger

* fix styles

* eslint upgrade

* Fine, harrison…

* needed semicolon now….
2018-01-31 11:42:02 -05:00
Harrison Healey
84fdc24bc5 RN-523 Added a try-catch when cleaning up state following a rehydrate (#1342) 2018-01-09 07:56:42 -08:00
enahum
7cda6be8d7
Edit profile (#1322)
* Add set status feature

Small code refactoring

Add Do Not Disturb option

* Add Account Settings screen

Add username, nicname, and position fields

Add email field

get deviceHeight from redux

Clean up onPress handler in Settings

Refactor each account settings item to it's own component

Clean up email field and updateUser action method

Use mobile localization format in en.json

Update profile image

Clean up ProfilePicture for editing

Add loading and error components in AccountSettings

Refactor updateRequest state into a function

Follow design specs

Remove unnecessary this.state.emailUpdated

Polish AccountSettings and secondary components

Refactor AttachmentButton into it's own componentg

Add Account Settings icon in General Settings

Add TODO comments

* Update user status

* Edit Profile screen refactored

* Fix edit profile item text color
2018-01-08 14:18:57 -03:00
Harrison Healey
db3556325e RN-566 Re-rendered PostList footer when channel ID changes (#1309)
* RN-566 Re-rendered PostList footer when channel ID changes

* Refactor ChannelIntro mapStateToProps into selectors
2017-12-22 10:29:09 -06:00
Chris Duarte
7fdb0c4d27 Create post timeout (#1242)
* Add timeout for api calls that take too long

This will allow any api call that takes too long to fail faster.

Specially for Client4.createPost.  If the api never returns the post is in a pending state and the user is not able to retry.

* Add canTimeout flag
2017-12-08 18:19:17 -03:00
enahum
06bda6945e Tweak flushAt and flushInterval for segment (#1235) 2017-11-30 15:20:22 -05:00
enahum
c36eb9a9f4
Fix styling when theme is change in another device (#1229)
* Fix styling when theme is change in another device

* Fix drawer showing behind channel screen
2017-11-29 13:55:33 -03:00
Harrison Healey
3f6c38d872 Applied correct text colour to (edited) indicator on Android (#1219) 2017-11-28 19:49:43 -03:00
Chris Duarte
f5d77fcebc Add Channel Info Edit options to ChannelInfo screen (#1189)
* Add Channel Info Edit options to ChannelInfo screen

Refactor CreateChannel to CreateChannel and ChannelInfo

Add EditChannel screen

add updateChannelRequest

display header option only if channel is DM or GM

Add editing prop to ChannelInfo

Add saving state to ChannelInfo

Clean up EditChannel and change saving to updating

Add channel name (url) field in EditChannel

Clean up enableRightButton logic for EditChannel

Add error handling for EditChannel fields

Remove leftButton declaration from EditChannel

Add wrapWithPreventDoubleTap to click handlers in ChannelInfo

Move channel info to parent component (CreateChannel)

Add editing support for channel info in parent component

Remove ownProps from connected components

Remove passing parent props using the spread operator

* Strip out channel url field from EditChannel

* Comment out channelUrl textInput ref

Make eslint happy

* Remove injectIntl in favor of intl context props

* Add mobile prefix to json string

* Remove unnecessary actions declaration in ChannelInfo

* Refactor creating | editing to saving

* Safe check refs when blurring in ChannelInfo

* pass channelType for displayingHeaderOnly in EditChannelInfo

* Refactor ChannelInfo component to EditChannelInfo

* pass 1to1 props instead of object

* Add required to certain props in EditChannelInfo

* Use Stylesheet for container styles

* Add InvalidPermission method when updating channel

* Clean up onDisplayNameChangeText and safe check scrollToEnd

* Add {deviceWidth, deviceHeight} from redux

* Remove style.navTitle

* Add wrapper methods for delete and leave channel

* remove alertErrorIfInvalidPermissions

* Fix mobile localization strings to use prefix mobile.-

* Add TODO for channel URL
2017-11-28 19:48:51 -03:00
Harrison Healey
c71b116c71 RN-173 Added support for Markdown images (#1202)
* RN-173 Added support for Markdown images

* RN-173 Added proper alt text when image fails to load

* Changed (edited) indicator not add itself as a child of an image

* RN-173 Removed space between an image and the following text

* Made sure MarkdownImage is mounted when setState is called

* Fixed images in links having their location overwritten

* Made images work in links

* Fixed uppercase links not working on Android

* Added vertical margin around images

* RN-173 Added styling for markdown image error text

* RN-173 Added error when image exceeds max dimensions on Android
2017-11-28 11:00:28 -03:00
enahum
ac2b38cb3b
Track analytics for start time, channel and team switching (#1192)
* Track analytics for start time, channel and team switching

* Update analytics to include currentUserId and ip 0.0.0.0

* Include diagnostic id with every segment request

* feedback review
2017-11-28 10:33:46 -03:00
enahum
6b4100d517
Add general util to handle actions that are forbidden (#1206) 2017-11-27 17:30:26 -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
f6d829c445
Network detection fixed to use default if no server is present (#1137) 2017-11-13 18:36:09 -03:00
enahum
a299cdb5c5
Network detection by pinging Mattermost server (#1130) 2017-11-13 13:51:24 -03:00
enahum
4896716668 Prevent notify props from causing a crash (#1127) 2017-11-13 11:32:38 -05:00
enahum
7c8f735b3b
Merge Build 62 into master (#1090)
* Use ImageBackground for youtube videos instead of nested Images

* Fix bugs reported by sentry (#1081)

* Update Mattermost redux (#1086)

* Fix middleware

* Upgrade mattermost-redux

* another middleware fix

* RN-456 when a channel is left we update content and title (#1087)

* Version Bump to 62 (#1088)

* Version Bump to 62 (#1089)
2017-11-02 17:53:20 -03:00
enahum
3fdfe92800 Data cleanup (#1070)
* Add message retention middleware and config

* Data cleanup middleware
2017-10-30 11:23:19 -04:00