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: Expose the full Interactivity API in @wordpress/interactivity #51056

Closed
8 tasks done
luisherranz opened this issue May 29, 2023 · 13 comments
Closed
8 tasks done
Labels
[Feature] Interactivity API API to add frontend interactivity to blocks. [Type] Experimental Experimental feature or API. [Type] Tracking Issue Tactical breakdown of efforts across the codebase and/or tied to Overview issues.

Comments

@luisherranz
Copy link
Member

luisherranz commented May 29, 2023

In Expose the minimal Interactivity API in a public package, we exposed publicly the private and minimal version of the Interactivity API that we were using to test the Core blocks.

This new list of tasks is aimed to complete the Interactivity API publicly testable version, so it's the same full version as the one used in the block interactivity experiments repository (but without client-side navigation yet, which we'll add in a second phase).

Please, refer to the new Docs Tracking Issue to keep track of the documentation efforts.

Tasks

Discarded

  • Add wp-html (decide final name and research security issues).
@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 May 29, 2023
@luisherranz
Copy link
Member Author

I'm working on the wp_store function. I'll open a PR tomorrow.

@luisherranz
Copy link
Member Author

There you go:


I'll start migrating the SSRing next. I'll update the Tracking Issue with more detailed tasks for that.

@DAreRodz
Copy link
Contributor

DAreRodz commented Jun 2, 2023

I recently created a draft PR with the branch where I started working on porting the entire Interactivity API runtime (without CSN).

So far, I moved the missing directives and all the e2e tests unrelated to the client-side navigation feature. I had to refactor the tests a little bit, and I'm not yet convinced with the current arrangement.

I think we can get rid of our fixture to serve local HTML files and use a custom plugin with compiled view.js files. There are some examples of plugins used for e2e tests in /packages/e2e-tests/plugins.

Also, I'm not compiling any js file yet, and I had to expose preact, preact/hooks and deepsignal from the runtime, as some test implementations were using them.

@luisherranz
Copy link
Member Author

I'll start migrating the SSRing next.

There you go:

I'll update the Tracking Issue with more detailed tasks for that.

I don't think it's necessary anymore as I did all the tasks in that PR.

@luisherranz
Copy link
Member Author

Surficing this comment here. I will work on a PR to do the syntax changes from WordPress/block-interactivity-experiments#239.

Also, I added a task to the list to work on wp-html at a later point.

@luisherranz
Copy link
Member Author

luisherranz commented Jun 5, 2023

Done:


Let's try this order:

  1. Merge the syntax changes.
  2. Merge trunk with interactivity
  3. Merge the server-side rendering.

@luisherranz
Copy link
Member Author

Ok, those are merged and I also merged trunk.

@DAreRodz
Copy link
Contributor

I just merged the PR that adds the missing directives and the e2e tests we had in the block-interactivity-experiments repository. Those tests have been adapted to follow the same format used in Gutenberg.

@DAreRodz
Copy link
Contributor

I created a small PR to improve security on the store serialization. It's ready for review.

@luisherranz
Copy link
Member Author

luisherranz commented Jul 21, 2023

An update on the progress of these tasks, and other related Interactivity API improvements:


So this is almost ready to go. I think we can consider it completed as soon as David publishes his e2e PR, we merge the JSDocs one, and Weston's defer PR is merged.

After that, we'll think about the next milestones and we'll publish a new Tracking Issue.

@luisherranz
Copy link
Member Author

@DAreRodz opened a draft PR for the last task, add missing e2e tests:

@luisherranz
Copy link
Member Author

luisherranz commented Aug 4, 2023

An update on the progress of these tasks, and other related Interactivity API improvements:

Apart from that, @juanmaguitar opened a new Docs Tracking Issue to coordinate the documentation efforts, so I won't report documentation updates here anymore. Please subscribe to that Tracking Issue to keep track of that progress.

@luisherranz
Copy link
Member Author

Everything here is finished, including:

I've opened a new Tracking Issue with a new set of improvements to the Interactivity API.

Please, subscribe to the new one if you want to keep updated!

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] Experimental Experimental feature or API. [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

2 participants