* 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
* 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
* 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
* 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
* Parse source URI
* Revert "Parse source URI"
This reverts commit 1cf421c9b9897e46881685aabebb793ad6ff4c07.
* Pass imageUri instead of defaultSource to ProgressiveImage
* Parse source URI in ImageCacheManager
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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>
* 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
* 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
* 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
* 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
* 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
* 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.
* 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
* Fix getting the youtube video id regardless where the id is defined in the link
* feedback review
* Simplify and add unit tests for getYouTubeVideoId
* 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
* 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
* 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
* 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
* 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
* 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
* 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.
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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)