* [MM-31133]: participants screen component (#5116)
* Fixed imports
* Misc fixes
* Added i18n string
* Moved '(you)' after the name
* [MM-30386][MM-30387] Client and redux changes for collapsed reply threads (#5175)
* [MM-30386][MM-30387] Client and redux changes for collapsed reply threads
* fix tests
* add and use flat shim
* use test helper function
* use test helper function
* revert crt changes to unused client and action functions
* use toEqual
* incorporate code review feedback
* don't assume server success
* batch actions
* clearer code
* WIP in changes, websockets and more redux changes
* Added mark thread as read and mark all as read in a team
* Added isCollapsedThreadEnabled entity
* Fixed loading global screens on load if it's the last visited screen
* Added root count and websocker and redux events related to threads
* Fixed Message, Mention count root count on init and decrement actions
* Moved old client to new client/rest
* Misc fix
* Misc fix
* Misc.
* Old redux test cases fix
* Added polyfill back for array flat
* Fixes mark as unread and pariticipants error in thread
* Fixed initial load when CRT not enabled
* Handling CRT preference change
* Get threads fallsback to search in posts in case of unfollowed or unloaded threads
* Gets threads on reconnect
* DM, Channel counter fix
* Added threads redux tests
* Fixed channel dot issue when child post is arrived channel not active
* Cleaning up threads on load, not letting posts included in threads getting deleted which can trigger many posts to be loaded at once
* Fixed crash on team switch, partly fixed enable/disable from webapp
* Fix when viewing a post from notification, to prevent from navigating back to global threads
* Fixed when preferences are changed before app is launched
* Fixed issue of NO THREADS appearing on reconnect
* Excludes CRT handling for newly logged in users
* Fixed unread dot showing even when all messages are read
* Update app/mm-redux/selectors/entities/threads.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Not viewing threads action is pushed only when suer is in Global Threads
* Fixed cleanup to exclude current team when cleanup starts on app going to background
* Dispatch is not passed as param, misc code fixes
* Preferences check and handling code refactored
* added redux-mock-store
* Preference change fix
* Removed user login dispatch when handling crt change
* Fixed fallback thread support
* Return getThread
* Added threads to sidebar, moved teamId logic to action
* [MM-29106, MM-34847, MM-34843, MM-34846] Collapsed reply threads, Global Threads & In Channel experience UI implementation (#5376)
* feat: global threads screen
* Refactored global thread menu and misc design fixes
* Added empty states for threads, unread. Removing markdown from thread messages.
* Added friendly date, fixed long usernames & channel names in threads view.
* Mark thread as read
* Added intl, refactored code, seperated thread footer from thread item
* Added intl to global threads, added global threads to android
* Added Follow button to thread view
* Added thread badges
* In Channel experience .. WIP
* Clean posts in channel incase CRT is enabled.
* Added follow button, deleted messages doesnot have footer and design is now according to figma
* Removed old post and post header
* Added for follow/unfollow thread and fixed old one
* MISC design & code fixes
* Added options-follow/unfollow to the post's long press menu
* Shows ORIGINAL MESSAGE DELETED in thread when root post gets deleted
* Post list ts fix
* Old testcases fix
* Eslint fix
* Added custom status emoji in at mention autocomplete
* Fixed the width of the displayname and username
* Changed the max width for the full name and username in the autocomplete item
* Review fixes
Changed the behaviour of ellipses for long names
* Removed safearea bottom
* Fixes Mark and unread and thread header theme
* Fixes mark as unread and pariticipants error in thread
* Unfollowing post fix and misc
* Merge with master fix
* Added fallback to get thread from posts in case of not following/unloaded threads
* Refactored code and added tests for screens
* Loads threads from global threads screen, marks thread as marked on new thread posts
* Fixed tabs render on no threads, threads footer items styling and tests
* Loads threads based on tab and items according to constant
* Added infinite loading, unreads based on redux and not active thread list
* Fixed the username cutting off after truncating display name issue
* Changed avatars to touchableOpacity and added prop for parent component to style
* Fixed infinite loading, tab switching scroll to top, misc styles, team switching, scroll indicator insets
* Added follow button to DMs, moved follow button further right only on ios
* Snapshot updated
* Moved from useSelector to connect HOC
* Scrolls to top on team change, changed thread constant from mm-redux
* Fix merge issue
* Test case fix
* Fixed participants list
* Update app/components/global_threads/global_threads.tsx
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/components/global_threads/thread_footer/thread_footer.tsx
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/components/sidebars/main/channels_list/channel_item/index.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/screens/thread/index.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Moved date numbers to constants
* Fixed global threads component issues
* Thread item display logic moved to redux
* Misc fixes
* Reverted to TouchableWithFeedback with opacity
* Removed obselete snapshots
* Removing currentTeamId as we aregetting it in action
* Moved to connect component from useSelect for sidebar
* Thread read issue fix
* Removed react-native-navigation mock
Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Manoj <manoj@brightscout.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Manoj <manoj@brightscout.com>
Co-authored-by: Ashish Bhate <bhate.ashish@gmail.com>
Co-authored-by: Ashish Bhate <ashish.bhate@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Manoj <manoj@brightscout.com>
* Downgrade RNN to avoid bug that cuts off permalink view on iOS
* Bring back permalink view on search/recent mentions/pinned and saved posts
* fix test snapshot
* Update transform to make Android's post list scroll smooth
* set start since metric when appStarted is false
* Refactor Formatted components
* Downgrade RNN to 7.13.0 & patch XCDYouTube to allow video playback
* Refactor Post list and all related components
* review suggestion rename hour12 to isMilitaryTime
* feedback review use aliases
* feedback review deconstruct actions in markdown_link
* feedback review simplify if/else statement in combined_used_activity
* Simplify if statement for consecutive posts
* Specify npm version to build iOS on CI
* Refactor network_indicator
* render Icon in file gallery with transparent background
* Increase timeout to scroll to bottom when posting a new message
* fix: scroll when tapping on the new messages bar
* fix: dismiss all modals
* fix navigation tests
* Handle dismissAllModals for iOS to prevent blank screens
* Prevent modal from dismissing when showing the thread screen in the stack
* Update app/components/image_viewport.tsx
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/utils/post.ts
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* fix: rename selector and prop
* Fix XCDYouTube patch
* Fix posting from a thread in the right channel
* do not render reply bar on the thread screen
* close previous permalink before showing a new one
* move XCDYouTube patch to ios/patches folder
* closePermalink directly instead of using an onClose prop
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
* Update dependencies
* Fix lint, use npm@6
* Fix unit tests
* Dowgrade Fastlane
* Fix Fastlane script
* use android:api-29-node ci image
* Infer gradle json file from apk output folder
* Fastlane to Parse new version of gradle output-metadata.json
* Open/Close Gallery transitions
* Include postId in file info & disable opening the gallery in some cases
* Add progress bar component
* Transition to gallery based on platform
* Improve getting the filename for non attachments
* Patch RNFetchBlob TS definition
* Add gallery types
* fix unit tests for message and post attachment
* add getLocalPath method
* Add react-native-share dependency
* Re-style gallery footer
* Refactor Gallery screen
* Double tap zoom in/out and translate
* Make android activity "transparent"
* Do not animate to height on dismissing gallery
* Open gallery for file uploads
* Fix borderRadius for gallery action button
* Use progress bar for file uploads
* Replace progress bar for file attachment document
* Upgrade RNN to 7.1.0 to fix share elements transitions
* Fix Gallery unit tests
* translate down when popping screen on iOS
* Swipe, Pan & Tap fixes
* fix gallery footer avatar eslint
* Fix gallery snapshot tests
* Use CompassIcon in Gallery
* Feedback from UX review
* Fix gallery UI for other file types
* Set other file type gallery button to 48pt
*Summary*
- This PR adds storybook into the mobile repo, and adds a sample story for the existing "loading" component.
- In the root of the repo run `npm run storybook`. This step automatically scans and loads all stories. A new browser tab will open with the storybook interface. You can configure the storybook host url by updating the .env file in the root of the repo. This might be required if you're using a real device. When running in an emulator, the code tries to use the default network values.
- Then run the usual `npm run android` (or `npm run ios`) and `npm run start` commands
- Storybook has been integrated into the react-native-dev-menu. When the app is running in the emulator press CTRL+M or CMD+M to open the dev menu and select "Storybook". If running on a real device, shaking the device will bring up the react-native dev menu. You can also press d in the terminal where you ran npm run start to get the app running.
- The storybook interface will open in the mobile app. The stories can be controlled either through the desktop browser storybook UI or the mobile browser storybook UI. Both will render the component on the device.
*Ticket Link*
https://mattermost.atlassian.net/browse/MM-28845
*Device Information*
This PR was tested on:
Iphone 11 emulator running ios 13.7
Pixel 3XL emulator running Android 10
* Use AppGroupId from Info.plists instead of hardcoded constant
* Update script, ci & Makefile
* Update Cocoapods to 1.9.3
* Split android builds using ABI filters
* Update Fastlane deps & build scripts
* Update CI to use latests scripts
* Display app version & build number in select server screen
* Make generate scripts compatible with node < 12
* Build scripts
* add build script to package.json
* Update to use bundler 2.1.4 and CI with Xcode 12
* Fix script name for build:ios-unsigned
* Fix RN iOS scripts
* Update CI pods-dependencies step
* Add pipefail to android executor
* Update Fastlane
* Fix type in postinstall script
* update android executor and set TERM
* Fix S3 bucket name variable
* Apply suggestions from code review
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Fix master unit tests
* use requireActual in jest setup
* Jest setup to use react instead of React
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Add check for empty translation strings.
* Test
* Update mmjstools
* Resolve conflicts
* Revert translation test.
* Also use fake dir
* Also use fake dir
* Add translation checks to precommit hook. Remove from Makefile. Add to circleci.
* Fix script to keep it consistent.
* Keep consistent
* initial Detox setup for mobile UI automation
* fix iOS allow permission on opening the app, add npm script to root folder, fix test when using longer site URL and add detox dependency to root for android build dependency
* remove detox proguardFile
* update packages and emulator
* change folder build on local and CI
* add test to post a message, ability to have test in isolation, server API commands, server config, dependency updates and update folder structure
* update snapshot
* update detox and do clean up
* update dependencies