WordPress 7.0 Beta 1 is out today ๐Ÿ”— **Source:** [WordPress 7.0 Beta 1 is out today](https://www.youtube.com/watch?v=fYsSCpu3CZ8) > [!note]+ Document Notes > tags: [wordpress, beta-release, gutenberg, icon-block] > author: Ryan Welcher > source: YouTube > reference: https://www.youtube.com/watch?v=fYsSCpu3CZ8 > date created: 2024-12-19 10:30 > > # ๐Ÿท๏ธ Title: WordPress 7.0 Beta 1 Release Day - Icon Block Deep Dive & Development Stream > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Test WordPress 7.0 beta when available โ€” release delayed due to Trac issues #testing - [H2] Enable icon linking functionality โ€” currently decorative only #development - [H3] Review API client merge proposal โ€” awaiting feedback from Matt #core-development ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ### ๐Ÿ”— References - [WordPress 7.0 Beta 1](https://wordpress.org/news/) - [Icon Block Development](https://github.com/WordPress/gutenberg) ## ๐Ÿ“ Summary - WordPress 7.0 Beta 1 release was delayed due to Trac server issues - New Icon Block has been successfully merged into core with basic functionality - API client merge proposal is under review with feedback from Matt Mullenweg - Ryan demonstrates Icon Block features and discusses technical implementation challenges - Community discussion about data stores, ACF integration, and accessibility considerations ## ๐Ÿ“– Main Content Ryan Welcher hosts a live development stream on WordPress 7.0 Beta 1 release day, which was delayed due to technical issues with Trac. The stream focuses heavily on the newly merged Icon Block, demonstrating its current capabilities and discussing future enhancements. The Icon Block represents a significant addition to WordPress core, providing users with a curated selection of icons that can be styled with colors, borders, and sizing. Currently, the block is decorative-only without linking functionality, though plans exist to add this capability through integration with the buttons block or direct linking support. Technical challenges discussed include accessibility considerations for screen readers, proper labeling for decorative versus interactive icons, and the complexities of integrating icons into existing block patterns like buttons. The stream also covers advanced topics like WordPress data stores, entity management, and REST API integration. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/fYsSCpu3CZ8?t=0) โ€” [H1] WordPress 7.0 Beta 1 Release Delayed - Key idea: WordPress 7.0 Beta 1 release postponed due to Trac server issues - Evidence: "7.0 beta 1 release day, but there's some issues. There's always issues, isn't there? It looks like Trac is acting up." #### โฑ๏ธ [02:30](https://youtu.be/fYsSCpu3CZ8?t=150) โ€” [H1] API Client Merge Under Review - Key idea: Matt Mullenweg provided feedback on API client proposal requesting UI improvements - Evidence: "The proposal to merge the API client into 7.0... Matt has made some comments about it being changed" #### โฑ๏ธ [04:15](https://youtu.be/fYsSCpu3CZ8?t=255) โ€” [H1] Icon Block Successfully Merged - Key idea: Icon Block has been merged into WordPress core with basic functionality - Evidence: "What I am very happy and excited about is that we got the icon block merged which is fantastic" #### โฑ๏ธ [08:30](https://youtu.be/fYsSCpu3CZ8?t=510) โ€” [H2] Icon Block Current Limitations - Key idea: Icon block currently supports styling but lacks linking functionality - Evidence: "The icon block is a little bit bare bones. You can't link anything right now" #### โฑ๏ธ [15:45](https://youtu.be/fYsSCpu3CZ8?t=945) โ€” [H2] Demonstrating Icon Block Features - Key idea: Icon Block supports color, background, border, and sizing customizations - Evidence: "We can set a background color... make the thing white... set some width... border and border radius" #### โฑ๏ธ [22:30](https://youtu.be/fYsSCpu3CZ8?t=1350) โ€” [H2] WordPress Release Schedule - Key idea: WordPress follows three major releases per year, approximately every four months - Evidence: "7.0 is supposed to come out on April 9th... we're in a three releases a year cadence right now" #### โฑ๏ธ [28:15](https://youtu.be/fYsSCpu3CZ8?t=1695) โ€” [H2] Block Comments Feature Discussion - Key idea: Block comments/notes functionality requires comments to be enabled - Evidence: "The notes are a comment type. So you need to turn comments on to make that work" #### โฑ๏ธ [35:20](https://youtu.be/fYsSCpu3CZ8?t=2120) โ€” [H2] Icon Block Integration Challenges - Key idea: Integrating icons with buttons block requires careful consideration of backwards compatibility - Evidence: "From a backwards compatibility standpoint, it would be a nightmare because we have to make sure that these buttons work" #### โฑ๏ธ [42:10](https://youtu.be/fYsSCpu3CZ8?t=2530) โ€” [H2] New Icons API - Key idea: Icon Block introduces a new private icons API for retrieving available icons - Evidence: "Now we have actually an icons API as well... it's a private data store" #### โฑ๏ธ [48:45](https://youtu.be/fYsSCpu3CZ8?t=2925) โ€” [H3] Pull Quote Block Reinstated - Key idea: Pull Quote block was brought back after being deprecated - Evidence: "The pull quote block was reinstated. So it was deprecated and... brought back" #### โฑ๏ธ [52:30](https://youtu.be/fYsSCpu3CZ8?t=3150) โ€” [H3] Accessibility Considerations - Key idea: Icon accessibility involves complex scenarios for decorative vs interactive elements - Evidence: "There's like three very distinct scenarios... if it's inside an interactive element then it doesn't get a label" #### โฑ๏ธ [58:15](https://youtu.be/fYsSCpu3CZ8?t=3495) โ€” [H3] Block Support System Limitations - Key idea: Current block support system lacks label customization and minimum value controls - Evidence: "Text color doesn't really make a lot of sense... you can't set a minimum value" #### โฑ๏ธ [1:05:30](https://youtu.be/fYsSCpu3CZ8?t=3930) โ€” [H3] Data Store Integration Help - Key idea: Extensive discussion helping community member with WordPress data stores and ACF integration - Evidence: "You want to invalidate your resolver... tell the store that this has not been resolved" #### โฑ๏ธ [1:25:45](https://youtu.be/fYsSCpu3CZ8?t=5145) โ€” [H3] ACF and REST API Considerations - Key idea: ACF fields must be exposed to REST API for proper integration with block editor - Evidence: "Your post meta has to be exposed to the REST API... if you don't check that box it will not work" ## ๐Ÿ“š References - [WordPress Core Slack](https://wordpress.slack.com/) - [WordPress Developer Documentation](https://developer.wordpress.org/) - [Gutenberg GitHub Repository](https://github.com/WordPress/gutenberg) - [WordPress REST API Handbook](https://developer.wordpress.org/rest-api/) ## ๐Ÿ—ฃ๏ธ Paraphrase - WordPress 7.0 Beta 1 release was postponed due to server infrastructure problems with Trac, the project's ticket tracking system - The new Icon Block has been successfully integrated into WordPress core, offering users access to a curated set of icons with styling capabilities but currently lacking link functionality - Community development discussions covered complex topics including data store management, accessibility requirements, and integration challenges between different block types ## ๐Ÿ“ฐ Newsletter WordPress developers, exciting news about the upcoming 7.0 release! While the Beta 1 was delayed due to technical issues, we got some great updates on new features coming to core. The Icon Block has officially landed in WordPress 7.0! This long-awaited feature gives you access to a curated set of WordPress icons that you can style with colors, borders, and sizing. While linking isn't available yet, it's a solid foundation that will expand over time. For developers working with the block editor, there were valuable insights shared about WordPress data stores, entity management, and ACF integration. The discussion highlighted the importance of exposing custom fields to the REST API for proper block editor integration. Key takeaway: WordPress continues its three-release-per-year schedule, with 7.0 scheduled for April 9th on WordCamp Asia's contributor day. Resources: [Learn WordPress](https://learn.wordpress.org/), [Developer Docs](https://developer.wordpress.org/), [WP-CLI](https://wp-cli.org/) ## โœ… Action Items #### WordPress - Core: Icon block linking functionality implementation - Core: API client UI improvements per Matt's feedback - Core: Block support system enhancements for labels and minimum values - Core: Pull Quote block restoration validation - Accessibility: Icon block ARIA label improvements - Documentation: Icon API documentation when it becomes public - Design: Icon block UI/UX refinements for better user experience ## ๐Ÿงช Hypotheses - Icon blocks integrated with button blocks will provide better user experience than standalone linked icons - Private APIs will become public as the WordPress block ecosystem matures - Three major releases per year allows for more incremental improvements than fewer, larger releases - Community-driven development streams help identify real-world integration challenges ### ๐Ÿ“Š Methodology - Live development demonstration with real-time problem solving - Community Q&A to identify common developer pain points - Code review and technical discussion of implementation approaches ### โ“ Questions - How will icon linking functionality integrate with existing accessibility patterns? - When will the icons API transition from private to public status? - What other block support system improvements are planned for future releases? ### ๐Ÿ”ฎ Future Research - Performance impact of icons API on site loading times - User adoption patterns for Icon Block vs custom icon solutions - Integration possibilities between Icon Block and other core blocks ### ๐Ÿ’ก Implications - Practice: Developers can start preparing for Icon Block integration in themes and plugins - Policy: New accessibility standards may emerge for decorative vs interactive icons - Education: Training materials needed for Icon Block usage and customization - Community: Live development streams prove valuable for real-time problem solving ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 12th grade #### ๐Ÿ‘€ Visual learners - Present: Live code demonstrations, block editor interface, browser dev tools - Improve: Architecture diagrams showing block relationships, visual API documentation #### ๐Ÿ”Š Aural learners - Present: Live narrated coding session, verbal explanations of concepts - Improve: Audio summary of key technical concepts, podcast-style recap #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Technical terminology explained, analogies for complex concepts - Improve: Glossary of WordPress-specific terms, comparison charts #### ๐Ÿงฉ Kinesthetic learners - Present: Live coding demonstration, real-time problem solving - Improve: Step-by-step tutorials, hands-on exercises with provided code #### ๐Ÿง  Logical learners - Present: Code structure analysis, systematic troubleshooting approach - Improve: Decision trees for implementation choices, performance metrics #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Live chat interaction, community Q&A, collaborative problem solving - Improve: Discord/Slack discussion threads, peer review opportunities #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Detailed code examples, individual exploration time - Improve: Self-paced tutorials, downloadable code samples #### ๐ŸŒฟ Naturalistic learners - Present: Real-world problem solving scenarios - Improve: Ecosystem analogies, natural progression of feature development ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Discussion of ARIA labels and decorative vs interactive elements - Improve: Screen reader testing demonstrations, accessible code examples #### Keyboard navigation - Present: Block editor keyboard navigation considerations - Improve: Keyboard-only workflow demonstrations #### Contrast and readability - Present: Color customization options for icons - Improve: Contrast ratio checking, accessibility testing tools #### Standards reference - WCAG 2.2 AA compliance for interactive elements, proper labeling for screen readers ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Global WordPress community participation, multilingual considerations - Improve: Examples from diverse geographic regions, translation discussions #### Inclusive language - Present: Technical terms explained clearly, jargon defined - Improve: Plain language summaries, avoid cultural idioms #### Neurodiversity support - Present: Structured presentation, consistent format - Improve: Content warnings for rapid screen changes, more frequent breaks #### Representation - Present: Community member participation, diverse technical perspectives - Improve: Varied speaker backgrounds, inclusive imagery choices ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Technical implementation follows WordPress coding standards - Inductive strength: Community feedback drives feature development priorities - Causal reasoning: Server issues directly caused release delay - Analogical strength: Comparing Icon Block to existing block patterns #### Fallacies - None identified: Logical technical discussion throughout #### Tone of voice - Overall tone: Collaborative, educational, problem-solving focused with technical expertise ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No defensive patterns identified - Attack: No attacks on community members or critics - Reverse victim/offender: Not applicable - Emotional cues and rhetoric: Positive, supportive community interaction ## ๐ŸŽฏ Conclusion WordPress 7.0 Beta 1's delay demonstrates the complex technical infrastructure required for major releases, but the successful Icon Block integration shows continued progress in core functionality. The live development stream format proves valuable for identifying real-world implementation challenges and fostering community collaboration around technical problem-solving. The Icon Block represents a significant step forward in WordPress core capabilities, though future enhancements like linking functionality and accessibility improvements remain priorities. For developers, understanding data stores and REST API integration becomes increasingly important as WordPress evolves toward more dynamic, interactive content management. ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad ### [H1] Icon Block provides curated WordPress icons with styling > [!quote] [WordPress 7.0 Beta 1 is out today](https://www.youtube.com/watch?v=fYsSCpu3CZ8) by [[Ryan Welcher]] via [[YouTube]]. Published 2024-12-19. Accessed 2024-12-19. > "The icon block is now should be now part of it which I'm very very very excited about." New core block enables styled icon usage without custom development. [view highlight](https://youtu.be/fYsSCpu3CZ8?t=255#H1) #wordpress #core-blocks ID:rw_001 ### [H2] WordPress data stores require resolver invalidation for cache updates > [!quote] [WordPress 7.0 Beta 1 is out today](https://www.youtube.com/watch?v=fYsSCpu3CZ8) > "You want to invalidate your resolver... tell the store that this has not been resolved." Entity caching prevents automatic data refresh without explicit cache busting. [view highlight](https://youtu.be/fYsSCpu3CZ8?t=3930#H2) #data-stores #caching ID:rw_002 --- ### ๐Ÿ”– Atomic Split Pad (Zettel Candidates) #### [Z1] Icon accessibility requires context-specific labeling patterns - Scope: WordPress Icon Block implementation - Pointer --- ## Full Transcript [02:50] All<br>[03:04] right. How is everyone doing today? My<br>[03:08] mic's way over here again. Hi everybody.<br>[03:10] Good to see you all. Is my mic actually<br>[03:13] working? Hold on. Where's my mic? There<br>[03:14] it is. So, today is uh 7.0 0 beta 1<br>[03:18] release day, but there's some issues.<br>[03:20] There's always issues, isn't there? It<br>[03:22] looks like track is acting up. Uh, this<br>[03:25] is me trying to load. Oh, and okay, so<br>[03:27] let's go look at the tickets. See?<br>[03:30] Uh,<br>[03:33] release.<br>[03:35] Yeah, I just got a I got a timeout there<br>[03:38] on it. So, who knows? Who knows what's<br>[03:41] happening?<br>[03:48] my the extent of my Spanish.<br>[03:56] I am very much looking forward to coming<br>[03:58] to see you in a few weeks. I think we're<br>[04:02] meeting up in Costa Rica. Are we not?<br>[04:05] I don't know. How's my Spanish going? Uh<br>[04:08] uh not good.<br>[04:10] It's not going good. I need to uh pick<br>[04:13] up my Duolingo again and start to learn<br>[04:16] it. It's one of those things where like<br>[04:17] I do really really well in Duallingingo.<br>[04:19] I'm like, "Oh, yeah. Yeah, yeah. I I<br>[04:22] know that word. I know this word. I can<br>[04:23] figure it all out." But then you put me<br>[04:24] in real life and I'm like, "Uh, desta."<br>[04:28] Like, I don't know how to say anything.<br>[04:31] Uh,<br>[04:33] I sound like an idiot. Oh, yeah. So,<br>[04:34] there we go. So, uh, so I think so if<br>[04:37] you're following along, um, with what's<br>[04:39] going on with the beta 1 release, which<br>[04:40] is supposed to be today, um, looks like<br>[04:43] in in the core channel in WordPress<br>[04:44] Slack, if you've not, if you're not in<br>[04:46] WordPress Slack, you should go in there<br>[04:48] and you can see the core channel, there<br>[04:49] are it's been delayed. The 7.0 beta 1<br>[04:53] release has been delayed. There's a<br>[04:54] couple of things for that. And another<br>[04:56] thing is the proposal to merge the um, a<br>[05:01] the API client into 7.0 know has Matt<br>[05:05] has made some comments about it about it<br>[05:08] being changed. Um, and so I think we're<br>[05:12] waiting to see what Wow, there's a lot<br>[05:14] of comments here. This is uh the the<br>[05:18] proposal. So go and read it out. And<br>[05:21] basically what this is meant to be is<br>[05:23] the JavaScript<br>[05:25] uh library associated with this. Um, so<br>[05:29] a lot of comments here, but this is the<br>[05:31] one that Matt Matt commented. he would<br>[05:33] like to see a better UI about connectors<br>[05:36] and things like that. Something similar<br>[05:38] to what claude code does or what claude<br>[05:40] like the UI one does. So, so we'll wait<br>[05:42] and see what happens there. Um, but what<br>[05:45] I am very happy and excited about is<br>[05:47] that we got the icon block merged which<br>[05:51] is fantastic. So, um, the icon block is<br>[05:54] now should be now part of it. um<br>[05:59] which I'm very very very excited about.<br>[06:03] Yeah. So um the icon buck is a little<br>[06:05] bit uh bare bones. Um it is<br>[06:10] you can't link anything right now. Um<br>[06:13] which is fine. Uh that'll come. But um<br>[06:17] maybe I can hold on. Let's see where<br>[06:19] what Let me just Okay, so let me get let<br>[06:22] me get my term open here. jump into the<br>[06:25] old uh Joots.<br>[06:31] Uh pull out the trunk. I hate how it<br>[06:34] asks me every single time for this and<br>[06:37] it drives me nuts.<br>[06:42] And I have to do SSH ad every single<br>[06:44] time.<br>[06:46] No. SSH add. And then I have to put in<br>[06:48] my<br>[06:51] really long password which I can never<br>[06:52] type properly.<br>[06:55] Okay. Three times the charm.<br>[07:00] Got it. Okay. So, now we should have<br>[07:03] trunk, right? So,<br>[07:06] here<br>[07:12] is<br>[07:15] what is all this? Oh, I know what this<br>[07:17] is. This is me.<br>[07:20] Okay. This is me experimenting with<br>[07:23] something. Uh, let's just see. Okay,<br>[07:26] cool. So, I'll I'll show you this in a<br>[07:28] second. Oh, hey cross keys. How's it<br>[07:29] going? That's a big long comment. I know<br>[07:32] blockheaders has been is a big project<br>[07:35] and fine if you don't know, but I'm see<br>[07:37] feeling a lot of feed shuffling editor<br>[07:39] comments and that it's not probably<br>[07:40] going to make 7.1 release. Do you know<br>[07:42] if it's going to happen before the end<br>[07:43] of this year? No worries if this is<br>[07:44] totally out of your rehaul. H<br>[07:47] uh don't we have commenting?<br>[07:52] Um standby. Let me just stash the this<br>[07:55] stuff. Uh include unttracked work in<br>[07:58] progress<br>[07:59] uh block<br>[08:03] support<br>[08:04] labels. Okay, so we'll do that. I'm<br>[08:07] going to just go ahead and pull down the<br>[08:09] latest I got going on in here. Okay, so<br>[08:12] GST. Okay, cool. Yeah, I should be able<br>[08:14] to pre uh<br>[08:18] make sure to MDM use<br>[08:22] NPM<br>[08:24] install if there's any. Oh my god. Ryan<br>[08:26] n<br>[08:28] install.<br>[08:34] Yeah. So yeah, there's block comments.<br>[08:37] Um<br>[08:45] uh mix<br>[08:47] no oh no no no no<br>[08:51] we'll start that. How do I know? I<br>[08:52] probably don't have Docker running. I<br>[08:53] guess y Oh, it's fine. Uh<br>[09:01] God, this microphone is like literally<br>[09:02] always in my way. I can't see anything<br>[09:04] when I'm typing. I got to do something<br>[09:05] better. I think I'm going to get a<br>[09:06] shotgun microphone that sits over here<br>[09:08] behind the camera and then that way this<br>[09:10] thing's not in my face. All right, let's<br>[09:12] run this again. I'm going to get the<br>[09:15] thing going on here. Don't worry, don't<br>[09:16] don't I refuse to take you on a map. No,<br>[09:19] no, no. I literally don't have much uh<br>[09:21] to go over today. I was just I was even<br>[09:23] debating just like not streaming because<br>[09:25] I don't didn't have anything. But um<br>[09:27] like I said, we're going to see how the<br>[09:29] release goes, if it goes. And in the<br>[09:31] meantime, we can we can look at uh what<br>[09:34] you're talking about here. So,<br>[09:37] Um,<br>[09:47] the editor comments. I thought that was<br>[09:48] in 6.9.<br>[09:51] Uh, let's uh let's see. And that's<br>[09:56] taking a long time. What's going on<br>[09:57] here? So, let's go uh<br>[10:01] break dev. Maybe we'll go uh WP admin.<br>[10:05] in here.<br>[10:12] Experiments.<br>[10:15] It might be under experiment. I don't<br>[10:17] have that. Let's see.<br>[10:20] No, no, no.<br>[10:24] Okay.<br>[10:26] It's going to update to 6.9.1.<br>[10:31] It's funny because I was I was the<br>[10:32] triage one of the triage release leads<br>[10:34] for 6.9 and I don't remember anything<br>[10:37] about what we did. Uh let's uh let's get<br>[10:41] into this thing.<br>[10:44] Okay, take a look at that.<br>[10:49] And then block comment thing. So open<br>[10:54] this created. Okay, let's get down to<br>[10:56] the bottom. after chatting decided to<br>[11:00] avoid rush decision to the next major<br>[11:02] release. Okay, so it looks like it's<br>[11:04] next major release. It's going to be 71<br>[11:07] content markers we might be able to<br>[11:08] leverage. Okay.<br>[11:22] Okay. So, all right. Cool. So, I guess<br>[11:25] there is no block. I think they called<br>[11:27] it notes commenting and they moved it to<br>[11:29] notes but uh Okay. Um<br>[11:43] there's<br>[11:46] >> it is supposed to be release date today.<br>[11:49] That is correct. Yeah, I guess there's<br>[11:50] no block notes. Um<br>[11:54] add note<br>[11:58] Uh, hold on, hold on, hold on, hold on,<br>[12:00] hold on, hold on, hold on, hold on. Uh,<br>[12:02] I'm gonna just, uh, see what plugins are<br>[12:04] installed here. Yes, the site. I'm just<br>[12:06] going to deactivate the good plugin. It<br>[12:09] might just be in the Good plugin. So,<br>[12:10] let me just double check that. Um,<br>[12:14] see, and grab this. Grab that. I'll do<br>[12:18] this. We'll say, and add note. So, you<br>[12:21] can add notes to this. It looks like um<br>[12:27] so I'm wondering what this is inline<br>[12:30] block. What is the usual time frame for<br>[12:31] major release once every I think it's<br>[12:33] every three months right now. Um<br>[12:36] we're think we're think is it four<br>[12:37] months? Three major releases a year. So<br>[12:40] it's probably four months depending on<br>[12:42] Yeah. So So uh 7.0 I know is supposed to<br>[12:45] come out in um supposed to be released<br>[12:49] on uh April 9th on contributor day for<br>[12:52] um for Camp Asia. So it'll be it's we're<br>[12:56] in a three releases a year cadence right<br>[12:59] now. And that's um yeah.<br>[13:08] So inline comments. Yeah.<br>[13:14] I'm trying to get a client to sit on<br>[13:15] their hands and piss money down a hole<br>[13:17] in on a plugin. Not pis. Okay.<br>[13:22] Yeah. So that like I mean there is notes<br>[13:25] like um<br>[13:28] you should be able to add notes. Sorry<br>[13:30] this is uh this is breaking. So you<br>[13:32] should be able to add a note here. Add<br>[13:34] note. I don't know where the notes come<br>[13:36] in. I can see them. Where are they?<br>[13:41] There they are. So, there's notes here.<br>[13:44] So, you should be able to do that. Now,<br>[13:46] I think I'm wondering if if if this is<br>[13:48] also to do with the real-time<br>[13:49] collaboration of notes like mo like add<br>[13:51] comment. So, this is it's weird.<br>[13:54] Um this is already in place. I'm um<br>[14:01] let me uh try this completely random<br>[14:04] site. I want to make sure<br>[14:07] this is<br>[14:14] grab this and<br>[14:17] yeah, so add notes. So you can<br>[14:19] definitely add notes to blocks. It's<br>[14:20] definitely there. Um,<br>[14:29] so you should be able to get at it. So<br>[14:30] there are notes, right?<br>[14:36] Does this answer your question, Cross<br>[14:37] Keys? I mean, you have to be in the<br>[14:38] block editor, though. So, I'm assuming<br>[14:40] your your client is. Oh, yeah. Troen<br>[14:44] makes Slack. We talk on the daily all<br>[14:46] the time. Okay. Well, it looks like<br>[14:49] track might be the blocker for the<br>[14:52] release today. One of Oh, it's back.<br>[14:54] Okay. So, so we'll see. Let's uh check<br>[14:57] in in the core Slack channel right now.<br>[14:59] Uh where is that? There we go. We'll go<br>[15:02] in the core Slack. Um,<br>[15:09] yeah, that would be it. So, the notes,<br>[15:11] so the notes are Yes, you do owe me<br>[15:13] something, Troy. Uh, Crosskies, that is<br>[15:16] exactly it. Um, Adam Silverstein, good<br>[15:18] good friend of mine, was working on on<br>[15:19] the notes, and it is a comment type. So,<br>[15:22] you need to turn comments on to make<br>[15:24] that work.<br>[15:26] Um,<br>[15:29] but you can probably just disable all<br>[15:32] the other comment types, all the other<br>[15:34] comments. Um, there we go. Yes, Troy<br>[15:38] owes me something. Troy's going to be on<br>[15:40] the stream soon. I don't remember what<br>[15:43] date we decided, but it's soon. It's<br>[15:46] going to be fun. It's the next talk Devi<br>[15:48] to me, and I need more I need more<br>[15:51] guests. March 12th. Thank you. Uh, I<br>[15:53] need more guests. So, if anyone wants to<br>[15:54] come on here and talk about whatever<br>[15:56] they're building uh and show it off and<br>[15:58] let let me uh try it out, let me know<br>[16:00] because you're you're more than welcome.<br>[16:02] There's not really many um stipulations<br>[16:06] other than it has to be basically free.<br>[16:08] Uh you can have a paid version, but I<br>[16:11] would like it to be something that's<br>[16:12] like the community can use immediately<br>[16:14] and if they want to pay money to get<br>[16:16] another version, they can do that. But<br>[16:18] like when um uh we had WP when we had oh<br>[16:21] my god Rob on with WP rig it that was a<br>[16:24] lot of fun. That was a really cool um<br>[16:26] stream. So anyways if you if you're<br>[16:28] interested reach out to me um and we can<br>[16:32] do it. We do it. Um okay. So actually in<br>[16:35] the meantime I guess while we wait we<br>[16:38] wait to see if if if this happens. Um<br>[16:43] all right. I've got I'm going to just<br>[16:45] start closing these things. Get lost. I<br>[16:48] don't care about you. Um, we'll see what<br>[16:50] we got here. So, this is my Gutenberg.<br>[16:53] Um,<br>[16:58] and<br>[17:00] um, I need to make sure is Oh, wait. Did<br>[17:02] I am I building? I'm not. M npm rundev.<br>[17:04] Okay. So,<br>[17:07] got the latest Gutenberg. Just going to<br>[17:09] build that right now. Uh, this is<br>[17:13] just quit studio. So, yeah, it's fine.<br>[17:15] Stop.<br>[17:17] And I've been I have an idea for<br>[17:20] something.<br>[17:22] I could do a talk on how I make<br>[17:24] Gutenberg good by disabling roughly 80%<br>[17:26] of it. I don't think that's a that's a<br>[17:28] talk that I<br>[17:32] um if you could put a positive spin on<br>[17:35] that, we could talk about it. I don't<br>[17:39] think that would get accepted at a word<br>[17:41] camp.<br>[17:46] But listen, I am definitely interested<br>[17:48] in hearing about why you had to disable<br>[17:51] like what you had to disable and maybe<br>[17:53] we can be like okay coming up with<br>[17:55] reason with ways that you don't need to<br>[17:56] disable it.<br>[17:58] I don't know I that I would that would<br>[18:00] be interesting to me for sure.<br>[18:03] What is the updates here?<br>[18:09] Plugins install plugins<br>[18:11] icon block. Okay, cool. So let's let's<br>[18:14] check. Oh, it's still building the<br>[18:16] types. This takes forever. You just sit<br>[18:18] there and it just builds. Oh, I can make<br>[18:19] it positive. In as much as Goodenberg<br>[18:21] can't decide whether it wants to be FSE<br>[18:22] or content editor. It's both. Why why<br>[18:25] not both?<br>[18:27] Uh if you disable enough parts of it to<br>[18:29] make it one or the other, it's a clean<br>[18:31] clean machine.<br>[18:35] It's going to be interesting<br>[18:38] later. Yeah. So I mean the thing is it's<br>[18:41] it's both, right? It's the site editor<br>[18:44] and it's the content editor, but you can<br>[18:45] turn off the site editor if you don't<br>[18:47] like it. Um,<br>[18:50] which I guess is what you're doing. So,<br>[18:52] that's that's probably it.<br>[18:55] Uh, okay, cool. Let's look at the the<br>[18:57] icon block. We'll see what it looks like<br>[18:58] in its current iteration. So, this is<br>[19:01] what we landed with. I'm going to to<br>[19:03] delete this. Is my keyboard not working?<br>[19:07] Okay, we're save that. So, icon block.<br>[19:10] We'll bring the the icon block in and<br>[19:12] insert the icon. So, we have this choose<br>[19:15] icon. It pops up. These are all the<br>[19:16] icons that we have available to us. Uh<br>[19:18] there is a subset. So, there was some<br>[19:21] decisions made around not including all<br>[19:23] of the icons that come in the WordPress<br>[19:25] icons package because some of them just<br>[19:26] didn't make any sense to be used on the<br>[19:28] front end. So, this is the starting<br>[19:29] point. Um you can pick let's say we pick<br>[19:33] the error here and then we can we can<br>[19:35] set a background color of whatever we we<br>[19:38] want. Let's say we want to make it red<br>[19:41] and then we want to make the thing<br>[19:43] white. And there we go. We can set some<br>[19:46] some um some width, right? We can<br>[19:50] actually do border and border radius as<br>[19:52] well. So we do a border of black. We'll<br>[19:54] do a little radius on that. So this is<br>[19:57] basically what we have available to us<br>[19:59] now. Um which which I think is pretty<br>[20:02] cool. Like I think it's pretty great.<br>[20:03] Let's see what it looks like in the<br>[20:04] front end. That's what it looks like in<br>[20:05] the front end. Right. It's it's very um<br>[20:11] simple for uh for now. So these are just<br>[20:13] decorative. You can't make them linked.<br>[20:14] Um there's no linking functionality in<br>[20:17] the block itself. Um<br>[20:19] there is some<br>[20:21] uh some talk around how we would do<br>[20:24] this. I think what what might make a lot<br>[20:26] of sense is<br>[20:29] what might be cool is if you had buttons<br>[20:31] and then you could add a new button, but<br>[20:34] it instead of it being a button, it<br>[20:36] would be uh wait uh it would be an icon,<br>[20:41] right? And then we'd link it. Or we<br>[20:43] could do the icon inside of the of this<br>[20:45] button. Not really sure. Um, I was<br>[20:48] looking at the code for the buttons and<br>[20:49] that's that's going to be a pretty big<br>[20:51] pretty big thing to change because the<br>[20:54] way it's built is if we just look Hold<br>[20:57] on. If we look at the uh look at the<br>[21:00] block library<br>[21:02] should just do not block directory. I<br>[21:04] think we should do a uh I think I should<br>[21:05] do shortcut to this thing. So, if we<br>[21:08] look at this and we look at the button<br>[21:09] block, not the buttons in the edit<br>[21:12] state, you can see just bear with me<br>[21:14] here. I'm going to zoom that in. Um, it<br>[21:17] is a rich text field somewhere. Rich<br>[21:20] text.<br>[21:23] I don't know what that was. Something<br>[21:24] just boned.<br>[21:27] So, putting this inside the button would<br>[21:29] be cool. We'd have to basically have a<br>[21:32] toggle or we'd have to have a way of<br>[21:34] inserting blocks to it because this is<br>[21:36] rich text. So, that's how we get the uh<br>[21:38] the typing. Do that, right? So, that is<br>[21:41] handled by rich text. I mean, we could<br>[21:48] maybe we couldn't. I think what we'd<br>[21:49] probably want to do is<br>[21:53] I don't know how we do this. I mean,<br>[21:56] from a backwards compatibility<br>[21:57] standpoint, it would be a nightmare<br>[21:58] because we have to make sure that these<br>[22:00] buttons icon add icon to rich text. Uh,<br>[22:04] can you do that? I don't think you can't<br>[22:06] put blocks in inside of icon inside of<br>[22:09] that. Um,<br>[22:12] right. I don't think you can. I mean, it<br>[22:15] it is just text. I guess you could just<br>[22:17] insert the text. Would that work?<br>[22:20] I don't think that would work. No,<br>[22:21] because it's markup. It's markup. So,<br>[22:24] um, like what you what you want to do is<br>[22:27] you'd probably want to have some kind of<br>[22:28] there's a function for that. Function<br>[22:30] for what?<br>[22:34] Except the latest update program<br>[22:36] identifying what is in the market for<br>[22:37] the market purchase.<br>[22:39] Uh, I think that's a side conversation<br>[22:42] that doesn't involve me. That's cool.<br>[22:43] Um, so I think what you'd probably want<br>[22:45] to do is you'd want to have some sort of<br>[22:47] option um to uh insert a block.<br>[22:52] So maybe it's a variation of of of this<br>[22:55] button block or like a icon button<br>[22:57] block, you know, or alternatively, we<br>[23:01] just add<br>[23:03] we we we do it at a different um level.<br>[23:08] Instead of doing it in the button, we do<br>[23:10] it in the buttons in here, right? Right.<br>[23:13] And then we add the ability because<br>[23:15] because I believe this is going to be<br>[23:17] able to allow a uh let's see where we<br>[23:19] here.<br>[23:21] That's not where I want to see this. I<br>[23:23] think buttons it it accepts inner<br>[23:25] blocks. And so you're going to it's<br>[23:27] going to I'm assuming it does inner<br>[23:28] block props. Yeah. So the button so<br>[23:31] template is core button and then there<br>[23:33] must be allowed blocks in here.<br>[23:37] Um,<br>[23:40] default block is default block. What's<br>[23:42] default block is that okay core button.<br>[23:46] So we could make it so you could insert<br>[23:49] the icon into the buttons block. But<br>[23:52] then at that point you you would need to<br>[23:53] have uh you would need to have the the<br>[23:57] icon block itself manage linking which<br>[23:59] is probably which might be the better<br>[24:00] way of doing it because you know because<br>[24:01] then it can just be inserted inside a<br>[24:03] navigation block. It it can do all that.<br>[24:06] So I think that may be the approach that<br>[24:08] that we want to do. That's just sort of<br>[24:11] my idea. Um but being able to insert<br>[24:14] this in here has button variations. What<br>[24:16] is this<br>[24:18] blocks? So default block direct insert<br>[24:25] template template orientation layout.<br>[24:28] Okay. So yeah, I think I think it might<br>[24:30] just be be a case of um doing that and<br>[24:34] then and then<br>[24:36] This button have parent block<br>[24:40] defined somewhere<br>[24:42] ports.<br>[24:50] Yeah. Okay. So, it's I think that's what<br>[24:52] we'd probably do. Um, put the icon in<br>[24:56] that way. That that's that would be my<br>[24:58] first instinct because I think it<br>[25:00] becomes more flexible if we put the link<br>[25:04] on this item and then this item gets<br>[25:06] inserted inside of<br>[25:10] um<br>[25:12] this<br>[25:15] this block,<br>[25:17] right? because yeah, because then we're<br>[25:18] not messing missing messing with the<br>[25:20] rich text and then we can actually<br>[25:21] handle because there's a lot of<br>[25:22] accessibility concerns or or things to<br>[25:25] take into account. Uh what am I most<br>[25:28] excited about? Okay, engaging. Um<br>[25:30] there's lots of stuff. I don't know. Um<br>[25:33] I've been very very very focused on the<br>[25:35] icon block, so I'm a little bit tunnel<br>[25:37] vision with that. There's a lot of<br>[25:39] really cool stuff coming. Um the as all<br>[25:42] the AI stuff is is great. Um<br>[25:46] I don't know. I think for me, I've just<br>[25:47] been so focused on the icon block. It's<br>[25:50] cool because now we have actually an<br>[25:51] icons API as well. So that's not it. Get<br>[25:55] out of here. uh which will um it's<br>[25:59] private now but you can go da da um<br>[26:04] select<br>[26:07] I think it's what core<br>[26:11] I have to look um look and see what it<br>[26:14] is where I I did a data store for it um<br>[26:23] library source<br>[26:31] So,<br>[26:35] oh, you have to un unlock it, but it's<br>[26:37] get it's get the icons. So, it's a<br>[26:39] private data store. So, there you there<br>[26:42] is an endpoint though um which is<br>[26:46] um<br>[26:50] there. So, if we do something like that.<br>[26:52] Oh. the wrong level. So, we should be<br>[26:56] able to get So, we have all these icons<br>[26:59] now. So, this a private API.<br>[27:05] >> Didn't the controversial block get<br>[27:07] added? I don't know. Which one was that?<br>[27:11] We resurrected the quote block. I<br>[27:13] believe there was block quote and quote<br>[27:15] um or one of the ones. I don't know if<br>[27:18] Kev I think Kev's being sarcastic about<br>[27:20] about my my icon block, but there is.<br>[27:22] So, now there's<br>[27:24] new Oh, yeah. Oh, yeah. Kevin's got a<br>[27:26] new uh Hold on. Let me see it.<br>[27:30] There it is.<br>[27:39] >> Um, yeah. So, there's this new API that<br>[27:42] is associated with this, which is it's<br>[27:44] not public right now. Uh, it probably<br>[27:45] will be in the next release. Uh, yeah.<br>[27:48] Yeah. So, what was the quote one? Um the<br>[27:53] Let me see. Oh, not in there. Not in<br>[27:56] there. Um it was Docs. Was it Docs? I<br>[27:59] think there was a<br>[28:03] um<br>[28:06] I can't remember what it was, but the<br>[28:09] um<br>[28:14] I'm pretty sure Oh, who's that guy?<br>[28:16] That's me. Um,<br>[28:19] let's see.<br>[28:23] Pull quote block. That's what it was.<br>[28:25] So, the pull quote block was reinstated.<br>[28:28] So, it was deprecated and and<br>[28:32] I have my own private for automatic.<br>[28:35] Yeah, I do. Um<br>[28:38] Um<br>[28:42] Oh, like my own. Yeah. Yeah. Yeah. It's<br>[28:44] just something I set up for testing<br>[28:46] something.<br>[28:47] There's nothing fancy about it. I can<br>[28:49] invite you if you'd like. If you'd like.<br>[28:51] What's in here? Yeah, this is me.<br>[28:57] Yeah, I know you do. I know. I'm uh I'm<br>[29:00] making sure that we're only looking at<br>[29:02] um the core<br>[29:05] uh where the core one because<br>[29:08] it looks like<br>[29:11] it's still been delayed.<br>[29:16] Yes, I know it's you're you're risky.<br>[29:18] Um, anyways, Kevin, the pulcro block was<br>[29:21] was block was brought<br>[29:24] brought back<br>[29:30] web books and cloud. Yeah, I I I was<br>[29:32] using it to to test an internal um<br>[29:36] AI bot.<br>[29:38] That's why I I created it. Um, cool.<br>[29:41] Yeah, so that's in there.<br>[29:46] Oh, I'm sure there is.<br>[29:49] Yeah, there would definitely be. I mean,<br>[29:51] the amount of the the accessibility<br>[29:53] concerns that for this icon block were<br>[29:56] pretty<br>[29:57] um just from me to understand it because<br>[30:00] there's like three very distinct umh<br>[30:03] scenarios and then um having to account<br>[30:07] for all of those and it's inside of an<br>[30:10] interactive element then it doesn't get<br>[30:11] a label. The outer element supposed to<br>[30:13] get a label. So, it's very uh it's very<br>[30:15] it's very complicated. But anywh who um<br>[30:18] what was I gonna talk about here? So,<br>[30:21] track was still acting very funny. Uh<br>[30:23] oh, it might be going down again.<br>[30:27] Uh no, not in the icon itself.<br>[30:32] Um so, the icons don't contain that. If<br>[30:35] you look at the the SVG, they don't have<br>[30:39] a title element in there. Um but we are<br>[30:42] there was some talk about around doing<br>[30:43] that because they are dynamically<br>[30:45] generated. Um<br>[30:48] but they're stored as a string. So um<br>[30:51] we'd need to have that<br>[30:53] done in that way. So no so the way the<br>[30:56] label is working now uh I can show you<br>[30:59] how the label works. Um<br>[31:02] we it gets applied via um<br>[31:08] tag the tag processor.<br>[31:17] Yeah. Yeah. So what what it gets now is<br>[31:20] if it if there's no label set um it just<br>[31:23] gets it's decorative and then if it is<br>[31:26] it gets a label applied to it along with<br>[31:28] the RO image. So I think some of these<br>[31:31] things we can probably<br>[31:33] um make uh<br>[31:36] make better. Um I actually I don't think<br>[31:39] you supposed to have the raw image if<br>[31:42] it's a decorative element. Um, and so<br>[31:45] that's that's sort of where this is<br>[31:47] getting a little bit complicated because<br>[31:49] it's wrapped in a div uh because we want<br>[31:51] the div to be the block level item that<br>[31:53] wraps that. So it it it acts like a<br>[31:56] block. Um, and then um we're adding<br>[32:00] these these things. Now what will<br>[32:01] actually end up happening in here is<br>[32:03] most likely adding a link around it.<br>[32:05] We'll have to put it we'll put it inside<br>[32:07] of a button. Then that button gets the<br>[32:09] label and then the item inside of it<br>[32:12] does not. So, there's some And then<br>[32:13] we'll have to adjust all of the uh the<br>[32:17] um UI to be like, is this linked? Yes,<br>[32:20] it's linked. Okay, so now it's wrapped<br>[32:21] inside of a button or an A tag. I guess<br>[32:23] we'd probably have to choose that. Um<br>[32:26] yeah, and just sort of like add those<br>[32:28] required things and all that.<br>[32:32] This<br>[32:34] start extension. Okay.<br>[32:37] Um cool. Well, there was one thing that<br>[32:38] I I was actually playing around with.<br>[32:40] Um, so the one issue that we ran into,<br>[32:43] uh, is that when we are dealing with the<br>[32:45] colors here, this text color doesn't<br>[32:48] really make a lot of sense.<br>[32:52] All right, Kev. Thanks, Kev. You're the<br>[32:54] best, Kev.<br>[32:56] >> Kevin.<br>[32:58] >> Yeah. Um, so, but we can't really really<br>[33:02] do much about this because this is a<br>[33:04] block support. So, so, so something that<br>[33:06] I asked code uh cloud code to help me<br>[33:08] with u was creating a way of defining<br>[33:13] these labels inside of block supports<br>[33:15] which I think will be really really<br>[33:16] powerful. And then the other issue is<br>[33:17] that you can't all you can't set it a<br>[33:20] minimum value. So, if we wanted to reset<br>[33:24] this, it gets reset super small, right?<br>[33:28] It gets set to basically the default<br>[33:30] size. Uh, which is a little bit janky,<br>[33:33] which is fine because I had some weird<br>[33:35] uh you use effect in there that was um<br>[33:39] uh making was was forcing it to like 12<br>[33:42] pixel 12 pixels I think it was, which<br>[33:44] isn't really the best user experience.<br>[33:47] And then you can never actually reset uh<br>[33:51] this. So like right now if I click reset<br>[33:53] and you know it's reset but before what<br>[33:56] it was doing was it was resetting and<br>[33:58] then it was being automatically back up<br>[33:59] up updated back to 12 pixels. So this<br>[34:01] would say re reset again. So it's in<br>[34:03] this weird loop. Um so anyways those are<br>[34:06] those are two issues with the block<br>[34:07] support system that uh we should<br>[34:09] probably figure out a way to fix. So on<br>[34:13] that end uh get check out try<br>[34:21] block<br>[34:24] support<br>[34:27] labels. So we'll do that. And I don't<br>[34:31] know what this is going to do but I<br>[34:32] actually I just stashed some some stuff<br>[34:35] here. So we're going to stash apply<br>[34:37] stash would be box labels. So let's<br>[34:43] see there. So I have to see some color<br>[34:47] panel.<br>[34:51] So the idea here is<br>[34:56] so we will do<br>[35:00] default controls<br>[35:03] controls.<br>[35:07] I think I like that.<br>[35:14] Oh, it's applied inside of colors. Okay.<br>[35:17] So, so this this would be sort of how<br>[35:22] how we would do it, I think. So, let's<br>[35:23] let's see what happens if I apply this<br>[35:25] to the old the icon block there. Clos<br>[35:28] hilarious because it does it adds all<br>[35:30] this stuff that you don't need and<br>[35:31] everything. So, I'm not going to mess<br>[35:32] with it too much, but I go into supports<br>[35:34] this color and I can go like this,<br>[35:36] right? experimental labels. We'll just<br>[35:39] see what this does. I don't know if it's<br>[35:40] going to work.<br>[35:43] Yeah, be cool if it did though.<br>[35:46] Super cool. Save this.<br>[35:51] So, let's see. Grab this here. Aha.<br>[35:55] Yeah.<br>[35:58] So, that's cool.<br>[36:00] So, instead of that, so panel button<br>[36:03] colors. Where's the panel title? I don't<br>[36:05] know if this panel title seems to be<br>[36:07] working.<br>[36:09] It's pretty neat.<br>[36:11] Uh, so we'll go icon color.<br>[36:29] Is that Oh, wait a minute.<br>[36:40] Oh, maybe. Oh, maybe maybe it hadn't<br>[36:43] built yet.<br>[36:46] There icon fill color. That's kind of<br>[36:49] cool. So, let's take this out. So, I<br>[36:52] just want to control that. I don't know<br>[36:54] why this button colors is not uh where<br>[36:56] where is that being<br>[36:59] being being messed with?<br>[37:04] Um,<br>[37:07] grab this. So, this should get<br>[37:09] background icon. That's kind of cool. I<br>[37:11] don't know why that Let's look and see<br>[37:14] what what what sort of code changes<br>[37:16] there are. Color panel. Color panel.<br>[37:19] Custom labels.<br>[37:35] experimental border.<br>[37:38] So,<br>[37:40] what I asked it to do was<br>[37:44] um Oh, do you have to know the name of<br>[37:47] it, though? Um, let's go. uh radius<br>[37:53] and I'll say icon border<br>[37:57] radius.<br>[38:08] Okay. Okay. So, you have to know what<br>[38:09] the key is, I guess.<br>[38:12] Panel title controls.<br>[38:24] Oh, wait a minute. Oh,<br>[38:28] I think I think the example was I just<br>[38:30] asked it to do this for um<br>[38:34] for that. So, where is<br>[39:01] H.<br>[39:06] So, okay. So, I think it works. It's not<br>[39:08] working for the other ones right now.<br>[39:14] What I don't understand is Okay. So,<br>[39:16] let's go to color. Let's open this up.<br>[39:17] So, what is it actually doing here? So,<br>[39:21] where's the panel? Where's the part that<br>[39:23] actually renders that panel?<br>[39:32] Edit<br>[39:35] the name of the panel.<br>[39:42] Change<br>[39:47] panel title. Where's that come from? Get<br>[39:50] support panel title.<br>[39:54] Name color support key color.<br>[40:05] windows.<br>[40:28] Okay. So, text icon that works. Button<br>[40:31] colors, but it's not being displayed.<br>[40:33] So, why isn't it being displayed? Panel<br>[40:34] title. Uh,<br>[40:48] yeah, it is. Hey, Carolina. It is<br>[40:50] delayed. We're just waiting to see what<br>[40:52] happens. Did they formally uh announce<br>[40:55] that it's going to be like postponed or<br>[41:04] >> Oh, we're doing a bug scrub here.<br>[41:07] You can see the full screen bug. Oh,<br>[41:08] we're doing the bug scrub today. Let's<br>[41:10] see. Notice what uh latest update comes<br>[41:13] here. Let's see. What is this?<br>[41:21] Okay. So, there is a delay. So, we're<br>[41:23] just going to wait and see what what uh<br>[41:25] what happens. In the meantime, I'm going<br>[41:26] to try to figure out why this panel<br>[41:27] thing is not working. Um<br>[41:39] it should be right here.<br>[41:51] Why that's not<br>[41:54] actually don't really care about the<br>[41:55] panel title. Do I care about the panel<br>[41:57] title? I don't think I do.<br>[42:00] It's not even being It's not even being<br>[42:02] used.<br>[42:24] Holy smokes.<br>[42:26] I don't think it's actually being used.<br>[42:29] Let's look.<br>[42:31] Oh, wrapper. Where's the label come<br>[42:34] from? Color panel gets label.<br>[42:43] Weird. What's this? Oh, that. Okay.<br>[42:58] So let's ask Clo. Let's ask Clo. Uh<br>[43:03] okay. I want to say uh the<br>[43:07] panel title<br>[43:10] is not<br>[43:12] being displayed for the color.<br>[43:26] I'm pretty comfortable with WordPress<br>[43:27] data. What are you looking for?<br>[43:33] Cross keys. What do you need?<br>[43:43] Are you just taking a survey?<br>[44:06] Can you can you tell me what you're<br>[44:07] trying to do?<br>[44:16] Well, w subscribe. I think I haven't<br>[44:19] used it in a while. Last time I did lot<br>[44:20] it subscribes to changes in in the<br>[44:23] store. So, the store is going to just be<br>[44:25] it gets triggered anytime something<br>[44:26] changes. So, if you're trying to<br>[44:28] retrieve entities<br>[44:30] and deal with a list of entities, you're<br>[44:32] probably<br>[44:34] you you're out you're outside of React.<br>[44:40] Okay, you got to give me the context of<br>[44:42] what of what you're doing here. Um,<br>[44:45] because you can still retrieve stuff<br>[44:46] from the data store outside of React.<br>[45:02] If if you want to if you want to<br>[45:04] subscribe to changes in the data store,<br>[45:05] then yeah, that WP.subscribe subscribe<br>[45:08] will most likely get you what you need<br>[45:10] to do. The problem I believe though is<br>[45:12] you don't know what's changed, just that<br>[45:14] something did change. And it could be as<br>[45:17] simple as like somebody opened and<br>[45:19] closed that a metab box or moved blocks<br>[45:22] around. I think all of that stuff<br>[45:23] subscribes like changes subscribe. I<br>[45:27] haven't really used that in a while.<br>[45:28] Let's take a look.<br>[45:55] new keyboard. Yeah, I don't know what<br>[45:56] I'm doing.<br>[46:11] Okay. Running<br>[46:22] a QA thing on the editor. For example,<br>[46:24] check if all attached images have all<br>[46:26] text. Put pull an array of all images<br>[46:27] blocks blocks. Grab their IDs. Do get in<br>[46:30] the record post type attachment.<br>[46:34] Get all the images and then pull the all<br>[46:37] text.<br>[46:46] So this is inside the editor.<br>[46:56] This this is what we're doing here,<br>[46:58] right? So in but this is in the editor<br>[47:00] because you're retrieving No, you're not<br>[47:02] getting a block. You're getting<br>[47:08] I'm running a QA thing on the editor.<br>[47:11] For example, check if all attached<br>[47:13] images have alt text.<br>[47:16] Pull an array of all image blocks.<br>[47:21] Yeah, the entity record will get cached.<br>[47:23] What you want to do is you Okay. So<br>[47:27] when you make your Yeah. Okay. So when<br>[47:30] you get do get entity record and you<br>[47:32] should be getting entity records, right?<br>[47:34] Not not a single one. Uh or no, no, I<br>[47:37] guess guess you could do that. Yeah. So<br>[47:39] you're you're grabbing a list of all the<br>[47:41] IDs. You're retrieving each ID via get<br>[47:44] entity record<br>[47:46] and then pull the alt text key. So the<br>[47:49] so you get all that stuff. It's caching<br>[47:51] the entity record. So if I add all text<br>[47:52] to an image without leaving the editor,<br>[47:54] it doesn't update the object.<br>[47:58] So,<br>[48:01] so you can there is a um<br>[48:07] there is a<br>[48:09] function that you can run a what is it?<br>[48:11] Um<br>[48:17] I'm trying to remember what it was<br>[48:18] called. is basically you want to um<br>[48:23] invalidate<br>[48:25] you want to validate invalidate um your<br>[48:28] uh resolver. That's what you want to do<br>[48:30] here. So let's just see entity record.<br>[48:34] So um<br>[48:37] so there is this invalidate re<br>[48:39] resolution function. So I'm just going<br>[48:41] to link this. It's kind of an old<br>[48:42] article but this is probably what you're<br>[48:44] going to want to do because so get<br>[48:46] entity records. get entity record. What<br>[48:48] it does is it retrieves that data and<br>[48:49] puts it in the data store. Data store<br>[48:51] being a big JavaScript object. And then<br>[48:54] once it has it, it doesn't make a server<br>[48:56] request again. So in order for you for<br>[48:59] it to make a a server request, you have<br>[49:02] to invalidate that particular<br>[49:05] um you have to in invalidate the<br>[49:08] resolver. So basically tell the store<br>[49:10] that this has not been resolved. And so<br>[49:12] it needs to hit the it needs to do its<br>[49:15] roundtrip to the server and resolve it<br>[49:17] again. So so that's that's what you're<br>[49:19] going to want to do that it's kind of an<br>[49:21] interesting u solution. So you have to<br>[49:24] pass the name of the store uh the name<br>[49:26] of the function and then the parameters<br>[49:28] that you're passing to it. So that's<br>[49:31] that's what it's going to be. So it's<br>[49:33] kind of an old that post I I linked is a<br>[49:35] bit older but it will um<br>[49:39] it will sort of get you there.<br>[49:42] Yeah, I I ran into I I used this in a<br>[49:46] pro in a client project when I was I I<br>[49:48] had a block that allowed you to upload<br>[49:50] PDF files.<br>[49:52] And so what we would do is we would<br>[49:53] retrieve all the attachments. But um and<br>[49:56] then they would be listed and then after<br>[49:58] you you updated um after you you dropped<br>[50:01] the PDF onto the block and it was<br>[50:03] uploaded, we had to invalidate the<br>[50:05] resolver so we'd get the new list of<br>[50:07] information. Otherwise, the new stuff<br>[50:09] wouldn't show up in in the block. it<br>[50:11] would be saved and everything, but it<br>[50:12] wouldn't be in the block. So, that<br>[50:14] sounds like what you're going to want to<br>[50:15] do there.<br>[50:18] And I love the shade that the Lup is<br>[50:20] throwing at me about my inability to<br>[50:22] type with this stupid microphone in my<br>[50:24] face.<br>[50:28] Uh, okay. So, what's going on here?<br>[50:29] Yeah, let's see. Okay, border panel is<br>[50:32] already solved.<br>[50:35] All right, let's see.<br>[50:37] Use border panel label.<br>[50:42] Sure. This is fun because I I I'm just<br>[50:45] tell I'm giving it a problem and just<br>[50:48] letting it run.<br>[50:50] You'll notice in my advanced query loop<br>[50:52] um<br>[50:54] repository, I have a lot more tests and<br>[50:57] uh uh playground and to end tests and<br>[50:59] unit tests and stuff because Cloud is<br>[51:01] just like generating it all for me,<br>[51:03] which is super awesome. takes takes all<br>[51:05] the busy work out like of having to<br>[51:06] generate content and uh do all that.<br>[51:08] It's fantastic.<br>[51:12] All right. What is this? Sure.<br>[51:15] Let We're just going to let it do its<br>[51:17] thing.<br>[51:18] This is still building. Okay. How we<br>[51:20] doing here?<br>[51:28] Both are clear.<br>[51:43] Wow.<br>[51:47] Cool.<br>[51:48] Um,<br>[51:59] one question was like rely on cash<br>[52:01] busting biting me in the ass down the<br>[52:03] line. Um, cash busting in the sense of<br>[52:06] invalidating your the resolution the<br>[52:08] resolver. Is that what you mean? Like<br>[52:09] the thing that we were just talking<br>[52:11] about?<br>[52:15] Uh, it shouldn't be a problem. All it<br>[52:16] does is just refresh the retrieval um<br>[52:20] from the server. So because like I'm<br>[52:24] assuming you're doing this in a place<br>[52:26] like inside a logged in state like<br>[52:29] you're in an admin somewhere,<br>[52:31] right? Like I'm assuming that's where<br>[52:33] you're doing this, not on the front end<br>[52:34] or anything. Um I would say you're<br>[52:37] probably you don't really have a<br>[52:39] problem. I would I would put some<br>[52:42] guardrails around it. Don't just don't<br>[52:43] just keep resolving all the all the<br>[52:45] stuff all the time, right? Um do it when<br>[52:49] you need it. So when you make a change<br>[52:51] like the example that I I I was just uh<br>[52:54] talking about. So I had a block where<br>[52:56] you could drag and drop PDFs. So you you<br>[52:58] drop the PDF on there. After it<br>[53:00] uploaded, there was like an upload<br>[53:02] finish call back. In that call back, I<br>[53:04] invalidated<br>[53:06] the uh the resolver which caused the<br>[53:08] store to re-query and it just it just<br>[53:10] did that. So don't just do it all the<br>[53:12] time. Ju build a button that says<br>[53:15] refresh the query or something along<br>[53:17] those lines. Like I would I would put<br>[53:18] some guardrails around it that way<br>[53:20] because you don't want to make a ton of<br>[53:22] you don't want to have to hit the server<br>[53:23] all the time if you don't need to. But<br>[53:26] because it's like a one person using it<br>[53:27] and it's in the admin and I'm assuming<br>[53:29] it's a it's a tool that not everyone's<br>[53:30] going to be using. You're probably going<br>[53:32] to be fine. All all it's really doing<br>[53:35] behind the scenes is populating a<br>[53:38] JavaScript object with a bunch of<br>[53:39] information. It's not it's just<br>[53:41] retrieving data. Um like if we were in<br>[53:42] PHP and we didn't have like object<br>[53:44] caching, you'd be making those same<br>[53:46] queries all the time anyways, right? So<br>[53:48] I don't think you need to worry about it<br>[53:50] too much. That said, just make sure<br>[53:53] you're not doing a hundred queries all<br>[53:55] the time, right? Like don't put it<br>[53:56] inside of a for loop like oh oh that's<br>[53:59] the other thing. So like you're going to<br>[54:00] have a list of of attachment IDs.<br>[54:03] Um don't invalidate it after every call.<br>[54:07] uh invalidate it. Like if you're going<br>[54:09] to loop through them all and get all the<br>[54:11] data and do a thing after<br>[54:16] you probably want to inval<br>[54:20] you might that's a good question. You uh<br>[54:23] because you you have two queries. Well,<br>[54:25] you have a number of queries. You have<br>[54:26] the the query to get all all the ids.<br>[54:28] you'll probably never need to resolve<br>[54:29] that because unless you're adding new<br>[54:32] attach attachments as part of this, you<br>[54:35] it's going to be the same list. If you<br>[54:37] if you want if you're changing something<br>[54:39] on the attachment itself, like the<br>[54:42] attachment post type itself, um, and<br>[54:45] then you you need to work with that<br>[54:47] immediately, you'll probably want to<br>[54:48] make the change and then invalidate it.<br>[54:51] Um, so the next time you retrieve it,<br>[54:53] you'll get the updated in info. This is<br>[54:55] in the weeds. So like I'll have to like<br>[54:57] I I'd have to see what you're doing uh<br>[54:59] to to do it right.<br>[55:04] You can run a subscriber that tracks the<br>[55:05] image number block. Yeah. Well, but just<br>[55:08] to be clear though, it's not blocks<br>[55:12] like are you doing this based on the<br>[55:14] number of blocks that are in the the<br>[55:18] post being edited<br>[55:20] or are you retrieving all of the post<br>[55:22] types that are attachments?<br>[55:31] because image blocks don't necessarily<br>[55:34] so you're getting all the image blocks<br>[55:36] on on the page. Okay. Okay. So, you<br>[55:40] should be a able to get access to the<br>[55:41] image ID that way. And then um<br>[55:49] not using C image blocks. So, it's the<br>[55:52] custom block that stores a attachment ID<br>[55:55] I'm assuming<br>[55:58] right<br>[56:03] I mean there's a number of ways that you<br>[56:04] can do this basically yes okay so then<br>[56:08] you're going to get all those blocks<br>[56:10] you're going to loop through the uh<br>[56:12] attributes for each one of those blocks<br>[56:13] retrieve the the the the ID then based<br>[56:17] on each of those ID you're you're going<br>[56:18] to retrieve the actual attachment post<br>[56:21] that is connected to that that image<br>[56:26] and then add the alt text to the image<br>[56:29] post or the add the alt text to<br>[56:32] something.<br>[56:42] And then where are you wanting the alt<br>[56:44] text to display? You want it to display<br>[56:46] inside the block.<br>[56:55] Okay.<br>[56:57] So, and and what and what does what does<br>[56:59] verify mean? That it exists and it's<br>[57:04] well, for the sake of this conversation,<br>[57:06] just it it exists and there is some text<br>[57:08] in there, right? So, you want to make<br>[57:11] sure that it's that it has all text<br>[57:18] that it exists. Okay.<br>[57:21] Okay. And then<br>[57:26] Okay. So, you're going to get your list<br>[57:28] of blocks. You're going to retrieve the<br>[57:29] entity the the attachment ID for each<br>[57:31] one of those. You're going to check to<br>[57:33] make sure that the post has the it's the<br>[57:36] post meta. I'm assuming for the alt for<br>[57:39] the alt text,<br>[57:41] right? Is it stored in post meta? Can't<br>[57:44] remember.<br>[58:00] Yeah.<br>[58:04] Mark separate.<br>[58:12] So what happens if it's not there?<br>[58:20] So I I insert one of your blocks, the<br>[58:23] custom block. I make reference to an<br>[58:27] attachment ID somehow, however that<br>[58:29] works. And then this tool checks and<br>[58:32] there's no there's no alt text on the on<br>[58:36] that post on that post that attachment.<br>[58:39] What what happens then?<br>[58:53] I'm just wondering if there's a simpler<br>[58:55] way of doing this that you could have<br>[58:57] each block check itself.<br>[59:02] It's hooked into a checklist. It updates<br>[59:04] itself in post state. We'll let you set<br>[59:06] it depending if the checklist isn't<br>[59:08] green.<br>[59:09] Okay.<br>[59:25] Okay.<br>[59:33] I'm still not entirely clear on<br>[59:37] what you're trying to do<br>[59:40] because<br>[59:41] if you just want to make sure that<br>[59:45] something. Okay, so you could use get um<br>[59:50] use entity prop<br>[59:52] to retrieve the post meta for that post<br>[59:55] ID<br>[59:57] and then check to see if that post meta<br>[59:59] is there. I'm pretty sure attachments<br>[60:01] store their all text in in post meta. Is<br>[60:04] that is that accurate? I I can't I can't<br>[60:06] remember.<br>[60:09] Does anyone know?<br>[60:10] off the top of their head. I'm assuming<br>[60:13] it's the only place you can store it.<br>[60:20] And so you can retrieve the post meta,<br>[60:23] excuse me, you can retrieve that post<br>[60:24] meta inside your block. And that block<br>[60:26] will you can just use use entity props<br>[60:28] and get meta, right? And then you'll<br>[60:29] have a list of all the meta and you can<br>[60:31] see if the alt text is there. If it is<br>[60:32] there, cool. If it's not there, you can<br>[60:35] actually update it as well inside that<br>[60:37] block and have it update that meta. And<br>[60:40] then when they hit they hit save,<br>[60:43] um,<br>[60:47] it'll it'll update that that that meta<br>[60:49] for you.<br>[60:55] No, you're not monopolizing my time. I'm<br>[60:56] just trying to understand what you're<br>[60:57] doing. It feels like, and this is I I I<br>[61:00] mean this with love and respect because<br>[61:02] I don't know what you're building. It<br>[61:03] feels like it's more complicated than it<br>[61:05] needs to be, but I might I don't think I<br>[61:08] fully understand what you're trying to<br>[61:09] do. It feels like you're fighting with a<br>[61:11] plugin. Like that's what it seems like<br>[61:13] to me. Um that is doing some kind of<br>[61:17] restricting of of post updates, right?<br>[61:20] Um<br>[61:22] or being able to change the status or<br>[61:25] the post state, the post status, I guess<br>[61:28] is what it is. And we'll let you save<br>[61:29] depending if the checklist isn't all<br>[61:31] green. So, you're trying to make sure<br>[61:33] that the<br>[61:35] stuff is all green right<br>[61:39] now. Is this plugin? What plugin is<br>[61:41] this? Can you link the plugin because<br>[61:43] you can I have code that you can have<br>[61:47] that's a pre-published checklist that<br>[61:49] might that you can edit.<br>[61:51] It's plug. Oh, it is. It's plugging<br>[61:53] combat and trying to nest stuff<br>[61:54] together. I'm also using ACF block so<br>[61:56] that doesn't save to post meta.<br>[62:07] There's a lot of pieces here.<br>[62:10] AC. So what? Well, isn't advanced custom<br>[62:13] fields all posted.<br>[62:27] Oh, it's part of a publish press. I<br>[62:29] could move to my own profile tomorrow. I<br>[62:31] would but it's part of Okay. Okay. So, I<br>[62:34] think I need to understand the specifics<br>[62:36] of this particular uh situation. But I<br>[62:38] think what you can do in your custom<br>[62:40] block retrieve use post meta. Yeah, use<br>[62:45] that thing that I just said. What was<br>[62:46] it? Use um<br>[62:50] use entity props. It's a hook. Oh, but<br>[62:53] and you're outside of React, right?<br>[62:55] Okay. So, you're going to want to do it<br>[62:56] a different way. Um, if you're not in<br>[62:58] React, you can't use the hooks. So,<br>[63:00] let's Come on, keyboard.<br>[63:05] So, there's going to be some I think<br>[63:06] there's another thing that you can do<br>[63:08] here. What is it? Um<br>[63:13] you can retrieve it in a slightly<br>[63:15] different way using um<br>[63:27] be post meta rest api.<br>[63:30] Oh yeah that's the other thing. Your<br>[63:32] post meta has to be exposed to the rest<br>[63:33] api. So if your<br>[63:38] solve this problem. I can use the same<br>[63:39] solution to build this in quality check<br>[63:41] for client wants. Um yeah, so the thing<br>[63:44] that you're going to want to be doing is<br>[63:47] um<br>[63:49] in ACF make sure your fields are all<br>[63:51] exposed to the rest API and then you'll<br>[63:53] be able to retrieve that inside the<br>[63:54] block editor. Okay. Um so so you can do<br>[63:58] that is is is important in that case.<br>[64:02] And then if you're in the block editor,<br>[64:06] you were saying it's outside of React.<br>[64:08] So why is it outside of React if you're<br>[64:09] inside the block editor? Because I think<br>[64:11] maybe<br>[64:13] are are you in queuing a file and it's<br>[64:15] just outside of React? Is that the<br>[64:16] problem? Because there's a way that you<br>[64:18] can do that by hijacking the slot fill<br>[64:20] system. You can classic are you in Yeah.<br>[64:23] Are you in classic press? Are you<br>[64:30] Lots of questions for you. Lots of<br>[64:31] questions. Let me let me<br>[64:46] That's MY<br>[64:58] There's<br>[65:08] one that hooks into existing plugin<br>[65:10] class for anybody extending their<br>[65:11] classes. You have to stick it all in JS<br>[65:13] file in your plugin.<br>[65:17] Well, I<br>[65:29] Okay. So, what you can do, you can you<br>[65:32] might be Okay. How does it check to know<br>[65:34] if the block has got a So, I'm assuming<br>[65:37] what's happening here is the the alt<br>[65:39] text is triggering if it's it's failing<br>[65:42] the checklist. That's that's what we're<br>[65:44] talking about. I'm assuming, right? Um<br>[65:47] that the lack of an alt text makes it<br>[65:50] not green. So, you can't you can't put<br>[65:52] it into pending.<br>[65:56] So if that's the case, you don't have to<br>[65:59] do this inside their framework. You<br>[66:01] could do this in the block itself. Have<br>[66:03] the block check itself to make sure that<br>[66:04] there is indeed a an uh a um alt text<br>[66:12] and even you know have it update the alt<br>[66:14] text for you.<br>[66:20] And then you can do that in the block<br>[66:22] itself. Use the use entity props and<br>[66:25] then have it update that. And if it is<br>[66:27] stored in ACF,<br>[66:29] if it is stored in ACF, you can still<br>[66:32] retrieve the stuff from ACF. You have to<br>[66:34] do a bit more work to write it back to<br>[66:36] ACF. But that this is a problem that<br>[66:38] we've that we solved on on on stream<br>[66:41] here<br>[66:42] um<br>[66:45] a little while ago. Um, and I it's a<br>[66:48] little bit old, so I think um<br>[66:52] we did figure out another way of doing<br>[66:54] that. Um, no, I I have to find it.<br>[66:57] That's that's the thing. Uh, we're going<br>[67:00] to go I'm just going to look for ACF<br>[67:06] datab.<br>[67:14] So, okay. This is a bit a bit advanced,<br>[67:18] but you can still retrieve. Oh, this is<br>[67:20] very old. I got to update this. So, to<br>[67:23] get the value<br>[67:26] the block for the stupid checklist<br>[67:27] probably snip. I'm all for moving code<br>[67:29] out of there. Great. So, I think I think<br>[67:31] you can. I just I don't want to send you<br>[67:34] down the wrong path because I don't<br>[67:35] really fully understand all the nuance<br>[67:37] here. But I think what you're going to<br>[67:38] want to be doing<br>[67:40] is<br>[67:42] um<br>[67:44] display meta. Is this it?<br>[67:48] See?<br>[67:52] Okay. So you can get so you can you can<br>[67:55] take this use entity prop and you can<br>[67:57] retrieve the meta for it. Okay. If it's<br>[68:01] ACF meta, it needs to be exposed to the<br>[68:03] rest a API inside of ACF. And this works<br>[68:06] the same for SCF too.<br>[68:10] Um, so you can still get it. The thing<br>[68:13] about a a ACF is it exposes its post<br>[68:16] meta in the rest API response in a<br>[68:19] different place. It exposes it in a an<br>[68:21] ACF property. So that's how you can get<br>[68:23] that stuff back. Now writing from<br>[68:26] writing back to it is definitely a<br>[68:29] little bit more complicated. It is<br>[68:31] possible. you will have to do something<br>[68:34] a little bit different. Um,<br>[68:39] you will have to make a REST API call<br>[68:43] like this. I'm just going to I I'm just<br>[68:45] going to send you this file. Now, this<br>[68:46] is a little bit old. I don't know if<br>[68:48] Liam um has been on the stream.<br>[68:53] Okay, cool. So, so so so there you go.<br>[68:55] So this is what this is going to do is<br>[68:57] this is going going to give you the the<br>[68:59] post meta for ACF as long but it needs<br>[69:02] to be exposed to the rest API that I I<br>[69:03] cannot state that enough. If you if you<br>[69:05] don't if you don't go into your settings<br>[69:07] and and check that box it will not work.<br>[69:09] It will not show up in this in this um<br>[69:12] response.<br>[69:13] So you could do that and then what you<br>[69:15] can actually do is you could do<br>[69:16] something like um like this this uh<br>[69:19] pre-published checklist. Um, I did<br>[69:22] something where uh let's see kind of<br>[69:29] um trying to remember where I did this<br>[69:32] here. No, it's finished. Do I finish my<br>[69:36] final player?<br>[69:38] Um, this is quite old, but one thing<br>[69:40] that you can do is you could you could<br>[69:43] um<br>[69:44] Did I do this in here? I can't remember.<br>[69:46] Oh, um,<br>[69:49] I have another example.<br>[69:51] use the one from block developer<br>[69:52] cookbook. Uh there is a pre-published<br>[69:54] checklist in here. And one thing that it<br>[69:56] does do is<br>[69:59] where the heck is it?<br>[70:02] Was it word counter?<br>[70:08] Oh, you could use editorial notes, too.<br>[70:10] Um<br>[70:13] basically where where I'm going with<br>[70:14] this is you want to add uh some sort of<br>[70:16] filter. So, so you'll probably want to<br>[70:18] add something along these lines um in<br>[70:21] here in step five.<br>[70:23] Do I have an anchor here? Inspect. Let's<br>[70:25] look. Is there an anchor? I do.<br>[70:28] So, I just do that.<br>[70:32] So, you could you could take a look at<br>[70:33] something like that. And all all this is<br>[70:36] going to do it. It's just going to wrap<br>[70:37] a a a class around it and to indicate<br>[70:41] that there's something up with that<br>[70:42] block. And you can have it do whatever<br>[70:45] you want to do. So, you'll probably want<br>[70:47] to add something along those lines. And<br>[70:48] I think um um<br>[70:53] yeah, so you want to do that. But the<br>[70:55] other thing you can you're welcome to to<br>[70:57] to to take a look at this um<br>[71:00] pre-published checklist<br>[71:02] um which has got some stuff in there.<br>[71:07] It's built in the slotfill system. So,<br>[71:10] anyways, I think that'll think that'll<br>[71:12] get you in the right direction. And just<br>[71:14] reach out to me on on Discord or or<br>[71:17] Slack or whatever if you want me to take<br>[71:19] a look at something. I'm happy to. Um,<br>[71:21] but uh yeah, I think that I think I<br>[71:23] think this this doesn't need to be as<br>[71:24] complicated. Um, because we you really<br>[71:28] just only need to like each block only<br>[71:30] needs to care about itself. And if you<br>[71:32] have, you know, when a block gets<br>[71:34] deleted, it won't m it won't matter<br>[71:36] anymore when it gets in inserted. um<br>[71:40] that you'll want to uh you want to check<br>[71:42] to make sure like you you you'll just<br>[71:45] want to make sure that there's a there's<br>[71:46] a uh attachment ID associated with it<br>[71:50] and then do your thing. Um the cool<br>[71:53] thing is where did that go? No test this<br>[71:56] you can actually pass the post type and<br>[71:58] you can pass the post ID. So you will<br>[72:00] get that from your block and you can<br>[72:03] just hardcode this. So it's basically<br>[72:05] the<br>[72:05] >> Oh, you made a wise choice my friend.<br>[72:08] There you go. Who's that? Cross keys.<br>[72:10] Thanks for the sub. You're a good guy.<br>[72:13] Good guy. Yeah. So, you're going to pass<br>[72:16] post type because that is the entity<br>[72:17] type. And then you're going to pass<br>[72:18] attachment because that is the type of<br>[72:20] entity that it is, which is a weird way<br>[72:22] of explaining this. Then that is the<br>[72:24] meta piece that you want and this is the<br>[72:26] post ID that you want to pass to it. So,<br>[72:29] uh these are all all generic and this<br>[72:31] will be the actual attachment ID and and<br>[72:33] and that should work. I'm assuming<br>[72:36] attachments are exposed to the rest API,<br>[72:38] then you should be good to go. Um, and<br>[72:41] then, oh wait, is the meta is the meta<br>[72:45] in<br>[72:46] Well, the alt is probably going to be um<br>[72:49] the alt will be uh stored somewhere<br>[72:52] else, I think. Right.<br>[72:57] You should you you should make a paid<br>[73:01] system where people could donate for<br>[73:02] code reviews.<br>[73:06] I you know what I would I'll do code<br>[73:08] reviews for free.<br>[73:10] It's stored on the entity. But is it<br>[73:12] stored in meta or is it stored on um is<br>[73:16] it stored on meta or is it stored in<br>[73:18] ACF? I'm assuming meta because in that<br>[73:22] case you'll want to access the meta<br>[73:24] item. So this is like pretty straight<br>[73:26] like this is just stuff that is on the<br>[73:29] the response. So you can actually<br>[73:30] retrieve anything off of that. So if you<br>[73:33] want to get the title, you'll you can<br>[73:34] get that, right? Um so you just have to<br>[73:37] make sure that you're accessing it in<br>[73:39] the right part of the response and and<br>[73:41] you can look at that uh like just by<br>[73:44] going in like WP JSON.<br>[73:47] Um<br>[73:51] like and going to post. Where's post?<br>[73:53] Where's post? Post. Oh, here comment.<br>[73:56] No. Um, is it like attachment?<br>[74:09] Of course, I have to look at the thing.<br>[74:10] I don't know what it is. So, attach<br>[74:25] med. Oh, it's probably media,<br>[74:28] right? And you just do type, I guess.<br>[74:30] Whatever the whatever the thing in there<br>[74:32] is.<br>[74:43] So, but anyway, so, um, if we were to<br>[74:45] just go,<br>[74:48] I'm gonna grab a generic one here. Oh my<br>[74:50] god. Come on now. Come on now.<br>[74:53] Points.<br>[74:54] We do comments, comments,<br>[74:58] block patterns, icons. Yay. Um,<br>[75:04] like if we were just to do posts,<br>[75:08] right? Then we can grab post six. So, so<br>[75:10] this is basically what you're going to<br>[75:11] be that. So, the the entity prop that<br>[75:16] you're going to be dealing with is these<br>[75:18] things. So, you can get GUID, you could<br>[75:21] pull author, you can pull meta. So when<br>[75:23] when you pull meta, you'll get this this<br>[75:26] object. You get the category. So that's<br>[75:28] what this use entity prop does. It it<br>[75:31] just pulls something off of the response<br>[75:33] for that particular ID. So if you had<br>[75:36] ACF in here, which you would if you had<br>[75:38] ACF enabled on and you would have uh the<br>[75:41] rest fields um sorry the fields exposed<br>[75:45] to to the rest REST API, you will have<br>[75:47] an ACF field in here as well. Uh but<br>[75:50] yeah, but you can get access to content.<br>[75:51] You can get access to all this stuff.<br>[75:53] Writing back to it is a completely<br>[75:55] different story. But if you don't need<br>[75:56] to do that, then then that's not an<br>[75:57] issue. But but yeah, so that's all this<br>[75:59] does. So when you call where is it? Um<br>[76:02] this use entity prop, you're just<br>[76:05] telling it which one of those properties<br>[76:06] from the rest response you want to<br>[76:08] retrieve. So just be aware of where the<br>[76:10] thing is that you're looking for. And<br>[76:11] that's it.<br>[76:16] Anything<br>[76:17] that's not bad because the way If I<br>[76:19] block you if you only see blocks post<br>[76:24] true and block JSON then you can only<br>[76:26] have some block post. Oh, okay. Yeah,<br>[76:29] maybe. Um I well I think attach like the<br>[76:33] all text in an attachment like if you if<br>[76:35] I were to go into like<br>[76:38] um like you know the admin<br>[76:41] I don't think I have any media in here.<br>[76:43] Yeah, I do. So in here like this is this<br>[76:46] um alt text this<br>[76:49] is the alt<br>[76:51] text we can take a look right now. Um<br>[76:56] save. So this is what is this? Then I<br>[76:59] can go um<br>[77:16] what was that? 22.<br>[77:19] Oh, where I go? That's media. I think<br>[77:21] it's media.<br>[77:24] There it is. So there's media.<br>[77:27] um<br>[77:29] talk to every okay so this is a slug<br>[77:32] author so meta oh it's not stored in<br>[77:34] there alt text okay so it's going to be<br>[77:36] at its own top level thing so you're<br>[77:39] going to just pass alt text<br>[77:41] um you'll just ask for the alt text<br>[77:43] directly well yeah so you you can call<br>[77:47] this<br>[77:48] um in here so this becomes alt text as<br>[77:51] opposed to ACF or alt text like in as<br>[77:54] opposed to that so that's that's what<br>[77:56] you'll call, but you need to have the<br>[77:57] post ID and needs to be exposed to blah<br>[78:00] blah blah all that sort of stuff. So,<br>[78:01] yeah. Well, let me know if it doesn't<br>[78:02] work or you're running in into problems<br>[78:04] with it and I'd be happy to um to take a<br>[78:07] look. Um and to ask to uh Lup's got a<br>[78:12] decent idea here. Let's see where's the<br>[78:14] spotlight message. Should make a paid<br>[78:16] system where people could donate for<br>[78:17] code reviews. I I would do code reviews<br>[78:19] if people donated to um<br>[78:22] not to me because I get paid to do this,<br>[78:24] but if If we set up like a donation so<br>[78:28] we could send someone to Word Camp or<br>[78:31] something along those lines, I' I'd be<br>[78:32] down with that for sure. That that would<br>[78:34] be very cool. I'd have to make sure that<br>[78:36] uh there's no conflict of interest for<br>[78:38] me at work. But um if I'm not getting<br>[78:40] the money or I'm not managing the money,<br>[78:42] maybe it's just a donation to um to some<br>[78:45] of the uh uh scholarship funds, which<br>[78:48] would be great. And it could be any<br>[78:50] amount. Um and I'd be cool with that.<br>[78:53] I'd be very cool with that. Um,<br>[78:56] yeah, sounds like a neat idea.<br>[78:59] Um, yeah. Oh, Ecom Lab05 from YouTube<br>[79:04] says, "Hi, hello from YouTube." Uh,<br>[79:06] we're over here in Twitch if you want to<br>[79:08] come hang out with us.<br>[79:09] You know what's the most terrifying<br>[79:11] thing in the world for a person like me<br>[79:13] that is like all surrounded by technical<br>[79:15] crap and stuff is when you find a random<br>[79:18] screw on your desk. You don't know where<br>[79:21] it came from.<br>[79:23] You know, you don't know where it came<br>[79:26] from. I mean, if I ever were to like<br>[79:28] work on my own and be self-employed,<br>[79:30] then yeah, I'm charging y'all for<br>[79:32] everything. But, uh, until that day, uh,<br>[79:36] I'm happy to coordinate donations for<br>[79:39] scholarships and stuff like that. I'm<br>[79:41] going to ask Ryan at work and see what<br>[79:42] that is. Ryan reviews then Ryan rewards.<br>[79:44] Oh,<br>[79:46] well, that's that's kind of the the<br>[79:47] concept behind Talk Devi to me is like,<br>[79:49] show me the thing that you're building.<br>[79:51] Let me play with like like show me how<br>[79:53] how how to use it and I'll I'll tell you<br>[79:55] what what I think. But maybe maybe the<br>[79:58] review is like I'm just reviewing it on<br>[80:01] my own and the person's not in the room<br>[80:04] because I I will be a lot more honest<br>[80:06] maybe<br>[80:07] and maybe more of a dick. I don't know.<br>[80:09] We'll see. Um yeah, cool. Well<br>[80:14] um wait, what was I working? Oh wait,<br>[80:16] let's check and see how we're doing with<br>[80:18] uh let's see if um<br>[80:21] we are doing this thing. Is are we doing<br>[80:24] this thing? What's going on? Okay, so<br>[80:26] WMA is actually doing a bug scrub right<br>[80:28] now. So if you're interested in the last<br>[80:30] bug scrub before 7.0 beta. Um<br>[80:36] yeah, that'll that'll be cool. Well,<br>[80:38] maybe there's a thing, Troy. That's a<br>[80:40] really great idea. Maybe there's a thing<br>[80:41] where we can have So the thing is I<br>[80:44] don't want to um<br>[80:51] I<br>[80:54] Yeah. Well, Karolina, you absolutely<br>[80:56] should. You absolutely should. I mean,<br>[80:59] want and need are two are two different<br>[81:01] things, you know. Um, which which site<br>[81:05] drop your site? Is it the the full site<br>[81:07] editing one? Because I would I would pay<br>[81:10] for it.<br>[81:16] I think that's I mean I think that would<br>[81:20] be um<br>[81:22] I think you deserve it, you know. That's<br>[81:25] what I think.<br>[81:28] Yeah. Well, I'll drop the link in here<br>[81:29] so people so people know what it is. I'm<br>[81:32] sure they all know, but just, you know,<br>[81:33] drop it in anyways. Um as long as it<br>[81:36] doesn't say Flappy Bird in the URL, I<br>[81:38] I'll click on it. Um someone's saying in<br>[81:41] YouTube, "How to test beta 1." Now, uh<br>[81:43] beta 1 has not been released yet. It's<br>[81:45] been delayed slightly. There's some a<br>[81:46] couple of things that have been um um<br>[81:51] that have delayed it there. Uh so it I I<br>[81:53] think it might be coming out out today.<br>[81:55] Uh but hopefully So if you have not seen<br>[81:59] Karolina's site at fullsightediting.com,<br>[82:01] go there right now and learn and then uh<br>[82:07] it is super useful. Um it's amazing. It<br>[82:11] is one of the first resources that I was<br>[82:14] aware of that uh started us down the<br>[82:17] road of working with the block developer<br>[82:19] or sorry the the block editor and<br>[82:21] fullsight editing and all that stuff.<br>[82:24] And so go check it out. Go check it out.<br>[82:28] Absolutely. Yes, Carolina, you should<br>[82:30] absolutely be be charging for access to<br>[82:32] these courses. That's my opinion.<br>[82:35] Um, that's my opinion because it is a<br>[82:39] such a valuable resource and um, yeah,<br>[82:43] this is the theme generator. Come on<br>[82:46] now. Can monetize this sucker, too.<br>[82:48] Maybe maybe people have an account and<br>[82:50] they get one free one a month or they<br>[82:51] get, you know, whatever. But I think<br>[82:54] everyone go and bookmark this. This is a<br>[82:56] phenomen phenomenal resource.<br>[83:00] There's no game to test there. Yeah.<br>[83:04] Didn't I do a Flappy Bird clone? Oh, no.<br>[83:06] I didn't do the Flappy Bird clone yet,<br>[83:08] did I? I was going to. And then Okay, so<br>[83:11] next stream is the Flappy Bird clone. I<br>[83:14] think it's the one that we're going to<br>[83:15] do. I I kind of lost the the the<br>[83:18] reference back to the thing, but um<br>[83:21] Yeah. Yeah. Um<br>[83:31] Yeah. Yeah. Yeah. Icon Black. Well, now<br>[83:33] that the icon blocks been merged and um<br>[83:36] I I will have some more time. So, I<br>[83:38] think we'll be like a next stream will<br>[83:40] be like a horror movie.<br>[83:43] Yeah. Yeah.<br>[83:47] So, I might I might just see if if Clo<br>[83:50] can oneshot it. That's what I think I<br>[83:52] might do. I might just have Cloud Code<br>[83:55] try to oneshot a Flappy Bird and then<br>[83:58] we'll just tweak it and play with it and<br>[83:59] see what happens. and then I'll release<br>[84:01] it. And then I will create create a bot<br>[84:02] that jumps into everybody's stream and<br>[84:05] um links it. That's what I'll do.<br>[84:08] Probably everything except that first<br>[84:09] one.<br>[84:18] Yeah. Yeah. Troy, you're so good. Troy<br>[84:21] has Yeah, it's gonna be cool. There<br>[84:23] there's a game coming. Um<br>[84:26] and I don't want to spoil it too much,<br>[84:28] but it's going to be fun.<br>[84:30] And that's going to be on Talk Dev to me<br>[84:31] on March 12th, which if someone gets me<br>[84:34] their stupid headsh shot, I can schedule<br>[84:37] that in the YouTubes and everything and<br>[84:40] people can can see it.<br>[84:45] Clo one shot of Oh, no. Yeah. Well, I<br>[84:47] kind of did oneshot it already. It<br>[84:50] didn't look very good. That was the<br>[84:51] thing that I I didn't like about it. But<br>[84:54] I uh I I would like to uh what to just<br>[84:57] to oneshot it and see what what we can<br>[84:59] do. It might also be actually you know<br>[85:00] what might be fun. We'll one shot it in<br>[85:02] code and then we'll use TX to to to do<br>[85:05] the same thing and see what happens and<br>[85:07] and see what the differences are. Um<br>[85:16] Miles. What's Miles? Have I heard of<br>[85:18] Miles? I don't think I've heard of<br>[85:20] Miles. If you have a link, drop it.<br>[85:28] Yeah, I I know. Clo's really funny. Oh,<br>[85:31] speaking if if you're using code,<br>[85:34] um you should install the WordPress<br>[85:35] skills, the the AI skills because it is<br>[85:39] super duper helpful. This Troy. Okay.<br>[85:44] Who made this?<br>[86:06] H. That's very cool.<br>[86:14] I mean, it looks really nice. It looks<br>[86:16] really nice. I've been using Ara build a<br>[86:18] build recently for uh generating some um<br>[86:21] some stuff. Um it's been pretty good.<br>[86:26] So, is this who's is there a company<br>[86:28] behind this, Troy, or like do we know<br>[86:30] much about this? I'm assuming Miles is<br>[86:32] just the name of the AI bot, but um the<br>[86:37] blocks plug in production ready code.<br>[86:38] Describe what you want. Miles makes it<br>[86:41] here comes and myself have sites running<br>[86:42] these things.<br>[86:45] Huh. Feel like I should know about this<br>[86:48] or know more about this. Well, I'm going<br>[86:50] to I'm going to sign up. I'm going to<br>[86:51] get early access.<br>[86:54] And I guess I just have to put my email<br>[86:55] in.<br>[86:59] Oops.<br>[87:02] type. If I can type and get early<br>[87:04] access. Oh, Andy Pete. Okay. Yeah,<br>[87:09] that's cool.<br>[87:11] And Andy used to work at automatic.<br>[87:14] That's very neat. Um, cool. This is<br>[87:17] great.<br>[87:20] So, yeah. Yeah. Troy, I have an idea for<br>[87:24] your game.<br>[87:26] I have an idea. And it could it could be<br>[87:28] AI based because Um,<br>[87:35] still motivate WP vibe.ai. What's this?<br>[87:40] There's going to be Oh, yeah. Oh, that's<br>[87:42] cool. I like that thing.<br>[87:48] Very cool.<br>[87:59] I kind of like that that this thing. I<br>[88:01] like this thing. It's very neat. It's<br>[88:03] very uh<br>[88:06] um what's the word I'm looking for? I<br>[88:08] don't know.<br>[88:11] What else? Yeah. Yeah. There's there's<br>[88:15] all kinds of things in the works.<br>[88:20] What do you have backstage ashes to?<br>[88:23] Oh, vibe. Whatever. Cool. Um,<br>[88:30] yeah, it's hard to keep up with James.<br>[88:31] That guy, that guy operates at the speed<br>[88:34] of light. It's ridiculous how much he he<br>[88:37] can do.<br>[88:40] Well, it doesn't look like uh 7.0 the<br>[88:44] beta is<br>[88:47] going out yet. Uh I think track is still<br>[88:50] acting up.<br>[88:52] Um, yeah, I can't design to save my life<br>[88:55] either. And so that's why our uh build<br>[88:58] and these tools are so good because<br>[89:01] here's the thing, like I don't I'm not<br>[89:03] like a designer at all. So these tools<br>[89:05] do all that work for me and then I can<br>[89:07] do the thing that I do is write code,<br>[89:08] which is fantastic, which is um um Oh,<br>[89:12] no, not that. Not that. I had like I<br>[89:15] have a project in mind for AR that I I<br>[89:18] built out in Ara build and what is it?<br>[89:21] It's um this idea<br>[89:25] of a um a badge archive for word camps.<br>[89:30] So like because well we can't see it<br>[89:32] now, but behind my green screen I have<br>[89:34] all of my lanyards from all all the word<br>[89:36] camps. And so I had this idea of like<br>[89:39] well what if it was like like a Pokemon<br>[89:41] thing where you create an account and<br>[89:42] upload pictures of all your badges. I I<br>[89:44] don't know if that's been if that's been<br>[89:45] done anywhere. Um<br>[89:50] um but so I asked it just to create this<br>[89:53] for me and it did a like a pretty good<br>[89:55] job. So this would be like you know the<br>[89:58] a word camp for a specific word camp and<br>[90:00] you have all the different badges and<br>[90:02] everything. I don't know. I think that's<br>[90:04] kind of fun. Um<br>[90:07] but like for me to design this, are you<br>[90:09] kidding? There is no way I would be able<br>[90:12] to do this. Um but yeah,<br>[90:16] what else I got? I got this idea for a<br>[90:18] plug-in landing page, right? Little uh<br>[90:22] little AQL action here. So, again,<br>[90:25] crappy designer, me, horrible. Just<br>[90:27] gives the AI some direction and it does<br>[90:31] its thing and it's great. And you can<br>[90:32] download, you can actually export this<br>[90:34] to Figma and do all kinds of cool stuff<br>[90:35] with it.<br>[90:36] Yeah, the the API client WP API client I<br>[90:42] it's it's it needs to be ready though.<br>[90:46] Well, it's not that it's not ready, but<br>[90:47] it needs to be it needs to be right. I<br>[90:49] sort of agree with Matt's comment on<br>[90:51] like it's great, but it's not like in a<br>[90:53] place where all the users can really<br>[90:56] connect things to it. Um,<br>[90:59] so I kind of get both sides of it. I'm<br>[91:02] very excited for it. I think it's going<br>[91:03] to change so many things um about<br>[91:06] WordPress, but if it's one of those<br>[91:08] things if it's not kind of done in the<br>[91:10] right way when it's released, then it'll<br>[91:13] be a problem. you know that's like I had<br>[91:18] the same conversations around the icon<br>[91:19] block and like you know there was a lot<br>[91:21] of conversation around um the API which<br>[91:24] I wasn't really involved in um about<br>[91:26] whether about why is is is it not<br>[91:29] exposed and like Fabian uh from field<br>[91:34] um he um<br>[91:37] yeah yep I agree that part for sure it<br>[91:40] is a it is a it's an API but it's also<br>[91:43] enabling WordPress to do some cool<br>[91:45] things. So, I think Matt's point is that<br>[91:47] it's not just for devs. Um, it'd be cool<br>[91:50] if there was sort of like, oh, yeah, you<br>[91:52] want to connect to all your things.<br>[91:53] Here's how how you do it. And, um, so I<br>[91:57] kind of understand what he's saying. I<br>[91:59] see both sides of it. I mean, for people<br>[92:00] that want to build on it, they want to<br>[92:02] get it out as as soon as possible. But<br>[92:04] for those building on it though, you can<br>[92:06] also just like install the package<br>[92:07] directly, right? Um, and do it that way.<br>[92:10] But, um, I forget what I was saying now.<br>[92:13] Whatever I was saying something that<br>[92:15] probably didn't matter. Oh yeah. Yeah.<br>[92:17] So the API so there was some some uh<br>[92:19] conversation around like why is why is<br>[92:21] it private? Why why can we not register<br>[92:24] our own icons which would be really big<br>[92:26] and helpful for agencies. Um and it's<br>[92:29] because we just quite weren't quite<br>[92:31] there yet. And you have to make sure<br>[92:34] that you have to make sure that when you<br>[92:36] release a thing that it is ready enough<br>[92:38] to be useful and not not raw enough to<br>[92:42] be a problem moving forward because once<br>[92:44] it's been released it's it's there and<br>[92:46] you have to keep it you have to maintain<br>[92:47] it. Backwards compatibility is an issue.<br>[92:50] So we have to make sure that it it is<br>[92:51] it's it's ready. And I I I agree with<br>[92:55] that that that's why like a lot of these<br>[92:57] things the sort of the first iteration<br>[92:59] is kind of like a very vanilla very like<br>[93:02] easy sauce version of of what it is like<br>[93:05] the amount of features that we stripped<br>[93:06] out of the icon block to get it in were<br>[93:09] massive like you know uh rotation<br>[93:12] controls flipping all this sort of stuff<br>[93:13] we pulled all that out right um<br>[93:18] um yeah I I'm not disagreeing with you<br>[93:20] though that it's it's that that I don't<br>[93:22] think it's ready I I think it's more the<br>[93:24] like like Matt's comment was more about<br>[93:26] the user like those those um let me show<br>[93:30] the comment actually right here. Um so<br>[93:34] let's just read it said so I'm a no but<br>[93:36] not for the reasons you you might think.<br>[93:37] Let's think about a let's think about<br>[93:39] this from a user perspective. WordPress<br>[93:40] has had a place for 20 years where<br>[93:42] people had already been copying and<br>[93:43] pasting API keys alongside Hello Dolly.<br>[93:46] The only plugin we include is in the<br>[93:48] default um download. I want us to think<br>[93:51] bigger and really have something we can<br>[93:52] tell a story for for 7.0. The headline<br>[93:55] feature should be that WordPress can now<br>[93:56] has a connector setting page when you<br>[93:58] visit settings connectors. There could<br>[94:00] be oath off flows and all that stuff. So<br>[94:02] what he what he's advocating for is<br>[94:05] something along these lines and I think<br>[94:07] this does make sense from a user<br>[94:10] standpoint,<br>[94:11] right? Because if we want to connect<br>[94:13] things, if we want to connect our site,<br>[94:16] um, what this means is like I've<br>[94:17] connected the site and now your plugin<br>[94:19] can access that, right? Um, I I I think<br>[94:23] that's pretty cool. Um,<br>[94:28] yeah,<br>[94:31] where is that comment? Where's your<br>[94:33] comment? Okay. WordPress needs this<br>[94:34] feature in core and delaying this also<br>[94:36] delays the pro progress of other AI<br>[94:38] features. Alt generator, feature, image<br>[94:40] generator. Assuming these new features<br>[94:42] would use the same SDK, both core and<br>[94:44] plug-in need devs need a common ground<br>[94:46] official SDK if you're dealing with AI<br>[94:47] features and this not shipping core. I'm<br>[94:49] pretty sure every developer create their<br>[94:50] own AI. I don't necessarily agree with<br>[94:53] this.<br>[94:55] Um, I don't think you're entirely wrong.<br>[94:57] I know a lot of people's first in<br>[94:59] instincts is is to roll their own, but<br>[95:02] this this proposal is not this API is<br>[95:05] available. You can use this API. It's<br>[95:07] just not bundled in core. Um,<br>[95:12] not all. Yeah. Well, yeah. So, like to<br>[95:14] your point here of like rolling your<br>[95:16] own, that's a problem. That is going to<br>[95:18] be a problem. Um, you know, for sure.<br>[95:22] Uh, maybe some have an SUI, maybe some<br>[95:24] won't, but the real issue will be that<br>[95:25] user will have to sign into 10 different<br>[95:27] plug-in dashboards that add the same key<br>[95:28] here. And yeah, exactly. So, I think so<br>[95:30] what Matt is trying to address with<br>[95:32] that, he's trying to address that issue<br>[95:34] by having a common connectors page. And<br>[95:36] then you can do whatever you want with<br>[95:37] that stuff. Um,<br>[95:40] you would be against making it kind of<br>[95:42] like a plugin.<br>[95:45] This feels like it wouldn't be good.<br>[95:52] Oh yeah, for sure. For sure, for sure.<br>[95:55] But the thing is like you install the<br>[95:57] API with composer and you you you import<br>[96:00] the package, you know, in m npm and then<br>[96:03] you just transition to to the core one.<br>[96:05] I I mean I get what you're saying. It's<br>[96:07] not ideal. It's not ideal at all. Um,<br>[96:17] yeah. No, you make completely valid<br>[96:20] points. I I'm not I I don't disagree<br>[96:23] with them really. Um, I think that if<br>[96:27] people are developing in in a way where<br>[96:29] they're thinking uh like future proof,<br>[96:31] then they should be leveraging the APIs<br>[96:33] the way they are now. Yeah.<br>[96:36] Oh, yeah. For sure. For I mean, but this<br>[96:38] is the kind of feedback that that<br>[96:39] they're looking for, right? This is a<br>[96:40] request for comments. Like, it's<br>[96:41] literally like, give me, you know, we<br>[96:43] want to know. So, all this will take be<br>[96:46] taken into account. Now, I mean, some<br>[96:48] people have a bit more weight uh than<br>[96:50] others in the community. Uh,<br>[96:52] specifically, you know, Matt um has has<br>[96:55] a fair amount of pull, you know, and uh<br>[96:59] so yeah, so he is the um he's the the<br>[97:02] the project lead forever. Anyways, but<br>[97:05] um but yeah, everything you're saying is<br>[97:06] not like I'm not saying you're wrong.<br>[97:10] That's it. That's that's all I have to<br>[97:12] say about that. But uh yeah, so<br>[97:14] hopefully this does get in. Now Matt<br>[97:16] does say up here that if uh you know if<br>[97:18] we need to push that's fine. This is<br>[97:20] important moment for us and a milestone<br>[97:21] release. So I think it's a big deal,<br>[97:23] right? Um so Matt recognizes that like<br>[97:26] this is a big part of 70.0. So, if we<br>[97:28] have to push the beta to allow this to<br>[97:32] get into there in a way that makes sense<br>[97:34] for users and and and developers, then I<br>[97:36] think that's a good thing.<br>[97:39] It's not a secret that there's going to<br>[97:41] be a meeting about 7.0 tonight. Is that<br>[97:43] the<br>[97:45] is is that was not that was announced on<br>[97:48] make, right? Wasn't it was it announced<br>[97:50] here? Yeah, here. Right. This is Yeah.<br>[97:54] So, so this is the product meeting. I<br>[97:56] think this is what you're talking about.<br>[97:57] there. There Carolina. So, there's this<br>[98:00] this meeting<br>[98:02] it's at. It'll be in uh three hours<br>[98:06] roughly. Roughly three hours. Um<br>[98:11] yeah.<br>[98:14] So, if if you're interested, go and take<br>[98:16] a look. I don't know if this is open to<br>[98:17] like I think this I don't know if this<br>[98:19] is a presentation or if this is like<br>[98:20] open to chatting, but yeah. All right.<br>[98:24] Well, thanks so much for hanging out and<br>[98:26] uh chatting with us. I'm gonna actually<br>[98:27] drop off as well. It's just afternoon.<br>[98:29] So, thanks everyone for hanging out. And<br>[98:31] cross keys, let me know how all that<br>[98:33] goes for you. And Karolina, start<br>[98:35] charging for all the things because it's<br>[98:36] worth every single penny.<br>[98:39] Simpler is happy with having Mark.<br>[98:48] Meeting is open.<br>[98:56] I don't know. Sorry, Paul. I'm not sure<br>[98:58] what you're saying when you say<br>[98:59] something simpler is happening with<br>[99:00] adding markdown the core. Oh, yeah. Mark<br>[99:02] down the core.<br>[99:04] Oh, lot drop your YouTube channel if you<br>[99:06] got one. See you in a few weeks there,<br>[99:08] Alpist original. I'm excited. I'm gonna<br>[99:11] learn a little Spanish. I'm gonna try.<br>[99:13] All right. Thanks everyone for hanging<br>[99:14] out with me today. And uh hopefully<br>[99:16] we'll get a 7.0 beta released in the<br>[99:19] next couple days. All right. if I don't<br>[99:20] talk to you. Have a great weekend. I'll<br>[99:22] see you all next week. Thanks everybody.<br>[99:24] Bye. <!-- deep-read:sections end --> ## ๐Ÿ“บ Video ![](https://www.youtube.com/watch?v=fYsSCpu3CZ8) --- # ๐Ÿ“ Full Notes (Deep-Read Analysis) # ๐Ÿท๏ธ Title: WordPress 7.0 Beta 1 Release Day - Icon Block Deep Dive & Development Stream ## ๐Ÿงฐ Action Inbox - [H1] Test WordPress 7.0 beta when available โ€” release delayed due to Trac issues #testing - [H2] Enable icon linking functionality โ€” currently decorative only #development - [H3] Review API client merge proposal โ€” awaiting feedback from Matt #core-development ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ### ๐Ÿ”— References - [WordPress 7.0 Beta 1](https://wordpress.org/news/) - [Icon Block Development](https://github.com/WordPress/gutenberg) ## ๐Ÿ“ Summary - WordPress 7.0 Beta 1 release was delayed due to Trac server issues - New Icon Block has been successfully merged into core with basic functionality - API client merge proposal is under review with feedback from Matt Mullenweg - Ryan demonstrates Icon Block features and discusses technical implementation challenges - Community discussion about data stores, ACF integration, and accessibility considerations ## ๐Ÿ“– Main Content Ryan Welcher hosts a live development stream on WordPress 7.0 Beta 1 release day, which was delayed due to technical issues with Trac. The stream focuses heavily on the newly merged Icon Block, demonstrating its current capabilities and discussing future enhancements. The Icon Block represents a significant addition to WordPress core, providing users with a curated selection of icons that can be styled with colors, borders, and sizing. Currently, the block is decorative-only without linking functionality, though plans exist to add this capability through integration with the buttons block or direct linking support. Technical challenges discussed include accessibility considerations for screen readers, proper labeling for decorative versus interactive icons, and the complexities of integrating icons into existing block patterns like buttons. The stream also covers advanced topics like WordPress data stores, entity management, and REST API integration. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/fYsSCpu3CZ8?t=0) โ€” [H1] WordPress 7.0 Beta 1 Release Delayed - Key idea: WordPress 7.0 Beta 1 release postponed due to Trac server issues - Evidence: "7.0 beta 1 release day, but there's some issues. There's always issues, isn't there? It looks like Trac is acting up." #### โฑ๏ธ [02:30](https://youtu.be/fYsSCpu3CZ8?t=150) โ€” [H1] API Client Merge Under Review - Key idea: Matt Mullenweg provided feedback on API client proposal requesting UI improvements - Evidence: "The proposal to merge the API client into 7.0... Matt has made some comments about it being changed" #### โฑ๏ธ [04:15](https://youtu.be/fYsSCpu3CZ8?t=255) โ€” [H1] Icon Block Successfully Merged - Key idea: Icon Block has been merged into WordPress core with basic functionality - Evidence: "What I am very happy and excited about is that we got the icon block merged which is fantastic" #### โฑ๏ธ [08:30](https://youtu.be/fYsSCpu3CZ8?t=510) โ€” [H2] Icon Block Current Limitations - Key idea: Icon block currently supports styling but lacks linking functionality - Evidence: "The icon block is a little bit bare bones. You can't link anything right now" #### โฑ๏ธ [15:45](https://youtu.be/fYsSCpu3CZ8?t=945) โ€” [H2] Demonstrating Icon Block Features - Key idea: Icon Block supports color, background, border, and sizing customizations - Evidence: "We can set a background color... make the thing white... set some width... border and border radius" #### โฑ๏ธ [22:30](https://youtu.be/fYsSCpu3CZ8?t=1350) โ€” [H2] WordPress Release Schedule - Key idea: WordPress follows three major releases per year, approximately every four months - Evidence: "7.0 is supposed to come out on April 9th... we're in a three releases a year cadence right now" #### โฑ๏ธ [28:15](https://youtu.be/fYsSCpu3CZ8?t=1695) โ€” [H2] Block Comments Feature Discussion - Key idea: Block comments/notes functionality requires comments to be enabled - Evidence: "The notes are a comment type. So you need to turn comments on to make that work" #### โฑ๏ธ [35:20](https://youtu.be/fYsSCpu3CZ8?t=2120) โ€” [H2] Icon Block Integration Challenges - Key idea: Integrating icons with buttons block requires careful consideration of backwards compatibility - Evidence: "From a backwards compatibility standpoint, it would be a nightmare because we have to make sure that these buttons work" #### โฑ๏ธ [42:10](https://youtu.be/fYsSCpu3CZ8?t=2530) โ€” [H2] New Icons API - Key idea: Icon Block introduces a new private icons API for retrieving available icons - Evidence: "Now we have actually an icons API as well... it's a private data store" #### โฑ๏ธ [48:45](https://youtu.be/fYsSCpu3CZ8?t=2925) โ€” [H3] Pull Quote Block Reinstated - Key idea: Pull Quote block was brought back after being deprecated - Evidence: "The pull quote block was reinstated. So it was deprecated and... brought back" #### โฑ๏ธ [52:30](https://youtu.be/fYsSCpu3CZ8?t=3150) โ€” [H3] Accessibility Considerations - Key idea: Icon accessibility involves complex scenarios for decorative vs interactive elements - Evidence: "There's like three very distinct scenarios... if it's inside an interactive element then it doesn't get a label" #### โฑ๏ธ [58:15](https://youtu.be/fYsSCpu3CZ8?t=3495) โ€” [H3] Block Support System Limitations - Key idea: Current block support system lacks label customization and minimum value controls - Evidence: "Text color doesn't really make a lot of sense... you can't set a minimum value" #### โฑ๏ธ [1:05:30](https://youtu.be/fYsSCpu3CZ8?t=3930) โ€” [H3] Data Store Integration Help - Key idea: Extensive discussion helping community member with WordPress data stores and ACF integration - Evidence: "You want to invalidate your resolver... tell the store that this has not been resolved" #### โฑ๏ธ [1:25:45](https://youtu.be/fYsSCpu3CZ8?t=5145) โ€” [H3] ACF and REST API Considerations - Key idea: ACF fields must be exposed to REST API for proper integration with block editor - Evidence: "Your post meta has to be exposed to the REST API... if you don't check that box it will not work" ## ๐Ÿ“š References - [WordPress Core Slack](https://wordpress.slack.com/) - [WordPress Developer Documentation](https://developer.wordpress.org/) - [Gutenberg GitHub Repository](https://github.com/WordPress/gutenberg) - [WordPress REST API Handbook](https://developer.wordpress.org/rest-api/) ## ๐Ÿ—ฃ๏ธ Paraphrase - WordPress 7.0 Beta 1 release was postponed due to server infrastructure problems with Trac, the project's ticket tracking system - The new Icon Block has been successfully integrated into WordPress core, offering users access to a curated set of icons with styling capabilities but currently lacking link functionality - Community development discussions covered complex topics including data store management, accessibility requirements, and integration challenges between different block types ## ๐Ÿ“ฐ Newsletter WordPress developers, exciting news about the upcoming 7.0 release! While the Beta 1 was delayed due to technical issues, we got some great updates on new features coming to core. The Icon Block has officially landed in WordPress 7.0! This long-awaited feature gives you access to a curated set of WordPress icons that you can style with colors, borders, and sizing. While linking isn't available yet, it's a solid foundation that will expand over time. For developers working with the block editor, there were valuable insights shared about WordPress data stores, entity management, and ACF integration. The discussion highlighted the importance of exposing custom fields to the REST API for proper block editor integration. Key takeaway: WordPress continues its three-release-per-year schedule, with 7.0 scheduled for April 9th on WordCamp Asia's contributor day. Resources: [Learn WordPress](https://learn.wordpress.org/), [Developer Docs](https://developer.wordpress.org/), [WP-CLI](https://wp-cli.org/) ## โœ… Action Items #### WordPress - Core: Icon block linking functionality implementation - Core: API client UI improvements per Matt's feedback - Core: Block support system enhancements for labels and minimum values - Core: Pull Quote block restoration validation - Accessibility: Icon block ARIA label improvements - Documentation: Icon API documentation when it becomes public - Design: Icon block UI/UX refinements for better user experience ## ๐Ÿงช Hypotheses - Icon blocks integrated with button blocks will provide better user experience than standalone linked icons - Private APIs will become public as the WordPress block ecosystem matures - Three major releases per year allows for more incremental improvements than fewer, larger releases - Community-driven development streams help identify real-world integration challenges ### ๐Ÿ“Š Methodology - Live development demonstration with real-time problem solving - Community Q&A to identify common developer pain points - Code review and technical discussion of implementation approaches ### โ“ Questions - How will icon linking functionality integrate with existing accessibility patterns? - When will the icons API transition from private to public status? - What other block support system improvements are planned for future releases? ### ๐Ÿ”ฎ Future Research - Performance impact of icons API on site loading times - User adoption patterns for Icon Block vs custom icon solutions - Integration possibilities between Icon Block and other core blocks ### ๐Ÿ’ก Implications - Practice: Developers can start preparing for Icon Block integration in themes and plugins - Policy: New accessibility standards may emerge for decorative vs interactive icons - Education: Training materials needed for Icon Block usage and customization - Community: Live development streams prove valuable for real-time problem solving ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 12th grade #### ๐Ÿ‘€ Visual learners - Present: Live code demonstrations, block editor interface, browser dev tools - Improve: Architecture diagrams showing block relationships, visual API documentation #### ๐Ÿ”Š Aural learners - Present: Live narrated coding session, verbal explanations of concepts - Improve: Audio summary of key technical concepts, podcast-style recap #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Technical terminology explained, analogies for complex concepts - Improve: Glossary of WordPress-specific terms, comparison charts #### ๐Ÿงฉ Kinesthetic learners - Present: Live coding demonstration, real-time problem solving - Improve: Step-by-step tutorials, hands-on exercises with provided code #### ๐Ÿง  Logical learners - Present: Code structure analysis, systematic troubleshooting approach - Improve: Decision trees for implementation choices, performance metrics #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Live chat interaction, community Q&A, collaborative problem solving - Improve: Discord/Slack discussion threads, peer review opportunities #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Detailed code examples, individual exploration time - Improve: Self-paced tutorials, downloadable code samples #### ๐ŸŒฟ Naturalistic learners - Present: Real-world problem solving scenarios - Improve: Ecosystem analogies, natural progression of feature development ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Discussion of ARIA labels and decorative vs interactive elements - Improve: Screen reader testing demonstrations, accessible code examples #### Keyboard navigation - Present: Block editor keyboard navigation considerations - Improve: Keyboard-only workflow demonstrations #### Contrast and readability - Present: Color customization options for icons - Improve: Contrast ratio checking, accessibility testing tools #### Standards reference - WCAG 2.2 AA compliance for interactive elements, proper labeling for screen readers ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Global WordPress community participation, multilingual considerations - Improve: Examples from diverse geographic regions, translation discussions #### Inclusive language - Present: Technical terms explained clearly, jargon defined - Improve: Plain language summaries, avoid cultural idioms #### Neurodiversity support - Present: Structured presentation, consistent format - Improve: Content warnings for rapid screen changes, more frequent breaks #### Representation - Present: Community member participation, diverse technical perspectives - Improve: Varied speaker backgrounds, inclusive imagery choices ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Technical implementation follows WordPress coding standards - Inductive strength: Community feedback drives feature development priorities - Causal reasoning: Server issues directly caused release delay - Analogical strength: Comparing Icon Block to existing block patterns #### Fallacies - None identified: Logical technical discussion throughout #### Tone of voice - Overall tone: Collaborative, educational, problem-solving focused with technical expertise ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No defensive patterns identified - Attack: No attacks on community members or critics - Reverse victim/offender: Not applicable - Emotional cues and rhetoric: Positive, supportive community interaction ## ๐ŸŽฏ Conclusion WordPress 7.0 Beta 1's delay demonstrates the complex technical infrastructure required for major releases, but the successful Icon Block integration shows continued progress in core functionality. The live development stream format proves valuable for identifying real-world implementation challenges and fostering community collaboration around technical problem-solving. The Icon Block represents a significant step forward in WordPress core capabilities, though future enhancements like linking functionality and accessibility improvements remain priorities. For developers, understanding data stores and REST API integration becomes increasingly important as WordPress evolves toward more dynamic, interactive content management. ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad ### [H1] Icon Block provides curated WordPress icons with styling > [!quote] [WordPress 7.0 Beta 1 is out today](https://www.youtube.com/watch?v=fYsSCpu3CZ8) by [[Ryan Welcher]] via [[YouTube]]. Published 2024-12-19. Accessed 2024-12-19. > "The icon block is now should be now part of it which I'm very very very excited about." New core block enables styled icon usage without custom development. [view highlight](https://youtu.be/fYsSCpu3CZ8?t=255#H1) #wordpress #core-blocks ID:rw_001 ### [H2] WordPress data stores require resolver invalidation for cache updates > [!quote] [WordPress 7.0 Beta 1 is out today](https://www.youtube.com/watch?v=fYsSCpu3CZ8) > "You want to invalidate your resolver... tell the store that this has not been resolved." Entity caching prevents automatic data refresh without explicit cache busting. [view highlight](https://youtu.be/fYsSCpu3CZ8?t=3930#H2) #data-stores #caching ID:rw_002 --- ### ๐Ÿ”– Atomic Split Pad (Zettel Candidates) #### [Z1] Icon accessibility requires context-specific labeling patterns - Scope: WordPress Icon Block implementation - Pointer --- # ๐Ÿ“„ Full Transcript *Auto-generated from YouTube captions ยท timestamps roughly every 30 seconds ยท [watch on YouTube](https://www.youtube.com/watch?v=fYsSCpu3CZ8)* **[02:50]** All right. How is everyone doing today? My mic's way over here again. Hi everybody. Good to see you all. Is my mic actually working? Hold on. Where's my mic? There it is. So, today is uh 7.0 0 beta 1 release day, but there's some issues. **[03:20]** There's always issues, isn't there? It looks like track is acting up. Uh, this is me trying to load. Oh, and okay, so let's go look at the tickets. See? Uh, release. Yeah, I just got a I got a timeout there on it. So, who knows? Who knows what's happening? my the extent of my Spanish. **[03:56]** I am very much looking forward to coming to see you in a few weeks. I think we're meeting up in Costa Rica. Are we not? I don't know. How's my Spanish going? Uh uh not good. [laughter] It's not going good. I need to uh pick up my Duolingo again and start to learn it. It's one of those things where like I do really really well in Duallingingo. I'm like, "Oh, yeah. Yeah, yeah. I I know that word. I know this word. I can figure it all out." But then you put me in real life and I'm like, "Uh, desta." **[04:28]** Like, I don't know how to say anything. Uh, I sound like an idiot. Oh, yeah. So, there we go. So, uh, so I think so if you're following along, um, with what's going on with the beta 1 release, which is supposed to be today, um, looks like in in the core channel in WordPress Slack, if you've not, if you're not in WordPress Slack, you should go in there and you can see the core channel, there are it's been delayed. The 7.0 beta 1 release has been delayed. There's a couple of things for that. And another thing is the proposal to merge the um, a **[05:01]** the API client into 7.0 know has Matt has made some comments about it about it being changed. Um, and so I think we're waiting to see what Wow, there's a lot of comments here. This is uh the the proposal. So go and read it out. And basically what this is meant to be is the JavaScript uh library associated with this. Um, so a lot of comments here, but this is the one that Matt Matt commented. he would **[05:33]** like to see a better UI about connectors and things like that. Something similar to what claude code does or what claude like the UI one does. So, so we'll wait and see what happens there. Um, but what I am very happy and excited about is that we got the icon block merged which is fantastic. So, um, the icon block is now should be now part of it. um which I'm very very very excited about. Yeah. So um the icon buck is a little **[06:05]** bit uh bare bones. Um it is you can't link anything right now. Um which is fine. Uh that'll come. But um maybe I can hold on. Let's see where what Let me just Okay, so let me get let me get my term open here. jump into the old uh Joots. Uh pull out the trunk. I hate how it asks me every single time for this and **[06:37]** it drives me nuts. And I have to do SSH ad every single time. No. SSH add. And then I have to put in my really long password which I can never type properly. Okay. Three times the charm. Got it. Okay. So, now we should have trunk, right? So, here **[07:12]** is what is all this? Oh, I know what this is. This is me. Okay. This is me experimenting with something. Uh, let's just see. Okay, cool. So, I'll I'll show you this in a second. Oh, hey cross keys. How's it going? That's a big long comment. I know blockheaders has been is a big project and fine if you don't know, but I'm see feeling a lot of feed shuffling editor comments and that it's not probably going to make 7.1 release. Do you know if it's going to happen before the end **[07:43]** of this year? No worries if this is totally out of your rehaul. H uh don't we have commenting? Um standby. Let me just stash the this stuff. Uh include unttracked work in progress uh block support labels. Okay, so we'll do that. I'm going to just go ahead and pull down the latest I got going on in here. Okay, so GST. Okay, cool. Yeah, I should be able **[08:14]** to pre uh make sure to MDM use NPM install if there's any. Oh my god. Ryan n install. Yeah. So yeah, there's block comments. Um **[08:45]** uh mix no oh no no no no we'll start that. How do I know? I probably don't have Docker running. I guess y Oh, it's fine. Uh God, this microphone is like literally always in my way. I can't see anything when I'm typing. I got to do something better. I think I'm going to get a shotgun microphone that sits over here behind the camera and then that way this thing's not in my face. All right, let's run this again. I'm going to get the thing going on here. Don't worry, don't **[09:16]** don't I refuse to take you on a map. No, no, no. I literally don't have much uh to go over today. I was just I was even debating just like not streaming because I don't didn't have anything. But um like I said, we're going to see how the release goes, if it goes. And in the meantime, we can we can look at uh what you're talking about here. So, Um, **[09:47]** the editor comments. I thought that was in 6.9. Uh, let's uh let's see. And that's taking a long time. What's going on here? So, let's go uh break dev. Maybe we'll go uh WP admin. in here. Experiments. It might be under experiment. I don't have that. Let's see. **[10:20]** No, no, no. Okay. It's going to update to 6.9.1. It's funny because I was I was the triage one of the triage release leads for 6.9 and I don't remember anything [laughter] about what we did. Uh let's uh let's get into this thing. Okay, take a look at that. And then block comment thing. So open **[10:54]** this created. Okay, let's get down to the bottom. after chatting decided to avoid rush decision to the next major release. Okay, so it looks like it's next major release. It's going to be 71 content markers we might be able to leverage. Okay. Okay. So, all right. Cool. So, I guess **[11:25]** there is no block. I think they called it notes commenting and they moved it to notes but uh Okay. Um there's >> it is supposed to be release date today. That is correct. Yeah, I guess there's no block notes. Um add note **[11:58]** Uh, hold on, hold on, hold on, hold on, hold on, hold on, hold on, hold on. Uh, I'm gonna just, uh, see what plugins are installed here. Yes, the site. I'm just going to deactivate the good plugin. It might just be in the Good plugin. So, let me just double check that. Um, see, and grab this. Grab that. I'll do this. We'll say, and add note. So, you can add notes to this. It looks like um so I'm wondering what this is inline **[12:30]** block. What is the usual time frame for major release once every I think it's every three months right now. Um we're think we're think is it four months? Three major releases a year. So it's probably four months depending on Yeah. So So uh 7.0 I know is supposed to come out in um supposed to be released on uh April 9th on contributor day for um for Camp Asia. So it'll be it's we're in a three releases a year cadence right now. And that's um yeah. **[13:08]** So inline comments. Yeah. I'm trying to get a client to sit on their hands and piss money down a hole in on a plugin. Not pis. Okay. Yeah. So that like I mean there is notes like um you should be able to add notes. Sorry this is uh this is breaking. So you should be able to add a note here. Add note. I don't know where the notes come in. I can see them. Where are they? **[13:41]** There they are. So, there's notes here. [snorts] So, you should be able to do that. Now, I think I'm wondering if if if this is also to do with the real-time collaboration of notes like mo like add comment. So, this is it's weird. Um this is already in place. I'm um let me uh try this completely random site. I want to make sure this is **[14:14]** grab this and yeah, so add notes. So you can definitely add notes to blocks. It's definitely there. Um, so you should be able to get at it. So there are notes, right? Does this answer your question, Cross Keys? I mean, you have to be in the block editor, though. So, I'm assuming your your client is. Oh, yeah. Troen makes Slack. We talk on the daily all **[14:46]** the time. Okay. Well, it looks like track might be the blocker for the release today. One of Oh, it's back. Okay. So, so we'll see. Let's uh check in in the core Slack channel right now. Uh where is that? There we go. We'll go in the core Slack. Um, yeah, that would be it. So, the notes, so the notes are Yes, you do owe me something, Troy. Uh, Crosskies, that is exactly it. Um, Adam Silverstein, good **[15:18]** good friend of mine, was working on on the notes, and it is a comment type. So, you need to turn comments on to make that work. Um, but you can probably just disable all the other comment types, all the other comments. Um, there we go. Yes, Troy owes me something. Troy's going to be on the stream soon. I don't remember what date we decided, but it's soon. It's going to be fun. It's the next talk Devi **[15:48]** to me, and I need more I need more guests. March 12th. Thank you. Uh, I need more guests. So, if anyone wants to come on here and talk about whatever they're building uh and show it off and let let me uh try it out, let me know because you're you're more than welcome. There's not really many um stipulations other than it has to be basically free. Uh you can have a paid version, but I would like it to be something that's like the community can use immediately and if they want to pay money to get another version, they can do that. But **[16:18]** like when um uh we had WP when we had oh my god Rob on with WP rig it that was a lot of fun. That was a really cool um stream. So anyways if you if you're interested reach out to me um and we can do it. We do it. Um okay. So actually in the meantime I guess while we wait we wait to see if if if this happens. Um all right. I've got I'm going to just start closing these things. Get lost. I don't care about you. Um, we'll see what **[16:50]** we got here. So, this is my Gutenberg. Um, and um, I need to make sure is Oh, wait. Did I am I building? I'm not. M npm rundev. Okay. So, got the latest Gutenberg. Just going to build that right now. Uh, this is just quit studio. So, yeah, it's fine. Stop. And I've been I have an idea for something. **[17:22]** I could do a talk on how I make Gutenberg good by disabling roughly 80% of it. I don't think that's a that's a talk that I [laughter] um if you could put a positive spin on that, we could talk about it. [laughter] I don't think that would get accepted at a word camp. But listen, I am definitely interested in hearing about why you had to disable like what you had to disable and maybe **[17:53]** we can be like okay coming up with reason with ways that you don't need to disable it. I don't know I that I would that would be interesting to me for sure. What is the updates here? Plugins install plugins icon block. Okay, cool. So let's let's check. Oh, it's still building the types. This takes forever. You just sit there and it just builds. Oh, I can make it positive. In as much as Goodenberg can't decide whether it wants to be FSE or content editor. It's both. Why why **[18:25]** not both? Uh if you disable enough parts of it to make it one or the other, it's a clean clean machine. It's going to be interesting later. Yeah. So I mean the thing is it's it's both, right? It's the site editor and it's the content editor, but you can turn off the site editor if you don't like it. Um, which I guess is what you're doing. So, that's that's probably it. **[18:55]** Uh, okay, cool. Let's look at the the icon block. We'll see what it looks like in its current iteration. So, this is what we landed with. I'm going to to delete this. Is my keyboard not working? Okay, we're save that. So, icon block. We'll bring the the icon block in and insert the icon. So, we have this choose icon. It pops up. These are all the icons that we have available to us. Uh there is a subset. So, there was some decisions made around not including all of the icons that come in the WordPress icons package because some of them just **[19:26]** didn't make any sense to be used on the front end. So, this is the starting point. Um you can pick let's say we pick the error here and then we can we can set a background color of whatever we we want. Let's say we want to make it red and then we want to make the thing white. And there we go. We can set some some um some width, right? We can actually do border and border radius as well. So we do a border of black. We'll do a little radius on that. So this is **[19:57]** basically what we have available to us now. Um which which I think is pretty cool. Like I think it's pretty great. Let's see what it looks like in the front end. That's what it looks like in the front end. Right. It's it's very um simple for uh for now. So these are just decorative. You can't make them linked. Um there's no linking functionality in the block itself. Um there is some uh some talk around how we would do this. I think what what might make a lot of sense is **[20:29]** what might be cool is if you had buttons and then you could add a new button, but it instead of it being a button, it would be uh wait uh it would be an icon, right? And then we'd link it. Or we could do the icon inside of the of this button. Not really sure. Um, I was looking at the code for the buttons and that's that's going to be a pretty big pretty big thing to change because the way it's built is if we just look Hold on. If we look at the uh look at the **[21:00]** block library should just do not block directory. I think we should do a uh I think I should do shortcut to this thing. So, if we look at this and we look at the button block, not the buttons in the edit state, you can see just bear with me here. I'm going to zoom that in. Um, it is a rich text field somewhere. Rich text. I don't know what that was. Something just boned. So, putting this inside the button would be cool. We'd have to basically have a **[21:32]** toggle or we'd have to have a way of inserting blocks to it because this is rich text. So, that's how we get the uh the typing. Do that, right? So, that is handled by rich text. I mean, we could maybe we couldn't. I think what we'd probably want to do is I don't know how we do this. I mean, from a backwards compatibility standpoint, it would be a nightmare because we have to make sure that these buttons icon add icon to rich text. Uh, **[22:04]** can you do that? I don't think you can't put blocks in inside of icon inside of that. Um, right. I don't think you can. I mean, it it is just text. I guess you could just insert the text. Would that work? I don't think that would work. No, because it's markup. It's markup. So, um, like what you what you want to do is you'd probably want to have some kind of there's a function for that. Function for what? Except the latest update program **[22:36]** identifying what is in the market for the market purchase. Uh, I think that's a side conversation that doesn't involve me. That's cool. Um, so I think what you'd probably want to do is you'd want to have some sort of option um to uh insert a block. So maybe it's a variation of of of this button block or like a icon button block, you know, or alternatively, we just add we we we do it at a different um level. **[23:08]** Instead of doing it in the button, we do it in the buttons in here, right? Right. And then we add the ability because because I believe this is going to be able to allow a uh let's see where we here. That's not where I want to see this. I think buttons it it accepts inner blocks. And so you're going to it's going to I'm assuming it does inner block props. Yeah. So the button so template is core button and then there must be allowed blocks in here. Um, **[23:40]** default block is default block. What's default block is that okay core button. So we could make it so you could insert the icon into the buttons block. But then at that point you you would need to have uh you would need to have the the icon block itself manage linking which is probably which might be the better way of doing it because you know because then it can just be inserted inside a navigation block. It it can do all that. So I think that may be the approach that that we want to do. That's just sort of **[24:11]** my idea. Um but being able to insert this in here has button variations. What is this blocks? So default block direct insert template template orientation layout. Okay. So yeah, I think I think it might just be be a case of um doing that and then and then This button have parent block defined somewhere **[24:42]** ports. Yeah. Okay. So, it's I think that's what we'd probably do. Um, put the icon in that way. That that's that would be my first instinct because I think it becomes more flexible if we put the link on this item and then this item gets inserted inside of um **[25:12]** this block, right? because yeah, because then we're not messing missing messing with the rich text and then we can actually handle because there's a lot of accessibility concerns or or things to take into account. Uh what am I most excited about? Okay, engaging. Um there's lots of stuff. I don't know. Um I've been very very very focused on the icon block, so I'm a little bit tunnel vision with that. There's a lot of really cool stuff coming. Um the as all **[25:42]** the AI stuff is is great. Um I don't know. I think for me, I've just been so focused on the icon block. It's cool because now we have actually an icons API as well. So that's not it. Get out of here. uh which will um it's private now but you can go da da um select I think it's what core I have to look um look and see what it **[26:14]** is where I I did a data store for it um library source So, oh, you have to un unlock it, but it's get it's get the icons. So, it's a private data store. So, there you there is an endpoint though um which is **[26:46]** um there. So, if we do something like that. Oh. the wrong level. So, we should be able to get So, we have all these icons now. So, this a private API. [laughter] >> Didn't the controversial block get added? I don't know. Which one was that? We resurrected the quote block. I believe there was block quote and quote um or one of the ones. I don't know if **[27:18]** Kev I think Kev's being sarcastic about about my my icon block, but there is. So, now there's new Oh, yeah. Oh, yeah. Kevin's got a new uh Hold on. Let me see it. There it is. >> Um, yeah. So, there's this new API that is associated with this, which is it's not public right now. Uh, it probably will be in the next release. Uh, yeah. **[27:48]** Yeah. So, what was the quote one? Um the Let me see. Oh, not in there. Not in there. Um it was Docs. Was it Docs? I think there was a um I can't remember what it was, but the um I'm pretty sure Oh, who's that guy? That's me. Um, **[28:19]** let's see. Pull quote block. That's what it was. So, the pull quote block was reinstated. So, it was deprecated and and I have my own private for automatic. Yeah, I do. Um Um Oh, like my own. Yeah. Yeah. Yeah. It's just something I set up for testing something. There's nothing fancy about it. I can invite you if you'd like. If you'd like. **[28:51]** What's in here? Yeah, this is me. Yeah, I know you do. I know. I'm uh I'm making sure that we're only looking at um the core uh where the core one because it looks like it's still been delayed. >> [laughter] >> Yes, I know it's you're you're risky. Um, anyways, Kevin, the pulcro block was was block was brought **[29:24]** brought back web books and cloud. Yeah, I I I was using it to to test an internal um AI bot. That's why I I created it. Um, cool. Yeah, so that's in there. Oh, I'm sure there is. Yeah, there would definitely be. I mean, the amount of the the accessibility concerns that for this icon block were **[29:56]** pretty um just from me to understand it because there's like three very distinct umh scenarios and then um having to account for all of those and it's inside of an interactive element then it doesn't get a label. The outer element supposed to get a label. So, it's very uh it's very it's very complicated. But anywh who um what was I gonna talk about here? So, track was still acting very funny. Uh oh, it might be going down again. **[30:27]** Uh no, not in the icon itself. Um so, the icons don't contain that. If you look at the the SVG, they don't have a title element in there. Um but we are there was some talk about around doing that because they are dynamically generated. Um but they're stored as a string. So um we'd need to have that done in that way. So no so the way the label is working now uh I can show you **[30:59]** how the label works. Um we it gets applied via um tag the tag processor. Yeah. Yeah. So what what it gets now is if it if there's no label set um it just gets it's decorative and then if it is it gets a label applied to it along with the RO image. So I think some of these **[31:31]** things we can probably um make uh make better. Um I actually I don't think you supposed to have the raw image if it's a decorative element. Um, and so that's that's sort of where this is getting a little bit complicated because it's wrapped in a div uh because we want the div to be the block level item that wraps that. So it it it acts like a block. Um, and then um we're adding these these things. Now what will **[32:01]** actually end up happening in here is most likely adding a link around it. We'll have to put it we'll put it inside of a button. Then that button gets the label and then the item inside of it does not. So, there's some And then we'll have to adjust all of the uh the um UI to be like, is this linked? Yes, it's linked. Okay, so now it's wrapped inside of a button or an A tag. I guess we'd probably have to choose that. Um yeah, and just sort of like add those required things and all that. **[32:32]** This start extension. Okay. Um cool. Well, there was one thing that I I was actually playing around with. Um, so the one issue that we ran into, uh, is that when we are dealing with the colors here, this text color doesn't really make a lot of sense. All right, Kev. Thanks, Kev. You're the best, Kev. >> Kevin. >> Yeah. Um, so, but we can't really really **[33:02]** do much about this because this is a block support. So, so, so something that I asked code uh cloud code to help me with u was creating a way of defining these labels inside of block supports which I think will be really really powerful. And then the other issue is that you can't all you can't set it a minimum value. So, if we wanted to reset this, it gets reset super small, right? It gets set to basically the default size. Uh, which is a little bit janky, **[33:33]** which is fine because I had some weird uh you use effect in there that was um uh making was was forcing it to like 12 pixel 12 pixels I think it was, which isn't really the best user experience. And then you can never actually reset uh this. So like right now if I click reset and you know it's reset but before what it was doing was it was resetting and then it was being automatically back up up updated back to 12 pixels. So this would say re reset again. So it's in this weird loop. Um so anyways those are **[34:06]** those are two issues with the block support system that uh we should probably figure out a way to fix. So on that end uh get check out try block support labels. So we'll do that. And I don't know what this is going to do but I actually I just stashed some some stuff here. So we're going to stash apply **[34:37]** stash would be box labels. So let's see there. So I have to see some color panel. So the idea here is so we will do default controls controls. I think I like that. **[35:14]** Oh, it's applied inside of colors. [music] Okay. So, so this this would be sort of how how we would do it, I think. So, let's let's see what happens if I apply this to the old the icon block there. Clos hilarious because it does it adds all this stuff that you don't need and everything. So, I'm not going to mess with it too much, but I go into supports this color and I can go like this, right? experimental labels. We'll just see what this does. I don't know if it's going to work. Yeah, be cool if it did though. **[35:46]** Super cool. Save this. So, let's see. Grab this here. Aha. Yeah. So, that's cool. So, instead of that, so panel button colors. Where's the panel title? I don't know if this panel title seems to be working. It's pretty neat. Uh, so we'll go icon color. **[36:29]** Is that Oh, wait a minute. Oh, maybe. Oh, maybe maybe it hadn't built yet. There icon fill color. That's kind of cool. So, let's take this out. So, I just want to control that. I don't know why this button colors is not uh where where is that being being being messed with? **[37:04]** Um, grab this. So, this should get background icon. That's kind of cool. I don't know why that Let's look and see what what what sort of code changes there are. Color panel. Color panel. Custom labels. **[37:35]** experimental border. So, what I asked it to do was um Oh, do you have to know the name of it, though? Um, let's go. uh radius and I'll say icon border radius. **[38:08]** Okay. Okay. So, you have to know what the key is, I guess. Panel title controls. Oh, wait a minute. Oh, I think I think the example was I just asked it to do this for um for that. So, where is **[39:01]** H. So, okay. So, I think it works. It's not working for the other ones right now. What I don't understand is Okay. So, let's go to color. Let's open this up. So, what is it actually doing here? So, where's the panel? Where's the part that actually renders that panel? **[39:32]** Edit the name of the panel. Change panel title. Where's that come from? Get support panel title. Name color support key color. **[40:05]** windows. Okay. So, text icon that works. Button colors, but it's not being displayed. So, why isn't it being displayed? Panel title. Uh, **[40:48]** yeah, it is. Hey, Carolina. It is delayed. We're just waiting to see what happens. Did they formally uh announce that it's going to be like postponed or >> Oh, we're doing a bug scrub here. You can see the full screen bug. Oh, we're doing the bug scrub today. Let's see. Notice what uh latest update comes here. Let's see. What is this? **[41:21]** Okay. So, there is a delay. So, we're just going to wait and see what what uh what happens. In the meantime, I'm going to try to figure out why this panel thing is not working. Um it should be right here. **[41:51]** Why that's not actually don't really care about the panel title. Do I care about the panel title? I don't think I do. It's not even being It's not even being used. **[42:24]** Holy smokes. I don't think it's actually being used. Let's look. Oh, wrapper. Where's the label come from? Color panel gets label. Weird. What's this? Oh, that. Okay. **[42:58]** So let's ask Clo. Let's ask Clo. Uh okay. I want to say uh the panel title is not being displayed for the color. >> [sighs] >> I'm pretty comfortable with WordPress data. What are you looking for? **[43:30]** [clears throat] Cross keys. What do you need? Are you just taking a survey? **[44:06]** Can you can you tell me what you're trying to do? Well, w subscribe. I think I haven't used it in a while. Last time I did lot it subscribes to changes in in the store. So, the store is going to just be it gets triggered anytime something changes. So, if you're trying to retrieve entities and deal with a list of entities, you're probably you you're out you're outside of React. **[44:40]** Okay, you got to give me the context of what of what you're doing here. Um, because you can still retrieve stuff from the data store outside of React. If if you want to if you want to subscribe to changes in the data store, then yeah, that WP.subscribe subscribe will most likely get you what you need to do. The problem I believe though is **[45:12]** you don't know what's changed, just that something did change. And it could be as simple as like somebody opened and closed that a metab box or moved blocks around. I think all of that stuff subscribes like changes subscribe. I haven't really used that in a while. Let's take a look. **[45:55]** new keyboard. Yeah, I don't know what I'm doing. Okay. Running a QA thing on the editor. For example, check if all attached images have all **[46:26]** text. Put pull an array of all images blocks blocks. Grab their IDs. Do get in the record post type attachment. Get all the images and then pull the all text. So this is inside the editor. **[46:56]** This this is what we're doing here, right? So in but this is in the editor because you're retrieving No, you're not getting a block. You're getting I'm running a QA thing on the editor. For example, check if all attached images have alt text. Pull an array of all image blocks. Yeah, the entity record will get cached. What you want to do is you Okay. So **[47:27]** when you make your Yeah. Okay. So when you get do get entity record and you should be getting entity records, right? Not not a single one. Uh or no, no, I guess guess you could do that. Yeah. So you're you're grabbing a list of all the IDs. You're retrieving each ID via get entity record and then pull the alt text key. So the so you get all that stuff. It's caching the entity record. So if I add all text to an image without leaving the editor, it doesn't update the object. **[47:58]** So, so you can there is a um there is a function that you can run a what is it? Um I'm trying to remember what it was called. is basically you want to um invalidate you want to validate invalidate um your **[48:28]** uh resolver. That's what you want to do here. So let's just see entity record. So um so there is this invalidate re resolution function. So I'm just going to link this. It's kind of an old article but this is probably what you're going to want to do because so get entity records. get entity record. What it does is it retrieves that data and puts it in the data store. Data store being a big JavaScript object. And then once it has it, it doesn't make a server request again. So in order for you for **[48:59]** it to make a a server request, you have to invalidate that particular um you have to in invalidate the resolver. So basically tell the store that this has not been resolved. And so it needs to hit the it needs to do its roundtrip to the server and resolve it again. So so that's that's what you're going to want to do that it's kind of an interesting u solution. So you have to pass the name of the store uh the name of the function and then the parameters that you're passing to it. So that's **[49:31]** that's what it's going to be. So it's kind of an old that post I I linked is a bit older but it will um it will sort of get you there. Yeah, I I ran into I I used this in a pro in a client project when I was I I had a block that allowed you to upload PDF files. And so what we would do is we would retrieve all the attachments. But um and then they would be listed and then after you you updated um after you you dropped the PDF onto the block and it was **[50:03]** uploaded, we had to invalidate the resolver so we'd get the new list of information. Otherwise, the new stuff wouldn't show up in in the block. it would be saved and everything, but it wouldn't be in the block. So, that sounds like what you're going to want to do there. [sighs] And I love the shade that the Lup is throwing at me about my inability to type with this stupid microphone in my face. Uh, okay. So, what's going on here? Yeah, let's see. Okay, border panel is already solved. **[50:35]** All right, let's see. Use border panel label. Sure. This is fun because I I I'm just tell I'm giving it a problem and just letting it run. You'll notice in my advanced query loop um repository, I have a lot more tests and uh uh playground and to end tests and unit tests and stuff because Cloud is just like generating it all for me, which is super awesome. takes takes all **[51:05]** the busy work out like of having to generate content and uh do all that. It's fantastic. All right. What is this? Sure. Let We're just going to let it do its thing. This is still building. Okay. How we doing here? Both are clear. **[51:43]** Wow. Cool. Um, one question was like rely on cash busting biting me in the ass down the line. Um, cash busting in the sense of invalidating your the resolution the resolver. Is that what you mean? Like the thing that we were just talking about? **[52:15]** Uh, it shouldn't be a problem. All it does is just refresh the retrieval um from the server. So because like I'm assuming you're doing this in a place like inside a logged in state like you're in an admin somewhere, right? Like I'm assuming that's where you're doing this, not on the front end or anything. Um I would say you're probably you don't really have a problem. I would I would put some guardrails around it. Don't just don't just keep resolving all the all the **[52:45]** stuff all the time, right? Um do it when you need it. So when you make a change like the example that I I I was just uh talking about. So I had a block where you could drag and drop PDFs. So you you drop the PDF on there. After it uploaded, there was like an upload finish call back. In that call back, I invalidated the uh the resolver which caused the store to re-query and it just it just did that. So don't just do it all the time. Ju build a button that says refresh the query or something along **[53:17]** those lines. Like I would I would put some guardrails around it that way because you don't want to make a ton of you don't want to have to hit the server all the time if you don't need to. But because it's like a one person using it and it's in the admin and I'm assuming it's a it's a tool that not everyone's going to be using. You're probably going to be fine. All all it's really doing behind the scenes is populating a JavaScript object with a bunch of information. It's not it's just retrieving data. Um like if we were in PHP and we didn't have like object caching, you'd be making those same queries all the time anyways, right? So **[53:48]** I don't think you need to worry about it too much. That said, just make sure you're not doing a hundred queries all the time, right? Like don't put it inside of a for loop like oh oh that's the other thing. So like you're going to have a list of of attachment IDs. Um don't invalidate it after every call. uh invalidate it. Like if you're going to loop through them all and get all the data and do a thing after you probably want to inval **[54:20]** you might that's a good question. You uh because you you have two queries. Well, you have a number of queries. You have the the query to get all all the ids. you'll probably never need to resolve that because unless you're adding new attach attachments as part of this, you it's going to be the same list. If you if you want if you're changing something on the attachment itself, like the attachment post type itself, um, and then you you need to work with that immediately, you'll probably want to make the change and then invalidate it. **[54:51]** Um, so the next time you retrieve it, you'll get the updated in info. This is in the weeds. So like I'll have to like I I'd have to see what you're doing uh to to do it right. You can run a subscriber that tracks the image number block. Yeah. Well, but just to be clear though, it's not blocks like are you doing this based on the number of blocks that are in the the post being edited or are you retrieving all of the post **[55:22]** types that are attachments? because image blocks don't necessarily so you're getting all the image blocks on on the page. Okay. Okay. So, you should be a able to get access to the image ID that way. And then um not using C image blocks. So, it's the **[55:52]** custom block that stores a attachment ID I'm assuming right I mean there's a number of ways that you can do this basically yes okay so then you're going to get all those blocks you're going to loop through the uh attributes for each one of those blocks retrieve the the the the ID then based on each of those ID you're you're going to retrieve the actual attachment post that is connected to that that image **[56:26]** and then add the alt text to the image post or the add the alt text to something. And then where are you wanting the alt text to display? You want it to display inside the block. Okay. **[56:57]** So, and and what and what does what does verify mean? That it exists and it's well, for the sake of this conversation, just it it exists and there is some text in there, right? So, you want to make sure that it's that it has all text that it exists. Okay. Okay. And then Okay. So, you're going to get your list **[57:28]** of blocks. You're going to retrieve the entity the the attachment ID for each one of those. You're going to check to make sure that the post has the it's the post meta. I'm assuming for the alt for the alt text, right? Is it stored in post meta? Can't remember. **[58:00]** Yeah. Mark separate. So what happens if it's not there? So I I insert one of your blocks, the custom block. I make reference to an attachment ID somehow, however that works. And then this tool checks and **[58:32]** there's no there's no alt text on the on that post on that post that attachment. What what happens then? I'm just wondering if there's a simpler way of doing this that you could have each block check itself. It's hooked into a checklist. It updates **[59:04]** itself in post state. We'll let you set it depending if the checklist isn't green. Okay. I'm still not entirely clear on **[59:37]** what you're trying to do because if you just want to make sure that something. Okay, so you could use get um use entity prop to retrieve the post meta for that post ID and then check to see if that post meta is there. I'm pretty sure attachments store their all text in in post meta. Is that is that accurate? I I can't I can't remember. **[60:08]** [snorts] Does anyone know? >> [laughter] >> off the top of their head. I'm assuming it's the only place you can store it. And so you can retrieve the post meta, excuse me, you can retrieve that post meta inside your block. And that block will you can just use use entity props and get meta, right? And then you'll have a list of all the meta and you can see if the alt text is there. If it is there, cool. If it's not there, you can actually update it as well inside that block and have it update that meta. And **[60:40]** then when they hit they hit save, um, it'll it'll update that that that meta for you. No, you're not monopolizing my time. I'm just trying to understand what you're doing. It feels like, and this is I I I mean this with love and respect because I don't know what you're building. It feels like it's more complicated than it needs to be, but I might I don't think I fully understand what you're trying to do. It feels like you're fighting with a **[61:11]** plugin. Like that's what it seems like to me. Um that is doing some kind of restricting of of post updates, right? Um or being able to change the status or the post state, the post status, I guess is what it is. And we'll let you save depending if the checklist isn't all green. So, you're trying to make sure that the stuff is all green right now. Is this plugin? What plugin is this? Can you link the plugin because **[61:43]** you can I have code that you can have that's a pre-published checklist that might that you can edit. It's plug. Oh, it is. It's plugging combat and trying to nest stuff together. I'm also using ACF block so that doesn't save to post meta. There's a lot of pieces here. AC. [clears throat] So what? Well, isn't advanced custom fields all posted. **[62:27]** Oh, it's part of a publish press. I could move to my own profile tomorrow. I would but it's part of Okay. Okay. So, I think I need to understand the specifics of this particular uh situation. But I think what you can do in your custom block retrieve use post meta. Yeah, use that thing that I just said. What was it? Use um use entity props. It's a hook. Oh, but and you're outside of React, right? Okay. So, you're going to want to do it a different way. Um, if you're not in **[62:58]** React, you can't use the hooks. So, let's Come on, keyboard. So, there's going to be some I think there's another thing that you can do here. What is it? Um you can retrieve it in a slightly different way using um be post meta rest api. **[63:30]** Oh yeah that's the other thing. Your post meta has to be exposed to the rest api. So if your solve this problem. I can use the same solution to build this in quality check for client wants. Um yeah, so the thing that you're going to want to be doing is um in ACF make sure your fields are all exposed to the rest API and then you'll be able to retrieve that inside the block editor. Okay. Um so so you can do that is is is important in that case. **[64:02]** And then if you're in the block editor, you were saying it's outside of React. So why is it outside of React if you're inside the block editor? Because I think maybe are are you in queuing a file and it's just outside of React? Is that the problem? Because there's a way that you can do that by hijacking the slot fill system. You can classic are you in Yeah. Are you in classic press? Are you Lots of questions for you. Lots of questions. Let me let me **[64:46]** That's MY There's one that hooks into existing plugin class for anybody extending their classes. You have to stick it all in JS file in your plugin. **[65:17]** Well, I >> [clears throat] >> Okay. So, what you can do, you can you might be Okay. How does it check to know if the block has got a So, I'm assuming what's happening here is the the alt text is triggering if it's it's failing the checklist. That's that's what we're talking about. I'm assuming, right? Um **[65:47]** that the lack of an alt text makes it not green. So, you can't you can't put it into pending. So if that's the case, you don't have to do this inside their framework. You could do this in the block itself. Have the block check itself to make sure that there is indeed a an uh a um alt text and even you know have it update the alt text for you. **[66:20]** And then you can do that in the block itself. Use the use entity props and then have it update that. And if it is stored in ACF, if it is stored in ACF, you can still retrieve the stuff from ACF. You have to do a bit more work to write it back to ACF. But that this is a problem that we've that we solved on on on stream here um a little while ago. Um, and I it's a little bit old, so I think um **[66:52]** we did figure out another way of doing that. Um, no, I I have to find it. That's that's the thing. Uh, we're going to go I'm just going to look for ACF datab. So, okay. This is a bit a bit advanced, but you can still retrieve. Oh, this is very old. I got to update this. So, to **[67:23]** get the value the block for the stupid checklist probably snip. I'm all for moving code out of there. Great. So, I think I think you can. I just I don't want to send you down the wrong path because I don't really fully understand all the nuance here. But I think what you're going to want to be doing is um display meta. Is this it? See? Okay. So you can get so you can you can **[67:55]** take this use entity prop and you can retrieve the meta for it. Okay. If it's ACF meta, it needs to be exposed to the rest a API inside of ACF. And this works the same for SCF too. Um, so you can still get it. The thing about a a ACF is it exposes its post meta in the rest API response in a different place. It exposes it in a an ACF property. So that's how you can get that stuff back. Now writing from **[68:26]** writing back to it is definitely a little bit more complicated. It is possible. you will have to do something a little bit different. Um, you will have to make a REST API call like this. I'm just going to I I'm just going to send you this file. Now, this is a little bit old. I don't know if Liam um has been on the stream. Okay, cool. So, so so so there you go. So this is what this is going to do is **[68:57]** this is going going to give you the the post meta for ACF as long but it needs to be exposed to the rest API that I I cannot state that enough. If you if you don't if you don't go into your settings and and check that box it will not work. It will not show up in this in this um response. So you could do that and then what you can actually do is you could do something like um like this this uh pre-published checklist. Um, I did something where uh let's see kind of **[69:29]** um trying to remember where I did this here. No, it's finished. Do I finish my final player? Um, this is quite old, but one thing that you can do is you could you could um Did I do this in here? I can't remember. Oh, um, I have another example. use the one from block developer cookbook. Uh there is a pre-published checklist in here. And one thing that it does do is where the heck is it? **[70:02]** Was it word counter? Oh, you could use editorial notes, too. Um basically where where I'm going with this is you want to add uh some sort of filter. So, so you'll probably want to add something along these lines um in here in step five. Do I have an anchor here? Inspect. Let's look. Is there an anchor? I do. So, I just do that. So, you could you could take a look at **[70:33]** something like that. And all all this is going to do it. It's just going to wrap a a a class around it and to indicate that there's something up with that block. And you can have it do whatever you want to do. So, you'll probably want to add something along those lines. And I think um um yeah, so you want to do that. But the other thing you can you're welcome to to to to take a look at this um pre-published checklist um which has got some stuff in there. **[71:07]** It's built in the slotfill system. So, anyways, I think that'll think that'll get you in the right direction. And just reach out to me on on Discord or or Slack or whatever if you want me to take a look at something. I'm happy to. Um, but uh yeah, I think that I think I think this this doesn't need to be as complicated. Um, because we you really just only need to like each block only needs to care about itself. And if you have, you know, when a block gets deleted, it won't m it won't matter anymore when it gets in inserted. um **[71:40]** that you'll want to uh you want to check to make sure like you you you'll just want to make sure that there's a there's a uh attachment ID associated with it and then do your thing. Um the cool thing is where did that go? No test this you can actually pass the post type and you can pass the post ID. So you will get that from your block and you can just hardcode this. So it's basically the >> Oh, you made a wise choice my friend. There you go. Who's that? Cross keys. Thanks for the sub. You're a good guy. **[72:13]** Good guy. Yeah. So, you're going to pass post type because that is the entity type. And then you're going to pass attachment because that is the type of entity that it is, which is a weird way of explaining this. Then that is the meta piece that you want and this is the post ID that you want to pass to it. So, uh these are all all generic and this will be the actual attachment ID and and and that should work. I'm assuming attachments are exposed to the rest API, then you should be good to go. Um, and then, oh wait, is the meta is the meta **[72:45]** in Well, the alt is probably going to be um the alt will be uh stored somewhere else, I think. Right. [laughter] You should you you should make a paid system where people could donate for code reviews. I you know what I would I'll do code reviews for free. It's stored on the entity. But is it stored in meta or is it stored on um is **[73:16]** it stored on meta or is it stored in ACF? I'm assuming meta because in that case you'll want to access the meta item. So this is like pretty straight like this is just stuff that is on the the response. So you can actually retrieve anything off of that. So if you want to get the title, you'll you can get that, right? Um so you just have to make sure that you're accessing it in the right part of the response and and you can look at that uh like just by going in like WP JSON. **[73:47]** Um like and going to post. Where's post? Where's post? Post. Oh, here comment. No. Um, is it like attachment? Of course, I have to look at the thing. I don't know what it is. So, attach **[74:25]** med. Oh, it's probably media, right? And you just do type, I guess. Whatever the whatever the thing in there is. So, but anyway, so, um, if we were to just go, I'm gonna grab a generic one here. Oh my god. Come on now. Come on now. Points. We do comments, comments, **[74:58]** block patterns, icons. Yay. Um, like if we were just to do posts, right? Then we can grab post six. So, so this is basically what you're going to be that. So, the the entity prop that you're going to be dealing with is these things. So, you can get GUID, you could pull author, you can pull meta. So when when you pull meta, you'll get this this object. You get the category. So that's what this use entity prop does. It it **[75:31]** just pulls something off of the response for that particular ID. So if you had ACF in here, which you would if you had ACF enabled on and you would have uh the rest fields um sorry the fields exposed to to the rest REST API, you will have an ACF field in here as well. Uh but yeah, but you can get access to content. You can get access to all this stuff. Writing back to it is a completely different story. But if you don't need to do that, then then that's not an issue. But but yeah, so that's all this does. So when you call where is it? Um **[76:02]** this use entity prop, you're just telling it which one of those properties from the rest response you want to retrieve. So just be aware of where the thing is that you're looking for. And that's it. Anything that's not bad because the way If I block you if you only see blocks post true and block JSON then you can only have some block post. Oh, okay. Yeah, maybe. Um I well I think attach like the **[76:33]** all text in an attachment like if you if I were to go into like um like you know the admin I don't think I have any media in here. Yeah, I do. So in here like this is this um alt text this is the alt text we can take a look right now. Um save. So this is what is this? Then I can go um **[77:16]** what was that? 22. Oh, where I go? That's media. I think it's media. There it is. So there's media. um talk to every okay so this is a slug author so meta oh it's not stored in there alt text okay so it's going to be at its own top level thing so you're going to just pass alt text um you'll just ask for the alt text directly well yeah so you you can call **[77:47]** this um in here so this becomes alt text as opposed to ACF or alt text like in as opposed to that so that's that's what you'll call, but you need to have the post ID and needs to be exposed to blah blah blah all that sort of stuff. So, yeah. Well, let me know if it doesn't work or you're running in into problems with it and I'd be happy to um to take a look. Um and to ask to uh Lup's got a decent idea here. Let's see where's the spotlight message. Should make a paid system where people could donate for **[78:17]** code reviews. I I would do code reviews if people donated to um not to me because I get paid to do this, but if If we set up like a donation so we could send someone to Word Camp or something along those lines, I' I'd be down with that for sure. That that would be very cool. I'd have to make sure that uh there's no conflict of interest for me at work. But um if I'm not getting the money or I'm not managing the money, maybe it's just a donation to um to some of the uh uh scholarship funds, which **[78:48]** would be great. And it could be any amount. Um and I'd be cool with that. I'd be very cool with that. Um, yeah, sounds like a neat idea. Um, yeah. Oh, Ecom Lab05 from YouTube says, "Hi, hello from YouTube." Uh, we're over here in Twitch if you want to come hang out with us. You know what's the most terrifying thing in the world for a person like me that is like all surrounded by technical crap and stuff is when you find a random **[79:18]** screw on your desk. You don't know where it came from. You know, you don't know where it came from. I mean, if I ever were to like work on my own and be self-employed, then yeah, I'm charging y'all for everything. But, uh, until that day, uh, I'm happy to coordinate donations for scholarships and stuff like that. I'm going to ask Ryan at work and see what that is. Ryan reviews then Ryan rewards. Oh, well, that's that's kind of the the concept behind Talk Devi to me is like, **[79:49]** show me the thing that you're building. Let me play with like like show me how how how to use it and I'll I'll tell you what what I think. But maybe maybe the review is like I'm just reviewing it on my own and the person's not in the room [laughter] because I I will be a lot more honest maybe and maybe more of a dick. I don't know. We'll see. Um yeah, cool. Well um [sighs] wait, what was I working? Oh wait, let's check and see how we're doing with uh let's see if um **[80:21]** we are doing this thing. Is are we doing this thing? What's going on? Okay, so WMA is actually doing a bug scrub right now. So if you're interested in the last bug scrub before 7.0 beta. Um yeah, that'll that'll be cool. Well, maybe there's a thing, Troy. That's a really great idea. Maybe there's a thing where we can have So the thing is I don't want to um I **[80:54]** Yeah. Well, Karolina, you absolutely should. You absolutely should. I mean, want and need are two are two different things, you know. Um, which which site drop your site? Is it the the full site editing one? Because I would I would pay for it. I think that's I mean I think that would be um I think you deserve it, you know. That's **[81:25]** what I think. Yeah. Well, I'll drop the link in here so people so people know what it is. I'm sure they all know, but just, you know, drop it in anyways. Um as long as it doesn't say Flappy Bird in the URL, I I'll click on it. Um someone's saying in YouTube, "How to test beta 1." Now, uh beta 1 has not been released yet. It's been delayed slightly. There's some a couple of things that have been um um that have delayed it there. Uh so it I I think it might be coming out out today. Uh but hopefully So if you have not seen **[81:59]** Karolina's site at fullsightediting.com, go there right now and learn and then uh it is super useful. Um it's amazing. It is one of the first resources that I was aware of that uh started us down the road of working with the block developer or sorry the the block editor and fullsight editing and all that stuff. And so go check it out. Go check it out. Absolutely. Yes, Carolina, you should **[82:30]** absolutely be be charging for access to these courses. That's my opinion. Um, that's my opinion because it is a such a valuable resource and um, yeah, this is the theme generator. Come on now. Can monetize this sucker, too. Maybe maybe people have an account and they get one free one a month or they get, you know, whatever. But I think everyone go and bookmark this. This is a phenomen phenomenal resource. **[83:00]** There's no game to test there. Yeah. [laughter] Didn't I do a Flappy Bird clone? Oh, no. I didn't do the Flappy Bird clone yet, did I? I was going to. And then Okay, so next stream is the Flappy Bird clone. I think it's the one that we're going to do. I I kind of lost the the the reference back to the thing, but um Yeah. Yeah. Um **[83:31]** Yeah. Yeah. Yeah. Icon Black. Well, now that the icon blocks been merged and um I I will have some more time. So, I think we'll be like a next stream will be like a horror movie. [laughter] Yeah. Yeah. So, I might I might just see if if Clo can oneshot it. That's what I think I might do. I might just have Cloud Code try to oneshot a Flappy Bird and then we'll just tweak it and play with it and see what happens. and then I'll release it. And then I will create create a bot **[84:02]** that jumps into everybody's stream and um links it. That's what I'll do. Probably everything except that first one. Yeah. Yeah. Troy, you're so good. Troy has Yeah, it's gonna be cool. There there's a game coming. Um and I don't want to spoil it too much, but it's going to be fun. And that's going to be on Talk Dev to me on March 12th, which if someone gets me **[84:34]** their stupid headsh shot, I can schedule that in the YouTubes and everything and people can can see it. Clo one shot of Oh, no. Yeah. Well, I kind of did oneshot it already. It didn't look very good. That was the thing that I I didn't like about it. But I uh I I would like to uh what to just to oneshot it and see what what we can do. It might also be actually you know what might be fun. We'll one shot it in code and then we'll use TX to to to do **[85:05]** the same thing and see what happens and and see what the differences are. Um Miles. What's Miles? Have I heard of Miles? I don't think I've heard of Miles. If you have a link, drop it. Yeah, I I know. Clo's really funny. Oh, speaking if if you're using code, um you should install the WordPress skills, the the AI skills because it is **[85:39]** super duper helpful. This Troy. Okay. Who made this? H. That's very cool. **[86:14]** I mean, it looks really nice. It looks really nice. I've been using Ara build a build recently for uh generating some um some stuff. Um it's been pretty good. So, is this who's is there a company behind this, Troy, or like do we know much about this? I'm assuming Miles is just the name of the AI bot, but um the blocks plug in production ready code. Describe what you want. Miles makes it here comes and myself have sites running these things. **[86:45]** Huh. Feel like I should know about this or know more about this. Well, I'm going to I'm going to sign up. I'm going to get early access. And I guess I just have to put my email in. Oops. type. If I can type and get early access. Oh, Andy Pete. Okay. Yeah, that's cool. And Andy used to work at automatic. That's very neat. Um, cool. This is **[87:17]** great. So, yeah. Yeah. Troy, I have an idea for your game. I have an idea. And it could it could be AI based because Um, still motivate WP vibe.ai. What's this? There's going to be Oh, yeah. Oh, that's cool. I like that thing. **[87:48]** Very cool. I kind of like that that this thing. I like this thing. It's very neat. It's very uh um what's the word I'm looking for? I don't know. What else? Yeah. Yeah. There's there's all kinds of things in the works. **[88:20]** What do you have backstage ashes to? Oh, vibe. Whatever. Cool. Um, yeah, it's hard to keep up with James. That guy, that guy operates at the speed of light. It's ridiculous how much he he can do. Well, it doesn't look like uh 7.0 the beta is going out yet. Uh I think track is still **[88:50]** acting up. Um, yeah, I can't design to save my life either. And so that's why our uh build and these tools are so good because here's the thing, like I don't I'm not like a designer at all. So these tools do all that work for me and then I can do the thing that I do is write code, which is fantastic, which is um um Oh, no, not that. Not that. I had like I have a project in mind for AR that I I built out in Ara build and what is it? **[89:21]** It's um this idea of a um a badge archive for word camps. So like because well we can't see it now, but behind my green screen I have all of my lanyards from all all the word camps. And so I had this idea of like well what if it was like like a Pokemon thing where you create an account and upload pictures of all your badges. I I don't know if that's been if that's been done anywhere. Um um but so I asked it just to create this **[89:53]** for me and it did a like a pretty good job. So this would be like you know the a word camp for a specific word camp and you have all the different badges and everything. I don't know. I think that's kind of fun. Um but like for me to design this, are you kidding? There is no way I would be able to do this. Um but yeah, what else I got? I got this idea for a plug-in landing page, right? Little uh little AQL action here. So, again, **[90:25]** crappy designer, me, horrible. Just gives the AI some direction and it does its thing and it's great. And you can download, you can actually export this to Figma and do all kinds of cool stuff with it. Yeah, the the API client WP API client I it's it's it needs to be ready though. Well, it's not that it's not ready, but it needs to be it needs to be right. I sort of agree with Matt's comment on like it's great, but it's not like in a place where all the users can really **[90:56]** connect things to it. Um, so I kind of get both sides of it. I'm very excited for it. I think it's going to change so many things um about WordPress, but if it's one of those things if it's not kind of done in the right way when it's released, then it'll be a problem. you know that's like I had the same conversations around the icon block and like you know there was a lot of conversation around um the API which I wasn't really involved in um about **[91:26]** whether about why is is is it not exposed and like Fabian uh from field um he um yeah yep I agree that part for sure it is a it is a it's an API but it's also enabling WordPress to do some cool things. So, I think Matt's point is that it's not just for devs. Um, it'd be cool if there was sort of like, oh, yeah, you want to connect to all your things. Here's how how you do it. And, um, so I **[91:57]** kind of understand what he's saying. I see both sides of it. I mean, for people that want to build on it, they want to get it out as as soon as possible. But for those building on it though, you can also just like install the package directly, right? Um, and do it that way. But, um, I forget what I was saying now. Whatever I was saying something that probably didn't matter. Oh yeah. Yeah. So the API so there was some some uh conversation around like why is why is it private? Why why can we not register our own icons which would be really big and helpful for agencies. Um and it's **[92:29]** because we just quite weren't quite there yet. And you have to make sure that you have to make sure that when you release a thing that it is ready enough to be useful and not not raw enough to be a problem moving forward because once it's been released it's it's there and you have to keep it you have to maintain it. Backwards compatibility is an issue. So we have to make sure that it it is it's it's ready. And I I I agree with that that that's why like a lot of these things the sort of the first iteration **[92:59]** is kind of like a very vanilla very like easy sauce version of of what it is like the amount of features that we stripped out of the icon block to get it in were massive like you know uh rotation controls flipping all this sort of stuff we pulled all that out right um um yeah I I'm not disagreeing with you though that it's it's that that I don't think it's ready I I think it's more the like like Matt's comment was more about the user like those those um let me show **[93:30]** the comment actually right here. Um so let's just read it said so I'm a no but not for the reasons you you might think. Let's think about a let's think about this from a user perspective. WordPress has had a place for 20 years where people had already been copying and pasting API keys alongside Hello Dolly. The only plugin we include is in the default um download. I want us to think bigger and really have something we can tell a story for for 7.0. The headline feature should be that WordPress can now has a connector setting page when you visit settings connectors. There could **[94:00]** be oath off flows and all that stuff. So what he what he's advocating for is something along these lines and I think this does make sense from a user standpoint, right? Because if we want to connect things, if we want to connect our site, um, what this means is like I've connected the site and now your plugin can access that, right? Um, I I I think that's pretty cool. Um, yeah, **[94:31]** where is that comment? Where's your comment? Okay. WordPress needs this feature in core and delaying this also delays the pro progress of other AI features. Alt generator, feature, image generator. Assuming these new features would use the same SDK, both core and plug-in need devs need a common ground official SDK if you're dealing with AI features and this not shipping core. I'm pretty sure every developer create their own AI. I don't necessarily agree with this. Um, I don't think you're entirely wrong. I know a lot of people's first in instincts is is to roll their own, but **[95:02]** this this proposal is not this API is available. You can use this API. It's just not bundled in core. Um, not all. Yeah. Well, yeah. So, like to your point here of like rolling your own, that's a problem. That is going to be a problem. Um, you know, for sure. Uh, maybe some [clears throat] have an SUI, maybe some won't, but the real issue will be that user will have to sign into 10 different plug-in dashboards that add the same key here. And yeah, exactly. So, I think so what Matt is trying to address with that, **[95:32]** he's trying to address that issue by having a common connectors page. And then you can do whatever you want with that stuff. Um, you would be against making it kind of like a plugin. This feels like it wouldn't be good. Oh yeah, for sure. For sure, for sure. But the thing is like you install the API with composer and you you you import the package, you know, in m npm and then **[96:03]** you just transition to to the core one. I I mean I get what you're saying. It's not ideal. It's not ideal at all. Um, yeah. No, you make completely valid points. I I'm not I I don't disagree with them really. Um, I think that if people are developing in in a way where they're thinking uh like future proof, then they should be leveraging the APIs **[96:33]** the way they are now. Yeah. Oh, yeah. For sure. For I mean, but this is the kind of feedback that that they're looking for, right? This is a request for comments. Like, it's literally like, give me, you know, we want to know. So, all this will take be taken into account. Now, I mean, some people have a bit more weight uh than others in the community. Uh, specifically, you know, Matt um has has a fair amount of pull, you know, and uh so yeah, so he is the um he's the the the project lead forever. Anyways, but **[97:05]** um but yeah, everything you're saying is not like I'm not saying you're wrong. That's it. That's that's all I have to say about that. But uh yeah, so hopefully this does get in. Now Matt does say up here that if uh you know if we need to push that's fine. This is important moment for us and a milestone release. So I think it's a big deal, right? Um so Matt recognizes that like this is a big part of 70.0. So, if we have to push the beta to allow this to get into there in a way that makes sense for users and and and developers, then I **[97:36]** think that's a good thing. It's not a secret that there's going to be a meeting about 7.0 tonight. Is that the is is that was not that was announced on make, right? Wasn't it was it announced here? Yeah, here. Right. This is Yeah. So, so this is the product meeting. I think this is what you're talking about. there. There Carolina. So, there's this this meeting it's at. It'll be in uh three hours **[98:06]** roughly. Roughly three hours. Um yeah. So, if if you're interested, go and take a look. I don't know if this is open to like I think this I don't know if this is a presentation or if this is like open to chatting, but yeah. All right. Well, thanks so much for hanging out and uh chatting with us. I'm gonna actually drop off as well. It's just afternoon. So, thanks everyone for hanging out. And cross keys, let me know how all that goes for you. And Karolina, start charging for all the things because it's worth every single penny. **[98:39]** Simpler is happy with having Mark. Meeting is open. I don't know. Sorry, Paul. I'm not sure what you're saying when you say something simpler is happening with adding markdown the core. Oh, yeah. Mark down the core. Oh, lot drop your YouTube channel if you got one. See you in a few weeks there, Alpist original. I'm excited. I'm gonna **[99:11]** learn a little Spanish. I'm gonna try. All right. Thanks everyone for hanging out with me today. And uh hopefully we'll get a 7.0 beta released in the next couple days. All right. if I don't talk to you. Have a great weekend. I'll see you all next week. Thanks everybody. Bye.