*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
* MM-29948 Display error msg when pasting files and uploads are disabled
* Remove unnecessary ref and Animated.View
Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
* MM-28105 do not crash when in-app notification shows
* Use index.tsx to register the notification screen
* Fix notification e2e and some import cleanup
* Update iOS notification json
* e2e: Show the add reaction screen before receiving a notification
* Update snapshots
* Patch react-native-notifications to prevent iOS crash when opening
* Apply TM4J id
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* MM-28688 Close sidebar when current channel is selected
* Update snapshot
* Apply suggestions from code review
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* Fix iOS select_channel e2e and feedback review
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* MM-28336 Align hamburger menu badges
* Fix Fastlane and CI artifacts for PR's
* Fastlane to post to QA build channel
* Fix plist.erb template
* Fix variable type
* [MM-22366] Make user autocomplete also match on spaces
* Move template string to fullName variable
* Add Detox E2E tests for user autocomplete
* Add TM4J IDs
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* Add test for keyword not associated with user
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* 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>
* MM-T3201 initial test purpose with detox
* MM-T3201 spaces and more comments
* MM_T3201 update snapshot tests to include test id
* MM-T3201 edit test ID to follow naming convention, PR fix
* MM-T3201 change comments to indicate if action or expect
* MM-T3201 add more testID to create buttons
* MM-T3201 adding trailing commas and testID
* MM-T3201 fix style
* MM-T3201 fix snaps test
* MM-T3201 fix conflicts with prior PR
* MM-T3201 using test dependent on platform to test button behaviour
* Update detox/e2e/test/channels/create_public_channel.e2e.js
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* MM-29039: unit and e2e tests for #4821
* add e2e test
* Apply suggestions from code review
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* use suggested test libs
* move mock to test setup
* update snapshot for new mock
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* Automate MM-T3187
* Update the snapshots. Applied channel_item_display_name suggestion. Add verification for channels_list (to prove the testID works).
* Update testID. Move test to a new file under smoke test.
* Revert message_posting.e2e.js
* Applied suggestion from code review.
* Update detox/e2e/test/smoke_test/channels.e2e.js
Apply Saturnino's suggestion
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
* WIP: slash suggestion autocomplete
* WIP: patched styles a bit
* WIP: Adding styles
* Adding active state to autocomplete items
* Fixing style for channel mention item
* Fixing bugs + styling issues for Android
* Updating snapshot
* Fixing autocomplete to render on top of post draft
- Misc style fixes
* Renaming props, patching slash suggestion icon
* Fixing tests and lint errors
* Resolving post-merge issue with slash commands
* Fixing android positioning for autocomplete
* Fixing autocomplete not scrolling in edit_channel_info
* WIP: Fixing things according to UX Review
* UX Fixes to autocomplete
* Updating snapshots
* Updating snapshots, replacing slash-command icons
* Fixing android scrolling and positioning issues
* Fixing issues with date_suggestion not rendering
* Making use of the "ShowFullName" config in at_mention_item
* Removing top border on first autocomplete section
* Allowing autocomplete to be smaller than its maxWidth
* Fixing slash_suggestion padding
* removing "componentWillReceiveProps" from date_suggestion
* Changing edit_channel_info autocomplete offset
* Replacing toUpperCase() with textTransform: uppercase
* Fixing odd border issues + prop validation warning
* Restore section header background & add paddingBottom
* Patching up padding on channel mentions
- Reverting previous incorrect padding adjustments
* Removing inline 'completeSuggestion' function
* Removing brackets from style prop
* [MM-28100] Reload state for newly fetched channels before checking reachability
* join selected channel if not already a member
* fix destructuring
* Revert joining channels in handleSelectChannel
* refactor channel joining
* use different server endpoint to work around requiring a server update
* Add accessibility to channel header - search & more options buttons
* Add unit tests for channel_nav_bar accessibility
* Update snapshot for settings_drawer_button.js
* Add Channel Settings > Notification Preferences.
Fixes#15185
* Make newly added strings mmjstool compatible.
mmjstool seems to be looking for specific patterns in AST like called with
`formatMessage` and `t()` [1]. Looks like `t()` is just for that purpose.
[1]: a83581379d/mmjstool/src/i18n_extract.js (L97):L100
* Pass only required props to NotificationPreference & ChannelNotificationPreference.
* Fix style issues/nits from code review.
* Use radio button for channel notifications on android, and checkmarks on iOS.
Also changes style according to figma spec.
* Fix missing prop error.
For some reason, `npm run fix` didn't catch this. But `npm run check` did during CircleCI.
* Fix missing i18n strings by passing strings through `t()`.
mmjstool really needs to be smarter to understand these types of cases.
* Address comments from UX code review.
* Remove remnant from merge conflict.
* Fix UI in iOS landscape mode.
* Use SafeArea view for ios landscape view
* Use paddingHorizontal for SafeArea view for iOS landscape mode
* Improve empty state for Recent Mentions.
* Change backgroud color of icon.
* Improve empty states for flagged and pinned posts.
* Update pinned posts' test snapshot.
* Change NoResult style as per figma specs.
* Change NoResults icons according to UX specs.
* Change style according to UX feedback.