Skip to content
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] Upgrade react-native-modal and other warning fixes #32772

Merged
merged 14 commits into from Jun 17, 2021

Conversation

hypest
Copy link
Contributor

@hypest hypest commented Jun 17, 2021

Bumping the react-native-modal version we use to fix the "Animated.event now requires a second argument for options" log caused by using a fairly old version of the lib.

Took the opportunity to fix more warnings too, see the "Changes" list below.

gutenberg-mobile PR: wordpress-mobile/gutenberg-mobile#3630

How has this been tested?

  • Run the demo app and the various bottom-sheet based UIs should work (e.g. the block picker, the block settings sheet)
  • The warning logs should stop happening

Types of changes

  • Upgrading a library to fix the logs mentioning an function signature mispatch. No actual breakage was noticed.
  • Updating some code sites that use deprecated functions

Changes

  1. Update react-native-modal to remove the "Animated.event now requires a second argument for options" message in the logs when the app starts.
  2. Stop using deprecated Modal.onSwipe and start using Modal.onSwipeComplete as per the message.
  3. Stop using deprecated AccessibilityInfo.fetch and start using AccessibilityInfo.isScreenReaderEnabled as per this note.
  4. Replaced deprecated componentWillUnmount with componentDidMount1. Ensured that the original fix still works.
  5. The nested react-native-editor/Podfile.lock got updated when I ran npm run core ios in gutenberg-mobile, not sure if the changes there are warranted 🤔
  6. Replaced some uses of label-less Toolbar instances as that format is deprecated. Used ToolbarGroup instead, as recommended by the doc. Seems to work fine, while my attempt to add labels actually led to the keyboard dismiss button to get misplaced.
  7. Metro patch to make a warning go away. The same fix is already applied to Metro but RN doesn't have that Metro version yet. See upstream PR here.

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • I've tested my changes with keyboard and screen readers.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR (please manually search all *.native.js files for terms that need renaming or removal).

To fix "Animated.event now requires a second argument for options"
caused by using a fairly old version of the lib.
@hypest hypest requested a review from ceyhun June 17, 2021 11:16
@github-actions
Copy link

github-actions bot commented Jun 17, 2021

Size Change: +93 B (0%)

Total Size: 1.04 MB

Filename Size Change
build/api-fetch/index.min.js 2.44 kB +18 B (+1%)
build/edit-post/index.min.js 58.6 kB +75 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.min.js 1.12 kB 0 B
build/annotations/index.min.js 2.93 kB 0 B
build/autop/index.min.js 2.28 kB 0 B
build/blob/index.min.js 672 B 0 B
build/block-directory/index.min.js 6.61 kB 0 B
build/block-directory/style-rtl.css 989 B 0 B
build/block-directory/style.css 990 B 0 B
build/block-editor/index.min.js 119 kB 0 B
build/block-editor/style-rtl.css 13.5 kB 0 B
build/block-editor/style.css 13.5 kB 0 B
build/block-library/blocks/archives/editor-rtl.css 61 B 0 B
build/block-library/blocks/archives/editor.css 60 B 0 B
build/block-library/blocks/archives/style-rtl.css 65 B 0 B
build/block-library/blocks/archives/style.css 65 B 0 B
build/block-library/blocks/audio/editor-rtl.css 58 B 0 B
build/block-library/blocks/audio/editor.css 58 B 0 B
build/block-library/blocks/audio/style-rtl.css 112 B 0 B
build/block-library/blocks/audio/style.css 112 B 0 B
build/block-library/blocks/audio/theme-rtl.css 125 B 0 B
build/block-library/blocks/audio/theme.css 125 B 0 B
build/block-library/blocks/block/editor-rtl.css 161 B 0 B
build/block-library/blocks/block/editor.css 161 B 0 B
build/block-library/blocks/button/editor-rtl.css 475 B 0 B
build/block-library/blocks/button/editor.css 474 B 0 B
build/block-library/blocks/button/style-rtl.css 603 B 0 B
build/block-library/blocks/button/style.css 602 B 0 B
build/block-library/blocks/buttons/editor-rtl.css 315 B 0 B
build/block-library/blocks/buttons/editor.css 315 B 0 B
build/block-library/blocks/buttons/style-rtl.css 375 B 0 B
build/block-library/blocks/buttons/style.css 375 B 0 B
build/block-library/blocks/calendar/style-rtl.css 208 B 0 B
build/block-library/blocks/calendar/style.css 208 B 0 B
build/block-library/blocks/categories/editor-rtl.css 84 B 0 B
build/block-library/blocks/categories/editor.css 83 B 0 B
build/block-library/blocks/categories/style-rtl.css 79 B 0 B
build/block-library/blocks/categories/style.css 79 B 0 B
build/block-library/blocks/code/style-rtl.css 90 B 0 B
build/block-library/blocks/code/style.css 90 B 0 B
build/block-library/blocks/code/theme-rtl.css 131 B 0 B
build/block-library/blocks/code/theme.css 131 B 0 B
build/block-library/blocks/columns/editor-rtl.css 190 B 0 B
build/block-library/blocks/columns/editor.css 190 B 0 B
build/block-library/blocks/columns/style-rtl.css 422 B 0 B
build/block-library/blocks/columns/style.css 422 B 0 B
build/block-library/blocks/cover/editor-rtl.css 644 B 0 B
build/block-library/blocks/cover/editor.css 646 B 0 B
build/block-library/blocks/cover/style-rtl.css 1.22 kB 0 B
build/block-library/blocks/cover/style.css 1.23 kB 0 B
build/block-library/blocks/embed/editor-rtl.css 486 B 0 B
build/block-library/blocks/embed/editor.css 486 B 0 B
build/block-library/blocks/embed/style-rtl.css 401 B 0 B
build/block-library/blocks/embed/style.css 400 B 0 B
build/block-library/blocks/embed/theme-rtl.css 124 B 0 B
build/block-library/blocks/embed/theme.css 124 B 0 B
build/block-library/blocks/file/editor-rtl.css 301 B 0 B
build/block-library/blocks/file/editor.css 300 B 0 B
build/block-library/blocks/file/frontend.min.js 773 B 0 B
build/block-library/blocks/file/style-rtl.css 255 B 0 B
build/block-library/blocks/file/style.css 255 B 0 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB 0 B
build/block-library/blocks/freeform/editor.css 2.44 kB 0 B
build/block-library/blocks/gallery/editor-rtl.css 704 B 0 B
build/block-library/blocks/gallery/editor.css 705 B 0 B
build/block-library/blocks/gallery/style-rtl.css 1.06 kB 0 B
build/block-library/blocks/gallery/style.css 1.06 kB 0 B
build/block-library/blocks/gallery/theme-rtl.css 122 B 0 B
build/block-library/blocks/gallery/theme.css 122 B 0 B
build/block-library/blocks/group/editor-rtl.css 160 B 0 B
build/block-library/blocks/group/editor.css 160 B 0 B
build/block-library/blocks/group/style-rtl.css 57 B 0 B
build/block-library/blocks/group/style.css 57 B 0 B
build/block-library/blocks/group/theme-rtl.css 93 B 0 B
build/block-library/blocks/group/theme.css 93 B 0 B
build/block-library/blocks/heading/editor-rtl.css 152 B 0 B
build/block-library/blocks/heading/editor.css 152 B 0 B
build/block-library/blocks/heading/style-rtl.css 76 B 0 B
build/block-library/blocks/heading/style.css 76 B 0 B
build/block-library/blocks/home-link/style-rtl.css 259 B 0 B
build/block-library/blocks/home-link/style.css 259 B 0 B
build/block-library/blocks/html/editor-rtl.css 281 B 0 B
build/block-library/blocks/html/editor.css 281 B 0 B
build/block-library/blocks/image/editor-rtl.css 729 B 0 B
build/block-library/blocks/image/editor.css 727 B 0 B
build/block-library/blocks/image/style-rtl.css 481 B 0 B
build/block-library/blocks/image/style.css 485 B 0 B
build/block-library/blocks/image/theme-rtl.css 124 B 0 B
build/block-library/blocks/image/theme.css 124 B 0 B
build/block-library/blocks/latest-comments/style-rtl.css 281 B 0 B
build/block-library/blocks/latest-comments/style.css 282 B 0 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B 0 B
build/block-library/blocks/latest-posts/editor.css 137 B 0 B
build/block-library/blocks/latest-posts/style-rtl.css 529 B 0 B
build/block-library/blocks/latest-posts/style.css 529 B 0 B
build/block-library/blocks/list/style-rtl.css 63 B 0 B
build/block-library/blocks/list/style.css 63 B 0 B
build/block-library/blocks/media-text/editor-rtl.css 176 B 0 B
build/block-library/blocks/media-text/editor.css 176 B 0 B
build/block-library/blocks/media-text/style-rtl.css 492 B 0 B
build/block-library/blocks/media-text/style.css 489 B 0 B
build/block-library/blocks/more/editor-rtl.css 434 B 0 B
build/block-library/blocks/more/editor.css 434 B 0 B
build/block-library/blocks/navigation-link/editor-rtl.css 633 B 0 B
build/block-library/blocks/navigation-link/editor.css 634 B 0 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B 0 B
build/block-library/blocks/navigation-link/style.css 94 B 0 B
build/block-library/blocks/navigation/editor-rtl.css 1.55 kB 0 B
build/block-library/blocks/navigation/editor.css 1.55 kB 0 B
build/block-library/blocks/navigation/frontend.min.js 2.86 kB 0 B
build/block-library/blocks/navigation/style-rtl.css 1.63 kB 0 B
build/block-library/blocks/navigation/style.css 1.63 kB 0 B
build/block-library/blocks/nextpage/editor-rtl.css 395 B 0 B
build/block-library/blocks/nextpage/editor.css 395 B 0 B
build/block-library/blocks/page-list/editor-rtl.css 310 B 0 B
build/block-library/blocks/page-list/editor.css 311 B 0 B
build/block-library/blocks/page-list/style-rtl.css 240 B 0 B
build/block-library/blocks/page-list/style.css 240 B 0 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B 0 B
build/block-library/blocks/paragraph/editor.css 157 B 0 B
build/block-library/blocks/paragraph/style-rtl.css 247 B 0 B
build/block-library/blocks/paragraph/style.css 248 B 0 B
build/block-library/blocks/post-author/editor-rtl.css 209 B 0 B
build/block-library/blocks/post-author/editor.css 209 B 0 B
build/block-library/blocks/post-author/style-rtl.css 183 B 0 B
build/block-library/blocks/post-author/style.css 184 B 0 B
build/block-library/blocks/post-comments-form/style-rtl.css 140 B 0 B
build/block-library/blocks/post-comments-form/style.css 140 B 0 B
build/block-library/blocks/post-comments/style-rtl.css 360 B 0 B
build/block-library/blocks/post-comments/style.css 359 B 0 B
build/block-library/blocks/post-content/editor-rtl.css 139 B 0 B
build/block-library/blocks/post-content/editor.css 139 B 0 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B 0 B
build/block-library/blocks/post-excerpt/editor.css 73 B 0 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B 0 B
build/block-library/blocks/post-excerpt/style.css 69 B 0 B
build/block-library/blocks/post-featured-image/editor-rtl.css 338 B 0 B
build/block-library/blocks/post-featured-image/editor.css 338 B 0 B
build/block-library/blocks/post-featured-image/style-rtl.css 141 B 0 B
build/block-library/blocks/post-featured-image/style.css 141 B 0 B
build/block-library/blocks/post-template/editor-rtl.css 100 B 0 B
build/block-library/blocks/post-template/editor.css 99 B 0 B
build/block-library/blocks/post-template/style-rtl.css 379 B 0 B
build/block-library/blocks/post-template/style.css 380 B 0 B
build/block-library/blocks/post-title/style-rtl.css 60 B 0 B
build/block-library/blocks/post-title/style.css 60 B 0 B
build/block-library/blocks/preformatted/style-rtl.css 103 B 0 B
build/block-library/blocks/preformatted/style.css 103 B 0 B
build/block-library/blocks/pullquote/editor-rtl.css 183 B 0 B
build/block-library/blocks/pullquote/editor.css 183 B 0 B
build/block-library/blocks/pullquote/style-rtl.css 318 B 0 B
build/block-library/blocks/pullquote/style.css 318 B 0 B
build/block-library/blocks/pullquote/theme-rtl.css 169 B 0 B
build/block-library/blocks/pullquote/theme.css 169 B 0 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B 0 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B 0 B
build/block-library/blocks/query-pagination/editor-rtl.css 270 B 0 B
build/block-library/blocks/query-pagination/editor.css 262 B 0 B
build/block-library/blocks/query-pagination/style-rtl.css 168 B 0 B
build/block-library/blocks/query-pagination/style.css 168 B 0 B
build/block-library/blocks/query-title/editor-rtl.css 86 B 0 B
build/block-library/blocks/query-title/editor.css 86 B 0 B
build/block-library/blocks/query/editor-rtl.css 131 B 0 B
build/block-library/blocks/query/editor.css 132 B 0 B
build/block-library/blocks/quote/style-rtl.css 169 B 0 B
build/block-library/blocks/quote/style.css 169 B 0 B
build/block-library/blocks/quote/theme-rtl.css 221 B 0 B
build/block-library/blocks/quote/theme.css 221 B 0 B
build/block-library/blocks/rss/editor-rtl.css 201 B 0 B
build/block-library/blocks/rss/editor.css 202 B 0 B
build/block-library/blocks/rss/style-rtl.css 290 B 0 B
build/block-library/blocks/rss/style.css 290 B 0 B
build/block-library/blocks/search/editor-rtl.css 211 B 0 B
build/block-library/blocks/search/editor.css 211 B 0 B
build/block-library/blocks/search/style-rtl.css 359 B 0 B
build/block-library/blocks/search/style.css 362 B 0 B
build/block-library/blocks/search/theme-rtl.css 64 B 0 B
build/block-library/blocks/search/theme.css 64 B 0 B
build/block-library/blocks/separator/editor-rtl.css 99 B 0 B
build/block-library/blocks/separator/editor.css 99 B 0 B
build/block-library/blocks/separator/style-rtl.css 251 B 0 B
build/block-library/blocks/separator/style.css 251 B 0 B
build/block-library/blocks/separator/theme-rtl.css 172 B 0 B
build/block-library/blocks/separator/theme.css 172 B 0 B
build/block-library/blocks/shortcode/editor-rtl.css 512 B 0 B
build/block-library/blocks/shortcode/editor.css 512 B 0 B
build/block-library/blocks/site-logo/editor-rtl.css 440 B 0 B
build/block-library/blocks/site-logo/editor.css 441 B 0 B
build/block-library/blocks/site-logo/style-rtl.css 154 B 0 B
build/block-library/blocks/site-logo/style.css 154 B 0 B
build/block-library/blocks/social-link/editor-rtl.css 164 B 0 B
build/block-library/blocks/social-link/editor.css 165 B 0 B
build/block-library/blocks/social-links/editor-rtl.css 800 B 0 B
build/block-library/blocks/social-links/editor.css 799 B 0 B
build/block-library/blocks/social-links/style-rtl.css 1.34 kB 0 B
build/block-library/blocks/social-links/style.css 1.34 kB 0 B
build/block-library/blocks/spacer/editor-rtl.css 308 B 0 B
build/block-library/blocks/spacer/editor.css 308 B 0 B
build/block-library/blocks/spacer/style-rtl.css 48 B 0 B
build/block-library/blocks/spacer/style.css 48 B 0 B
build/block-library/blocks/table/editor-rtl.css 478 B 0 B
build/block-library/blocks/table/editor.css 478 B 0 B
build/block-library/blocks/table/style-rtl.css 480 B 0 B
build/block-library/blocks/table/style.css 480 B 0 B
build/block-library/blocks/table/theme-rtl.css 188 B 0 B
build/block-library/blocks/table/theme.css 188 B 0 B
build/block-library/blocks/tag-cloud/editor-rtl.css 118 B 0 B
build/block-library/blocks/tag-cloud/editor.css 118 B 0 B
build/block-library/blocks/tag-cloud/style-rtl.css 94 B 0 B
build/block-library/blocks/tag-cloud/style.css 94 B 0 B
build/block-library/blocks/template-part/editor-rtl.css 551 B 0 B
build/block-library/blocks/template-part/editor.css 550 B 0 B
build/block-library/blocks/template-part/theme-rtl.css 101 B 0 B
build/block-library/blocks/template-part/theme.css 101 B 0 B
build/block-library/blocks/term-description/editor-rtl.css 90 B 0 B
build/block-library/blocks/term-description/editor.css 90 B 0 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B 0 B
build/block-library/blocks/text-columns/editor.css 95 B 0 B
build/block-library/blocks/text-columns/style-rtl.css 166 B 0 B
build/block-library/blocks/text-columns/style.css 166 B 0 B
build/block-library/blocks/verse/style-rtl.css 87 B 0 B
build/block-library/blocks/verse/style.css 87 B 0 B
build/block-library/blocks/video/editor-rtl.css 569 B 0 B
build/block-library/blocks/video/editor.css 570 B 0 B
build/block-library/blocks/video/style-rtl.css 173 B 0 B
build/block-library/blocks/video/style.css 173 B 0 B
build/block-library/blocks/video/theme-rtl.css 124 B 0 B
build/block-library/blocks/video/theme.css 124 B 0 B
build/block-library/common-rtl.css 1.26 kB 0 B
build/block-library/common.css 1.26 kB 0 B
build/block-library/editor-rtl.css 9.68 kB 0 B
build/block-library/editor.css 9.67 kB 0 B
build/block-library/index.min.js 145 kB 0 B
build/block-library/reset-rtl.css 506 B 0 B
build/block-library/reset.css 507 B 0 B
build/block-library/style-rtl.css 10.2 kB 0 B
build/block-library/style.css 10.2 kB 0 B
build/block-library/theme-rtl.css 692 B 0 B
build/block-library/theme.css 693 B 0 B
build/block-serialization-default-parser/index.min.js 1.3 kB 0 B
build/block-serialization-spec-parser/index.min.js 3.06 kB 0 B
build/blocks/index.min.js 47.2 kB 0 B
build/components/index.min.js 180 kB 0 B
build/components/style-rtl.css 16.2 kB 0 B
build/components/style.css 16.1 kB 0 B
build/compose/index.min.js 10.2 kB 0 B
build/core-data/index.min.js 12.2 kB 0 B
build/customize-widgets/index.min.js 9.97 kB 0 B
build/customize-widgets/style-rtl.css 1.45 kB 0 B
build/customize-widgets/style.css 1.45 kB 0 B
build/data-controls/index.min.js 829 B 0 B
build/data/index.min.js 7.22 kB 0 B
build/date/index.min.js 31.8 kB 0 B
build/deprecated/index.min.js 739 B 0 B
build/dom-ready/index.min.js 576 B 0 B
build/dom/index.min.js 4.62 kB 0 B
build/edit-navigation/index.min.js 14 kB 0 B
build/edit-navigation/style-rtl.css 3.08 kB 0 B
build/edit-navigation/style.css 3.08 kB 0 B
build/edit-post/classic-rtl.css 454 B 0 B
build/edit-post/classic.css 454 B 0 B
build/edit-post/style-rtl.css 7.05 kB 0 B
build/edit-post/style.css 7.04 kB 0 B
build/edit-site/index.min.js 25.9 kB 0 B
build/edit-site/style-rtl.css 4.75 kB 0 B
build/edit-site/style.css 4.75 kB 0 B
build/edit-widgets/index.min.js 16 kB 0 B
build/edit-widgets/style-rtl.css 3.45 kB 0 B
build/edit-widgets/style.css 3.45 kB 0 B
build/editor/index.min.js 38.6 kB 0 B
build/editor/style-rtl.css 3.91 kB 0 B
build/editor/style.css 3.9 kB 0 B
build/element/index.min.js 3.44 kB 0 B
build/escape-html/index.min.js 739 B 0 B
build/format-library/index.min.js 5.68 kB 0 B
build/format-library/style-rtl.css 637 B 0 B
build/format-library/style.css 639 B 0 B
build/hooks/index.min.js 1.76 kB 0 B
build/html-entities/index.min.js 628 B 0 B
build/i18n/index.min.js 3.73 kB 0 B
build/is-shallow-equal/index.min.js 709 B 0 B
build/keyboard-shortcuts/index.min.js 1.74 kB 0 B
build/keycodes/index.min.js 1.43 kB 0 B
build/list-reusable-blocks/index.min.js 2.07 kB 0 B
build/list-reusable-blocks/style-rtl.css 629 B 0 B
build/list-reusable-blocks/style.css 628 B 0 B
build/media-utils/index.min.js 3.08 kB 0 B
build/notices/index.min.js 1.07 kB 0 B
build/nux/index.min.js 2.31 kB 0 B
build/nux/style-rtl.css 718 B 0 B
build/nux/style.css 716 B 0 B
build/plugins/index.min.js 1.99 kB 0 B
build/primitives/index.min.js 1.03 kB 0 B
build/priority-queue/index.min.js 791 B 0 B
build/react-i18n/index.min.js 924 B 0 B
build/redux-routine/index.min.js 2.82 kB 0 B
build/reusable-blocks/index.min.js 2.56 kB 0 B
build/reusable-blocks/style-rtl.css 225 B 0 B
build/reusable-blocks/style.css 225 B 0 B
build/rich-text/index.min.js 10.6 kB 0 B
build/server-side-render/index.min.js 1.64 kB 0 B
build/shortcode/index.min.js 1.68 kB 0 B
build/token-list/index.min.js 847 B 0 B
build/url/index.min.js 1.95 kB 0 B
build/viewport/index.min.js 1.28 kB 0 B
build/warning/index.min.js 1.13 kB 0 B
build/widgets/index.min.js 6.48 kB 0 B
build/widgets/style-rtl.css 693 B 0 B
build/widgets/style.css 693 B 0 B
build/wordcount/index.min.js 1.24 kB 0 B

compressed-size-action

@hypest hypest marked this pull request as draft June 17, 2021 11:40
@hypest hypest removed the request for review from ceyhun June 17, 2021 11:46
hypest added 10 commits June 17, 2021 15:32
@hypest hypest changed the title [RNMobile] Upgrade to latest react-native-modal [RNMobile] Upgrade latest react-native-modal and other warning fixes Jun 17, 2021
@hypest hypest marked this pull request as ready for review June 17, 2021 14:03
@dcalhoun dcalhoun self-requested a review June 17, 2021 14:16
Copy link
Member

@dcalhoun dcalhoun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I tested the changes on an iPhone 12 mini simulator and Samsung Galaxy S20.

I did see a few additional logs. The first is related to this PR, the others are not. I'll leave to your digression if we address them in this PR.

Related

  • Navigate to Cover block > Settings > Focal point picker: Animated.event now requires a second argument for options

Unrelated

  • Require cycles are allowed but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
  • New content generated by 'save' function for Cover and Group blocks. (Mobile App: Fix warning reported in the terminal when running the test app #29655)
  • Removing lineHeight style as it's not supported by native AztecView (I know this was intentionally added, but IMO it is too much noise and we should consider removing it.)
  • Warning: Cannot update component ('BlockMobileToolbar) while rendering a different component ('SlotComponent').` (Discussed on internal channels.)
  • Non-serialized values were found in navigation state. Check FocalPoint > params.onFocalPointChange (Navigating to nested Cover block bottom sheets logs warnings #30839)
  • Clipboard has been extracted from react-native core and will be removed in a future release. It can now be installed from '@react-native-community/clipboard' instead of 'react-native'. when opening Image block > Settings.

@@ -491,7 +491,7 @@ SPEC CHECKSUMS:
React-runtimeexecutor: cad74a1eaa53ee6e7a3620231939d8fe2c6afcf0
ReactCommon: cfe2b7fd20e0dbd2d1185cd7d8f99633fbc5ff05
ReactNativeDarkMode: 6d807bc8373b872472c8541fc3341817d979a6fb
RNCMaskedView: dfeba59697c44d36abec79c062aeb1ea343d610d
RNCMaskedView: 66caacf33c86eaa7d22b43178dd998257d5c2e4d
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strangely enough, these are the changes I see when running npm run native ios within this branch. I'm not sure which are correct. Could ruby or bundler versions be causing divergence? I actually see this type of diff quite often in this file, but have yet to explore why they occur.

❯ ruby -v
ruby 2.6.4p104 (2019-08-28 revision 67798) [x86_64-darwin20]

❯ bundle --version
Bundler version 2.2.14

podfile-lock-changes

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aha, my versions are:

$ruby --version
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin20]

$ bundle --version
Bundler version 2.2.16

@ceyhun , can this by any chance be related to having to use https://github.com/wordpress-mobile/gutenberg-mobile/blob/develop/bin/generate-podspecs.sh?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

react-native-modal doesn't seem to have any .podspec or any native code at all, so running generate-podspecs.sh shouldn't be necessary.

Seems like the checksums of packages/react-native-editor/ios/Pods/Local Podspecs/<package-name>.podspec.json are different for each of us.

Can you for example maybe share your react-native-video.podspec.json file in that folder, so we can compare?

Mine is:

react-native-video.podspec.json

{
  "name": "react-native-video",
  "version": "5.0.2",
  "summary": "A <Video /> element for react-native",
  "description": "A <Video /> element for react-native",
  "license": "MIT",
  "authors": {
    "name": "Brent Vatne",
    "email": "brentvatne@gmail.com",
    "url": "https://github.com/brentvatne"
  },
  "homepage": "https://github.com/brentvatne/react-native-video",
  "source": {
    "git": "https://github.com/brentvatne/react-native-video.git",
    "tag": "5.0.2"
  },
  "platforms": {
    "ios": "8.0",
    "tvos": "9.0"
  },
  "static_framework": true,
  "dependencies": {
    "React-Core": [

    ]
  },
  "default_subspecs": "Video",
  "subspecs": [
    {
      "name": "Video",
      "source_files": "ios/Video/*.{h,m}"
    },
    {
      "name": "VideoCaching",
      "dependencies": {
        "react-native-video/Video": [

        ],
        "SPTPersistentCache": [
          "~> 1.1.0"
        ],
        "DVAssetLoaderDelegate": [
          "~> 0.3.1"
        ]
      },
      "source_files": "ios/VideoCaching/**/*.{h,m}"
    }
  ]
}

Copy link
Contributor Author

@hypest hypest Jun 17, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(note: both files pasted below include an empty line at the end)

Here's mine (I'm including the full path name for clarity)

gutenberg-mobile-root/gutenberg/packages/react-native-editor/ios/Pods/Local Podspecs/react-native-video.podspec.json
{
  "name": "react-native-video",
  "version": "5.0.2",
  "summary": "A <Video /> element for react-native",
  "description": "A <Video /> element for react-native",
  "license": "MIT",
  "authors": "Brent Vatne <brentvatne@gmail.com> (https://github.com/brentvatne)",
  "homepage": "https://github.com/brentvatne/react-native-video",
  "source": {
    "git": "https://github.com/brentvatne/react-native-video.git",
    "tag": "5.0.2"
  },
  "platforms": {
    "ios": "8.0",
    "tvos": "9.0"
  },
  "static_framework": true,
  "dependencies": {
    "React-Core": [

    ]
  },
  "default_subspecs": "Video",
  "subspecs": [
    {
      "name": "Video",
      "source_files": "ios/Video/*.{h,m}"
    },
    {
      "name": "VideoCaching",
      "dependencies": {
        "react-native-video/Video": [

        ],
        "SPTPersistentCache": [
          "~> 1.1.0"
        ],
        "DVAssetLoaderDelegate": [
          "~> 0.3.1"
        ]
      },
      "source_files": "ios/VideoCaching/**/*.{h,m}"
    }
  ]
}

The other place I find such a file is:

gutenberg-mobile-root/third-party-podspecs/react-native-video.podspec.json
{
  "name": "react-native-video",
  "version": "5.0.2",
  "summary": "A <Video /> element for react-native",
  "description": "A <Video /> element for react-native",
  "license": "MIT",
  "authors": "Brent Vatne <brentvatne@gmail.com> (https://github.com/brentvatne)",
  "homepage": "https://github.com/brentvatne/react-native-video",
  "source": {
    "git": "https://github.com/brentvatne/react-native-video.git",
    "tag": "5.0.2"
  },
  "platforms": {
    "ios": "8.0",
    "tvos": "9.0"
  },
  "static_framework": true,
  "dependencies": {
    "React-Core": []
  },
  "default_subspecs": "Video",
  "subspecs": [
    {
      "name": "Video",
      "source_files": "ios/Video/*.{h,m}"
    },
    {
      "name": "VideoCaching",
      "dependencies": {
        "react-native-video/Video": [],
        "SPTPersistentCache": [
          "~> 1.1.0"
        ],
        "DVAssetLoaderDelegate": [
          "~> 0.3.1"
        ]
      },
      "source_files": "ios/VideoCaching/**/*.{h,m}"
    }
  ],
  "__WARNING!__": "This file is autogenerated by generate-podspecs.sh script. Do not modify manually. Re-run the script if necessary."
}

In the meantime, I've reverted the Podfile.lock changes so we can merge the rest of the fixes.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is my copy of packages/react-native-editor/ios/Pods/Local\ Podspecs/react-native-video.podspec.json.

react-native-video.podspec.json
{
  "name": "react-native-video",
  "version": "5.0.2",
  "summary": "A <Video /> element for react-native",
  "description": "A <Video /> element for react-native",
  "license": "MIT",
  "authors": {
    "name": "Brent Vatne",
    "email": "brentvatne@gmail.com",
    "url": "https://github.com/brentvatne"
  },
  "homepage": "https://github.com/brentvatne/react-native-video",
  "source": {
    "git": "https://github.com/brentvatne/react-native-video.git",
    "tag": "5.0.2"
  },
  "platforms": {
    "ios": "8.0",
    "tvos": "9.0"
  },
  "static_framework": true,
  "dependencies": {
    "React-Core": [

    ]
  },
  "default_subspecs": "Video",
  "subspecs": [
    {
      "name": "Video",
      "source_files": "ios/Video/*.{h,m}"
    },
    {
      "name": "VideoCaching",
      "dependencies": {
        "react-native-video/Video": [

        ],
        "SPTPersistentCache": [
          "~> 1.1.0"
        ],
        "DVAssetLoaderDelegate": [
          "~> 0.3.1"
        ]
      },
      "source_files": "ios/VideoCaching/**/*.{h,m}"
    }
  ]
}

Copy link
Contributor Author

@hypest hypest Jun 17, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did:

$ rm -Rf gutenberg/packages/react-native-editor/ios/Pods
$ rm -Rf gutenberg/packages/react-native-editor/ios/vendor
$ npm run core ios

but I get the exact diff as in the commit I committed originally 😬

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After pulling the latest and within gutenberg, running the following resulted in one change in the Podfile.lock for me.

rm -rf packages/react-native-editor/ios/Pods packages/react-native-editor/iOS/vendor
npm run core ios

podfile-lock-changes

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hypest That's strange 🤔 Can you try one last thing maybe before removing the folders running in gutenberg/packages/react-native-editor/ios:

git checkout origin/trunk Podfile.lock
bundle exec pod cache clean --all
rm -rf Pods/
rm -rf vendor/
bundle install
bundle exec pod repo remove trunk
bundle exec pod install --repo-update

@dcalhoun Can you maybe share the gutenberg/packages/react-native-editor/ios/Pods/Local Podspecs/FBReactNativeSpec.podspec.json file? And maybe I guess trying the above as well won't hurt :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here are the contents of my FBReactNativeSpec.podspec.json.

packages/react-native-editor/ios/Pods/Local\ Podspecs/FBReactNativeSpec.podspec.json
{
  "name": "FBReactNativeSpec",
  "version": "0.64.0",
  "summary": "-",
  "homepage": "https://reactnative.dev/",
  "license": "MIT",
  "authors": "Facebook, Inc. and its affiliates",
  "platforms": {
    "ios": "10.0"
  },
  "compiler_flags": "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-nullability-completeness",
  "source": {
    "git": "https://github.com/facebook/react-native.git",
    "tag": "v0.64.0"
  },
  "source_files": "**/*.{c,h,m,mm,cpp}",
  "header_dir": "FBReactNativeSpec",
  "pod_target_xcconfig": {
    "USE_HEADERMAP": "YES",
    "CLANG_CXX_LANGUAGE_STANDARD": "c++14",
    "HEADER_SEARCH_PATHS": "\"$(PODS_TARGET_SRCROOT)/React/FBReactNativeSpec\" \"$(PODS_ROOT)/RCT-Folly\""
  },
  "dependencies": {
    "RCT-Folly": [
      "2020.01.13.00"
    ],
    "RCTRequired": [
      "0.64.0"
    ],
    "RCTTypeSafety": [
      "0.64.0"
    ],
    "React-Core": [
      "0.64.0"
    ],
    "React-jsi": [
      "0.64.0"
    ],
    "ReactCommon/turbomodule/core": [
      "0.64.0"
    ]
  },
  "script_phases": {
    "name": "Generate Specs",
    "input_files": [
      "/Users/davidcalhoun/Sites/a8c/gutenberg/node_modules/react-native/scripts/../Libraries"
    ],
    "output_files": [
      "$(DERIVED_FILE_DIR)/codegen-FBReactNativeSpec.log",
      "/Users/davidcalhoun/Sites/a8c/gutenberg/node_modules/react-native/scripts/../React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h",
      "/Users/davidcalhoun/Sites/a8c/gutenberg/node_modules/react-native/scripts/../React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm"
    ],
    "script": "set -o pipefail\n\nbash -l -c 'SRCS_DIR=/Users/davidcalhoun/Sites/a8c/gutenberg/node_modules/react-native/scripts/../Libraries CODEGEN_MODULES_OUTPUT_DIR=/Users/davidcalhoun/Sites/a8c/gutenberg/node_modules/react-native/scripts/../React/FBReactNativeSpec/FBReactNativeSpec CODEGEN_MODULES_LIBRARY_NAME=FBReactNativeSpec /Users/davidcalhoun/Sites/a8c/gutenberg/node_modules/react-native/scripts/generate-specs.sh' 2>&1 | tee \"${SCRIPT_OUTPUT_FILE_0}\"",
    "execution_position": "before_compile",
    "show_env_vars_in_log": true
  },
  "prepare_command": "mkdir -p /Users/davidcalhoun/Sites/a8c/gutenberg/node_modules/react-native/scripts/../React/FBReactNativeSpec/FBReactNativeSpec && touch /Users/davidcalhoun/Sites/a8c/gutenberg/node_modules/react-native/scripts/../React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h /Users/davidcalhoun/Sites/a8c/gutenberg/node_modules/react-native/scripts/../React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm"
}

I ran the step you provided in your last comment and saw the same changes afterwards:

podfile-lock-changes

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dcalhoun! Looks like the paths in the script_phases is different. And I guess it will be different for everyone because they are dynamically generated via this in here.

This phase makes the iOS build call this script each time during a build. I've already added a hack in gutenberg-mobile to remove this script_phases when we generate the static podspecs to be used by WPiOS here and hosted those generated files instead on gutenberg-mobile here.

I guess we can do a similar thing in Gutenberg demo app's Podfile somewhere here and maybe even host them in Gutenberg instead of Gutenberg Mobile for both Gutenberg Demo app and WPiOS 🤔

Issue message: "Error: EISDIR: illegal operation on a directory,
read"
Fix PR on Metro: facebook/metro#567
@hypest hypest requested a review from dcalhoun June 17, 2021 15:30
@hypest hypest changed the title [RNMobile] Upgrade latest react-native-modal and other warning fixes [RNMobile] Upgrade react-native-modal and other warning fixes Jun 17, 2021
@hypest
Copy link
Contributor Author

hypest commented Jun 17, 2021

Thanks for reviewing @dcalhoun !

Navigate to Cover block > Settings > Focal point picker: Animated.event now requires a second argument for options

Good catch! Fixed with 9871a34.

Require cycles are allowed but can result in uninitialized values. Consider refactoring to remove the need for a cycle.

Yeap, that's something we should improve at some point 😭

New content generated by 'save' function for Cover and Group blocks. (#29655)

Tracked that to this validation logic and am not sure yet what to do about it. We'll prolly handle it in a separate PR, wdyt?

Removing lineHeight style as it's not supported by native AztecView (I know this was intentionally added, but IMO it is too much noise and we should consider removing it.)

Agree, it's too noisy at this point and we should do something about it. Just removing it feels not enough as we probably want to track it or fix it but yeah, a story for a separate PR I guess.

Warning: Cannot update component ('BlockMobileToolbar) while rendering a different component ('SlotComponent').` (Discussed on internal channels.)

@fluiddot is attempting a fix for that, separately.

Non-serialized values were found in navigation state. Check FocalPoint > params.onFocalPointChange (#30839)

Hmm, a fix doesn't quickly occur to me, wdyt about handling it in a separate PR?

Clipboard has been extracted from react-native core and will be removed in a future release. It can now be installed from '@react-native-community/clipboard' instead of 'react-native'. when opening Image block > Settings.

Aha. Looks like indeed, we need to migrate to the extracted Clipboard package. It seems that it won't be too hard but it needs some native side linking so, wdyt about doing that in a separate PR?

@dcalhoun
Copy link
Member

Require cycles are allowed but can result in uninitialized values. Consider refactoring to remove the need for a cycle.

Yeap, that's something we should improve at some point 😭

New content generated by 'save' function for Cover and Group blocks. (#29655)

Tracked that to this validation logic and am not sure yet what to do about it. We'll prolly handle it in a separate PR, wdyt?

Removing lineHeight style as it's not supported by native AztecView (I know this was intentionally added, but IMO it is too much noise and we should consider removing it.)

Agree, it's too noisy at this point and we should do something about it. Just removing it feels not enough as we probably want to track it or fix it but yeah, a story for a separate PR I guess.

Non-serialized values were found in navigation state. Check FocalPoint > params.onFocalPointChange (#30839)

Hmm, a fix doesn't quickly occur to me, wdyt about handling it in a separate PR?

Clipboard has been extracted from react-native core and will be removed in a future release. It can now be installed from '@react-native-community/clipboard' instead of 'react-native'. when opening Image block > Settings.

Aha. Looks like indeed, we need to migrate to the extracted Clipboard package. It seems that it won't be too hard but it needs some native side linking so, wdyt about doing that in a separate PR?

@hypest agreed that all of these can be addressed in a separate PR.

@hypest
Copy link
Contributor Author

hypest commented Jun 17, 2021

Do you happen to get the following busy log too @dcalhoun perhaps?

transform[stderr]: Browserslist: caniuse-lite is outdated. Please run:
transform[stderr]: npx browserslist@latest --update-db
transform[stderr]:
transform[stderr]: Why you should do it regularly:
transform[stderr]: https://github.com/browserslist/browserslist#browsers-data-updating

@dcalhoun
Copy link
Member

Do you happen to get the following busy log too @dcalhoun perhaps?

transform[stderr]: Browserslist: caniuse-lite is outdated. Please run:
transform[stderr]: npx browserslist@latest --update-db
transform[stderr]:
transform[stderr]: Why you should do it regularly:
transform[stderr]: https://github.com/browserslist/browserslist#browsers-data-updating

@hypest I presume you meant "build log?" If so, I have seen that warning before — I believe during npm install — but I do not see it currently when installing or building.

@hypest
Copy link
Contributor Author

hypest commented Jun 17, 2021

@hypest I presume you meant "build log?" If so, I have seen that warning before — I believe during npm install — but I do not see it currently when installing or building.

I get lots of those during the Metro bundling, after npm run start:reset and the demo app tries to get the bundle 🤔

Anyway, let's merge this one and we can wrangle that separately too. Edit: PR here.

@hypest hypest merged commit 699cadc into trunk Jun 17, 2021
@hypest hypest deleted the rnmobile/upgrade-react-native-modal branch June 17, 2021 16:59
@github-actions github-actions bot added this to the Gutenberg 11.0 milestone Jun 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants