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] Cleanup the v1.16.0 release by undoing squash #18266

Merged
merged 106 commits into from
Nov 4, 2019

Conversation

hypest
Copy link
Contributor

@hypest hypest commented Nov 4, 2019

Description

This PR reverts the squash commit of #18210 that causes problems (phantom merge conflicts) when trying to update from Gutenberg master. Instead, we re-merge the rnmobile/release-1.16.0 branch without squashing it.

How has this been tested?

No testing needed. The file diff against rnmobile/releases is empty.

FWIW, I have tested updating from master and it cleanly merges.

Types of changes

Undoing a merge commit and will re-merge without squash.

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.

@hypest hypest added the Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change) label Nov 4, 2019
@hypest hypest modified the milestones: Gutenberg 6.9, Future Nov 4, 2019
@hypest
Copy link
Contributor Author

hypest commented Nov 4, 2019

Self-merging this as it has a zero diff and just cleans up the native mobile related releases branch.

NOTE: will not squash! Squashing only makes things harder to reason about on the rnmobile/releases branch and will be harder to keep in sync with master.

Copy link
Contributor

@etoledom etoledom left a comment

Choose a reason for hiding this comment

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

:shipit:

Ryan Welcher and others added 23 commits November 4, 2019 15:51
…res (#17858)

* Add an apiFetch middleware to automatically handle media upload failures

* Remove the attachement on failures

* Handle errors properly

* limit the media upload middleware to the 500 responses

* Fix the error handling and unit tests

* Api Fetch: Check for 502s and parse uncaught errors in Media Upload middleware.
…nction (#17893)

* Fix issue-7378 - change name of accumulated variables when using reduce function

* fix issue-7378 - update variables names

* fix issue-7378 - update variables names
* Update the regex used when removing NEW_TAB_REL and add trimming (+2 squashed commits)
Squashed commits:
[cf71759c3] Accessibility:Image Block:Link Editor: Move Link Rel field below Open new tab toggle
[310a23c33] Fix:Image Block:Link Editor: Hide 'noreferrer' and 'noopener' in Link Rel field

* post rebases fixes


Co-authored-by: Jorge Costa <jorge.costa@developer.pt>
 - @wordpress/a11y@2.5.1
 - @wordpress/annotations@1.7.2
 - @wordpress/api-fetch@3.6.2
 - @wordpress/autop@2.5.1
 - @wordpress/babel-preset-default@4.6.2
 - @wordpress/blob@2.5.1
 - @wordpress/block-directory@1.0.2
 - @wordpress/block-editor@3.2.2
 - @wordpress/block-library@2.9.2
 - @wordpress/block-serialization-default-parser@3.4.1
 - @wordpress/block-serialization-spec-parser@3.3.1
 - @wordpress/blocks@6.7.2
 - @wordpress/components@8.3.2
 - @wordpress/compose@3.7.2
 - @wordpress/core-data@2.7.2
 - @wordpress/data-controls@1.3.2
 - @wordpress/data@4.9.2
 - @wordpress/deprecated@2.6.1
 - @wordpress/dom-ready@2.5.1
 - @wordpress/dom@2.5.2
 - @wordpress/e2e-test-utils@2.4.2
 - @wordpress/e2e-tests@1.7.2
 - @wordpress/edit-post@3.8.2
 - @wordpress/edit-widgets@0.7.2
 - @wordpress/editor@9.7.2
 - @wordpress/element@2.8.2
 - @wordpress/escape-html@1.5.1
 - @wordpress/format-library@1.9.2
 - @wordpress/is-shallow-equal@1.6.1
 - @wordpress/keycodes@2.6.2
 - @wordpress/list-reusable-blocks@1.8.2
 - @wordpress/media-utils@1.2.2
 - @wordpress/notices@1.8.2
 - @wordpress/nux@3.7.2
 - @wordpress/plugins@2.7.2
 - @wordpress/priority-queue@1.3.1
 - @wordpress/redux-routine@3.6.2
 - @wordpress/rich-text@3.7.2
 - @wordpress/scripts@5.1.0
 - @wordpress/server-side-render@1.3.2
 - @wordpress/url@2.8.1
 - @wordpress/viewport@2.8.2
 - @wordpress/wordcount@2.6.2
* Check that url is defined before passing into prependHttp

* Shift check from component to url lib
* Add checkbox control stories for Storybook

* Update README example to match story, useState

* Apply suggestions from code review

👍

Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com>

* Update story to match README

* Add variants for heading, label, help

* Update packages/components/src/checkbox-control/README.md

Co-Authored-By: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl>

* Add Knobs addon to Storybook

* Move storybook addon to dev-dependencies

* Solve lint dependency by excluding stories, dont need in package.json

* Apply suggestions from code review

Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com>

* Update with story level decorators

* Switch back to global withKnobs, per story not working

* Change the name of the example in ChecboxControl story

* Try with the uppercase name of the component exported from stories
* [RNMobile] Native mobile release v1.11.0 (#17181)

* [RNMobile] Fix crash when adding separator

* Build: remove global install of latest npm since we want to use the paired node/npm version (#17134)

* Build: remove global install of latest npm since we want to use the paired node/npm version
* Also update travis to remove --latest-npm flag

* [RNMobile] Try dark mode (iOS) (#17067)

* Adding dark mode component implemented on list and list block

* Adding DarkMode handling to RichText, ToolBar and SafeArea

* Mobile: Using DarkMode as HOC

* iOS DarkMode: Modified colors on block list and block container

* iOS DarkMode: Improved Header Toolbar colors

* iOS DarkMode: Removing background from buttons

* iOS DarkMode warning and unsupported

* iOS DarkMode: MediaPlaceholder

* iOS DarkMode: BottomSheets

* iOS DarkMode: Inserter

* iOS DarkMode: DefaultBlockAppender

* iOS DarkMode: PostTite

* Update hardcoded colors with variables

* iOS DarkMode: Fix bottom-sheet cell value color

* iOS DarkMode: More - PageBreak - Add Block Here

* iOS DarkMode: Better text color

* iOS Darkmode: Code block

* iOS DarkMode: HTML View

* iOS DarkMode: Improve colors on SafeArea

* Fix toolbar not avoiding keyboard regression

* Fix native unit tests

* Fix gutenberg-mobile unit tests

* Adding RNDarkMode mocks

* RNMobile: Fix crash when viewing HTML on iOS

* [RNMobile] Remove toolbar from html view

* [RNMobile] Fix MaxListenersExceededWarning caused by dark-mode event emitter (#17186)

* Fix MaxListenersExceededWarning caused by dark-mode event emitter

* Checking for setMaxListeners trying to avoid CI error

* Adding remove listener to DarkMode HOC

* DarkMode: Binding this.onModeChanged to `this`

* DarkMode: Adding conditional needed to pass UI Tests on CI

* Fix focus title on new posts regression (#17180)

* BottomSheet: Setting DashIcon color directly when theme is default (light) (#17193)

* Activate Travis CI on rnmobile/master branch (#17229)

* Added ability to update image size options (sizeSlug) through a new InspectorControl Cell that leads to a Picker.

* Added a style for Size Inspector Controls cell to align it will other cells that have icons.

* Add native support for the MediaText block (#16305)

* First working version of the MediaText component for native mobile

* Fix adding a block to an innerblock list

* Disable mediaText on production

* MediaText native: improve editor visuals

* Move BlockToolbar from BlockList to Layout

* Remove BlockEditorProvider from BlockList and add native version of EditorProvider to Editor. Plus support InsertionPoint and BlockListAppender

* Update BlockMover for native to hide if locked or if it's the only block

* Make the vertical align button work, add more styling options for toolbar buttons

* Make sure registerCoreBlocks does not break in production

* Copy docblock comment from the web version for registerCoreBlocks

* Fix focusing on the media placeholder

* Only support adding image for now

* Update usage of MediaPlaceholder in MediaContainer

* Enable autoScroll for just the out most block list

* Fix JS Unit tests

* Roll back to IconButton refactor and fix tests

* Fix BlockVerticalAlignmentToolbar buttons style on mobile

* Fix thing for web and ensure ariaPressed is always passed down

* Use AriaPressed directly to style SVG on mobile

* Update snapshots

* Swtiched to react-native Modal onDismiss property for signaling Picker is ready to show

* Added a prop for catching modal dismissal on Android. (onDismiss is iOS only and onModalHide works on Android but breaks on iOS)

* Added icon for Inspector Controls size option. Removed style we no longer need.

* Added title to size option iOS ActionSheet and left alignstyle to size options BottomSheet

* MediaUpload and MediaPlaceholder unify props (#17145)

* Unify media placeholder and upload props within media-text (#17268)

* [RNMobile] Fix dismiss keyboard button for the post title (#17260)

* Set unused functions to undefined instead of false in BottomSheet Modal props

* Recover border colors (#17269)

* [RNMobile] Insure tapping at end of post inserts at end

Previously, tapping at the end of the post would insert a block
immediately after the currently selected block. In addition, this commit
is cleaning out a few unusued props in the block-list file.

* Support group block on mobile (#17251)

* First working version of the MediaText component for native mobile

* Fix adding a block to an innerblock list

* Disable mediaText on production

* MediaText native: improve editor visuals

* Move BlockToolbar from BlockList to Layout

* Remove BlockEditorProvider from BlockList and add native version of EditorProvider to Editor. Plus support InsertionPoint and BlockListAppender

* Update BlockMover for native to hide if locked or if it's the only block

* Make the vertical align button work, add more styling options for toolbar buttons

* Make sure registerCoreBlocks does not break in production

* Copy docblock comment from the web version for registerCoreBlocks

* Fix focusing on the media placeholder

* Only support adding image for now

* Update usage of MediaPlaceholder in MediaContainer

* Enable autoScroll for just the out most block list

* Fix JS Unit tests

* Roll back to IconButton refactor and fix tests

* Fix BlockVerticalAlignmentToolbar buttons style on mobile

* Fix thing for web and ensure ariaPressed is always passed down

* Use AriaPressed directly to style SVG on mobile

* Update snapshots

* Support group block on mobile

* Extend shouldShowInsertionPoint condition to be false when group is selected

* Code refactor

* Update package-lock

* Removing old style reference.

* Moved Picker for image size options into new ImageSizePicker component. Cleaned up sizeOptionLabels.

* Updated total left margin on Android Image size options to be 24 px instead of 28 px

* Image Size options hidden behind __DEV__ flag

* Remove redundant bg color within button appender (#17325)

* [RNMobile] DarkMode improvements (#17309)

* Remove the need to import `useStyle` and pass the theme prop on every instance that `withStyle` is used

* Implement dark-mode refactor on all components

* Fix broken native tests

* Fix default block appender background color on DarkMode

* DarkMode: Make `useStyle` a class function

* Cleaned up default true properties and replaced code with lodash map.

* Updated to use BottomSheetPickerCell. Eliminated code, but size options now open over top inspector controls menu.

* Added leftalign to PickerCell.

* [RNMobile] Add autosave to mobile apps (#17329)

* [RNMobile] Fix crash when adding separator

* Build: remove global install of latest npm since we want to use the paired node/npm version (#17134)

* Build: remove global install of latest npm since we want to use the paired node/npm version
* Also update travis to remove --latest-npm flag

* [RNMobile] Try dark mode (iOS) (#17067)

* Adding dark mode component implemented on list and list block

* Adding DarkMode handling to RichText, ToolBar and SafeArea

* Mobile: Using DarkMode as HOC

* iOS DarkMode: Modified colors on block list and block container

* iOS DarkMode: Improved Header Toolbar colors

* iOS DarkMode: Removing background from buttons

* iOS DarkMode warning and unsupported

* iOS DarkMode: MediaPlaceholder

* iOS DarkMode: BottomSheets

* iOS DarkMode: Inserter

* iOS DarkMode: DefaultBlockAppender

* iOS DarkMode: PostTite

* Update hardcoded colors with variables

* iOS DarkMode: Fix bottom-sheet cell value color

* iOS DarkMode: More - PageBreak - Add Block Here

* iOS DarkMode: Better text color

* iOS Darkmode: Code block

* iOS DarkMode: HTML View

* iOS DarkMode: Improve colors on SafeArea

* Fix toolbar not avoiding keyboard regression

* Fix native unit tests

* Fix gutenberg-mobile unit tests

* Adding RNDarkMode mocks

* RNMobile: Fix crash when viewing HTML on iOS

* [RNMobile] Remove toolbar from html view

* [RNMobile] Fix MaxListenersExceededWarning caused by dark-mode event emitter (#17186)

* Fix MaxListenersExceededWarning caused by dark-mode event emitter

* Checking for setMaxListeners trying to avoid CI error

* Adding remove listener to DarkMode HOC

* DarkMode: Binding this.onModeChanged to `this`

* DarkMode: Adding conditional needed to pass UI Tests on CI

* Fix focus title on new posts regression (#17180)

* BottomSheet: Setting DashIcon color directly when theme is default (light) (#17193)

* Add a preliminary version of the AutosaveMonitor for mobile that calls the "bridge" and asks the native side to save the content

* Add autosave mock function for tests

* Fix merge conflicts

* Fix lint

* Re-add autosave on mobile that was removed erroneously during import-merge from rnmobile/master

* Remove native variant of AutosaveMonitor and introduces changes at  editor store level

* Default to false for `isEditedPostAutosaveable` on mobile. There was a typo in the returing value on the previous commit.

* Make sure to consider edits to the Title when checking if auto-save is needed

* Fix lint

*  Add isAppender functionality on mobile (#17195)

* Add isAppender functionality on mobile

* refactor isAppender conditions

* Replace dropZoneUIOnly in favour of showMediaSelectionUI

* deprecate dropZoneUIOnly and add disableMediaSelection prop

* Update test

* Refactor tests and change prop name

* Remove redundant empty lines

* Refactor conditions inside MediaPlaceholder

* Update block-editor CHANGELOG

* Update packages/block-editor/CHANGELOG.md

Co-Authored-By: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl>

* Autosave monitor - Make the mobile editor ping the native at each keystroke, since the deboucing logic is already well defined in the apps. (#17548)

* [RNMobile] Refactor Dark Mode HOC (#17552)

* [RNMobile] Refactor the Dark Mode HOC to fix naming antipatterns

* Fix lint errors

* Add .native.js suffix to usePreferredColorScheme

* Update usage of theme props renamed to preferredColorScheme

* Update usage of theme props renamed to preferredColorScheme

* Add missing heading levels to the UI (H4, H5, H6) (#17533)

* Fix lint issue (#17598)

* Fix list filter on paste for RN mobile. (#17550)

* Fix method for RN mobile.

* Use array.From instead of slice.

* Remove comment and use Array.from directly

* Convert from NodeList spreadable to Array.from

* Fix lint errors.

* Fix documentation examples to use Array.from

* Add empty line.

* [RNMobile] Move MediaUploadPorgress to its own component folder (#17392)

* Move MediaUploadPorgress to its own component folder (native)

* MediaUploadProgress - Fix import to code standards

* MediaUploadProgress readme

* Mobile - MediaUploadProgress README update

* Rnmobile/fix link editing on start (#17631)

* Don't try to clear links if text is clean.

* Commented LinkUI removal test when no URL.

* Don't try to remove link if we are at start of link and no actual selection is

* Re-implementing #17802, affected by merge. Fixed extra space and unused code.

* Fixing lint error, trailing space.
* 💁 add 'upstream' remote

* 🐛 origin / remote
…17969)

* Fix: Invalid import statement for deprecated in the modal component

* Font Size Picker: Update E2E test to work with new Core changes.
* Really simple first attempt at showing a display name in the navigator

* Strip any RichText formatting

* Add display name for navigation menu item block

* Refactor to use displayNameAttribute property

* Change name of displayName options
youknowriad and others added 13 commits November 4, 2019 15:51
The Columns block, when full-wide, has intentional left and right padding to ensure the mover controls of child blocks are accessible. This is editor-only, and only when the block is selected.

This regressed at some point, a while ago, probably around the introduction of extra on-click padding to show the dashed outlines of child elements.

This PR shuffles the rules a bit, reduces some of their specificity, and applies the left and right padding elsewhere to make it work.
* Resyncs RichText mobile components with web counterparts.

* Remove outdated test.

* Remove unused references.

* Add platform component

* Add components depending of platform.

Only add specific components if we are on the web implementation.

* Abstract paste of files for RN and web

Makes the code for pasting image more abstract in the paste method and
implement specific translation to HTML depending of the platform.

* Compose extra attributes/props on select/dispatch only if mobile.

* Remove RN index file for RichText Wrapper.

Moved all the specific code to the standard index file, so this file
is no longer needed.

* Remove API index native file that is no longer needed.

* Clean up lint errors in file-paste-handler.

* Fix lint errors.

* Implement stub remove browser shortcuts for RN

* Implement autocomplete stub for RN.

* Refactor toolbar presentation to a method.

* Remove no longer needed platform file.

* Consolidate the file paste handler in a single implementation.

Created a stub for createBlobURL for native that simple returns the
original URL.

* Change the text for platform to make it explicit it's native only.

* Remove duplicate files

* Include type in file comparison

* Forgot to rename for native file

* Fix filePasteHandler for native

* Move logging back

* Restore comment on logging

* Add check for files existence.

* Refactor format-toolbar code to use split web/native files

* Remove prop duplication.

* Fix getAnchorRect call

* Remove unnecessary const

* Sync fix for list removal of first empty line

* Fix RN build after merge with master

* Sync with web counterpart.

* Only change selection after new formats are set.
* Add a new unsupported subtitle to missing blocks - even we know about the block title

* Update margins, colors and font weight of the unsupported block
* try basic version of varia theme styles as default

* Add class to show submenu indicator

* adjustments for small viewports
* navigation-menu: set attributes once

* navigation-menu: add CSS class as hook dependencies

* Update packages/block-library/src/navigation-menu/edit.js

Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com>
)

Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> (+2 squashed commits)
Squashed commits:
[36484b4d3f] Update packages/block-editor/src/components/colors/use-colors.js

Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com>
[9c4c769] Fix: solve some issues in useColors hook
* Initial component file structure

* Implement basic icon and toggle mechanic

* Adds basic search input

* Update input to utilise LinkEditor component autocomplete

* Add ability to customise placeholder

* Update to utilise URLInput directly for greater flexibility

* Add example search results and test coverage

* Update class naming convention to match guidelines

See https://github.com/WordPress/gutenberg/blob/master/docs/contributors/coding-guidelines.md#css

Addresses #17846 (comment)

* Adds render prop to enable custom suggestions rendering

Previously it wasn’t possible to customise the render of the search suggestions. By providing an optional render prop we now have full control over this if required.

* Update to utilise URLInput render prop to customise search suggestions render

Previously we relied on our own render of suggestions but this wasn’t hooked up to all the accessibility enhancements afforded by URLInput. By utilising the render prop exposed by URLInput to customise the rendering of suggestions, we can have the best of both worlds.

* Update to add post type to the fetchLinkSuggestions responsive mapping

This is required to display the type of entitity in the search results for LinkControl

* Fix to ensure search suggestion interaction states are perceivable

* Update suggestion render prop to provide component props as arguments

Previously when using the `renderSuggestions` render prop the user had to know how to put together the correct props on the correct elements in their custom render. By passing the default props for the listing element and the item element we can relieve the user of this burden by allowing them to spread the props onto the appropriate elements in their render without having to know how they are created.

* Update to match with design visual and provide more accessible markup

* Adds settings area. Fixes missing reset icon.

* Fix search items to be buttons with correct style and layout

* Adds overflow scrolling to search results

* Fix to stop scroll shadow overlaying scrollbars

* Add bespoke settings area and tweak styles

* Update to allow URLs to be conditionally handled as a suggestion

Previously when a URL was entered it was deemed that no suggestions should or could be found and so the process of fetching suggestions was short circuited. Add additional prop to optionally allow developers to have URL-like values handled as suggestions.

* Updates to conditionally use an entity or url based search results fetcher

If the current value of the input is a URL then we conditionally pass a different handler for search results to the URLInput component. For URL based values we immediately return a “suggestion” object with values matching those entered by the user. Non URL based values are handled as previously.

* Fix bug whereby fetchSearchSuggestions wasn’t called

Remove ambiguity by calling the search handler directly rather than proxying through another function and having to apply it immediately.

* Remove default toggle UI and implement Popover close

The LinkControl will be mostly where another element triggers the UI to appear. As a result we don’t want to force a toggle element on the developer. Rather we will expose an API to allow the consuming component to toggle the visibility of the LinkControl

* Adds search text “highlighting” in results list

* Move TextHighlight component to its own file

* Fix bug where update to value prop didn’t cause suggestions to reset.

* Update to remove internal handling of open/closed state

This state is now expected to be handled by the consuming component chosing whether or not to render the component. It has no concept of open or closed.

* Fix React violation by returning only the text for non matches

* Update existing tests to match new implementation

* Add link reset test

* Adds test which uncovers major bug in the implementation

Basically this test has revealed that due to the way we’re detecting and handling URL-like values the wrong data fetcher function gets passed to the URLInput component for the first input `change` event.

For example if you paste `https://make.wordpress.com` directly into the input then it is determined to be a URL but because the current fetcher function for the current render is still the handler that deals with entity searches the correct results are not displayed. Adding another character to trigger a re-render will cause the UI to update to the expected state, but this is a major bug.

* Tweak critical test to be more explicit about what is expected

* Fix bug to make determining search handler use the latest input value

Previously we relied on parent component state to choose which search handler to use for the current input term. However, the state was always 1 tick behind so the previous search handler got used. Updating this to use the real time value of the input passed onChange ensures we select the correct search fetcher when the component re-renders.

* Add loading spinner and associated test coverage

Spinner was technically always rendered but it wasn’t visible due to CSS styling. Fix and also cover with tests.

* Fix bug where value could be empty

* Adds basic editing / view state switching

* Add keydown callback to URLInput

* Select link on ENTER keydown event

* Utilise LinkViewer to render edit state and decode urls for display

* Only display link settings when a link is selected

* Adds current link view styles

* Makes settings toggle controlled by parent component

* Update visuals to match updated design

Addresses #17557 (comment)

* Add standardised min width to popover

* Temporary hack to include Link UI in Playground for testing

* Update to utilise isURL util from @wordpress/url package

* Update to utilise isURL util from @wordpress/url package

* Removes URLPopover dependency

Attempts to remove unwanted deps on other components. We now utilise Popover directly and suffer no consequences as we are not making use of any bespoke features provided by URLPopover.

* Extract settings drawer to sub component

* Refactor search items into a component

* Refactor Input and Search to component

* Fix missing selected state on search suggestions

* Tweak line height on search suggestion url path

* Augment test for URL-like by testing for “www.”

* Fix to stop url overflows and wrapping on to multiple lines

* Uppcase URL in type indicator within search results list

* Avoid reading out slug/URL for entity results

* Ensures i18n of change button

* Always offer URL result in search suggestions as default

* Fix loading spinner position and dim results during loading

Addresses #17846 (comment)

* Fix scroll shadows to use valid alpha transparent values in gradient

Fixes broken shadows in Safari which didn’t recognise transparent as a value to transition to in a gradient.

* Adds instructional text in place of URL for suggestions that are URLs

Addresses designer feedback #17557 (comment)

* Update prop names for consistency

Addresses #17846 (comment)

* Update line length to improve readability

Addresses #17846 (comment)

* Update to avoid need to utilise partialRight util from lodash

Addresses #17846 (comment)

* Updates key to avoid usage of index

We cannot assume the suggestion `id` will be unique. This is because at the moment the search results are `Post`s. However in the future we may also need to include `Category` terms and the term IDs could easily clash with the Post IDs as they are in different DB tables.

Using the `type` to differentiate the key.

Addresses #17846 (comment)

* Update to remote isFunction check in favour of direct check

Addresses #17846 (comment)

* Update to handle mailto and tel protocols and internal links

* url-input: handle onKeyPress type event

* link-control: add className prop

* link-control: add README file

* Remove unnecessary use of useCallback

Addresses #17846 (comment)

* Fix current automated tests

* Improves URL handling test to run for multiple URL value variations

* Updates to display the URL type in the search results

Previously only true `http` URLs were formatted with the correct type and the instructional text. Fixes so that all types of manual URL entry are correctly shown as such in the search results.

Adds test to cover mailto variant of this.

* Refactor tests to assert against all valid protocol formats and link variants

This now includes tel, mailto and internal links.

* Adds test to cover display of fallback URL search result for search values that are potentially URLS

* Adds tests to check URL suggestions don’t display for non-URLs.

* url-input: remove unneeded `suggestion` const

* url-input: always trigger onKeyDown event

* link-control: delegate handling keydown event
Instead of this, let's propagate the onKeyDown and onKeyPress events to the parent component

* link-control: add onKeyDown and onKeyPress handlers

* link-control: playground -> close once onClose

* link-control: propagate onClose() event

* link-control: playground -> hanldling close by ESCAPE key

* Fix to only render settings draw if settings are defined

* Remove redundant commented out test

* Update to render with a “current link” if one is provided.

Previously if you passed in a current link the component would still render with a search box as thought nothing was selected.

Updates so that if `currentLink` is provided the UI reflects that by showing the “selected” item and no search input.

* Render playground with currentLink active

* Adds test to cover currentLink prop

* Remove selected state from Playground

* Adds tests to cover selecting and changing links

* Remove async function in place of direct Promise usage and add test coverage

* Add test to cover keyboard handling

Note: this uncovered a bug whereby keyboard handling of “selecting” the link you want to use is broken. This needs to be fixed.

* Remove unecessary dep from effect

* Fix URLInput to pass the actual suggestion object not the index

If the full object is not provided then consuming components have no way of accessing the details of the selected suggestion thereby rendering it useless.

* Fix keyboard handling so hitting `ENTER` will select an item as the current link

Builds on previous commit.

* Updates keyboard interaction test to include URL entry

* Minor: reword test description

* Fix missing key prop regression

Previously `buildSuggestionItemProps` was including a key. However the implementation of `LinkControl` changed so that this was not required. However we forgot to reinstate on `URLInput`. This update ensures a key prop is set on the default output.

Note that disabling of the autofocus linting was already in place:

https://github.com/WordPress/gutenberg/blob/04e142e9cbd06a45c4ea297ec573d389955c13be/packages/block-editor/src/components/url-input/index.js#L239

Addresses #17846 (comment)

* DRY up conditionals

Addresses #17846 (comment)

* link-control: set a default experimental link suggestions searcher if it't needed

* link-control: handling key events

* url-input: remove onKeyDown prop

* url-input: remove calling onKeyDown prop

* url-input: rollback some changes

* Mark Link Creation Interface as Experimental (#18110)

* mark main component as experimental

* mark new URLInput props as experimental

* add experimental onKeyPress

* remove key handlers

* Updates to use alias on experimental props

Addresses #18110 (comment)

* Remove unused prop from docs

* Update props ordering and readme docs

Also fixes eslint errors that kept me from committing the original changes

* Revert playground changes

* Rename InputSearch to SearchInput

Props @talldan

I really hope those changes I had to make in `search-input.js` don't break anything.

* Remove disabling of jsx-key lint rule

* Change fake id value to something that will not clash with post ids
* Force block inserter to re-render on device rotation (#18101)

* Force block inserter to re-render on device rotation

* Dummy

* Revert "Dummy"

This reverts commit 037f076.

* Add left right borders to inner blocks (#18109)

* [Mobile]Remove alignment options from Media & Text until they are fixed (#18112)

* Remove alignment options temporarily

* Dummy commit

* Fix: remove getItemLayout which causes scroll position issue (#18060)

* Fix: Media & Text Loses upload status if post is closed/reopened during the upload (#18137)

* Prevent deleting mediaType on upload progress

* Call onMediaUpdate instead of onSelectMedia

* Dummy commit

* Revert "Dummy commit"

This reverts commit 5ce06d6.

* Limit requestMediaImport calls for only image type

* Update comment

* Dummy commit

* Revert "Dummy commit"

This reverts commit 99584e4.
* Fix handling of pasted images and prevent thumbnail uploads

* Fix lint errors

* Remove check for image for sync.
@hypest
Copy link
Contributor Author

hypest commented Nov 4, 2019

This branch cannot be rebased due to conflicts
Rebasing the commits of this branch on top of the base branch cannot be performed automatically due to conflicts encountered while reapplying the individual commits from the head branch.

^ While trying to rebase-and-merge. Hence my manual rebase.

@hypest hypest merged commit 705d911 into rnmobile/releases Nov 4, 2019
@hypest hypest deleted the rnmobile-cleanup-1.16.0 branch November 4, 2019 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change)
Projects
None yet
Development

Successfully merging this pull request may close these issues.