-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RNMobile] Gallery block: Re-introduce v1
#41533
Conversation
Size Change: -716 B (0%) Total Size: 1.24 MB
ℹ️ View Unchanged
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for putting this together. The code changes make sense to me. I left one comment regarding clarity of the code comments.
Version | iOS | Android |
---|---|---|
v1 | 🔴 | 🔴 |
v2 | 🟢 | 🟢 |
Version | Web |
---|---|
5.8 | 🟢 |
5.9 | 🟢 |
That said, I was unable to achieve successful outcomes for all of the provided tests. Namely, the Check v1
test case failed for me, resulting in the Gallery block v2, which is composed of Image blocks. Am I correct that this outcome would be considered a failed test case? Do you see any blatant errors in the steps I used to test below?
Localhost Testing Approach
- Checked out this PR within
gutenberg-mobile/gutenberg
. - Created WordPress 5.8 environment using
wp-env
withingutenberg-mobile/gutenberg
. - Disabled Gutenberg plugin in WordPress admin so that core Gutenberg was used.
- Built iOS/Android apps to load local Metro server.
- Created a Gallery block in a new post.
- Switched to HTML mode to review post HTML.
Possibly unrelated to this work, but I saw network errors while attempting to test the app while logged into a localhost site. The network requests appeared related to media uploads. Did you encounter this when using a local app build while editing a localhost
WordPress site?
Thank you very much @dcalhoun for reviewing the PR 🙇 !
Creating a Gallery block in the app using a site with WordPress 5.8 should generate the However, I've tested my changes again and I'm getting gallery-block-wp-5.8.mp4In order to validate this, I'm going to list a couple of checks that would be great if you could review them on your side, thanks 🙇. Check WordPress version and auto-updateBy default, the site will auto-update with the most recent version (i.e.
You can check your current version in the dashboard by navigating to Check
|
'__unstableGalleryWithImageBlocks' => (int) get_option( 'use_balanceTags' ) !== 1 || is_wp_version_compatible( '5.9' ), |
I'm wondering what values for get_option( 'use_balanceTags' )
and is_wp_version_compatible( '5.9' )
you're getting, probably checking them would give us some clues regarding why the v1
format is not being used. In my tests for checking these values, I added the following code to that file (i.e. experiments-page.php
) and check the console log when opening a post:
/**
* Helper function to print data to JS console.
*/
function console_log( $data ){
echo '<script>';
echo 'console.log('. json_encode( $data ) .')';
echo '</script>';
}
function gutenberg_experiments_editor_settings($settings)
{
...
$experiments_settings = array(
'__unstableGalleryWithImageBlocks' => (int) get_option('use_balanceTags') !== 1 || is_wp_version_compatible('5.9'),
);
console_log(
array(
'use_balanceTags' => get_option('use_balanceTags'),
'is_wp_version_compatible_5.9' => is_wp_version_compatible('5.9')
)
);
...
}
Possibly unrelated to this work, but I saw network errors while attempting to test the app while logged into a localhost site. The network requests appeared related to media uploads. Did you encounter this when using a local app build while editing a
localhost
WordPress site?
Yep, probably that's not related. I experienced something similar with media items, which doesn't work properly when using the app and a localhost site, but it wasn't related to that endpoint. In my case, the network requests for getting the size of the images are the ones that are failing:
Failed to get size for image http://localhost:8888/wp-content/uploads/2022/06/<IMG_FILE>.jpeg
@dcalhoun I'm afraid that testing these changes is a bit tricky due to the environment requirements, so I'll be more than happy to help anyhow on narrowing down the cause of the failure of the v1
test case. Also, please let me know if you'd like me to expand on any of the checks I outlined above, thanks 🙇 !
Co-authored-by: David Calhoun <438664+dcalhoun@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After utilizing a remote WordPress 5.8 deployment (rather than a localhost deployment) I was able to achieve successful outcomes for all of the outlined test cases. 🎉 Prior issues must relate to my local environment setup.
I believe we are good to merge this work. Thank you! 🚀
Version | iOS | Android |
---|---|---|
v1 | 🟢 | 🟢 |
v2 | 🟢 | 🟢 |
Version | Web |
---|---|
5.8 | 🟢 |
5.9 | 🟢 |
* Fix isGalleryV2Enabled calculation for the native version * Update comment in isGalleryV2Enabled function Co-authored-by: David Calhoun <438664+dcalhoun@users.noreply.github.com> Co-authored-by: David Calhoun <438664+dcalhoun@users.noreply.github.com>
* Release script: Update react-native-editor version to 1.76.0 * Release script: Update with changes from 'npm run core preios' * Update Changelog * Release script: Update react-native-editor version to 1.76.1 * Release script: Update with changes from 'npm run core preios' * [Mobile] - BlockList - Add internal onLayout from CellRendererComponent to BlockListItemCell (#41105) * Mobile - BlockList - Pass FlatList internal onLayout through CellRendererComponent * Mobile - Update onLayout naming for BlockListItemCell * [Mobile] - Fix Drag & Drop Chip positioning issue with RTL languages (#41053) * Mobile - Fix - Drag & drop chip issue with RTL languages * Mobile - BlockDraggable - Rename maxWidth variable to contentWidth * Mobile - BlockDraggable - Add custom exiting animation that uses the same functionality as ZoomOutEasyDown but customizing the translateX value taking into account RTL languages. * [RNMobile] Add drag & drop help guide in Help & Support screen (#40961) * Add drag & drop help guide * Update content of help screen related to moving blocks * Update drand-and-drop images * Update styles of heading component of help screen * Add HelpDetailBadge component This component will be rendered in `HelpDetailSectionHeadingText` component via the `badge` prop. * Add NEW badge to move blocks help section * Optimize drag-and-drop images * Add move-blocks icon to Help & Support screen * Update react-native-editor changelog * Add HelpSectionTitle component * Prevent rendering separator on last help topic item * [RNMobile] Fix drag mode not being enabled when long-pressing over Shortcode block (#41155) * Add prop for disabling suggestions button * Use allowed formats in format types calculation * Add RichText version to PlainText component * Use experimental version of PlainText in Shortcode block * Add disableAutocorrection prop to RichText * Disable autocorrection in Shortcode block * Update PlainText props in Shortcode block * Use pre as tagName in PlainText * Rename replaceLineBreaks function * Update shortcode block unit tests * Prevent text input focus when selecting Shortcode block * Force text color in Shortcode block * Remove tagName prop from PlainText component * Mobile - Update changelog * Translate NEW badge in Move blocks help screen * Release script: Update react-native-editor version to 1.77.0 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Improve text read by screen readers for BottomSheetSelectControl (#41036) Improves the text that's read by screen readers by the BottomSheetSelectControl component, adding extra context and making its purpose clearer. * [RNMobile] Add 'Insert from URL' option to Image block (#40334) * Add 'Insert from URL' option to Video and Image blocks * Update code style from linting * Improve test cases for Media Upload capture options * Fix whitespace issue * Update Media Upload option tests to be asynchronous * Update native image block to use correct image URL * Add error handling for invalid URLs to native Image block * Clear invalid URL error on Image URL success * Fix synchronicity of Media Upload option tests * Add check for URL handler to native Image block picker options * Update code style * Remove Video block from urlSource options Why: to be introduced in a later PR * Remove URL option from Video block for Media Upload test * Use Notice snackbar for native Image block error handling * Update Image/Media Upload code style and helpers * Use getImage to determine if URL is a valid image within Image block * Add loading indicator and isURL check to native Image block URL behavior * Add loading indicator to native Image block media placeholder * Fix whitespace issue in native Image block code style * Reuse native Image block loading indicator * Use undefined dimension attributes for the native Image block URL behavior Co-authored-by: Derek Blank <derekblank@Dereks-MacBook-Pro.local> * [RNMobile] - E2E Simplify heading and lists blocks functions (#40670) * update tests using paragraph, heading and list blocks * fix slash inserter tests to work in ci * lint fixes * wait for ordered list to appear * lint fixes * extra click only on local env * wait to get backspace click reflected * re-add extra click only for local env * add wait to wait for backspace key to be reflected * lint fixes * break function, set position to get list block * lint fixes * use correct params, update function name * lint fixes * make maxIteration a parameter for isElementVisible * update xpath for list block * utilize waitForVisible for isElementVisible * lint fixes * add wait to getNumberOfParagraphBlocks and update xpath for android list block * update edit text xpath to be read from any level Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * Add ruby version file (#41013) Use same version of ruby that is used on WP iOS * [RNMobile] Improvements to Getting Started Guides (#40964) * Update with copy from Gutenberg Mobile Gutenberg Mobile's readme had some copy in the troubleshooting section that wasn't included in Gutenberg's how-to: https://github.com/wordpress-mobile/gutenberg-mobile/edit/trunk/README.md This commit fixes that issue by updating Gutenberg's how-to with the latest from Gutenberg Mobile. * Tweak wording, update inconsistent capitalisation * Tweaks to copy and formatting With this commit, I've tidied up some of the copy, attempting to make the instructions as concise and helpful as possible. I've also set the images to the same width to tidy up the overall look of the document (the images will appear small on mobile devices, but can be tapped on to get the full image). * Set all images to fixed width, for consistency * Rearrange sections to improve overall flow - The "Unit Tests" is moved towards the bottom of the document, so that's it's closer to the instructions for integration tests. the document flows as follows: - The steps for installing Xcode are moved under the "iOS" section. - The overall flow of the document has been updated to the following: Clone Gutenberg > iOS > Android > Tests * Add details about recommended JDK * Add details about Cocoapods * Refine instructions for installing Cocoapods * Note `ffi` may already be installed Some versions of Ruby may not require the `ffi` to be manually installed, which is noted with this commit. * update expected html for file block (#41300) Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * Add waitForVisible() to all blocks (#41126) * add waits to all block - 1st try * fix failing tests * correct if else condition * fix failing cover block test * update spaces * update to use new click helper * wait for blocks to be visible first in getFirstBlock and getLastBlock * remove length as a parameter * update timing for long press since it's failing intermittently in ci * remove deleted param, revert space changes * remove redundant code * exit function once condition is met * increse wait time for long press * remove unneccesary condition, update message, return click value Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * Update CHANGELOG * Revert "update expected html for file block (#41300)" This reverts commit a046a61. * [RNMobile] Ensure post title gets focused when is notified from native side (#41371) * Release script: Update react-native-editor version to 1.77.1 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Bump `react-native-reanimated` version to `2.4.1-wp-3` (#41482) * Update react-native-editor changelog * Release script: Update react-native-editor version to 1.78.0 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Bump `react-native-gesture-handler` to version `2.3.2` (#41337) * Update react-native-editor changelog * Release script: Update react-native-editor version to 1.78.1 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Gallery block: Re-introduce `v1` (#41533) * Fix isGalleryV2Enabled calculation for the native version * Update comment in isGalleryV2Enabled function Co-authored-by: David Calhoun <438664+dcalhoun@users.noreply.github.com> Co-authored-by: David Calhoun <438664+dcalhoun@users.noreply.github.com> * [RNMobile] Fix missing translations for locales that include region (only on Android) (#41685) * Update CHANGELOG Co-authored-by: jhnstn <jason@readysetandco.com> Co-authored-by: Gerardo <gerardo.pacheco@automattic.com> Co-authored-by: Carlos Garcia <fluiddot@gmail.com> Co-authored-by: Derek Blank <derekpblank@gmail.com> Co-authored-by: Derek Blank <derekblank@Dereks-MacBook-Pro.local> Co-authored-by: Jos <jostnes@users.noreply.github.com> Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> Co-authored-by: Jason Johnston <jhnstn@users.noreply.github.com> Co-authored-by: David Calhoun <438664+dcalhoun@users.noreply.github.com>
This has now been shipped as part of the WPAndroid/JPAndroid |
* Release script: Update react-native-editor version to 1.76.0 * Release script: Update with changes from 'npm run core preios' * Update Changelog * Release script: Update react-native-editor version to 1.76.1 * Release script: Update with changes from 'npm run core preios' * [Mobile] - BlockList - Add internal onLayout from CellRendererComponent to BlockListItemCell (#41105) * Mobile - BlockList - Pass FlatList internal onLayout through CellRendererComponent * Mobile - Update onLayout naming for BlockListItemCell * [Mobile] - Fix Drag & Drop Chip positioning issue with RTL languages (#41053) * Mobile - Fix - Drag & drop chip issue with RTL languages * Mobile - BlockDraggable - Rename maxWidth variable to contentWidth * Mobile - BlockDraggable - Add custom exiting animation that uses the same functionality as ZoomOutEasyDown but customizing the translateX value taking into account RTL languages. * [RNMobile] Add drag & drop help guide in Help & Support screen (#40961) * Add drag & drop help guide * Update content of help screen related to moving blocks * Update drand-and-drop images * Update styles of heading component of help screen * Add HelpDetailBadge component This component will be rendered in `HelpDetailSectionHeadingText` component via the `badge` prop. * Add NEW badge to move blocks help section * Optimize drag-and-drop images * Add move-blocks icon to Help & Support screen * Update react-native-editor changelog * Add HelpSectionTitle component * Prevent rendering separator on last help topic item * [RNMobile] Fix drag mode not being enabled when long-pressing over Shortcode block (#41155) * Add prop for disabling suggestions button * Use allowed formats in format types calculation * Add RichText version to PlainText component * Use experimental version of PlainText in Shortcode block * Add disableAutocorrection prop to RichText * Disable autocorrection in Shortcode block * Update PlainText props in Shortcode block * Use pre as tagName in PlainText * Rename replaceLineBreaks function * Update shortcode block unit tests * Prevent text input focus when selecting Shortcode block * Force text color in Shortcode block * Remove tagName prop from PlainText component * Mobile - Update changelog * Translate NEW badge in Move blocks help screen * Release script: Update react-native-editor version to 1.77.0 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Improve text read by screen readers for BottomSheetSelectControl (#41036) Improves the text that's read by screen readers by the BottomSheetSelectControl component, adding extra context and making its purpose clearer. * [RNMobile] Add 'Insert from URL' option to Image block (#40334) * Add 'Insert from URL' option to Video and Image blocks * Update code style from linting * Improve test cases for Media Upload capture options * Fix whitespace issue * Update Media Upload option tests to be asynchronous * Update native image block to use correct image URL * Add error handling for invalid URLs to native Image block * Clear invalid URL error on Image URL success * Fix synchronicity of Media Upload option tests * Add check for URL handler to native Image block picker options * Update code style * Remove Video block from urlSource options Why: to be introduced in a later PR * Remove URL option from Video block for Media Upload test * Use Notice snackbar for native Image block error handling * Update Image/Media Upload code style and helpers * Use getImage to determine if URL is a valid image within Image block * Add loading indicator and isURL check to native Image block URL behavior * Add loading indicator to native Image block media placeholder * Fix whitespace issue in native Image block code style * Reuse native Image block loading indicator * Use undefined dimension attributes for the native Image block URL behavior Co-authored-by: Derek Blank <derekblank@Dereks-MacBook-Pro.local> * [RNMobile] - E2E Simplify heading and lists blocks functions (#40670) * update tests using paragraph, heading and list blocks * fix slash inserter tests to work in ci * lint fixes * wait for ordered list to appear * lint fixes * extra click only on local env * wait to get backspace click reflected * re-add extra click only for local env * add wait to wait for backspace key to be reflected * lint fixes * break function, set position to get list block * lint fixes * use correct params, update function name * lint fixes * make maxIteration a parameter for isElementVisible * update xpath for list block * utilize waitForVisible for isElementVisible * lint fixes * add wait to getNumberOfParagraphBlocks and update xpath for android list block * update edit text xpath to be read from any level Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * Add ruby version file (#41013) Use same version of ruby that is used on WP iOS * [RNMobile] Improvements to Getting Started Guides (#40964) * Update with copy from Gutenberg Mobile Gutenberg Mobile's readme had some copy in the troubleshooting section that wasn't included in Gutenberg's how-to: https://github.com/wordpress-mobile/gutenberg-mobile/edit/trunk/README.md This commit fixes that issue by updating Gutenberg's how-to with the latest from Gutenberg Mobile. * Tweak wording, update inconsistent capitalisation * Tweaks to copy and formatting With this commit, I've tidied up some of the copy, attempting to make the instructions as concise and helpful as possible. I've also set the images to the same width to tidy up the overall look of the document (the images will appear small on mobile devices, but can be tapped on to get the full image). * Set all images to fixed width, for consistency * Rearrange sections to improve overall flow - The "Unit Tests" is moved towards the bottom of the document, so that's it's closer to the instructions for integration tests. the document flows as follows: - The steps for installing Xcode are moved under the "iOS" section. - The overall flow of the document has been updated to the following: Clone Gutenberg > iOS > Android > Tests * Add details about recommended JDK * Add details about Cocoapods * Refine instructions for installing Cocoapods * Note `ffi` may already be installed Some versions of Ruby may not require the `ffi` to be manually installed, which is noted with this commit. * update expected html for file block (#41300) Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * Add waitForVisible() to all blocks (#41126) * add waits to all block - 1st try * fix failing tests * correct if else condition * fix failing cover block test * update spaces * update to use new click helper * wait for blocks to be visible first in getFirstBlock and getLastBlock * remove length as a parameter * update timing for long press since it's failing intermittently in ci * remove deleted param, revert space changes * remove redundant code * exit function once condition is met * increse wait time for long press * remove unneccesary condition, update message, return click value Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * Update CHANGELOG * Revert "update expected html for file block (#41300)" This reverts commit a046a61. * [RNMobile] Ensure post title gets focused when is notified from native side (#41371) * Release script: Update react-native-editor version to 1.77.1 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Bump `react-native-reanimated` version to `2.4.1-wp-3` (#41482) * Update react-native-editor changelog * Release script: Update react-native-editor version to 1.78.0 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Bump `react-native-gesture-handler` to version `2.3.2` (#41337) * Update react-native-editor changelog * Release script: Update react-native-editor version to 1.78.1 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Gallery block: Re-introduce `v1` (#41533) * Fix isGalleryV2Enabled calculation for the native version * Update comment in isGalleryV2Enabled function Co-authored-by: David Calhoun <438664+dcalhoun@users.noreply.github.com> Co-authored-by: David Calhoun <438664+dcalhoun@users.noreply.github.com> * [RNMobile] Fix missing translations for locales that include region (only on Android) (#41685) * Update CHANGELOG * Release script: Update react-native-editor version to 1.79.0 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Add integration tests to cover Drag & Drop functionality (#41364) * Add testID prop to Draggable components * Add unit tests for Draggable component * Set draggingId shared value before enable dragging This change is required for testing, otherwise the dragging id is not passed when the dragging gesture begins. * Mock generateHapticFeedback function * Add testID to draggable chip component * Add testID to BlockDraggable component * Add test helpers for BlockDraggable component Additionally, helpers related to fake timers have been added and updated in the global helpers file. * Add drag and drop integration tests * Update react-native-aztec mock to use AztecInputState * [Mobile] - Add E2E tests for the Drag & Drop blocks feature (#41368) * Mobile - Add E2E tests for the Drag & Drop blocks feature * Update longPress action * Use clickIfClickable * Use longPress instead of press * Fix clipboard typo * Add setClipboard and clearClipboard helpers * Mobile - Skip some of the Drag & Drop E2E on iOS (#41529) * Mobile - Skip some of the Drag & Drop E2E on iOS * Replace if condition to use onlyOnAndroid wrapper instead * where it can change to use clickIfClickable(), add new param for waitForVisible() to control return value (#41367) Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * [RNMobile] Add 'Insert from URL' option to Video block (#41493) * Add onSelectURL function to mobile Video block edit * Add notices store to mobile Video block * Display Insert from URL in Video block media options menu * Allow native video block to use Embed block for embeddable URLs * Update native Video block src onSelectURL attribute * Update CHANGELOG * Upgrade Aztec to v1.5.9 (#41828) * fix: Image block preserves alt text from media library (#41839) * fix: Image block preserves alt text from media library When the alt text for a media item is present in the media library, that value should be copied into the Image block when inserted. This behavior avoids the need to re-enter the alt text for each image inserted into the post content. * fix: Allow Media with and without alt text Previous code required an alt text value, which broken existing code. This overrides the method to support both contexts. It also updates existing code to use the same method of generating media throughout the source. * test: Update alt text for demo editor test data Consistently setting the alt text for all platforms will likely help avoid confusion. * test: Update outdated test fixture data The demo editor now returns an alt text for the test image media. * docs: Update changelog * [RNMobile] Implement recovery option for invalid blocks (#41988) If a block's validation fails within the mobile app, users are shown an error but not provided with any options for recovering the block. This PR introduces an option for users to attempt block recovery. They'll be prompted to tap on a block if they wish to attempt recovery. * docs: Update change log * [RNMobile] Upgrades Gradle to 7.4.2 & Android Gradle Plugin to 7.2.1 (#42136) * Update Gradle to 7.4.1 * Update AGP to 7.2.1 * Update Aztec-Android version to v1.6.0 (#42243) Co-authored-by: jhnstn <jason@readysetandco.com> Co-authored-by: Gerardo <gerardo.pacheco@automattic.com> Co-authored-by: Carlos Garcia <fluiddot@gmail.com> Co-authored-by: Siobhan <siobhan@automattic.com> Co-authored-by: Derek Blank <derekpblank@gmail.com> Co-authored-by: Derek Blank <derekblank@Dereks-MacBook-Pro.local> Co-authored-by: Jos <jostnes@users.noreply.github.com> Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> Co-authored-by: Jason Johnston <jhnstn@users.noreply.github.com> Co-authored-by: Oguz Kocer <oguzkocer@users.noreply.github.com>
* Release script: Update react-native-editor version to 1.76.0 * Release script: Update with changes from 'npm run core preios' * Update Changelog * Release script: Update react-native-editor version to 1.76.1 * Release script: Update with changes from 'npm run core preios' * [Mobile] - BlockList - Add internal onLayout from CellRendererComponent to BlockListItemCell (#41105) * Mobile - BlockList - Pass FlatList internal onLayout through CellRendererComponent * Mobile - Update onLayout naming for BlockListItemCell * [Mobile] - Fix Drag & Drop Chip positioning issue with RTL languages (#41053) * Mobile - Fix - Drag & drop chip issue with RTL languages * Mobile - BlockDraggable - Rename maxWidth variable to contentWidth * Mobile - BlockDraggable - Add custom exiting animation that uses the same functionality as ZoomOutEasyDown but customizing the translateX value taking into account RTL languages. * [RNMobile] Add drag & drop help guide in Help & Support screen (#40961) * Add drag & drop help guide * Update content of help screen related to moving blocks * Update drand-and-drop images * Update styles of heading component of help screen * Add HelpDetailBadge component This component will be rendered in `HelpDetailSectionHeadingText` component via the `badge` prop. * Add NEW badge to move blocks help section * Optimize drag-and-drop images * Add move-blocks icon to Help & Support screen * Update react-native-editor changelog * Add HelpSectionTitle component * Prevent rendering separator on last help topic item * [RNMobile] Fix drag mode not being enabled when long-pressing over Shortcode block (#41155) * Add prop for disabling suggestions button * Use allowed formats in format types calculation * Add RichText version to PlainText component * Use experimental version of PlainText in Shortcode block * Add disableAutocorrection prop to RichText * Disable autocorrection in Shortcode block * Update PlainText props in Shortcode block * Use pre as tagName in PlainText * Rename replaceLineBreaks function * Update shortcode block unit tests * Prevent text input focus when selecting Shortcode block * Force text color in Shortcode block * Remove tagName prop from PlainText component * Mobile - Update changelog * Translate NEW badge in Move blocks help screen * Release script: Update react-native-editor version to 1.77.0 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Improve text read by screen readers for BottomSheetSelectControl (#41036) Improves the text that's read by screen readers by the BottomSheetSelectControl component, adding extra context and making its purpose clearer. * [RNMobile] Add 'Insert from URL' option to Image block (#40334) * Add 'Insert from URL' option to Video and Image blocks * Update code style from linting * Improve test cases for Media Upload capture options * Fix whitespace issue * Update Media Upload option tests to be asynchronous * Update native image block to use correct image URL * Add error handling for invalid URLs to native Image block * Clear invalid URL error on Image URL success * Fix synchronicity of Media Upload option tests * Add check for URL handler to native Image block picker options * Update code style * Remove Video block from urlSource options Why: to be introduced in a later PR * Remove URL option from Video block for Media Upload test * Use Notice snackbar for native Image block error handling * Update Image/Media Upload code style and helpers * Use getImage to determine if URL is a valid image within Image block * Add loading indicator and isURL check to native Image block URL behavior * Add loading indicator to native Image block media placeholder * Fix whitespace issue in native Image block code style * Reuse native Image block loading indicator * Use undefined dimension attributes for the native Image block URL behavior Co-authored-by: Derek Blank <derekblank@Dereks-MacBook-Pro.local> * [RNMobile] - E2E Simplify heading and lists blocks functions (#40670) * update tests using paragraph, heading and list blocks * fix slash inserter tests to work in ci * lint fixes * wait for ordered list to appear * lint fixes * extra click only on local env * wait to get backspace click reflected * re-add extra click only for local env * add wait to wait for backspace key to be reflected * lint fixes * break function, set position to get list block * lint fixes * use correct params, update function name * lint fixes * make maxIteration a parameter for isElementVisible * update xpath for list block * utilize waitForVisible for isElementVisible * lint fixes * add wait to getNumberOfParagraphBlocks and update xpath for android list block * update edit text xpath to be read from any level Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * Add ruby version file (#41013) Use same version of ruby that is used on WP iOS * [RNMobile] Improvements to Getting Started Guides (#40964) * Update with copy from Gutenberg Mobile Gutenberg Mobile's readme had some copy in the troubleshooting section that wasn't included in Gutenberg's how-to: https://github.com/wordpress-mobile/gutenberg-mobile/edit/trunk/README.md This commit fixes that issue by updating Gutenberg's how-to with the latest from Gutenberg Mobile. * Tweak wording, update inconsistent capitalisation * Tweaks to copy and formatting With this commit, I've tidied up some of the copy, attempting to make the instructions as concise and helpful as possible. I've also set the images to the same width to tidy up the overall look of the document (the images will appear small on mobile devices, but can be tapped on to get the full image). * Set all images to fixed width, for consistency * Rearrange sections to improve overall flow - The "Unit Tests" is moved towards the bottom of the document, so that's it's closer to the instructions for integration tests. the document flows as follows: - The steps for installing Xcode are moved under the "iOS" section. - The overall flow of the document has been updated to the following: Clone Gutenberg > iOS > Android > Tests * Add details about recommended JDK * Add details about Cocoapods * Refine instructions for installing Cocoapods * Note `ffi` may already be installed Some versions of Ruby may not require the `ffi` to be manually installed, which is noted with this commit. * update expected html for file block (#41300) Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * Add waitForVisible() to all blocks (#41126) * add waits to all block - 1st try * fix failing tests * correct if else condition * fix failing cover block test * update spaces * update to use new click helper * wait for blocks to be visible first in getFirstBlock and getLastBlock * remove length as a parameter * update timing for long press since it's failing intermittently in ci * remove deleted param, revert space changes * remove redundant code * exit function once condition is met * increse wait time for long press * remove unneccesary condition, update message, return click value Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * Update CHANGELOG * Revert "update expected html for file block (#41300)" This reverts commit a046a61. * [RNMobile] Ensure post title gets focused when is notified from native side (#41371) * Release script: Update react-native-editor version to 1.77.1 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Bump `react-native-reanimated` version to `2.4.1-wp-3` (#41482) * Update react-native-editor changelog * Release script: Update react-native-editor version to 1.78.0 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Bump `react-native-gesture-handler` to version `2.3.2` (#41337) * Update react-native-editor changelog * Release script: Update react-native-editor version to 1.78.1 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Gallery block: Re-introduce `v1` (#41533) * Fix isGalleryV2Enabled calculation for the native version * Update comment in isGalleryV2Enabled function Co-authored-by: David Calhoun <438664+dcalhoun@users.noreply.github.com> Co-authored-by: David Calhoun <438664+dcalhoun@users.noreply.github.com> * [RNMobile] Fix missing translations for locales that include region (only on Android) (#41685) * Update CHANGELOG * Release script: Update react-native-editor version to 1.79.0 * Release script: Update with changes from 'npm run core preios' * [RNMobile] Add integration tests to cover Drag & Drop functionality (#41364) * Add testID prop to Draggable components * Add unit tests for Draggable component * Set draggingId shared value before enable dragging This change is required for testing, otherwise the dragging id is not passed when the dragging gesture begins. * Mock generateHapticFeedback function * Add testID to draggable chip component * Add testID to BlockDraggable component * Add test helpers for BlockDraggable component Additionally, helpers related to fake timers have been added and updated in the global helpers file. * Add drag and drop integration tests * Update react-native-aztec mock to use AztecInputState * [Mobile] - Add E2E tests for the Drag & Drop blocks feature (#41368) * Mobile - Add E2E tests for the Drag & Drop blocks feature * Update longPress action * Use clickIfClickable * Use longPress instead of press * Fix clipboard typo * Add setClipboard and clearClipboard helpers * Mobile - Skip some of the Drag & Drop E2E on iOS (#41529) * Mobile - Skip some of the Drag & Drop E2E on iOS * Replace if condition to use onlyOnAndroid wrapper instead * where it can change to use clickIfClickable(), add new param for waitForVisible() to control return value (#41367) Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> * [RNMobile] Add 'Insert from URL' option to Video block (#41493) * Add onSelectURL function to mobile Video block edit * Add notices store to mobile Video block * Display Insert from URL in Video block media options menu * Allow native video block to use Embed block for embeddable URLs * Update native Video block src onSelectURL attribute * Update CHANGELOG * Upgrade Aztec to v1.5.9 (#41828) * fix: Image block preserves alt text from media library (#41839) * fix: Image block preserves alt text from media library When the alt text for a media item is present in the media library, that value should be copied into the Image block when inserted. This behavior avoids the need to re-enter the alt text for each image inserted into the post content. * fix: Allow Media with and without alt text Previous code required an alt text value, which broken existing code. This overrides the method to support both contexts. It also updates existing code to use the same method of generating media throughout the source. * test: Update alt text for demo editor test data Consistently setting the alt text for all platforms will likely help avoid confusion. * test: Update outdated test fixture data The demo editor now returns an alt text for the test image media. * docs: Update changelog * [RNMobile] Implement recovery option for invalid blocks (#41988) If a block's validation fails within the mobile app, users are shown an error but not provided with any options for recovering the block. This PR introduces an option for users to attempt block recovery. They'll be prompted to tap on a block if they wish to attempt recovery. * docs: Update change log * [RNMobile] Upgrades Gradle to 7.4.2 & Android Gradle Plugin to 7.2.1 (#42136) * Update Gradle to 7.4.1 * Update AGP to 7.2.1 * Update Aztec-Android version to v1.6.0 (#42243) * Release script: Update react-native-editor version to 1.79.1 * Release script: Update with changes from 'npm run core preios' * fix: Workaround Android 12 webview crash (#42517) * fix: Workaround Android 12 webview crash A crash occurred due to combining webviews with Android 12's new scroll overflow behavior. Applying `opacity: 0.99` prevents the crash from occurring. This change should be viewed as a temporary fix while we await a more appropriate solution for the `react-native-webview` library. react-native-webview/react-native-webview#1915 (comment) * docs: Add change log entry Co-authored-by: jhnstn <jason@readysetandco.com> Co-authored-by: Gerardo <gerardo.pacheco@automattic.com> Co-authored-by: Carlos Garcia <fluiddot@gmail.com> Co-authored-by: Siobhan <siobhan@automattic.com> Co-authored-by: Derek Blank <derekpblank@gmail.com> Co-authored-by: Derek Blank <derekblank@Dereks-MacBook-Pro.local> Co-authored-by: Jos <jostnes@users.noreply.github.com> Co-authored-by: jos <17252150+jostnes@users.noreply.github.com> Co-authored-by: Jason Johnston <jhnstn@users.noreply.github.com> Co-authored-by: Oguz Kocer <oguzkocer@users.noreply.github.com>
What?
Re-introduce support for
v1
of the Gallery block to the native version of the editor.Why?
Addresses #41465.
How?
The logic for getting the flag that determines whether to use
v1
andv2
has been extracted to a new functiongetGalleryBlockV2Enabled
. This way in the original functionisGalleryV2Enabled
we leave just twoif
statements, one per platform. This is required due to the limitation of theprocess.env.IS_GUTENBERG_PLUGIN
constant, as you read in the comment within the code:Testing Instructions
The
v2
version should only be used if at least one of the following conditions is met:use_balanceTags
option is enabled.Check
v1
Preparation:
http://localhost:8888/
).<LOCAL_SITE_URL>/wp-admin/update-core.php
.NOTE: If you are testing with a device, instead of using the host
localhost
, use the local IP of your computer.Steps:
...
button to open the editor settings.v1
format).Example:
Check
v2
Preparation:
In WP.com, the WordPress version is greater than 5.8, so this can easily be tested by using a simple WP.com site.
Steps:
...
button to open the editor settings.v2
format):Example:
Check that logic for the web version is unaffected by the change
Preparation:
Changes can be tested in the web version by adding the Gutenberg plugin to your local WordPress installation (instructions).
In my case, I managed to use my local Gutenberg repository by adding a symbolic link with name
gutenberg
into<LOCAL_WP_INSTALLATION>/wp-content/plugins
folder. This allows using the commandnpm run dev
to generate a development build on every change and reflect them on your local site. Alternatively, you can generate the production build by runningnpm run build
and install the plugin in your local site.Steps:
...
button to open the editor settings.v1
format).Example:
v2
format):Example:
Screenshots or screencast
N/A