Picking a new date string (tapping a date on the autocomplete calendar) to replace an already populated date string in the search bar, leaves the search text garbled. This was because of incorrect handling of the tap cursor position in the search box.
* MM-24501 Load all (joinable) teams when resetting app state
The subsequent `loadMe` only fetches a user's already-joined teams, which doesn't populate `state.entities.teams.teams` with the entire set of teams available, including potentially joinable teams.
Fixes https://github.com/mattermost/mattermost-mobile/issues/4209
* Add names to batched team action groups
* Allow interaction when the in-app notification is shown
* Wrap in gesture HOC only for Android
* Set height and remove flex for android in-app notifications gesture hoc
Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
* 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>
* Using new getKnownUsers api to cleanup the users on leave channel
* Fixing tests
* Addressing PR comments
* Removing unnused variables
* Fixing proptypes annotation
* Addressing PR review comments
* Fixing minimun version check
* Changing the import to use
* Adding tests for version check
* Addressing PR review comments
* Small change to no change accidentaly the previous behavior
* Adding small fix proposed by Elias
* 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)
* MM-24891 Allow permissions to have defaults set in case where roles not in state
* MM-24891 Add tests for haveIPermission
* MM-24891 Apply the defaults to more channel permission checks
Fixes crash on Android when attempting to redirect back to a read-only channel (default channel) after using the `/leave` command.
Also, enables official support of `leave` slash command. Added as auto-complete suggestion.
* MM-24061 Bring back channel sidebar hamburger icon for tablets
* Remove channel sidebar icon for iPads
iPads run with a "persistent" sidebar already.
* Better conditional logic from PR review + tests
* Test tidying from PR review
* Set rehydration values to true on clean up
* Remove extra line
* Update app/store/middlewares/helpers.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Fix setting of views.root.hydrationComplete
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Serialize/Deserialize state as string in store, instead of map
To see if this positively impacts performance lag issues (channel sidebar opening, etc.)
* Update app/store/mmkv_adapter.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/store/mmkv_adapter.ts
* Typescript fixes
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
* 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
* MM-24463 Run message retention cleanup off of pre-existing state
Instead of a reconstructed "zero" state.
Only posts in channels, searched posts and flag posts are recalculated (as per data retention policy, if applicable). The rest of state is cloned from existing state.
* Mark hydrationComplete only if _persist state is undefined
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* MM-22089 set default prevent double tap to 1s
* Increase tap debounce delay for ChannelInfo modal action
Co-authored-by: Amit Uttam <changingrainbows@gmail.com>
* Set previous app version in redux store
* Handle setting previousVersion on login and clearing data
* Set previous version on logout instead
* Remove action arg
* 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 because the comparison between
arrays always return false.
* Fix isDateLine function to check for null and undefined
* use optional chaining instead
Co-Authored-By: Amit Uttam <changingrainbows@gmail.com>
Co-authored-by: Amit Uttam <changingrainbows@gmail.com>
* Remove redux-offline and configure redux-persist
* Fix typo
* Fix configure store
* Upgrade to redux-persist 6.0.0
* Add migration from redux-persist v4 to v6
* Replace AsyncStorage with MMKVStorage to boost storage speed
* Mock RNFastStorage
* Fix reactions test
* Fix clearing the store on logout
* Remove the need for LOGOUT_SUCCESS
* No need to pass persistConfig to middlewares()
* Remove unused imports
* Export connection
Accidentally removed this export.
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Fix delete post
* Fix leave channel
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add nickname search functionality
* Add username property to test
* Fix parentheses out of place
* Add nickname property to additional tests
* Added ability to truncate long names
* Minor clean up
* More minor clean up
* 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>
* MM-23490 Save state to file via async middleware vs store subscription
Currently for iOS, a subset of store state is saved to an on-device file, so that the Share Extension can have access to information it needs (teams and channels) to function.
This file saving would happen via a store subscription which triggers a file save for every dispatched action. By moving this logic to a middleware function, when this function gets invoked is now limited to a configurable set of action dispatches. (e.g. `LOGIN`, `CONNECTION_CHANGED`, `WEBSOCKET_SUCCESS`), etc.
* MM-23493 Move app cache purge from store subscription to middleware (#4069)
* MM-23493 Move app cache purge from store subscription to middleware
This commit exposes persistence configuration as a static reference, so that cache purging can be invoked on demand anywhere else in the codebase.
While middleware still may not be the best spot for this singular "action", existing functionality (reacting to `OFFLINE_STORE_PURGE`) is maintained.
The change also removes the need for `state.views.root.purge` to exist in the state tree.
* PR feedback: Inject config dependency for purging app cache
Previously, `middleware` imported the config back from `store` (i.e. cyclic import).
* PR feedback: No need to export config, now that it's passed as argument
* Fix tests after refactoring middleware call from array -> function
* PR feedback: Let parent continue to pass down initial store state
* Port WebSocket from mm-redux and batch actions
* Update mm-redux and fix tests
* Change action name
* Naming batch actions
* Fix unit tests
* Dispatch connection change only if its different
* Remove comment
* Add Lint to TypeScript and fix linting errors
* Add WebSocket Unit Tests
* Revert from unwanted RN 0.62
* Initiated basic migration to react-native-elements
- Search bar receives all right props without custom animations being necessary
- Need to test on different layouts and cases
- May be possible to unify android and iOS components. Attempt later
* Removing separated android/ios files
- Adding implementation of android searchbar
- updating test snapshots
* WIP: Integrating leftComponent and adding focus animations
* Adding animations to left component on focus and blur events
* Removing repeated styles and useless props
* Updating snapshots
* Ensuring clearIcon renders when tapping search suggestions
- Also makes sure it prioritizes custom color attributes over default values for the search input
* Refactoring styles, removing clear icon animations
- Also removed useless ternary operations since the library itself already checks whether the search input is empty
* Replacing icon components with props whenever possible
- Removing useless styles
* memoizing styles, adding default props/values
* Memoize searchBarStyle with params
* Fixing backgroundColor
* Removing minWidth for cancel button
* Fixing styling issues on both iOS and android
* Updating snapshots post merge
* Making sure showCancel can be controlled by props
* Updating snapshots
* Fix clipped edges on iOS & cancel icon on Android
* Fixed radius, memoized styles
* Fixing styling issues found on Android
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Unify usage to one set of defined dispatch actions in codebase, instead of a mix of (almost) identical actions defined in `mattermost-mobile` and `mattermost-redux` .
`setDeviceOrientation` and `setDeviceDimensions` used to get called on any navigation change (e.g. modal launches) and triggered multiple needless dispatches.
* Upgrade Navigation library
* Fix background color on Select Server
* Upgrade Navigation library
* Apply patch to nav lib
* Upgrade RNN to 6.1.1
* Update Dependencies
* Feedback review
* Call clearNavigationComponents when reset to channel
* PostList optimizations on FlatList
* Stop scroll to index if there is an interaction
* Fix unit tests
* MM-23176 Fix crash due to scrollToIndex out of range
* Batch mark channel as read action
* Fine tune post list
* Batch actions for getting posts
* Update app/utils/push_notifications.js
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/actions/views/channel.js
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
* Pass state as arg to markAsViewedAndReadBatch
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Upgrade Navigation library
* Feedback review on Navigation Library
* Fix select server background color
* Fix iPhone 11 and 11 Pro Max navbar height
* Fix background color on Select Server
* Upgrade nav lib to 6.1.0
* Apply patch to nav lib
* Upgrade RNN to 6.1.1
* MM-22622 Check mentionHighlightsDisabled in markdown
* MM-22622 Use array of mentions instead of long conditional
* MM-22622 Disable Channel mention highlight for channel header change messages
* MM-22622 Update tests to ensure mention highlight disabled on system message
* Ensure isFirstRow prop is set on first row
* Determine maxPreviewColumns on mount
* Fix expand button offset on Android
* Fix moreBelow gradient
* Show right gradient when columns are sliced
* Fix moreRight conditions
* No need to resetToChannel on clearing data
* Don't use componentWillReceiveProps
* Dismiss all modals on iOS too
* Use centerChannelBg when channel as root
* Fix resetToChannel test
* Fix removal of loadChannels call when rebasing with master
* Add new line
* Address PR review comments
* MM-21923 Enforce channel mentions permission by hiding it from autocomplete and disabling @mention confirmation modal
Add tests for post_textbox channel mentions
* MM-21923 Set use channel mentions to true if server version is not minimum required
* MM-21923 Point to specific redux hash and update permission check to be easier to read
* MM-21923 Fix currentChannel.id
* 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>
* Add fix to prevent emdash autocorrect in a Code Block on ios
* Add fix to prevent emdash autocorrect in a Code Block on ios
* code clean up
* separate to new switchKeyboardForCodeBlocks function
* added emdash prevention to edit_post and also code cleanup
* moved keyboardType logic to its own utils function and added unit tests
* clean up - align event argument names
* removed unnecessary event check
* Improve sidebar performance on first load
* Initial work for switch channel
* Revert android changes
* Split Sidebar per Platform
* Fix waitForHydration executing the callback more than once
* Fix custom emoji not showing on Android
* Finalize Channel Switch
* Enable Android Ram Bundles
* Select the right team for lastChannelForTeam
* Channel loading post indicator
* Fix main sidebar base intl provider
* Update mm-redux
* No need to request configAndLicense on launch
* Load channel member roles
* Rename closeChannelDrawer to closeMainSidebar
* do not throw errors when console is called while running tests
* constant for LOADING_POSTS_HEIGHT
* Remove show more if a long post is edited and no longer long
* Update mm-redux#batch-actions branch
* Code review
* Clear notifications if channel was switched
* Import Platform
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Tighten up post draft UI
* Revert "MM-15307 Updated to use InteractionManager (#3666)"
This reverts commit e08155c81b.
* Address PR review comments
* Update snapshot test
* Don't return null if no files
* Fix progress text and padding issues
* Fixes per Matt's review
* Make linter happy
Re-renders were occuring because of prop and state updates that created new object references, despite being of identical value. A key culprit was `postListHeight` in `PostList` which goes through a few calls to `handleContentSizeChange` when loading posts.
Also, "New Messages" divider line is a pure component now (via `memo`) to reduce unnecessary re-renders here too.
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)
* Reacting to shift-enter events on iOS
* moving keyEvent logic to handleHardwareEnterPress
* configured android to work with keyEvents
* using dispatchKeyEvent instead of onKeyUp
* using react-native-hw-keyboard-event
* cleanup
* updated package name
* update package name
* using react-native-hw-keyboard-event v0.0.2
* reverted cocoapods version change
* Documentation
* fix detection of Shift-Enter on android
* simplify dispatchKeyEvent()
* fix for stacked hardware keyboard events
* Update android/app/src/main/java/com/mattermost/rnbeta/MainActivity.java
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
* simplify dispatchKeyEvent
* removed yarn.lock
* using react-native-hw-keyboard-event v0.0.4
* Using ACTION_UP instead of ACTION_DOWN
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Sort emojis in EmojiPicker
* Pass search term to compareEmojis
* Sort emojis that include search term first
* Fix sorting
* Handle compareEmojis without search term
* Return doDefaultComparison
* Check includes only if needed
* Make linter happy
* Use doDefaultComparison
Default to current server or site URL.
Example case: `<jump to convo>` links generated from autolink plugin have their server/site URL stripped, and it is assumed that generated links are relative to the current server.
Conversation: https://community.mattermost.com/core/pl/78j4a7ozupbci8qxwx1sczc1ua
* Polishing post draft to comply with design specs
* changed maxHeight in landscape mode, fixed icon sizes
- Refactored code so that post draft icon sizes are taken from same constant value
- Set maxHeight value in landscape mode to be smaller (tests pending)
- Removed repeated styles for button wrappers (passing them down as props to child components)
- Increased size of image attachment remote icon, and increased tappable area
* Removing repeated logic for file upload
* Fixing failed snapshot tests / style checks
* Fixing file upload remove icon to have 64% opacity
* post draft UX/UI improvements
* Fix input box extra spacing
* input box line height and attachment border
* Animate to original state even if error is showing
* Fix permissions
* Improve attachment error animation
* Fix iOS post input height
* Update snapshots
* MM-21632: fix toggling interactive dialog boolean
My fix for MM-17519 broke the /rendering/ of the boolean toggle, but not
the underlying interactive dialog state (and the thrust of the original
issue).
* MM-21683: fix handling of boolean defaults
* unit tests
* 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>
Previously, deep links would only work when the app was already open/previously launched.
Now, invoking a deep link launches the app if not already open, and opens the deep link destination.
Default deep link URL prefix: `mattermost-beta`
To set to `mattermost-mobile` (or anything else, for that matter) in production releases, set fastlane ENV var `DEEPLINK_PREFIX` to `mattermost-mobile`
* 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
* 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>
* MM-15307 Updated to use InteractionManager
Replaced the setTimeout with InteractionManager to resolve the delay set.
* Updated to apply animation to the input height
* Updated to apply animation to the input height
* Fixed eslint issue
* Updates per review
* Updates from feedback
* MM-17044 Load posts until no more are needed
* Improving post list tests for componentDidUpdate
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
* Use post id when retrieving opengraph data from mattermost-redux
* Updated package.json with the appropriate PR for mattermost-redux
* Switch mattermost-redux back to master
* Fixing team join without the invite id
* Fixing tests
* Adding tests to verify proper behavior calling the correct function based on the server version
* Extract server version from headers
* Make linter happy
* Update mattermost-redux
* Update mattermost-redux
* MM-18054 Fix Comment Line showing
Restructured the check for the previous post to make sure comment line does not appear for posts on same thread, but from different users.
* MM-18054 Updated after review
Updated the logic to be more bulletproof
* MM-21085 Updated waitHydration
Updated the hydration of hte store to first check if it completed as this was being caused due to a race condition.
* MM-21085 Updated for callback
MM-21085 Updated for callback
* initial working code
* minimum changes for main sidebar working
* add settings sidebar back in
* fix visual bug with sidebar showing underneath
* fix bug for android
* cleanups
* minor cleanups and update snapshot
* add basic test
* fix style errors
* review changes
* MM-20790 Mark as Unread option should not be available on mobile if the server does not support it
* Check for server version with min 5.18v for showing the option
to mark as unread
* Change if condition
* MM-19837 Remove Opacity from AtMention Markdown
Removed the opacity that was set on the base text style for the markdown on AtMention for system messages.
* MM-19837 Updated opacity for AtMention
The baseTextStyle being used to set the opacity is used across the entire text format, so for this change where an AtMention is used, I added a new opacity to overwrite the on applied by the baseTextStyle.
* Making markdown tables more responsive
* Changing implementation of isTablet and isLandscape
* Fixing variable names & added more table styles
* Adding header backgrounds & iOS fixes
* Changing cell padding to 8
* Fixing positioning of expand table buttons
* Fixed android issues and flex render conditions
- Centered icon in expand button instead of using fixed paddings (icon was slightly off center)
- Fixed expand button rendering on android
- Separated full table view into ios / android to allow for separate styling
* Merging table back to single file
* Resolving conflicts & improving full table view
- Made the full table view scrollable through any part of the screen, as opposed to only the table area (only works on iOS)
- Resolved conflicts with PR that limits tables to 5 columns visible on channel view
- Made changes to keep behavior of tables consistent on table view
- Added logic to render "moreRight" element if table was cut in channel view
- Updated snapshot
* MM-19708 Adjusted display name width to 80% for landscape
Adjusted landscape maxWidth for both the base display of the name and the adjusted width with bot/reply buttons.
* Making less complex
* MM-19708 Reduced complexity of style code
Reduced complexity of style code
* MM-19708 Updated snapshots
* MM-19708 Updated for eslint
* MM-19834 Fixed direct mentions highlight color
Updated the AtMention to check if it will be highlighted before applying it's color. The highlight function was applying it's color before the AtMention color, so it was being overwritten.
* MM-19834 Start Unit Test
* MM-19834 Added Unit Tests
Added unit tests for the rendering of highlighted/non-highlighted displayname.
* MM-20201 Fixed asterisk on Nickname
Added optional prop to the Nickname field, which removes the asterisk
* MM-20201 Updated Position field also
Added optional prop to position field.
* Preview markdown table as 5x5 max
* Make linter happy
* Determine max columns from device width
* Add snapshot test
* Use Dimensions and update unit tests
* Remove async
* MM-17838 Wrap reactions when they exceed screen size
* Hide add reaction button after 40 reactions
* Hide add reaction button after 40 reactions
* Fix tests
* Fix crash when post has no reactions and convert to factory
* Create constant and use a separate prop for allowing more reactions
* [MM-16232] Android: Fetch notification in notificationReceiptDelivery (#3552)
* Fetch notification in notificationReceiptDelivery
* Fix patch
* Fix patch take 2
* No need to send user_id to ack endpoint
* Just putString in mNotificationProps
* Fix patch take 3
* Revert react-native-notifications patch
* Update patch and fix rejections
* Remove trailing newline in patch
* Move PushNotification changes to end of patch
* npm cache test
* Revert "npm cache test"
This reverts commit d31030aaeeb010c1c3d22a5f6196191eeb849add.
* Created patch after upgrading node
* Created patch after upgrading node take 2
* Remove androidx changes from patch
* Patch packages then jetify
* Cache node_modules without patches
* Remove adding of default message (#3557)
* [MM-16232] iOS: Fetch id-loaded push notification from server (#3556)
* Fetch notification from server
* Parse fetched notification response
* Fix id-loaded notifications for DM/GM's
* audit fix
* Only add keys if they exist
* Throw exception if response code is not 200
* 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-19037 Updated Progressive Image Loader
Set the return for the listener to return a null for hte loader images, stopping the component from thinking it had a loaded image on a failure.
Also enabled the thumbnail to make an additional attempt to load when it receives the null response.
* MM-19037 Updated Eslint
Eslint issue resolved
* MM-19037 Add Unit Tests
Added Unit tests
* empty commit
* [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
* Run npm install react-native-fast-image --save
* Link react-native-fast-image for Android
* Link react-native-fast-image to iOS Pod
* Replace Image with FastImage in emoji.js and remove redundant caching
* Remove duplicate sentry gradle
* Feedback review
* Remove FastImage and Sentry from the Podfile
* MM-18054 Checked for prev post comment line
Added check for prev post to stop the "Commented on" line when in same thread.
* MM-18054 Added Unit Tests
Added Unit Tests
* MM-18054 Update props
Updated the prop for isFirstReply
* [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
* MM-19697 - Fixed CameraRoll for iOS
Switched CameraRoll over to the react-native-community version as it was removed from the core package with RN 0.61.2
* MM-19697 - Fix Jest issues
Updated for jest issues
* MM-19966 Fixed Notification Settings
Fixed the save functionality for props. There was a change to combine notification settings that then did a deep comparison on two like objects. This change makes the comparison of the newly changed notification props and the previous props.
* Fix unit test
During the landscape changes from the previous release, I had added 8px of padding to the iOS landscape, which caused this issue to occur. This change reverts the added padding so that the height matches across the screens for the navigation bar.
To note, react-native-navigation is used for the info/thread headers and there is no way to adjust the height of this without replacing the header entirley.
* MM-18934 Fix padding on image attachment border
Removed padding from image padding as it was pushing the images outside of the box.
* MM-18934 Add spacing between border and image
Added a margin to progressive image to allow for a spacing with the absolutefill
* MM-18934 Fixed eslint
Fixed eslint issues
* MM-19733 fix posts getting behing post text box in thread screen
* Update app/components/safe_area_view/safe_area_view.ios.js
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/components/safe_area_view/safe_area_view.ios.js
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
* Small refactor
* Fix snapshot test after merge
* MM-19308 Fixed date wrapping
Updated the displayName to check for the reply button and bot tag. If seen the displayName container is set from 60% to 55% to allow for the extra space.
* MM-19308 Updated logic and added tests
Updated logic based on feedback.
Added Jest/Snapshots
* MM-19308 Apply change to other sections
Applied the change to autoresponder/webhook section.
* Remove reactions from long post screen
* Remove reaction post option
* Update app/screens/long_post/long_post.test.js
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Update snapshot test
* 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
* MM-18790 Fix Keyboard Color Flash
Resolved the autoresponder keyboard flash by adding a 500ms delay to the keyboard focus, allowing for a smooth keyboard interaction without the color flash.
* MM-18790 Used CreateRef
Updated the reference to React.createRef
* Update app/screens/settings/notification_settings_auto_responder/notification_settings_auto_responder.js
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* MM-18790 Added check for current
Updated the focus check to validate current is truthy
* MM-19286 Disable Haptic Feedback
Added a check for iOS version <=9 and for iPhones 5/6/SE versions that don't support haptic feedback.
* MM-19286 Fixed the Fix
Misread the repo for the haptic feedback so fixing the fix.
* MM-19286 Removed line in device.js
Removed line in device.js
* MM-18054:
Added a check for previousPost to use in validating new messages in thread to check if we should display Commented On message.
* MM-18054 Updated
Updated the check for Commented line to validate the previous thread was one that the post user commente on.
* MM-18054 Fixed Eslint Issues
Fixed Eslint Issues
* MM-18054 Fixed Eslint Issues
Missed a space...
* MM-18054 Cleanup
Cleaned up some code from suggestions
Removed getState from Add Channel Member method since the Redux store is not looking for it. 3rd param for this method is a postRootID, which is not sent from this request.
* Revert "Update mattermost-redux"
This reverts commit 04b3897ecb.
* Revert "[MM-17068] Add set post as unread option to menu (#3202)"
This reverts commit c7a29eea6a.
* Use updated react-native-keyboard-tracking-view
* Use updated react-native-device-info
* Use updated react-native-device-info and add new pod dependency
* 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
* 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
* MM-15219 Added support for optional introduction text in interactive dialogs
* Fixed margins in introduction text for interactive dialogs
* Created DialogIntroductionText component to render the introduction text. Changed text color
* Changed DialogIntroductionText component to only render if a value is supplied
* 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
* Set moment timezone locale as needed to prevent moment and intl locale getting out of sync
* Update app/i18n/index.js
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Updates per feedback