From fb7f568dc634394b0813dc6d17fd16cbbf263330 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 8 Jan 2024 17:44:58 +0100 Subject: [PATCH 01/26] Fix resetting the color --- packages/format-library/src/text-color/inline.native.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/format-library/src/text-color/inline.native.js b/packages/format-library/src/text-color/inline.native.js index f00146631e92df..0869a00db34970 100644 --- a/packages/format-library/src/text-color/inline.native.js +++ b/packages/format-library/src/text-color/inline.native.js @@ -124,7 +124,7 @@ function ColorPicker( { name, value, onChange } ) { const onColorChange = useCallback( ( color ) => { - if ( color !== '' ) { + if ( color !== '' && color !== undefined ) { onChange( setColors( value, name, colors, { [ property ]: color } ) ); @@ -141,7 +141,7 @@ function ColorPicker( { name, value, onChange } ) { onChange( removeFormat( value, name ) ); } }, - [ colors, onChange, property ] + [ colors, name, onChange, value ] ); const activeColors = useMemo( () => getActiveColors( value, name, colors ), @@ -152,6 +152,7 @@ function ColorPicker( { name, value, onChange } ) { From 1e066b14508510290e7250199a136ec868903bf6 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 8 Jan 2024 17:49:19 +0100 Subject: [PATCH 02/26] Temp: Update Aztec reference --- packages/react-native-editor/ios/Podfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/react-native-editor/ios/Podfile b/packages/react-native-editor/ios/Podfile index cc7cda4894b0bf..a21d51c665b24e 100644 --- a/packages/react-native-editor/ios/Podfile +++ b/packages/react-native-editor/ios/Podfile @@ -3,6 +3,8 @@ project 'GutenbergDemo.xcodeproj' require_relative '../../../node_modules/react-native/scripts/react_native_pods' require_relative '../../../node_modules/@react-native-community/cli-platform-ios/native_modules' +pod 'WordPress-Aztec-iOS', :git => 'https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git', :commit => 'fadc31252f74cd0d8e131e17266794bce964f373' + # Uncomment the next line to define a global platform for your project app_ios_deployment_target = Gem::Version.new('13.0') platform :ios, app_ios_deployment_target.version From f4ee1d1d44cde5c62e315eaa37b4886977a27820 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 8 Jan 2024 17:51:34 +0100 Subject: [PATCH 03/26] Temp: Update Aztec reference --- .../ios/GutenbergDemo.xcodeproj/project.pbxproj | 8 ++++---- packages/react-native-editor/ios/Podfile.lock | 12 ++++++++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj b/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj index 5cbe46243ff4e4..8c9f1c7c1c712d 100644 --- a/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj +++ b/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj @@ -353,6 +353,7 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-GutenbergDemo-GutenbergDemoTests/Pods-GutenbergDemo-GutenbergDemoTests-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS-framework/WordPress-Aztec-iOS.bundle", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/content-functions.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-behavior-overrides.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-style-overrides.css", @@ -363,10 +364,10 @@ "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/prevent-autosaves.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/wp-bar-override.css", "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS/WordPress-Aztec-iOS.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/content-functions.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-behavior-overrides.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-style-overrides.css", @@ -377,7 +378,6 @@ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/prevent-autosaves.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/wp-bar-override.css", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -453,6 +453,7 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-GutenbergDemo/Pods-GutenbergDemo-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS-framework/WordPress-Aztec-iOS.bundle", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/content-functions.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-behavior-overrides.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-style-overrides.css", @@ -463,10 +464,10 @@ "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/prevent-autosaves.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/wp-bar-override.css", "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS/WordPress-Aztec-iOS.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/content-functions.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-behavior-overrides.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-style-overrides.css", @@ -477,7 +478,6 @@ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/prevent-autosaves.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/wp-bar-override.css", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; diff --git a/packages/react-native-editor/ios/Podfile.lock b/packages/react-native-editor/ios/Podfile.lock index cf40d621834bda..e76fb3fe31f7aa 100644 --- a/packages/react-native-editor/ios/Podfile.lock +++ b/packages/react-native-editor/ios/Podfile.lock @@ -494,6 +494,7 @@ DEPENDENCIES: - RNScreens (from `../../../node_modules/react-native-screens`) - RNSVG (from `../../../node_modules/react-native-svg`) - RNTAztecView (from `../../react-native-aztec`) + - WordPress-Aztec-iOS (from `https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git`, commit `fadc31252f74cd0d8e131e17266794bce964f373`) - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -503,7 +504,6 @@ SPEC REPOS: - libwebp - SDWebImage - SDWebImageWebPCoder - - WordPress-Aztec-iOS EXTERNAL SOURCES: boost: @@ -606,9 +606,17 @@ EXTERNAL SOURCES: :path: "../../../node_modules/react-native-svg" RNTAztecView: :path: "../../react-native-aztec" + WordPress-Aztec-iOS: + :commit: fadc31252f74cd0d8e131e17266794bce964f373 + :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git Yoga: :path: "../../../node_modules/react-native/ReactCommon/yoga" +CHECKOUT OPTIONS: + WordPress-Aztec-iOS: + :commit: fadc31252f74cd0d8e131e17266794bce964f373 + :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git + SPEC CHECKSUMS: boost: 57d2868c099736d80fcd648bf211b4431e51a558 BVLinearGradient: fbe308a1d19a8133f69e033abc85d8008644f5e3 @@ -668,6 +676,6 @@ SPEC CHECKSUMS: WordPress-Aztec-iOS: fbebd569c61baa252b3f5058c0a2a9a6ada686bb Yoga: f7decafdc5e8c125e6fa0da38a687e35238420fa -PODFILE CHECKSUM: 0965b30267e411f56545967f14da09df5daa07f4 +PODFILE CHECKSUM: d8a621db821a214a154b7382ed2a8da6e6b08da9 COCOAPODS: 1.11.3 From 0ab950985db1dc63a42b97ceb6b1ce37388adf15 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 12 Jan 2024 19:10:38 +0100 Subject: [PATCH 04/26] RichText remove mark as activeFormats --- .../block-editor/src/components/rich-text/native/index.native.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/block-editor/src/components/rich-text/native/index.native.js b/packages/block-editor/src/components/rich-text/native/index.native.js index f83d03ece47983..cc83a1fe73bff3 100644 --- a/packages/block-editor/src/components/rich-text/native/index.native.js +++ b/packages/block-editor/src/components/rich-text/native/index.native.js @@ -98,7 +98,6 @@ const gutenbergFormatNamesToAztec = { 'core/bold': 'bold', 'core/italic': 'italic', 'core/strikethrough': 'strikethrough', - 'core/text-color': 'mark', }; const EMPTY_PARAGRAPH_TAGS = '

'; From 25c8fec1e67dad468e947607430e4b20a90315c0 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 12 Jan 2024 19:11:47 +0100 Subject: [PATCH 05/26] TextColor use getActiveColors from the native variant --- packages/format-library/src/text-color/index.native.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/format-library/src/text-color/index.native.js b/packages/format-library/src/text-color/index.native.js index c19f2a3700ea7f..c84332398ff68e 100644 --- a/packages/format-library/src/text-color/index.native.js +++ b/packages/format-library/src/text-color/index.native.js @@ -25,7 +25,7 @@ import { usePreferredColorSchemeStyle } from '@wordpress/compose'; /** * Internal dependencies */ -import { getActiveColors } from './inline.js'; +import { getActiveColors } from './inline.native.js'; import { default as InlineColorUI } from './inline'; import styles from './style.scss'; From 2a270aa9c7ed29227363687f501404a5b34c6671 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 12 Jan 2024 19:12:25 +0100 Subject: [PATCH 06/26] TextColor - Refactor manual logic to apply the Mark formatting and now it is handled by the native code --- .../src/text-color/inline.native.js | 75 +++++++------------ 1 file changed, 26 insertions(+), 49 deletions(-) diff --git a/packages/format-library/src/text-color/inline.native.js b/packages/format-library/src/text-color/inline.native.js index 0869a00db34970..11d78d0a955438 100644 --- a/packages/format-library/src/text-color/inline.native.js +++ b/packages/format-library/src/text-color/inline.native.js @@ -36,7 +36,7 @@ function parseCSS( css = '' ) { }, {} ); } -function getActiveColors( value, name, colorSettings ) { +export function getActiveColors( value, name, colorSettings ) { const activeColorFormat = getActiveFormat( value, name ); if ( ! activeColorFormat ) { @@ -49,13 +49,14 @@ function getActiveColors( value, name, colorSettings ) { }; } -function setColors( value, name, colorSettings, colors ) { +function setColors( value, name, colorSettings, colors, contentRef ) { const { color, backgroundColor } = { ...getActiveColors( value, name, colorSettings ), ...colors, }; - if ( ! color && ! backgroundColor ) { + if ( ! color ) { + contentRef?.onRemoveMarkFormatting(); return removeFormat( value, name ); } @@ -86,62 +87,31 @@ function setColors( value, name, colorSettings, colors ) { const format = { type: name, attributes }; const hasNoSelection = value.start === value.end; - const isAtTheEnd = value.end === value.text.length; - const previousCharacter = value.text.charAt( value.end - 1 ); - - // Force formatting due to limitations in the native implementation - if ( - hasNoSelection && - ( value.text.length === 0 || - ( previousCharacter === ' ' && isAtTheEnd ) ) - ) { - // For cases where there's no text selected, there's a space before - // the current caret position and it's at the end of the text. - return applyFormat( value, format, value.start - 1, value.end + 1 ); - } else if ( hasNoSelection && isAtTheEnd ) { - // If there's no selection and is at the end of the text - // manually add the format within the current caret position. - const newFormat = applyFormat( value, format ); - const { activeFormats } = newFormat; - newFormat.formats[ value.start ] = [ - ...( activeFormats?.filter( - ( { type } ) => type !== format.type - ) || [] ), - format, - ]; - return newFormat; - } else if ( hasNoSelection ) { - return removeFormat( value, format ); - } + if ( hasNoSelection ) { + contentRef?.onMarkFormatting( color ); + } return applyFormat( value, format ); } -function ColorPicker( { name, value, onChange } ) { +function ColorPicker( { name, value, onChange, contentRef } ) { const property = 'color'; const colors = useMobileGlobalStylesColors(); const colorSettings = useMultipleOriginColorsAndGradients(); const onColorChange = useCallback( ( color ) => { - if ( color !== '' && color !== undefined ) { - onChange( - setColors( value, name, colors, { [ property ]: color } ) - ); - // Remove formatting if the color was reset, there's no - // current selection and the previous character is a space - } else if ( - value?.start === value?.end && - value.text?.charAt( value?.end - 1 ) === ' ' - ) { - onChange( - removeFormat( value, name, value.end - 1, value.end ) - ); - } else { - onChange( removeFormat( value, name ) ); - } + onChange( + setColors( + value, + name, + colors, + { [ property ]: color }, + contentRef + ) + ); }, - [ colors, name, onChange, value ] + [ colors, contentRef, name, onChange, value ] ); const activeColors = useMemo( () => getActiveColors( value, name, colors ), @@ -159,7 +129,13 @@ function ColorPicker( { name, value, onChange } ) { ); } -export default function InlineColorUI( { name, value, onChange, onClose } ) { +export default function InlineColorUI( { + name, + value, + onChange, + onClose, + contentRef, +} ) { return ( From 0a88e7b7d1a054980ef629114acfcf1ff136262d Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 12 Jan 2024 19:12:52 +0100 Subject: [PATCH 07/26] AztecView, don't call toggleMark when activeFormats changes --- .../react-native-aztec/ios/RNTAztecView/RCTAztecView.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift b/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift index 86fa2af37ec59b..5223487d689e2e 100644 --- a/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift +++ b/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift @@ -734,7 +734,8 @@ class RCTAztecView: Aztec.TextView { case "bold": toggleBold(range: emptyRange) case "italic": toggleItalic(range: emptyRange) case "strikethrough": toggleStrikethrough(range: emptyRange) - case "mark": toggleMark(range: emptyRange) + // This case is handled by the AztecViewManager. + case "mark": return default: print("Format not recognized") } } From 2f94e403693782b1ed55281a7cac6bfac36b0683 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 12 Jan 2024 19:13:22 +0100 Subject: [PATCH 08/26] Add iOS native methods to set the mark formatting and to remove it --- .../ios/RNTAztecView/RCTAztecViewManager.m | 3 ++- .../ios/RNTAztecView/RCTAztecViewManager.swift | 16 ++++++++++++++++ packages/react-native-aztec/src/AztecView.js | 17 +++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/packages/react-native-aztec/ios/RNTAztecView/RCTAztecViewManager.m b/packages/react-native-aztec/ios/RNTAztecView/RCTAztecViewManager.m index e8038ab17a7044..b339357ce40740 100644 --- a/packages/react-native-aztec/ios/RNTAztecView/RCTAztecViewManager.m +++ b/packages/react-native-aztec/ios/RNTAztecView/RCTAztecViewManager.m @@ -37,6 +37,7 @@ @interface RCT_EXTERN_MODULE(RCTAztecViewManager, NSObject) RCT_EXTERN_METHOD(focus:(nonnull NSNumber *)viewTag) RCT_EXTERN_METHOD(blur:(nonnull NSNumber *)viewTag) - +RCT_EXTERN_METHOD(onMarkFormatting:(nonnull NSNumber *)viewTag : NSString) +RCT_EXTERN_METHOD(onRemoveMarkFormatting:(nonnull NSNumber *)viewTag) @end diff --git a/packages/react-native-aztec/ios/RNTAztecView/RCTAztecViewManager.swift b/packages/react-native-aztec/ios/RNTAztecView/RCTAztecViewManager.swift index 8806c780779445..5422d2feb864a0 100644 --- a/packages/react-native-aztec/ios/RNTAztecView/RCTAztecViewManager.swift +++ b/packages/react-native-aztec/ios/RNTAztecView/RCTAztecViewManager.swift @@ -91,5 +91,21 @@ public class RCTAztecViewManager: RCTViewManager { aztecView.reactBlur() } } + + @objc + func onMarkFormatting(_ viewTag: NSNumber, _ color: String) { + self.executeBlock(viewTag: viewTag) { (aztecView) in + let range = NSRange(location: aztecView.selectedRange.location, length: 0) + aztecView.toggleMark(range: range, color: color, resetColor: false) + } + } + + @objc + func onRemoveMarkFormatting(_ viewTag: NSNumber) { + self.executeBlock(viewTag: viewTag) { (aztecView) in + let range = NSRange(location: aztecView.selectedRange.location, length: 0) + aztecView.toggleMark(range: range, color: nil, resetColor: true) + } + } } diff --git a/packages/react-native-aztec/src/AztecView.js b/packages/react-native-aztec/src/AztecView.js index 650790658ba32a..7c02f349a85119 100644 --- a/packages/react-native-aztec/src/AztecView.js +++ b/packages/react-native-aztec/src/AztecView.js @@ -2,6 +2,7 @@ * External dependencies */ import { + findNodeHandle, requireNativeComponent, UIManager, Pressable, @@ -234,6 +235,22 @@ class AztecView extends Component { return focusedElement && focusedElement === this.aztecViewRef.current; } + onRemoveMarkFormatting() { + UIManager.dispatchViewManagerCommand( + findNodeHandle( this.aztecViewRef.current ), + 'onRemoveMarkFormatting', + [] + ); + } + + onMarkFormatting( color ) { + UIManager.dispatchViewManagerCommand( + findNodeHandle( this.aztecViewRef.current ), + 'onMarkFormatting', + [ color ] + ); + } + _onPress( event ) { if ( ! this.isFocused() ) { this.focus(); // Call to move the focus in RN way (TextInputState) From 7ab4120b1aa017f3c437b1c49584ceff42cf8093 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 12 Jan 2024 19:16:14 +0100 Subject: [PATCH 09/26] Update Aztec ref --- packages/react-native-editor/ios/Podfile | 2 +- packages/react-native-editor/ios/Podfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/react-native-editor/ios/Podfile b/packages/react-native-editor/ios/Podfile index a21d51c665b24e..c3495c62527bc0 100644 --- a/packages/react-native-editor/ios/Podfile +++ b/packages/react-native-editor/ios/Podfile @@ -3,7 +3,7 @@ project 'GutenbergDemo.xcodeproj' require_relative '../../../node_modules/react-native/scripts/react_native_pods' require_relative '../../../node_modules/@react-native-community/cli-platform-ios/native_modules' -pod 'WordPress-Aztec-iOS', :git => 'https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git', :commit => 'fadc31252f74cd0d8e131e17266794bce964f373' +pod 'WordPress-Aztec-iOS', :git => 'https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git', :commit => '42485a778fe1966c9e0950b5e0e2e8b796f4eed0' # Uncomment the next line to define a global platform for your project app_ios_deployment_target = Gem::Version.new('13.0') diff --git a/packages/react-native-editor/ios/Podfile.lock b/packages/react-native-editor/ios/Podfile.lock index e76fb3fe31f7aa..d3da1511200f6d 100644 --- a/packages/react-native-editor/ios/Podfile.lock +++ b/packages/react-native-editor/ios/Podfile.lock @@ -494,7 +494,7 @@ DEPENDENCIES: - RNScreens (from `../../../node_modules/react-native-screens`) - RNSVG (from `../../../node_modules/react-native-svg`) - RNTAztecView (from `../../react-native-aztec`) - - WordPress-Aztec-iOS (from `https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git`, commit `fadc31252f74cd0d8e131e17266794bce964f373`) + - WordPress-Aztec-iOS (from `https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git`, commit `42485a778fe1966c9e0950b5e0e2e8b796f4eed0`) - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -607,14 +607,14 @@ EXTERNAL SOURCES: RNTAztecView: :path: "../../react-native-aztec" WordPress-Aztec-iOS: - :commit: fadc31252f74cd0d8e131e17266794bce964f373 + :commit: 42485a778fe1966c9e0950b5e0e2e8b796f4eed0 :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git Yoga: :path: "../../../node_modules/react-native/ReactCommon/yoga" CHECKOUT OPTIONS: WordPress-Aztec-iOS: - :commit: fadc31252f74cd0d8e131e17266794bce964f373 + :commit: 42485a778fe1966c9e0950b5e0e2e8b796f4eed0 :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git SPEC CHECKSUMS: @@ -676,6 +676,6 @@ SPEC CHECKSUMS: WordPress-Aztec-iOS: fbebd569c61baa252b3f5058c0a2a9a6ada686bb Yoga: f7decafdc5e8c125e6fa0da38a687e35238420fa -PODFILE CHECKSUM: d8a621db821a214a154b7382ed2a8da6e6b08da9 +PODFILE CHECKSUM: 11877db46b31912ac3969f4dd56f312893ce574e COCOAPODS: 1.11.3 From 031207c73c0f0266266f72a28e239bd70acbb289 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 19 Jan 2024 13:20:46 +0100 Subject: [PATCH 10/26] Add text-color formatting in activeFormats --- .../block-editor/src/components/rich-text/native/index.native.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/block-editor/src/components/rich-text/native/index.native.js b/packages/block-editor/src/components/rich-text/native/index.native.js index aa38f80a66dbd5..1f536011b35b6f 100644 --- a/packages/block-editor/src/components/rich-text/native/index.native.js +++ b/packages/block-editor/src/components/rich-text/native/index.native.js @@ -94,6 +94,7 @@ const gutenbergFormatNamesToAztec = { 'core/bold': 'bold', 'core/italic': 'italic', 'core/strikethrough': 'strikethrough', + 'core/text-color': 'mark', }; const EMPTY_PARAGRAPH_TAGS = '

'; From d5564a60fa133993c123f52a1f7ca6f5c802992d Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 19 Jan 2024 13:23:34 +0100 Subject: [PATCH 11/26] Handle onMarkFormatting on the Android side as well --- .../ReactNativeAztec/ReactAztecManager.java | 17 ++++++++++++++ .../ReactNativeAztec/ReactAztecText.java | 22 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecManager.java b/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecManager.java index 1e3e90c3a48442..ed2a0284c17822 100644 --- a/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecManager.java +++ b/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecManager.java @@ -51,6 +51,7 @@ import org.wordpress.aztec.glideloader.GlideImageLoader; import org.wordpress.aztec.glideloader.GlideVideoThumbnailLoader; import org.wordpress.aztec.plugins.CssUnderlinePlugin; +import org.wordpress.aztec.plugins.MarkPlugin; import org.wordpress.aztec.plugins.shortcodes.AudioShortcodePlugin; import org.wordpress.aztec.plugins.shortcodes.CaptionShortcodePlugin; import org.wordpress.aztec.plugins.shortcodes.VideoShortcodePlugin; @@ -124,6 +125,7 @@ protected ReactAztecText createViewInstance(ThemedReactContext reactContext) { Color.parseColor("#016087"), true) )); aztecText.addPlugin(new CssUnderlinePlugin()); + aztecText.addPlugin(new MarkPlugin()); return aztecText; } @@ -651,6 +653,21 @@ public void run() { } else if (commandType.equals("blur")) { parent.clearFocusFromJS(); return; + } else if (commandType.equals("onMarkFormatting")) { + String colorString; + Boolean resetColor; + + if (args != null && args.getString(0) != null) { + colorString = args.getString(0); + } else { + colorString = ""; + } + + parent.onMarkFormatting(colorString); + return; + } else if (commandType.equals("onRemoveMarkFormatting")) { + // This is handled by setActiveFormats + return; } super.receiveCommand(parent, commandType, args); } diff --git a/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index 380cdd1c5d6132..ce353ea4026d94 100644 --- a/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -238,6 +238,27 @@ void clearFocusFromJS() { clearFocus(); } + public void onMarkFormatting(String colorString) { + ArrayList appliedStyles = getAppliedStyles(getSelectionStart(), getSelectionEnd()); + inlineFormatter.setMarkStyleColor(colorString); + + if (appliedStyles.contains(AztecTextFormat.FORMAT_MARK)) { + inlineFormatter.updateMarkStyle(getSelectionStart(), getSelectionEnd()); + return; + } + + Set selectedStylesSet = new HashSet<>(getSelectedStyles()); + Set newFormatsSet = new HashSet<>(); + newFormatsSet.add(AztecTextFormat.FORMAT_MARK); + + selectedStylesSet.removeAll(typingFormatsMap.keySet()); + selectedStylesSet.addAll(newFormatsSet); + + ArrayList newStylesList = new ArrayList<>(selectedStylesSet); + setSelectedStyles(newStylesList); + updateToolbarButtons(newStylesList); + } + @Override public void clearFocus() { setFocusableInTouchMode(false); @@ -580,6 +601,7 @@ public void setActiveFormats(Iterable newFormats) { break; case "underline": newFormatsSet.add(AztecTextFormat.FORMAT_UNDERLINE); + break; case "mark": newFormatsSet.add(AztecTextFormat.FORMAT_MARK); break; From 19c09da9199f9f6b7a23d64de42d6dd845bc8b59 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 19 Jan 2024 14:20:30 +0100 Subject: [PATCH 12/26] Removes highlight text test when there's no selection since this is managed by the native Aztec library --- .../test/__snapshots__/index.native.js.snap | 6 --- .../src/text-color/test/index.native.js | 43 ++----------------- 2 files changed, 4 insertions(+), 45 deletions(-) diff --git a/packages/format-library/src/text-color/test/__snapshots__/index.native.js.snap b/packages/format-library/src/text-color/test/__snapshots__/index.native.js.snap index ed9d406449e312..8b64c8e7987915 100644 --- a/packages/format-library/src/text-color/test/__snapshots__/index.native.js.snap +++ b/packages/format-library/src/text-color/test/__snapshots__/index.native.js.snap @@ -6,12 +6,6 @@ exports[`Text color allows toggling the highlight color feature to selected text " `; -exports[`Text color allows toggling the highlight color feature to type new text 1`] = ` -" -

-" -`; - exports[`Text color creates a paragraph block with the text color format 1`] = ` "

Hello this is a test

diff --git a/packages/format-library/src/text-color/test/index.native.js b/packages/format-library/src/text-color/test/index.native.js index 2ff9b5edfac219..decfebe6c53bb0 100644 --- a/packages/format-library/src/text-color/test/index.native.js +++ b/packages/format-library/src/text-color/test/index.native.js @@ -64,45 +64,6 @@ describe( 'Text color', () => { expect( textColorButton ).toBeDefined(); } ); - it( 'allows toggling the highlight color feature to type new text', async () => { - const screen = await initializeEditor(); - - // Wait for the editor placeholder - const paragraphPlaceholder = await screen.findByLabelText( - 'Add paragraph block' - ); - expect( paragraphPlaceholder ).toBeDefined(); - fireEvent.press( paragraphPlaceholder ); - - // Wait for the block to be created - const [ paragraphBlock ] = await screen.findAllByLabelText( - /Paragraph Block\. Row 1/ - ); - expect( paragraphBlock ).toBeDefined(); - - // Look for the highlight text color button - const textColorButton = await screen.findByLabelText( 'Text color' ); - expect( textColorButton ).toBeDefined(); - fireEvent.press( textColorButton ); - - // Wait for Inline color modal to be visible - const inlineTextColorModal = screen.getByTestId( - 'inline-text-color-modal' - ); - await waitFor( () => inlineTextColorModal.props.isVisible ); - - // Look for the pink color button - const pinkColorButton = await screen.findByA11yHint( COLOR_PINK ); - expect( pinkColorButton ).toBeDefined(); - fireEvent.press( pinkColorButton ); - // TODO(jest-console): Fix the warning and remove the expect below. - expect( console ).toHaveWarnedWith( - `Non-serializable values were found in the navigation state. Check:\n\ntext-color > Palette > params.onColorChange (Function)\n\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.` - ); - - expect( getEditorHtml() ).toMatchSnapshot(); - } ); - it( 'allows toggling the highlight color feature to selected text', async () => { const screen = await initializeEditor(); const text = 'Hello this is a test'; @@ -145,6 +106,10 @@ describe( 'Text color', () => { const pinkColorButton = await screen.findByA11yHint( COLOR_PINK ); expect( pinkColorButton ).toBeDefined(); fireEvent.press( pinkColorButton ); + // TODO(jest-console): Fix the warning and remove the expect below. + expect( console ).toHaveWarnedWith( + `Non-serializable values were found in the navigation state. Check:\n\ntext-color > Palette > params.onColorChange (Function)\n\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.` + ); expect( getEditorHtml() ).toMatchSnapshot(); } ); From 05d67ae8e39de8155403a597bc8ce1ae372ae5cf Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 19 Jan 2024 14:59:17 +0100 Subject: [PATCH 13/26] Update Aztec ref --- packages/react-native-aztec/android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native-aztec/android/build.gradle b/packages/react-native-aztec/android/build.gradle index 18093ff1c2c136..5fe4a5b04066d9 100644 --- a/packages/react-native-aztec/android/build.gradle +++ b/packages/react-native-aztec/android/build.gradle @@ -11,7 +11,7 @@ buildscript { espressoVersion = '3.0.1' // libs - aztecVersion = 'v1.9.0' + aztecVersion = '1073-4f79f246daa17f0be0eed60a890033c73da41f7f' wordpressUtilsVersion = '3.3.0' // main From c644e9a3027da6859788938295a85f0b98494e1d Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 19 Jan 2024 15:00:51 +0100 Subject: [PATCH 14/26] Update Aztec ref --- packages/react-native-editor/ios/Podfile | 2 +- packages/react-native-editor/ios/Podfile.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/react-native-editor/ios/Podfile b/packages/react-native-editor/ios/Podfile index c3495c62527bc0..5ac1e250fbc494 100644 --- a/packages/react-native-editor/ios/Podfile +++ b/packages/react-native-editor/ios/Podfile @@ -3,7 +3,7 @@ project 'GutenbergDemo.xcodeproj' require_relative '../../../node_modules/react-native/scripts/react_native_pods' require_relative '../../../node_modules/@react-native-community/cli-platform-ios/native_modules' -pod 'WordPress-Aztec-iOS', :git => 'https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git', :commit => '42485a778fe1966c9e0950b5e0e2e8b796f4eed0' +pod 'WordPress-Aztec-iOS', :git => 'https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git', :commit => '87123879b35a681eca6e32187e06eefae36a9ec9' # Uncomment the next line to define a global platform for your project app_ios_deployment_target = Gem::Version.new('13.0') diff --git a/packages/react-native-editor/ios/Podfile.lock b/packages/react-native-editor/ios/Podfile.lock index a289b081cf49d3..8cc1925666d396 100644 --- a/packages/react-native-editor/ios/Podfile.lock +++ b/packages/react-native-editor/ios/Podfile.lock @@ -494,7 +494,7 @@ DEPENDENCIES: - RNScreens (from `../../../node_modules/react-native-screens`) - RNSVG (from `../../../node_modules/react-native-svg`) - RNTAztecView (from `../../react-native-aztec`) - - WordPress-Aztec-iOS (from `https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git`, commit `42485a778fe1966c9e0950b5e0e2e8b796f4eed0`) + - WordPress-Aztec-iOS (from `https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git`, commit `87123879b35a681eca6e32187e06eefae36a9ec9`) - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -607,18 +607,18 @@ EXTERNAL SOURCES: RNTAztecView: :path: "../../react-native-aztec" WordPress-Aztec-iOS: - :commit: 42485a778fe1966c9e0950b5e0e2e8b796f4eed0 + :commit: 87123879b35a681eca6e32187e06eefae36a9ec9 :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git Yoga: :path: "../../../node_modules/react-native/ReactCommon/yoga" CHECKOUT OPTIONS: WordPress-Aztec-iOS: - :commit: 42485a778fe1966c9e0950b5e0e2e8b796f4eed0 + :commit: 87123879b35a681eca6e32187e06eefae36a9ec9 :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git SPEC CHECKSUMS: - boost: 7dcd2de282d72e344012f7d6564d024930a6a440 + boost: 57d2868c099736d80fcd648bf211b4431e51a558 BVLinearGradient: fbe308a1d19a8133f69e033abc85d8008644f5e3 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 FBLazyVector: c511d4cd0210f416cb5c289bd5ae6b36d909b048 @@ -676,6 +676,6 @@ SPEC CHECKSUMS: WordPress-Aztec-iOS: fbebd569c61baa252b3f5058c0a2a9a6ada686bb Yoga: f7decafdc5e8c125e6fa0da38a687e35238420fa -PODFILE CHECKSUM: 11877db46b31912ac3969f4dd56f312893ce574e +PODFILE CHECKSUM: 42f6010d8650a5bd98d12cb2f19743ccdcdb0faa COCOAPODS: 1.11.3 From ef3a25e01fd2b440d1b80b71a60ba9fe7ed14961 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 22 Jan 2024 19:27:14 +0100 Subject: [PATCH 15/26] Fix onMarkFormatting logic --- .../wordpress/mobile/ReactNativeAztec/ReactAztecText.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index ce353ea4026d94..e55f27d63b529f 100644 --- a/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/packages/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -239,14 +239,8 @@ void clearFocusFromJS() { } public void onMarkFormatting(String colorString) { - ArrayList appliedStyles = getAppliedStyles(getSelectionStart(), getSelectionEnd()); inlineFormatter.setMarkStyleColor(colorString); - if (appliedStyles.contains(AztecTextFormat.FORMAT_MARK)) { - inlineFormatter.updateMarkStyle(getSelectionStart(), getSelectionEnd()); - return; - } - Set selectedStylesSet = new HashSet<>(getSelectedStyles()); Set newFormatsSet = new HashSet<>(); newFormatsSet.add(AztecTextFormat.FORMAT_MARK); From 4c545f618ee21defba5efbfb6ebb3a452f11bc14 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 22 Jan 2024 19:51:47 +0100 Subject: [PATCH 16/26] Update Aztec version --- packages/react-native-aztec/android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native-aztec/android/build.gradle b/packages/react-native-aztec/android/build.gradle index 5fe4a5b04066d9..2432457eb532e9 100644 --- a/packages/react-native-aztec/android/build.gradle +++ b/packages/react-native-aztec/android/build.gradle @@ -11,7 +11,7 @@ buildscript { espressoVersion = '3.0.1' // libs - aztecVersion = '1073-4f79f246daa17f0be0eed60a890033c73da41f7f' + aztecVersion = '1073-9b97880c701a493dbce23c401e2d2453a6e1e089' wordpressUtilsVersion = '3.3.0' // main From 3958f6928cdb5628de6d8531d202340e68e84d64 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 22 Jan 2024 22:46:34 +0100 Subject: [PATCH 17/26] Palette screen - Add accessibility label --- .../src/mobile/color-settings/palette.screen.native.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/components/src/mobile/color-settings/palette.screen.native.js b/packages/components/src/mobile/color-settings/palette.screen.native.js index fcf03f9ecd4483..1ec9421e87da5a 100644 --- a/packages/components/src/mobile/color-settings/palette.screen.native.js +++ b/packages/components/src/mobile/color-settings/palette.screen.native.js @@ -112,7 +112,11 @@ const PaletteScreen = () => { function getClearButton() { return ( - + { __( 'Reset' ) } From d8c6e5a20ab86012736cd182c8e641c847a959d3 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 22 Jan 2024 22:48:06 +0100 Subject: [PATCH 18/26] E2E Helpers - Adds typeKeyString and toggleHighlightColor --- .../__device-tests__/pages/editor-page.js | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/react-native-editor/__device-tests__/pages/editor-page.js b/packages/react-native-editor/__device-tests__/pages/editor-page.js index fe3f410601a8dc..49c488b011a576 100644 --- a/packages/react-native-editor/__device-tests__/pages/editor-page.js +++ b/packages/react-native-editor/__device-tests__/pages/editor-page.js @@ -107,6 +107,16 @@ class EditorPage { await typeString( this.driver, block, text, clear ); } + async typeKeyString( inputString ) { + const actions = this.driver.action( 'key' ); + + for ( const char of inputString ) { + await actions.down( char ).up( char ); + } + + await actions.perform(); + } + async pasteClipboardToTextBlock( element, { timeout = 1000 } = {} ) { if ( this.driver.isAndroid ) { await longPressMiddleOfElement( this.driver, element ); @@ -728,6 +738,22 @@ class EditorPage { await element.click(); } + async toggleHighlightColor( color ) { + await this.toggleFormatting( 'Text color' ); + let element = `~${ color }`; + + if ( ! color ) { + element = isAndroid() + ? '~Clear selected color' + : '(//XCUIElementTypeOther[@name="Clear selected color"])[2]'; + } + + await this.driver.waitUntil( this.driver.$( element ).isDisplayed ); + const button = await this.driver.$( element ); + await button.click(); + await this.dismissBottomSheet(); + } + // ========================= // Paragraph Block functions // ========================= From 207d93b77e6af7163f996e620ad12ab49131da3a Mon Sep 17 00:00:00 2001 From: Gerardo Date: Tue, 23 Jan 2024 18:46:03 +0100 Subject: [PATCH 19/26] Update Aztec ref --- packages/react-native-editor/ios/Podfile | 2 +- packages/react-native-editor/ios/Podfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/react-native-editor/ios/Podfile b/packages/react-native-editor/ios/Podfile index 5ac1e250fbc494..2f71d147c452a6 100644 --- a/packages/react-native-editor/ios/Podfile +++ b/packages/react-native-editor/ios/Podfile @@ -3,7 +3,7 @@ project 'GutenbergDemo.xcodeproj' require_relative '../../../node_modules/react-native/scripts/react_native_pods' require_relative '../../../node_modules/@react-native-community/cli-platform-ios/native_modules' -pod 'WordPress-Aztec-iOS', :git => 'https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git', :commit => '87123879b35a681eca6e32187e06eefae36a9ec9' +pod 'WordPress-Aztec-iOS', :git => 'https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git', :commit => 'a41d881f6a831fecef9e6400e69a64aafe80d9ac' # Uncomment the next line to define a global platform for your project app_ios_deployment_target = Gem::Version.new('13.0') diff --git a/packages/react-native-editor/ios/Podfile.lock b/packages/react-native-editor/ios/Podfile.lock index 8cc1925666d396..ce2bc32266c178 100644 --- a/packages/react-native-editor/ios/Podfile.lock +++ b/packages/react-native-editor/ios/Podfile.lock @@ -494,7 +494,7 @@ DEPENDENCIES: - RNScreens (from `../../../node_modules/react-native-screens`) - RNSVG (from `../../../node_modules/react-native-svg`) - RNTAztecView (from `../../react-native-aztec`) - - WordPress-Aztec-iOS (from `https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git`, commit `87123879b35a681eca6e32187e06eefae36a9ec9`) + - WordPress-Aztec-iOS (from `https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git`, commit `a41d881f6a831fecef9e6400e69a64aafe80d9ac`) - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -607,14 +607,14 @@ EXTERNAL SOURCES: RNTAztecView: :path: "../../react-native-aztec" WordPress-Aztec-iOS: - :commit: 87123879b35a681eca6e32187e06eefae36a9ec9 + :commit: a41d881f6a831fecef9e6400e69a64aafe80d9ac :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git Yoga: :path: "../../../node_modules/react-native/ReactCommon/yoga" CHECKOUT OPTIONS: WordPress-Aztec-iOS: - :commit: 87123879b35a681eca6e32187e06eefae36a9ec9 + :commit: a41d881f6a831fecef9e6400e69a64aafe80d9ac :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git SPEC CHECKSUMS: @@ -676,6 +676,6 @@ SPEC CHECKSUMS: WordPress-Aztec-iOS: fbebd569c61baa252b3f5058c0a2a9a6ada686bb Yoga: f7decafdc5e8c125e6fa0da38a687e35238420fa -PODFILE CHECKSUM: 42f6010d8650a5bd98d12cb2f19743ccdcdb0faa +PODFILE CHECKSUM: 133bd26ceb1cd0eccd673626bef31c609de3fa50 COCOAPODS: 1.11.3 From 620ced08b4fd730864820dfa0fdc6af72a5a5dd0 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Wed, 24 Jan 2024 11:25:42 +0100 Subject: [PATCH 20/26] Bring back calling toggleMark when activeFormats is set for the Mark for matting when there are no selected characters. This is important to remove the format when it shouldn't be active --- .../ios/RNTAztecView/RCTAztecView.swift | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift b/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift index 5223487d689e2e..08941470032a52 100644 --- a/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift +++ b/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift @@ -734,8 +734,13 @@ class RCTAztecView: Aztec.TextView { case "bold": toggleBold(range: emptyRange) case "italic": toggleItalic(range: emptyRange) case "strikethrough": toggleStrikethrough(range: emptyRange) - // This case is handled by the AztecViewManager. - case "mark": return + case "mark": + // When there's a selection the formatting is applied from the RichText library. + // If not, it will toggle the active mark format if needed. + if selectedRange.length > 0 { + return + } + toggleMark(range: emptyRange, color: nil, resetColor: true) default: print("Format not recognized") } } From 93b6ea6ad0d7a507234944c49b3c69007c53d2be Mon Sep 17 00:00:00 2001 From: Gerardo Date: Thu, 7 Mar 2024 11:29:47 +0100 Subject: [PATCH 21/26] Update Changelog --- packages/react-native-editor/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/react-native-editor/CHANGELOG.md b/packages/react-native-editor/CHANGELOG.md index 32f7ce1369de18..baf1e58a01153c 100644 --- a/packages/react-native-editor/CHANGELOG.md +++ b/packages/react-native-editor/CHANGELOG.md @@ -13,6 +13,7 @@ For each user feature we should also add a importance categorization label to i - [*] Improve consistency of the block outline indicating the currently selected block [#59415] - [*] Gallery block items with in-progress, paused, or failed media uploads correctly display an highlight outline when selected [#59423] - [**] [internal] Upgrade React Native to version 0.73.3 [#58475] +- [**] Highlight color formatting style improvements [#57650] ## 1.114.0 - [*] Prevent crash when autoscrolling to blocks [#59110] From b9697d5a6941d620f8b41f847e442be710ffc278 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Thu, 7 Mar 2024 11:41:18 +0100 Subject: [PATCH 22/26] Update Podfile --- .../ios/GutenbergDemo.xcodeproj/project.pbxproj | 8 ++++---- packages/react-native-editor/ios/Podfile.lock | 16 ++++++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj b/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj index d030a192e1afd1..3f356414ef2b87 100644 --- a/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj +++ b/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj @@ -353,6 +353,7 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-GutenbergDemo-GutenbergDemoTests/Pods-GutenbergDemo-GutenbergDemoTests-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS-framework/WordPress-Aztec-iOS.bundle", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/content-functions.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-behavior-overrides.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-style-overrides.css", @@ -363,10 +364,10 @@ "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/prevent-autosaves.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/wp-bar-override.css", "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS/WordPress-Aztec-iOS.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/content-functions.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-behavior-overrides.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-style-overrides.css", @@ -377,7 +378,6 @@ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/prevent-autosaves.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/wp-bar-override.css", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -453,6 +453,7 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-GutenbergDemo/Pods-GutenbergDemo-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS-framework/WordPress-Aztec-iOS.bundle", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/content-functions.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-behavior-overrides.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-style-overrides.css", @@ -463,10 +464,10 @@ "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/prevent-autosaves.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/wp-bar-override.css", "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS/WordPress-Aztec-iOS.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/content-functions.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-behavior-overrides.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-style-overrides.css", @@ -477,7 +478,6 @@ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/prevent-autosaves.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/wp-bar-override.css", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; diff --git a/packages/react-native-editor/ios/Podfile.lock b/packages/react-native-editor/ios/Podfile.lock index 55c37b287fb20e..147a796ea024fd 100644 --- a/packages/react-native-editor/ios/Podfile.lock +++ b/packages/react-native-editor/ios/Podfile.lock @@ -1190,6 +1190,7 @@ DEPENDENCIES: - RNScreens (from `../../../node_modules/react-native-screens`) - RNSVG (from `../../../node_modules/react-native-svg`) - RNTAztecView (from `../../react-native-aztec`) + - WordPress-Aztec-iOS (from `https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git`, commit `a41d881f6a831fecef9e6400e69a64aafe80d9ac`) - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -1200,7 +1201,6 @@ SPEC REPOS: - SDWebImage - SDWebImageWebPCoder - SocketRocket - - WordPress-Aztec-iOS EXTERNAL SOURCES: boost: @@ -1332,17 +1332,25 @@ EXTERNAL SOURCES: :path: "../../../node_modules/react-native-svg" RNTAztecView: :path: "../../react-native-aztec" + WordPress-Aztec-iOS: + :commit: a41d881f6a831fecef9e6400e69a64aafe80d9ac + :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git Yoga: :path: "../../../node_modules/react-native/ReactCommon/yoga" +CHECKOUT OPTIONS: + WordPress-Aztec-iOS: + :commit: a41d881f6a831fecef9e6400e69a64aafe80d9ac + :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git + SPEC CHECKSUMS: boost: d3f49c53809116a5d38da093a8aa78bf551aed09 BVLinearGradient: fbe308a1d19a8133f69e033abc85d8008644f5e3 - DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 + DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953 FBLazyVector: 70590b4f9e8ae9b0ce076efacea3abd7bc585ace FBReactNativeSpec: 73b3972e2bd20b3235ff2014f06a3d3af675ed29 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 - glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b + glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2 Gutenberg: 76d20cd7f0489c9e73d94616eb59593560a04941 hermes-engine: 5420539d016f368cd27e008f65f777abd6098c56 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 @@ -1409,6 +1417,6 @@ SPEC CHECKSUMS: WordPress-Aztec-iOS: fbebd569c61baa252b3f5058c0a2a9a6ada686bb Yoga: ff0382b894475dba0b4d2a5fda860bfee5a9afad -PODFILE CHECKSUM: 4684cf41ccdeb5f720da9f11c8904f21ad9fcc7f +PODFILE CHECKSUM: ea6b5fb1749cb8bf26e491208aff7b540d63776e COCOAPODS: 1.14.3 From 99b9fad2c6907e293f8282f51dcd107f030789fd Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 18 Mar 2024 12:46:15 +0100 Subject: [PATCH 23/26] Update Podfile.lock --- packages/react-native-editor/ios/Podfile.lock | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/react-native-editor/ios/Podfile.lock b/packages/react-native-editor/ios/Podfile.lock index 062128a7b5b99f..fcb77a973d6f89 100644 --- a/packages/react-native-editor/ios/Podfile.lock +++ b/packages/react-native-editor/ios/Podfile.lock @@ -1190,6 +1190,7 @@ DEPENDENCIES: - RNScreens (from `../../../node_modules/react-native-screens`) - RNSVG (from `../../../node_modules/react-native-svg`) - RNTAztecView (from `../../react-native-aztec`) + - WordPress-Aztec-iOS (from `https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git`, commit `a41d881f6a831fecef9e6400e69a64aafe80d9ac`) - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -1200,7 +1201,6 @@ SPEC REPOS: - SDWebImage - SDWebImageWebPCoder - SocketRocket - - WordPress-Aztec-iOS EXTERNAL SOURCES: boost: @@ -1332,9 +1332,17 @@ EXTERNAL SOURCES: :path: "../../../node_modules/react-native-svg" RNTAztecView: :path: "../../react-native-aztec" + WordPress-Aztec-iOS: + :commit: a41d881f6a831fecef9e6400e69a64aafe80d9ac + :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git Yoga: :path: "../../../node_modules/react-native/ReactCommon/yoga" +CHECKOUT OPTIONS: + WordPress-Aztec-iOS: + :commit: a41d881f6a831fecef9e6400e69a64aafe80d9ac + :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git + SPEC CHECKSUMS: boost: d3f49c53809116a5d38da093a8aa78bf551aed09 BVLinearGradient: fbe308a1d19a8133f69e033abc85d8008644f5e3 @@ -1409,6 +1417,6 @@ SPEC CHECKSUMS: WordPress-Aztec-iOS: fbebd569c61baa252b3f5058c0a2a9a6ada686bb Yoga: ff0382b894475dba0b4d2a5fda860bfee5a9afad -PODFILE CHECKSUM: 4684cf41ccdeb5f720da9f11c8904f21ad9fcc7f +PODFILE CHECKSUM: ea6b5fb1749cb8bf26e491208aff7b540d63776e COCOAPODS: 1.14.3 From 8bf9e2027de8fb7a18ad80576df8a2fc8344d34a Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 18 Mar 2024 14:39:08 +0100 Subject: [PATCH 24/26] getFormatColors - Fix appending undefined values --- .../src/components/rich-text/native/get-format-colors.native.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/block-editor/src/components/rich-text/native/get-format-colors.native.js b/packages/block-editor/src/components/rich-text/native/get-format-colors.native.js index b68186246523f9..bd3c9171c8c73f 100644 --- a/packages/block-editor/src/components/rich-text/native/get-format-colors.native.js +++ b/packages/block-editor/src/components/rich-text/native/get-format-colors.native.js @@ -27,7 +27,7 @@ export function getFormatColors( formats, colors ) { ); const currentStyles = currentFormat?.attributes?.style; if ( - colorObject && + colorObject?.color && ( ! currentStyles || currentStyles?.indexOf( colorObject.color ) === -1 ) From 40ce1d82100d35247e2d9a999a3f0b412e639ffe Mon Sep 17 00:00:00 2001 From: Gerardo Date: Thu, 21 Mar 2024 12:56:09 +0100 Subject: [PATCH 25/26] Update Aztec version --- packages/react-native-aztec/android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native-aztec/android/build.gradle b/packages/react-native-aztec/android/build.gradle index 4c3136c5e08f0f..744ff6a6077a93 100644 --- a/packages/react-native-aztec/android/build.gradle +++ b/packages/react-native-aztec/android/build.gradle @@ -11,7 +11,7 @@ buildscript { espressoVersion = '3.0.1' // libs - aztecVersion = '1073-9b97880c701a493dbce23c401e2d2453a6e1e089' + aztecVersion = 'v2.1.0' wordpressUtilsVersion = '3.3.0' // main From ccdb6290a6937ea186f0390abc2ae55c696d80bf Mon Sep 17 00:00:00 2001 From: Gerardo Date: Thu, 21 Mar 2024 15:49:11 +0100 Subject: [PATCH 26/26] Update Aztec to 1.19.11 --- .../react-native-aztec/RNTAztecView.podspec | 2 +- .../GutenbergDemo.xcodeproj/project.pbxproj | 8 ++++---- packages/react-native-editor/ios/Podfile | 2 -- packages/react-native-editor/ios/Podfile.lock | 20 ++++++------------- 4 files changed, 11 insertions(+), 21 deletions(-) diff --git a/packages/react-native-aztec/RNTAztecView.podspec b/packages/react-native-aztec/RNTAztecView.podspec index bb94b08f581fd0..ac3ad06b0d865b 100644 --- a/packages/react-native-aztec/RNTAztecView.podspec +++ b/packages/react-native-aztec/RNTAztecView.podspec @@ -22,5 +22,5 @@ Pod::Spec.new do |s| s.dependency 'React-Core' # Intentionally locked because of how it's integrated. # See https://github.com/WordPress/gutenberg/pull/54453#discussion_r1325582749 - s.dependency 'WordPress-Aztec-iOS', '1.19.9' + s.dependency 'WordPress-Aztec-iOS', '1.19.11' end diff --git a/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj b/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj index 9c5d444712a7b2..4b6938198c9423 100644 --- a/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj +++ b/packages/react-native-editor/ios/GutenbergDemo.xcodeproj/project.pbxproj @@ -353,7 +353,6 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-GutenbergDemo-GutenbergDemoTests/Pods-GutenbergDemo-GutenbergDemoTests-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS-framework/WordPress-Aztec-iOS.bundle", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/content-functions.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-behavior-overrides.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-style-overrides.css", @@ -364,10 +363,10 @@ "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/prevent-autosaves.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/wp-bar-override.css", "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS/WordPress-Aztec-iOS.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/content-functions.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-behavior-overrides.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-style-overrides.css", @@ -378,6 +377,7 @@ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/prevent-autosaves.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/wp-bar-override.css", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -453,7 +453,6 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-GutenbergDemo/Pods-GutenbergDemo-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS-framework/WordPress-Aztec-iOS.bundle", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/content-functions.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-behavior-overrides.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/editor-style-overrides.css", @@ -464,10 +463,10 @@ "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/prevent-autosaves.js", "${PODS_ROOT}/../../../react-native-bridge/common/gutenberg-web-single-block/wp-bar-override.css", "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/WordPress-Aztec-iOS/WordPress-Aztec-iOS.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/content-functions.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-behavior-overrides.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/editor-style-overrides.css", @@ -478,6 +477,7 @@ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/prevent-autosaves.js", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/wp-bar-override.css", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/WordPress-Aztec-iOS.bundle", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; diff --git a/packages/react-native-editor/ios/Podfile b/packages/react-native-editor/ios/Podfile index 383aa0a58491b8..98187435f5b457 100644 --- a/packages/react-native-editor/ios/Podfile +++ b/packages/react-native-editor/ios/Podfile @@ -7,8 +7,6 @@ require Pod::Executable.execute_command('node', ['-p', {paths: [process.argv[1]]}, )', __dir__]).strip -pod 'WordPress-Aztec-iOS', :git => 'https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git', :commit => 'a41d881f6a831fecef9e6400e69a64aafe80d9ac' - # Uncomment the next line to define a global platform for your project app_ios_deployment_target = Gem::Version.new('13.4') platform :ios, app_ios_deployment_target.version diff --git a/packages/react-native-editor/ios/Podfile.lock b/packages/react-native-editor/ios/Podfile.lock index fcb77a973d6f89..f3a7bff4e105b5 100644 --- a/packages/react-native-editor/ios/Podfile.lock +++ b/packages/react-native-editor/ios/Podfile.lock @@ -1111,7 +1111,7 @@ PODS: - React-Core - RNTAztecView (1.115.0): - React-Core - - WordPress-Aztec-iOS (= 1.19.9) + - WordPress-Aztec-iOS (= 1.19.11) - SDWebImage (5.11.1): - SDWebImage/Core (= 5.11.1) - SDWebImage/Core (5.11.1) @@ -1119,7 +1119,7 @@ PODS: - libwebp (~> 1.0) - SDWebImage/Core (~> 5.10) - SocketRocket (0.6.1) - - WordPress-Aztec-iOS (1.19.9) + - WordPress-Aztec-iOS (1.19.11) - Yoga (1.14.0) DEPENDENCIES: @@ -1190,7 +1190,6 @@ DEPENDENCIES: - RNScreens (from `../../../node_modules/react-native-screens`) - RNSVG (from `../../../node_modules/react-native-svg`) - RNTAztecView (from `../../react-native-aztec`) - - WordPress-Aztec-iOS (from `https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git`, commit `a41d881f6a831fecef9e6400e69a64aafe80d9ac`) - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -1201,6 +1200,7 @@ SPEC REPOS: - SDWebImage - SDWebImageWebPCoder - SocketRocket + - WordPress-Aztec-iOS EXTERNAL SOURCES: boost: @@ -1332,17 +1332,9 @@ EXTERNAL SOURCES: :path: "../../../node_modules/react-native-svg" RNTAztecView: :path: "../../react-native-aztec" - WordPress-Aztec-iOS: - :commit: a41d881f6a831fecef9e6400e69a64aafe80d9ac - :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git Yoga: :path: "../../../node_modules/react-native/ReactCommon/yoga" -CHECKOUT OPTIONS: - WordPress-Aztec-iOS: - :commit: a41d881f6a831fecef9e6400e69a64aafe80d9ac - :git: https://github.com/wordpress-mobile/WordPress-Aztec-iOS.git - SPEC CHECKSUMS: boost: d3f49c53809116a5d38da093a8aa78bf551aed09 BVLinearGradient: fbe308a1d19a8133f69e033abc85d8008644f5e3 @@ -1410,13 +1402,13 @@ SPEC CHECKSUMS: RNReanimated: 6936b41d8afb97175e7c0ab40425b53103f71046 RNScreens: 2b73f5eb2ac5d94fbd61fa4be0bfebd345716825 RNSVG: 255767813dac22db1ec2062c8b7e7b856d4e5ae6 - RNTAztecView: f9ac93cee7a4cd984d8453a9141058fa22cb9b1a + RNTAztecView: a7f3ef74bdd75250ae479b8027021576047aed0f SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 - WordPress-Aztec-iOS: fbebd569c61baa252b3f5058c0a2a9a6ada686bb + WordPress-Aztec-iOS: 47311b8a342f2b12babb5b8a705ab20b281a83ae Yoga: ff0382b894475dba0b4d2a5fda860bfee5a9afad -PODFILE CHECKSUM: ea6b5fb1749cb8bf26e491208aff7b540d63776e +PODFILE CHECKSUM: 4684cf41ccdeb5f720da9f11c8904f21ad9fcc7f COCOAPODS: 1.14.3