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

Tracking Issue: More core blocks and new store() API #53740

Closed
21 tasks done
luisherranz opened this issue Aug 16, 2023 · 35 comments
Closed
21 tasks done

Tracking Issue: More core blocks and new store() API #53740

luisherranz opened this issue Aug 16, 2023 · 35 comments
Labels
[Feature] Interactivity API API to add frontend interactivity to blocks. [Type] Tracking Issue Tactical breakdown of efforts across the codebase and/or tied to Overview issues.

Comments

@luisherranz
Copy link
Member

luisherranz commented Aug 16, 2023

In Expose the full Interactivity API in @wordpress/interactivity, we exposed a publicly testable version of the Interactivity API so people can start experimenting with it.

For the next iteration of the Interactivity API, we want to focus on four projects, including 3 core blocks (Comments Form, Query and Search blocks) and a major overhaul of the Store API. We'll update the list of tasks as we progress on the different projects.


Please subscribe to keep track of the progress.

@luisherranz luisherranz added [Type] Tracking Issue Tactical breakdown of efforts across the codebase and/or tied to Overview issues. [Feature] Interactivity API API to add frontend interactivity to blocks. labels Aug 16, 2023
@luisherranz
Copy link
Member Author

I've opened PRs for the enhanced ux of the Query block and Comments block:

We'll work on them as we progress through these tasks.

@luisherranz
Copy link
Member Author

I've opened a PR to add support for data-wp-key:

@luisherranz
Copy link
Member Author

I've added "Merge new SSR context on client-side navigation" because we need it for the Query block. I'll start working on it:

@luisherranz
Copy link
Member Author

I've opened a PR to address the previous task:

@luisherranz
Copy link
Member Author

I had to add a small fix for the previous PR:

@luisherranz
Copy link
Member Author

The enhanced pagination of the Query block is ready for review:

@luisherranz
Copy link
Member Author

There are still a couple of details regarding the movement of the form when a reply link is clicked, but otherwise, the enhanced comment form submission is ready for review:

@luisherranz
Copy link
Member Author

We added support for data-wp-slot and data-wp-fill in the #53737 PR, but we'll move it to its own PR:

@gziolo gziolo mentioned this issue Aug 27, 2023
67 tasks
@DAreRodz
Copy link
Contributor

The PR for the new router with region-based, client-side navigation is merged:

@DAreRodz
Copy link
Contributor

DAreRodz commented Aug 29, 2023

I just recently merged these PRs:

Just so you know, I left the JSDocs and documentation of the region-based router and the Slot and Fill directives for subsequent PRs. I'll add the task to the opening post.

@DAreRodz
Copy link
Contributor

The enhanced pagination for the Query Block has been merged. 🚀

@Poliuk
Copy link

Poliuk commented Aug 30, 2023

I've opened a couple of requests for the Query Loop that need to be included in the original Tracking Issue (I don't have the permissions):

@DAreRodz
Copy link
Contributor

DAreRodz commented Sep 5, 2023

As mentioned in #53737 (comment), we have paused the development of the Comments Form submission with client-side navigation until we develop a robust system to handle new styles, scripts, and other assets.

@luisherranz
Copy link
Member Author

I've opened a discussion to talk about a mechanism to detect blocks that are compatible with the Interactivity API so we can improve the reliability of the enhanced pagination of the Query block:

@DAreRodz
Copy link
Contributor

DAreRodz commented Sep 5, 2023

I just opened a PR for moving the "Enhanced pagination" toggle and updating its help message.

@DAreRodz
Copy link
Contributor

DAreRodz commented Sep 5, 2023

This PR makes navigate() calls to be canceled when another starts. Ready for review.

@luisherranz
Copy link
Member Author

David opened the PR to add a timeout to the client navigation:

@luisherranz
Copy link
Member Author

A small update:

Last week, we focused on preparing a private version of the Interactivity API for the WP 6.4 release, which needs to ship Core blocks already using it. This version will remain private and subject to change, as explained in this tracking issue:

Even though there was a bit of overlap with this tracking issue, we opened a new one because there are some tasks unrelated to the Interactivity API itself, but once those are finished, we'll get back to this one to continue our work.

@luisherranz
Copy link
Member Author

Now that WP 6.4 Beta 1 is out, we've closed the WP 6.4 Tracking Issue and we got back to this one.

In particular, we've begun developing the new store() API, but our plan is first to test it in Woo to ensure that we don't find any significant issues there. If all goes well, we'll do the same in Gutenberg to see if there are any issues here. We'll use this Tracking Issue again once we move the development back to Gutenberg.

In the meantime, if you want to follow closely this development, please follow:

@luisherranz luisherranz changed the title Tracking Issue: More core blocks and new Store API Tracking Issue: More core blocks and new store() API Oct 3, 2023
@luisherranz
Copy link
Member Author

We've completed all the tasks of the migration to the new store() API successfully in Woo.

I've updated the description to include the next steps:

  • Open a PR with the new API here in Gutenberg to make sure that the e2e tests that we have in Gutenberg pass.
  • Migrate the Woo blocks to the new API to make sure that everything works fine and we don't find any blockers.
  • Sync the code back to Gutenberg.
  • Migrate the Core blocks to the new API to make sure that everything works fine and we don't fine any blockers.
  • Add missing e2e tests.
  • Migrate the documentation.
  • Migrate the getting started template.

@luisherranz
Copy link
Member Author

I've opened a couple of PRs to fix problems with wp_unique_id and the enhanced pagination:

I've also added two more additional tasks to the list:

  • Update the <title> on navigation.
  • Turn off the enhanced pagination when certain blocks are inserted: Post Content, Template Part, Reusable block…

@DAreRodz
Copy link
Contributor

I created a PR for testing the new store() API.

The runtime currently works fine, although we have probably broken the PHP part. I'll take a look later. 🙂

@DAreRodz
Copy link
Contributor

I created a PR for disallowing core blocks that can render third-party blocks and be edited outside of the Query Loop context, e.g., Content, Template Part and Patterns.

@luisherranz
Copy link
Member Author

@cbravobernal
Copy link
Contributor

cbravobernal commented Nov 7, 2023

PR with a fix for the position of some accesibility markup in the enhanced Query Loop has been merged:

@luisherranz
Copy link
Member Author

Most of the progress in the last weeks has been done in the migration to the new store() API PR:

That PR contains both the new runtime and the migration of the Core blocks because everything needs to be merged at the same time.

It's already almost finished, awaiting final details and reviews.

@DAreRodz
Copy link
Contributor

The PR for migrating to the new store() API is complete. I've also marked all related tasks as done and added new ones for the remaining work.

@DAreRodz
Copy link
Contributor

The create-block-interactive-template package was migrated to the new store() API here:

@luisherranz
Copy link
Member Author

luisherranz commented Nov 30, 2023

Now that the new store() API has been merged, let's see what we need to do before the 17.2 release next Wednesday:

Does anything else need to be completed before the release?

@DAreRodz
Copy link
Contributor

DAreRodz commented Nov 30, 2023

Does anything else need to be completed before the release?

@luisherranz, maybe we should add and update JSDocs & TSDocs? 🤔

  • Fix outdated docs: store(), directive()
  • Add missing docs: getContext(), getElement(), navigate(), prefetch()

@luisherranz
Copy link
Member Author

Perfect, yes.

@DAreRodz
Copy link
Contributor

DAreRodz commented Dec 4, 2023

I've recently created a PR to update TSDocs/JSDocs for the new store() API. Ready for review.

In addition, last week, I opened a PR draft with the ongoing work to implement wp_initial_state.

@luisherranz
Copy link
Member Author

I've started the PR with the updated docs:

@luisherranz
Copy link
Member Author

Now that the new store() API has been merged, let's close this Tracking Issue as completed and start a new one to track the work to prepare the public 1.0 version.

@luisherranz
Copy link
Member Author

I've published the migration guide for the new store() API:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Interactivity API API to add frontend interactivity to blocks. [Type] Tracking Issue Tactical breakdown of efforts across the codebase and/or tied to Overview issues.
Projects
None yet
Development

No branches or pull requests

4 participants