* MM-21368 Notify user when editing message that's too long
* Disable 'Save' button to prevent edits from being posted
* Display error message specific to the message size and allows max, instead of the current, default "Invalid Message" error.
* Split message length error into text (left justified) and counts (right justified)
UX guidance from PR review
* UX Review: Wrap for longer error text + spacing adjustment
* UX Review: Align split messages to top + add spacing in-between
* UX Review: Align error message box padding with content
* Fix infinite skeleton in different use cases
* Apply suggestions from code review
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/utils/teams.js
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* MM-18642 Notify user on server certificate trust problems
Presents a new alert specific to SSL connection/certificate trouble on the server, when pinging.
* Change Alert title (PR review)
* WIP: Implementing quick reaction functionality
* Making closing animations smoother
- Added haptic feedback + timeouts for a smooth flow
* Fixing clipping of post options on android
* updating snapshots
* Refactoring code & fixing styles
- Fixed paddings element sizes to comply with design specs
- Replaced reaction image to one with a higher resolution
- Made sizes of emojis to be conditional on deviceWidth
* Apply suggestions from code review
* Adding component to avoid extra re-renders
* Refactoring function call in reaction_button
Am ashamed i didn't catch this before pushing the rest
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* undelete
* fix build
* change let to const
* ran make i18n
* small refactor
* using canUndelete var
* added render message
* fix bug
* sync
* remove duplicate
* fix test
* add unit test for unarchive channel button render
* fix unit test for unarchive channel
* delete space
* change logic in undelete
* add server minimum for feature
* fix renderunarchive test with adding props variables
* snpashot wasnt matching. fixed by adding to base prop
* return early if false
* change position and color for unarchive button
* refactor handle delete undelete leave
* move serverversion call up
* undelete to unarchive
* remove unnecessary seperator
* hash
* Update app/screens/channel_info/index.js
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* delete canuseunarchive feature
* add test to render sys message
* remote 'w' in package.json
* add trailing comma
* update redux hash
* whitespace in test
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Introduced large number of unnecessary re-renders when opening channels, and ideally should not be a part of the channel switching/opening code path. Although this was discovered while trying to investigate an [Android-specific issue](https://mattermost.atlassian.net/browse/MM-22253), this extra code path made it difficult to see what Android is potentially doing differently than iOS.
Functionality originally introduced in #1203.
Conversation for removal is [here](https://community.mattermost.com/core/pl/hfcogf6pr7rw8k3ryq14c69c7e)
* 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>
* Include current user in search
* Removed unused parameters
* Include new text in i18n
* Update autocomplete tests to include current user
* Use FormattedText
* Update app/selectors/autocomplete.test.js
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Archived channels dropdown in more channels modal
* Rename redux actions for archived channels
* Fixed tests and updated snapshots
* Unit test for search in more_channels
* Use translation for dropdown label
* Minimum server requirement for dropdown
* Use BottomSheet instead of Picker component
* loadPublicAndArchivedChannels action instead of separate channel get actions
* Add styles to StyleSheet
* Update mattermost-redux hash
* Update mattermost-redux hash
* Default case for switching channels dropdown
* Improve imports in more_channels.js component
* Fix typo in import
* Add padding to dropdown if landscape
* Update snapshot
* Page counter for public and archive channels
* Updated mattermost-redux commit hash
* Bottom sheet title for ios
* i18n-extract for new showArchived and showPublic strings
* Update mattermost-redux commit hash to latest master
* [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
* Fix iOS crash when pasting large images and included other file types
* Rename pasteImages to pasteFiles and fix copying heic images
* remove comment
* Feedback review
* Refactor custom push notification code
* Use react-native-notifications 2.0.6 and patch for scheduled notifs
* Fix patch
* iOS changes
* Fix delete
* Fix setting of badge number on Android
* Undo Reflect removal
* Undo removal of didReceiveRemoteNotification
* Use min importance for push notifs received while app is active
* Correctly set badge number after push notificaiton reply
* Fix tests
* Localize reply action text
* Add getDeliveredNotifications
* Fix identifier check and failing test
* Fix local push notif test for Android > 9
* Revert "Update mattermost-redux"
This reverts commit 04b3897ecb.
* Revert "[MM-17068] Add set post as unread option to menu (#3202)"
This reverts commit c7a29eea6a.
* 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
* Show image paste menu
* Get pasted image
* Add more info for file
* Add custom text input and add extension
* Dismiss contextual menu after paste image
* Group image info together
* Add max file check
* Fix max file size text
* Add PropTypes
* Add support for gif and tiff
* add onchange null check
* Use onPaste event
* Move get image info logic
* Clean up listener when no observer
* Add android upload
* Copy file from google docs
* Clean up file after upload
* Prevent text pasted in textbox if it's content uri
* Rename paste file thread
* Move on paste listener logic
* Remove the redundant data in ios
* Get realpath of item
* Clean up
* Only download for image
* Rename to custom text input
* Update RNPasteableEditTextOnPasteListener.java
* Handle for download image failed
* Fix eslint
* Fix test
* Allow multiple images to be pasted
* Remove additional null check
* Add managed control for Android
* Disable only copy, cut and paste
* Accept image in Android edit text
* Add comment for custom text input
* Do not upload when more than max file
* Stop uplaod when exceed file size
* Fix crash when clip data is null
* Return error to JS
* Move download file logic
* Remove console
* Add some tests
* Add test for handleUploadImages
* Add test for file_upload_item
* Use ImageCacheManager to cache remote images
* Fix crashes from one note
* Remove commented code
* Update test
* sidebar lists displays past bottom safe area insets
* Sidebar animation speed
* Sidebar improvements
* Add status icons and avatars to mattermost font
* Bot icon the same size as other channel icons
* improvements to the channel badge
* Badge color and border
* More precision when showing more unread above
* Improve GM icon
* Fix badge on team sidebar
* Align channel sidebar badges
* alignments
* Fix tests
* Remove unnecessary isLandscape in main sidebar connector
* [MM-17068] Add set post as unread option to menu
* [MM-17068] Fix tests
* [MM-17068] add english assets
* [MM-17068] Add bookmark icons for marking as unread
* [MM-17068] reorder menu items
* [MM-17068] fix snapshots
* [MM-17068] merge my post options and others post options
* Style text inputs with theme
* Add snapshot test
* Use theme for post options background and text colors
* Use theme for post options icon color
* Use theme for reaction list
* Use theme for slide up indicator
* Fix post options localization
* PM Feedback review
* Slideup PM changes and channel edit
* fix tests
* Fix i18n
* 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
* properly separate archived channels from 'other'
* make sure fetch is performed to display full list
* reverted unneeded change
* corrected display behaviour
* code cleanup
* redux commit reference updated
* Change "about" section references to use the site name when it is configured
* Removed non-english changes
* Removed non-english changes
* cleanup
* Fixed indentation
* destructuring
* 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
* MM-15528: Adds new group-managed text to channel info header.
* MM-15528: Hides 'Add Members' link if group-constrained.
* MM-15528: Sets member list to view-only if channel is group-constrained.
* Update app/screens/channel_members/index.js
Co-Authored-By: Harrison Healey <harrisonmhealey@gmail.com>
* add markers for Android profiling
* update per comments
* Remove beta build flag
* update per comment, latest change on telemetry server and others
* rebase and fix merge conflicts, and update per comments
* update commit hash of mattermost-redux
* Allow only for jpeg, png, and bmp profile image uploads
* Add file type if missing and update error id
* Update mattermost-redux commit hash
* Point mattermost-redux to latest master commit
* MM-14417: Add messaging for channel mentions of users not in constrained groups.
* MM-14417: Reorder translation.
* MM-14417: Update for new mobile app with old server install.
* [MM-13381] Added reply to post options
* [MM-13381] Fixes for adding reply to post options
* [MM-13381] Fixed logic for adding reply to post options
* [MM-13381] Fixed canReply logic for post options
* Channel notification setting for disabling channel mentions (#MM-8404)
* Replaces raw string value by constants (#MM-8404)
* Updates import according to redux update (#MM-8404)
* 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
* [#MM-12410] Custom Terms of Service Modal.
- Create a new screen for terms of service
- Register it in app navigation
- Open it as a modal when login succeeds or app is opened when already logged in.
- Get terms of service and render it as markdown
* Refactor service terms to terms of service
* Show terms modal when launching channel instead of componentDidMount
* Remove footer text
* Close modal before logging out
* Use dismissAllModals instead od this.close
* Update header styles
* Update the back icon
* Add left icon conditinally based on os
* Update en.json
* - Integrate Accept/Reject API
- Refactor show navigator to util
- Remove title
- Code refactoring
* Handle Accept/Reject API errors
* Update package-lock
* - Show Alert to handle API error
- Handle API error for GetTerms error, Accept/Reject error and Reject success
- Changes in en.json
- Remove error banner
- Open terms modal in sso and experimental certificate
* Enable navigator buttons after getting terms
* Rename Ok to OK in Alert
* Add retry for API error
* Fix check-style
* Fix FailedNetworkAction Error Message
* - Use Close button instead of back button
- Update en.json
* Remove unused import
* Disable hashtags and atmentions in terms modal
* Enable close button when terms text fails to load
* Minor changes
* Fix show terms on sso login
* Handle restartApp event
* Add test cases
* Revert change to app/components/formatted_markdown_text.js
* Show the terms modal on the channel page
* Remove remaining references to showTermsOfService
* Disable Hashtags, AtMentions and ChannelLinks
* Update the props to markdown component
* Pass the text as literal to renderText
* Return the generated renderTexts
* Fix lint
* Render ~, #, @ with Channel link, Hashtags and At Mentions
* Fix failing tests
Revert unwanted changes
* Hide the channel page content before the terms are accepted
* Fix lint and failing tests
* Revert changes to hide channel while terms are not accepted
* Open modal in componentDidMount instead of constructor
Code refactoring
Disable back button on android
* Remove unused import
* No need to await for showModal
* No need to await for accept and reject
* Update flag for updateTermsOfServiceStatus to updateMyTermsOfServiceStatus
- as phase 2 redux PR was mered.
* Fix check-style
* Change opacity in terms of service text
- Fix tests
* Revert package-lock.json changes
* MM-11567: Autocomplete search in: for DMs and GMs
* More robust behavior on older versions and a fix on autocompletion
* Moving get display_name for search to a selector
* 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