 All right I forgot to do something. I have a little do not disturb sign that I forget to switch over otherwise people come barging in Good morning from the US. Good afternoon from South Africa It is live stream time I'm just gonna pop on over to The meet-up and just folks know that we are live I Need the link don't I There we go Put it in there. I can't I see the comments. I'm not even logged in. How weird Let's try that again. Hopefully you can hear me if you can't hear me. Let me know I Should have everything should still be working from the last time I did this but it's been two weeks since I lost it So if you can't hear me if the music is too loud Whatever the case may be let me know All right, so we are continuing along with Learning how to contribute to word to wordpress If you missed the first session on how to set up the local development environment, you can get it from this URL This is the recording of the last session So if you want to know how I have everything set up you can follow that I'm gonna just turn this music down a little bit Um and today well last week I was planning on looking for Some issues to work on and then I had to cancel the live stream at the last minute So today that's what I'm going to start doing. Um, I'm going to start looking for some interesting issues to work on I'm going to share where you can find all of those issues Um And then hopefully we can find something that I feel comfortable working on as a good first bike Um So let's dive in. Um the First place to look for open issues to work on in the wordpress project is at make dot wordpress.org slash core Uh Pop that in the chat. Oh, I should mention I'm using a new keyboard today. I'm going to share a picture of a keyboard microsoft sculpt ergonomic thing It's taken me a while to get used to it So if my typing is a bit more wonky than usual, I apologize Um, I will do my best not to make too many mistakes. I'm also just going to Turn off my phone Or at least silence my phone. It is already silenced. Okay, excellent um All right, so make dot wordpress.org slash core. That is the core wordpress Um or the wordpress core team if you will it's there. It's their site. It's their blog. It's where they post updates It's where discussions happen. It's where you can find the handbook Uh, so that's this link over here handbook. It's also where you can find the tickets that folks are working on and the different components So if you click on components, um, you can scroll down you can find all the different components And for my purposes, I'm going to be focusing on the rest api So you'll see there is the rest api there. These are the folks who are the maintainers I think they call them maintainers. That's correct of this component. Um, so it is Uh, Timothy Jacobs and Ryan McHugh and Rachel Baker Kianna white or cadm I think I pronounced that and johnny harris johnathan harris who had the pleasure of meeting uh in in europe uh, wordcam plurip and Athens um, and so if you click on that Then it takes you To the component page for the rest api um Currently rmq ryan ryan McHugh is the tech lead Cadm white is the design lead Features can be tracked on the trello board meetings are held every thursday At 8 a.m. My time in the evening 8 p.m. My time in the evening um So that would be around about 6 p.m. UTC. I think it is um, they also manage the application password subcomponent um These are arrest api updates and then these are all the open tickets. So there are 6.5 tickets that I've been working on worked on for sorry six point two bugs that have been worked on for 6.5 three enhancements no feature of twist and no blessed tasks um I'm not quite sure what a blessed task means if anybody knows what that is. Let me know I think it's a thick case of this is like a new piece of work that we need to get done And it's been given sort of permission to work on but I've never quite understood that one And then there are 34 issues awaits in review 34 bugs 30 38 enhancements seven feature requests 22 bugs That are sort of set for a future release 13 enhancements two feature requests and four blessed tasks um I'm going to open that quickly and just want to see what blessed task means um I think blessed generally means that everybody agrees this is a good idea and we should do it um Trying to see when it was updated I don't see it being updated to blessed Maybe it was when it was created As per discussion I've been supposed to review myself over the rest of you. I needed I guess I might have been really created it uh I've never I've never had clarity Has somebody who's been contributing to wordpress for not that long? um Maybe seven years I've never had clarity as to who blesses a task Um, is it the maintainers? Is it the project leadership? um Never quite figured that one out myself so Yeah, it must have been when it was created it was It was blessed. Um I'm actually going to dive into if I can figure out why this is so let's go and have a look here Um Just search for blessed I'm looking for as hopefully some kind of documentation about what a blessed task is I might have to go ping somebody and ask them um Maybe google will help Let's have a look see Oh, maybe there's something in the handbook Oh, there we go Features development for the upcoming major release centers around task tickets Which are major features or important hundreds that have been blessed by the core team Okay, a ticket should never otherwise ticket should otherwise never receive this designation Okay, so it's a major major feature important enhancement that has been blessed by the core team Okay, so those we should probably leave alone um Alrighty then So where was I? I've lost where I was Let's go back a couple of pages here No, wasn't there Was it here? No, it wasn't here Wasn't here Just here. There we go um So that's one place where you can find rest API tickets the other place where you can find tickets is in the Gutenberg repository um Sorry, I just noticed there's somebody posted something in chat and I just went to Looking to find future at a call with Harry Schenker the week before the new year And he suggested I start collaborating and look for groups to join and also easy bugs start fixing Many front end. Cool. Welcome I I hope that you learned something today. Um, I'm mostly back in myself. So we're not going to be really looking at front any things Um, but hopefully that uh, something something sparks um Based on that surname that looks like james james if that's you say hi James james. I've met james before previous live streams. Um So, uh, it is james. Hi james Um, okay So the other place that you can look for rest API issues is in the Gutenberg repository And the reason for that is because Gutenberg uses the rest API into the hood for practically everything it does um So the way to find those there. So this is one of those things where It's kind of difficult to know where to start looking for things to work on if you've never contributed before Um, my suggestion would be to get used to track, which is what we're in here uh, core.track.com Um, we'll dive into how this all works in a second But with Gutenberg specifically, um, the Gutenberg project is the site editor. Everything kind of happens there Um, there are also often some issues in the Gutenberg project that are around the rest API So to find those you can click on issues Um, and then you can search for the rest API Interaction. So there's core rest API tasks Um, of which there are currently four open ones Some of these are quite old So Yeah, we'll have to go through those and then the other one is there is a Uh, back suppose there There is another rest API label called rest API interaction Um, and in that one, let me just untick this There are 48 open issues Um, so different places you can find issues to work on Uh, the difference with the Gutenberg ones is that will go into the Gutenberg plugin, which will eventually get merged into core Um, the ones on track would be merged into core pretty instantly. So Um, I'm not quite sure which way I'm going to go yet. I was kind of looking at the listing track So there's 32 tickets that have no replies Um What I'm going to do is I'm going to start Um by looking at issues that are part of the rest API component So to show you how that works if you go to And it is it is a bit of a minefield to know where to get started and look for issues. I'll be honest But if you go to core, uh, this is not pasting Um, if you go to core.tract.wordpress.org If you don't know Might be useful to share But track is actually just a issue tracking software. It's been around for ever track bug tracker um track project Uh, it's similar to things like bugzilla to mantis to giro those kind of things Um, it has been around for a long time Um, let's see how long it's been around Uh 2004 so right about the time that the first versions of wordpress were released Um, and so at the time I'm guessing matt chose to use track to as an issue tracker And it's kind of stayed that way ever since back then we used track and we used svn Um before things like github and git were developed Um But this is where most of the issues are logged. Um many of the issues that are in the Gutenberg repository specifically to the current versions of wordpress are brought over to track So most of the time you can find what you're looking for in track Um, and the way to start searching is to click on you can either click on components And then click on the rest app out components and go through the way I just showed you Or you can just search and click on the tickets option Uh, and you can do something like latest tickets latest tickets or whatever the case may be by a major release Whatever the case may be So let's go to latest tickets for example And you'll see all the latest latest issues And you'll see they belong to different components Etc etc etc I prefer to go via the components So I usually go components and then I go Where is it now? Rest API And then I have a look at All of the issues that belong to the rest API. So I'll click on Not that one It's kind of not what I'm looking for What I want is just a list of all issues on track. So what you can do is you can actually create your own So let's go to open enhancements for example um, so here we go, so The way you can do this. So, okay, let's let's go all the way back to track Uh, so there we go And you can design your own query Or you can go here. Here we go. Where was that? No, let's do that again tickets Uh, here we go tickets by component. So you can go tickets by topic tickets by release tickets by focus So if we set tickets by component and we selected rest API Um, that would then list all of the rest API related issues So this is a nice way to look at the overview. You can see there's 100 one 200 of 143 These are slated for next release. So these are currently being worked on for the next milestone So i'm not going to try and Get involved in any of those folks are already working on them Then we've got tickets awaiting review. So these are tickets that have patches or needs unit tests or whatever the case may be Which means somebody has created a patch for it and it needs to be worked on to move forward Um candidates for closure test tickets needing feedback tickets with patches Um, and then right at the bottom of the list, there will probably be tickets that are new unpatched bags, for example Here we go unpatched enhancements. Here we go. So that's kind of if you want us to work on something fresh and new You can kind of find those over there Um, that having been said it might be useful To look at some of these tickets that have patches And maybe test out the patch Um, it might be easier to start Helping out with testing a patch or writing unit tests for a patch. So that might be something I look into um Or for example, if we go back one page here Uh, tickets needing feedback. No, not taking any feedback. Uh, which one was it now? Uh, tickets awaiting review So we could look at it and we could see well, let's have a look at this one For example creating an anonymous comment with custom fields via REST API um I'm able to successfully create anonymous comments via And let's see, uh Okay, talking about possibly closing this one out. So I'm not gonna worry too much about that Um, so the best thing to do is to kind of look through each of these tickets and sort of see You know, which ones work for you Um, what I think I'm going to do today Is I'm going to try and find one that Need some testing So these all have a patch Um, but they probably need testing. So let's have a look at this one, for example Uh, expose menu data public in menus REST API Um As a patch Uh, it's a proof of concept PR. So I think it needs more feedback from folks that are involved. It's not really something I feel like working on um To do to do I'm wondering I'm wondering now if it makes sense to focus on REST API And maybe it makes more sense to find some other kind of bugs to work on Um, just to kind of get ourselves comfortable with, you know, fixing bugs and creating fixing things And then we can come back to fit REST API focus later Um Because REST API is very specific You have to kind of have a good feel for how the REST API works and what it does Um, and also I would like to find out from folks if they have any sort of good first issues They would like folks to work on Um So while we're on that topic, um inside of the making WordPress slack, there is a call REST API Um channel where you can go and ask questions um I don't know how easy it's going to be So I'm thinking maybe I should post some kind of question around what folks where folks would find benefit Um I'm not quite sure myself to be honest um So the other thing that we could do is we could do This go new custom query and we can say Let's take that out of the way and we can say component is REST API Takeaway assigned Takeaway reopened. I'm going to take away reviewing And I'm going to refresh that So that might give us an idea of some new bugs that we could work on um If I don't find anything amazing I might just go and look at something else Um This seems to be taking forever now It's main set fallen over There we go. Database is locked There was an internal error in track Okay Let's try that again. So let's go design your own query Um reports recyclers. Let's remove that and update So there's issues that I've worked on. Okay, that's better and let's go Component is REST API date Okay, that seemed to work. Okay. So now let's take out anything that is assigned Anything that is reopened and anything that's being reviewed There we go. Okay. Now we're getting somewhere All right. So this is 118 issues that are in the REST API that are sort of accepted as valid issues Uh, they are new and nobody's working on them. So that's one way to do it So you create your own custom query Select the component you want to work on Maybe just keep accepted and you enable You can group by status severity resolution You can show description under each result. That might be useful. Let's do that There we go. So now we're getting an idea of what's going on Although that's not the most readable So I'm going to Not include that Um, and now you can kind of go through and you can see what they're talking about So we've got HTTP status codes and you've got supporting dates Um Add excessive functions for post status and post parent Uh default query for users does go I'm looking for sort of easy simple Um, I see they do have priorities Um It's not really easy to see if anything would be considered a good first bug here Uh, so you kind of have to go through and open up the issue and read through it to see if it makes sense to you um Add a rest nonce action to the rest api. That's interesting In the spirit of fully fully customizing the rest api as I'm doing, I'm going to do some features My customizable filter is not the nonce name or rather the rest nonce action is not Don't if your rest is a bit generic and could easily have rest nonce name or rinse nonce action filter added Uh thoughts So there's a patch Should upload every form of a patch not the entire source file. You can find more information here stopped by there Patch added patch submitted Something won't give you the alignment patch updated Right now practical using this filter would be if a site changed the rest api Action with filter all the plugins that we're creating rest nonce. That's what I was thinking when I read through this As such the practicality here seems quite small and probably be served by custom authentication filter because of that I think it makes sense to close the sticklets And that's where it ended up. Okay, so this is a bit of a dead end Um, so you keep going and that's essentially how you find a ticket to work on you read through it You find whether it's interesting whether it's something you can handle um And then you see if you can fix it. So this one says incorrect htp status code. Let's have a look at that one um Specify posts when I request a status I get the error status is forbidden Problem is not the request of status keepers valid, but the requesting draft requires authentication I'd like to request that htp status 401 be returned instead of 400 Okay, so there's a diff So in case you're wondering what a diff is We'll chat we'll talk about that in a second, but let's read through here converting to a by considering the wrong htp as a return here Changes status 400 with 401 for another request to do some unit tests Some unit tests that had assertions checked Return status code was 400 having been changed Some unit tests that had assertions checking return status code was 400 Have been changed to check that return status code is 401 So this one has a patch by the looks of it And needs testing So this might not be a bad one to test So let's have a look. This is the diff. So if you're wondering what a diff is a diff basically includes the changes Or a patch if you will include the changes that would be made to the file in a special format that you're going to apply to your your checked out version of Of wordpress of wordpress call and then you can test You can test that things work the way they should So the change is being made here in the access the person gets the error code if it's invalid parameter If not is it error code error code is whatever the error code is or pass 400 um The problem here is That changes status 400 401 for unauthorized requests If his W is sanitized value See, I don't I need to spend more time with the recipe. I didn't understand how all this works um So I do feel like attachment controller attachment controller pages controller post controller Yeah, that's already one. I feel comfortable testing. So I'm not going to get in there Okay, let's go back. Yeah Our conditional field registration I had generated slug to wrist api to those endpoints wrist api approach page point includes scripts needed for display post content Interesting Often the post parties spent on external strips and shallow section order to be displayed correctly But there's no way to discover what these scripts and slides sheets are The problem was encountered in Gutenberg on that and the fix was to filter the rest of your response to include the list of scripts You can't know what the scripts are required ahead of time, especially the api client closer to a different server Yeah, this looks a bit bigger than what I hmm Use get blog window in the rest api index. Okay This api provides data on the site index when making a request to that this describes the site and the apis This has patch keyword second opinion. So The patch has been added. I'm gonna get involved there Um Loading doing it wrong should write doing it wrong should write into debug log. That's interesting I created a plugin that call to register rest route without permission callback argument It worked fine until WordPress 5.5 that this argument is now required However, the errors It's not appear anywhere except the rest api headers, but it's hard to notice About that. I keep using the old codes because I didn't know this change is now And it's not showing the debug log Until one day WordPress 5.0 is released and I entered into the widget management and all errors appeared in the debug log The function doing it wrong is useful And should write the dpals into debug no matter where it is called So this is interesting because I Through when we just created two years ago I remember. Hmm. This is interesting I remember seeing something about this when I was working on some rest api content This could be one that I could work. Let's have a look. Okay. So this was open two years ago Uh For hover over that will show me it was open on the 16th of january. No, yeah, 16th of january 2022 So just after I joined just before I joined automatic and I remember doing some work on Creating rest api endpoints and not setting the permission callback and not throwing an error So let's this again, so this has no conversation on it, which is cool um So we should actually be able to test this out Always fun. So what I'm going to do is I'm going to open up the WREST api handbook Going to add a custom endpoint, which is what I think this person is doing register. Rest root Register. Rest root. Yeah That's it. Okay So we're going to just steal this code here. I actually think I did this in my learn WordPress content. So let's have a look Yes, James is so the core track is just the list of everything I'm looking for some front-end issues Yes, James essentially core track is everything um If you're looking for front-end issues, your best bet would be to select A component that has more of a front-end focus So When you say front-end, do you mean the front end of the dashboard or just any front-end related problem? Um, because you could possibly look at administration Uh, or the dashboard at least Um, and then find some front-end issues there Uh, let me go back to it. Was that now? Uh, lost or lost it again. Let me just let me just copy this into my thing. Yeah, okay. Um And then based on Or you could look at for example next major release and you can find Anything in there it it does require you to do a little bit of digging though. Um, so you're not easily going to find Like just front-end issues You're going to have to sort of get used to our track works and kind of do some digging the best thing to do so I'm going to share this quickly as well um and this is back to uh The other question earlier about the link So the handbook link Let me paste that quickly so make Let me just share these links again. So it's make dot wordpress.org slash core. That's the first one Um, and then the handbook Um Is there and then the handbook is this link over here, so I'll just copy that out Uh, that's the handbook there Um, James you also mentioned about, um Block editor functionality and usability so if you're in track, um, you should also be able to if you go to components You should also be able to go to the editor component there editor and the editor components would be The block editor so it's integration of the Gutenberg block editor Maintain maintenance of the class classic editor and all those related things. So that would be another place you could start Um, but I want to also share this with you as well. Um, let's go back to the core blog If you look on the core blog here, um, and you scroll down to the right They have regular chats And they have a new contributors chat And the new contributors chat happens on the second and fourth Wednesday of every month So if we have a look at where we are now, uh, the second Wednesday would be Next week 14th the valentine's day So the 14th and the 28th of february there will be a new contributors chat in the core channel in slack And essentially let's hop on over to core Um, and let's find the new contributors chat and you can I think they might Notified when it starts something Here new contributors So he goes asking second third So it does look like Is it still on the go? um So you can join you can join the core channel at that point and then Ask questions Um and say I am interested in working on these kind of issues um And usually there will be folks around to help It's at 1900 uc utc which is Whatever that time is in your local time zone But you can enjoy the new contributors chat and you can chat to folks and you can find out how things work and then usually Soon after the the new contributors chat they have the weekly developer meetings Which the next one is this coming wednesday at 10 That's eight utc gmt plus two my time um And you can then follow along in dev chat and see what people are working on and you can possibly ask questions there as well so So have a look out for those meetings if you click on the see all meetings link at the bottom here Um, you can then see all the meetings that are happening um, it doesn't look like the the There it is. There's a new core contributor chat So on the this is january, so if we hop on over to next month february um, and we go to the it'll be what is this 14th um There there's the new core contributor chat you can click on that and you can add it to your google calendar um, or whatever calendar you prefer to use and then it'll remind you um And that is a great place to chat to folks ask questions Say to them what you're interested in what your experience is where you want to get involved And then they will help you get going and also what you can do in those sessions is you can bring questions Um, you can say I've been working on something. How do I create a patch? How do I do this? How do I do that? I'm going to try and go through some of those things later Um in this process, but that is where you can also ask for help And ask to and they'll point you in a good direction of you know, what you should work on Um Okay, cool So for me personally, I'm going to have a look at this by quickly here Um, so what I'm going to do. So what I've done is I have gotten my local development environment set up Um, I'm running this. I just want to show you quickly um I'm running this on a fork of the WordPress develop code, which is a repository in my local GitHub account There it is there WordPress develop and The reason I'm doing that is because I'm not a core contributor So I don't have a way to easily create pull requests of most kind of things to WordPress develop So the easy way to do that is if you if you go to the WordPress developer The WordPress develop GitHub repository, which I'll paste into the chat with you Also, check out that youtube video that I pasted earlier. I'll share that again in a second Um, you can click on there's a fork button. And if you click on the fork button It'll ask you to create a fork in your repository. You click new owner. See mine already exists So I can't create that and then it forks the code to your to your account What that allows you to do is it allows you to create pull request branches or that kind of thing Um, and you can also keep your fork in sync with the WordPress one. So you just click sync fork And you say update branch And it'll make updates and all it needs to do and now it's up to date with WordPress trunk see, uh Oh, what's his name? I've forgotten Pascal Pascal recently committed some changes. So that's why I needed to get updated there. So there it's updated Um, and then in my local WordPress develop, I'm just going to go and get pull And I'll get the latest and greatest of whatever version this is So if you if you want to work on trunk, that's a good way to get started if you're used to working GitHub Um, that's a it's an easy way to get going, but do check out the youtube video I'm going to share that again. I'm going to copy paste that from earlier Do check out the youtube video because it talks about how you can set up the local environment Um, and all of that stuff if you want to know how to do that All right, so I am going to go ahead now And I just want to actually check something I Want to check what time I how long I set these four because I think I've only got 50 minutes left um Oh, I actually was meant to start at a 330. What time did I start did I started 330? Let's check No, yes, I did I started 330. Okay, so I do have some time left I see someone's chatting in the event chat. Let's just see what's happening there Yeah, someone just is a lie. Um, all right So if I started 330, we've got another 45 minutes. Okay, cool So the way I'm going to try and fix this is I'm going to try and In fact, I can probably use this person's code here So So let's go over here. I'm going to create a plugin In the source directory WP content plugins I'm just going to create a very simple little plugin here and I'm going to say Example plugin And then I'm going to grab I'm going to let get up a copilot just generate some Some plugin header for me And I want to plug in description. There we go. And then I'm going to grab this code Um, I'm going to pop that in over there And I'm going to change this from my plugin to example plugin Okay, and we'll make that example plugin all items Callback My plugin get items I'm going to create the callback function I'm literally just going to return a list of items. That's all I'm going to do there Um, okay And then the only other thing I'm not sure of is I guess I guess the local development environment is going to log the debug log the WP content. So let's just check So if I go into my local Which is somewhere here I'm getting very hot. Yes. I'm going to pop the fan on some of my desk. It's very very warm here and get down to the mode So hopefully the fan noise doesn't come through my life Um So let's go to the list of plugins and I should see my example plugin there to be able to enable it Um, I don't know why but I find Okay, let's just see here wordpress connection. Yeah, this I sometimes have Uh, so there's my example plugin. I'm going to activate that Uh, and I want to check if the yeah, there's the debug log. Okay, excellent Um Okay, I keep getting this service issue with Uh, um I'm going to just quit this I'm going to restart the local server See if that fixes those issues I'm going to get these issues where it tries to connect to I don't know if it's a docker thing um, it tries to connect to WordPress servers to like do a sanity check and not sanity check heartbeat check And it fails And so far the only way I've figured out to work around it is to install a plugin called flight mode and enable flight mode um Which basically disables any requests to external sites So let's download flight mode while I'm thinking about that Flight mode or airplane mode It's airplane mode Yeah, it's this one. I thought this was I think it is in the plugins. Let me just go here. Ah new keyboard No, did I run that one? Yeah, there it is. So I'm going to just download this quickly My desktop And let's upload this And install it. I don't know why this happens. I don't use docker a lot. I hate docker personally So I couldn't be bothered to try and figure out why it happens So I just installed airplane mode And it basically turns off all the External requests and it stops that are happening. So I'm going to just install this quickly Okay, it should be installed now. Yes, please I get this on my local learn development environment as well. Yeah, there's a little bit activate it If this keeps bothering me, I might just one day go and dive into why it's happening and see if I can figure it out I'm pretty sure it's a docker related thing. Okay airplane mode is now active so now We should find that things are a lot faster Okay, so let's have a look at our debug log. Okay. Debug log is okay. Debug log is really logging everything. So let's delete that All right, so let's go back to our plugin list Example plugin is active, which means I should be able to now browse to All items, let's try that So it'll be I can never remember the URL for this. So it'll be wpjson Uh, I think yes and then it will be Example plugin, I think All items. Yeah Okay. Okay. So that's what I wanted And now the permission callback is not set. So it doesn't okay So I remember coming across this recently Um, so let's have a look here See now in register rest route they talk about the fact that you See us some way Yeah, since 5.5.0 There is a notice if your registration of rest April route is not including permission callback You may get some notice in debug log like the following one So all this probably needs to add the permissions callback now I haven't added it And it's not throwing an error Uh, and that's essentially what this person is saying So what I need to check now is Why it's not throwing this error and then get that to log to the debug log So my guess would be if we go into register rest route Which we can do from here And this is one of the cool things I like about ideas is often you can select if you've got it all set up correctly You can select the function and you can hold down Alt or your mac key or whatever and you can click through to the function itself, but this is in the Wp includes rest api dot php file. It's the register rest route function There is the doing it wrong call And let's see if we see the permissions callback Permissions callback if not set permissions callback doing it wrong should be called If not is set permissions callback Okay, so it looks like it is doing what it should be doing Um All in doing it wrong The current behavior is to trigger use error if debug is true Um, so let us let us do a quick now This is where it's going to get interesting Um Which are these key our group? Okay, so it's our group So let's do a quick Let's just do a quick var dump of our group And then just die now. I wouldn't normally do this. I would normally set up xd bug and those kind of things But I just want to see if this gives me anything useful or I don't go in further Okay, so here we go. So that's what it's giving us. So let's give it some formatting quickly Um I just want to quickly have a look at what's inside of this The permissions callback is set and it defaults to return true This is the right one. Oh, no, this is the ombed controller. That's not what I want. Um That's what I want. So what I want. So what I want So let's do that maybe we'll get some way ombed Wait, you know what we need namespace root. So if namespace and root Our example plugin and all items Let's do that way Run key So that should only trigger if that namespace has been called it'll do it for all items But that's fine. I just want to get a feel for what's inside of that very well Let's have a look there So I didn't specify Let's try that again There we go Okay So permissions callback is not set So it should throw that error, okay So just doing it wrong Not output That's interesting. So this is not an issue with the rest API. This is an issue with doing a wrong function Hey, boom boom boom So trigger error does Bail if debug is not turned on. That's fine. Do action trigger error run And then trigger error I wonder why it's not happening in the rest API Okay, so I'm gonna have to set up xd bug in step three all of this To see why it's doing that But it's not actually a rest API error But it could be an interesting error to dive into So yeah, I don't know if that's one I want to work on I'm going to bookmark this one just as a Think what I'm going to do Is comment on this Actually, you know what I'm going to do? I'm going to copy the link. I'm going to post a question in the Core rest API ask Hi folks I was looking at this issue today from What I can see The problem is not Rest API related But To be doing it Wrong again If not is set permission callback. Yeah What is it to do it wrong function? Doing it wrong Doing it wrong. What is that fall under also the functions? The main WordPress API Main WordPress API. I wonder if there's a component for that Uh, which one is the pitch upload ball test tools bundled theme cash API economic or is there a main API? Which uses upload up rental toolbar teams text changes side maps side health short codes security script loader or revet rules revisions Pre-post the mail Payment links options Means you mail those import General general might be one option Not crumb. There's no cash Guessing general now. I would say this was under general. Okay, so what I'm going to do is I'm going to post the question in core looking into this issue logged Against the rest API component today Problem is I'm really sorry. Everybody's doing it wrong function What I can't determine is which component That belongs to my initial General and I'm just going to leave it like that So hopefully somebody will come back and answer that question and then we could probably I could probably go ahead and update the component Because it's not a rest API related issue Doing it wrong doesn't seem to be working properly Or I'll just wait and see what folks say Um This issue logged against the receiver today from what I can see the problem. It's not rest API. I should press turn wrong function What I can't determine is which component that belongs to my initial thought is general So I'm going to post that I'm going to see if if folks come back with a response on that one um But yes, essentially that is how it goes when you want to contribute to core You find an issue that is within the component or the area that you want to work on You try and test out what the person is is Saying You can either ask questions in the core channel if it relates to core or some component And then you move on to the next one As I was saying earlier in this stream if you missed it if you want to work specifically on Gutenberg block editor related things Then your best bit is to go specifically to that Uh get our repository Which I'm going to paste now here um in The Gutenberg issue list. I do think they have a good first bug option um Yeah, good first issue so It might be useful to filter by those and scroll through and see what you can find If you want to contribute to Gutenberg, you need to fork and check out the Gutenberg repository specifically Which is a lot easier to set up than setting up WordPress core You are essentially contributing to WordPress core. It'll just probably only get merged in much much later But that's another option to look at But if you're working specifically with current WordPress core, it's going to be track It's going to be looking through the tickets setting up queries Looking for things that you can work on um one other way to do it to look for sort of Good first issues is sort of look at the next minor releases Uh and see what is going on around there um This thing's not doing what I wanted to um Patches the need testing also a good one tickets there. There's good first bugs for new contributors under getting started So maybe click on that And go through those you'll see there's there's a whole bunch there um But it does kind of require you to To sit down read through it see if it's something you feel like you can work on one of my colleagues See if I can find him here He was lucky enough to have found bugs I'm not going to find it one second. Yeah, uh, so um He has been he has been fortunate over time to find bugs that are css related Uh in the admin. Oh, why is that not working? Hang on. Let me set not his Set not his profile, man. Let me so go find him Uh, that's weird Anyway, I can't find his uh Sure, that was his username Uh, anyway, he he's he's managed to find some bugs that were like css related and you know adding css here and there So it does require a little bit of sort of diving into tickets reading through Seeing what you can find Bundled theme is usually a good one to look for as well that often has css related things Uh administration will often have like yeah like replace replace em base line height with unit list values Uh, I mean that's something that you know folks could probably work on you do have to look for one that hasn't been worked on Um But yeah, you do kind of need to get comfortable with track Um and and go from there All right, I'm going to wrap up today. Uh, I'm going to keep this That's doing it wrong one handy and maybe I'll work on it next week. We'll see if I get a response in call Uh, if you are new to contributing, I do recommend trying out those new contributor chats or just pop into call Um And oh, it looks someone's replied General sounds good to me. Okay. Awesome. Awesome. Thank you. Some folks have come back Jonathan Desroge. Thanks, Jonathan Uh, so what I'm going to do I'm going to wrap this up. I'm going to Go up over here And I'm going to do this. I'm going to say Hi Boqui, thanks for logging this issue. It looks Like this isn't specifically REST API related and more that the Doing it wrong function isn't Um Logging to your debug log In the scope of the REST actually that might not be it might be because of where it is Ah, I just thought about it might be because of where it is Um I'm going to need to test this further. So here's what we're going to do. Um, I'm going to leave it as is And next week, I'm going to try and see if I can figure out how to get Xdebug working In the WordPress develop core code base, which runs Docker I've never done this before. Um, so let's just see if this is WordPress develop docker xdebug It does seem to be some information About how to do this Uh, so that's what I'm going to do because next week I want to actually step through this code I want to see what what's set up and why it's not working and maybe because it's in the scope of the REST API Doing it wrong is not working properly. I'm not quite sure but it looks like it should be doing what it should be doing Uh, it looks like doing it wrong should be being called and logging to Right place. So I need to kind of figure that out. So next week, I think that's what I'm going to do And figure out how to get xdebug setup um, I use PHP storm as my IDE and I have PHP storm set up as the Um using the zero configuration thing So I'm going to I think this week that's what I'm going to do I'm going to spend some time configuring xdebug for PHP storm and the WordPress develop code base and then we're going to step through this issue Um, so let me make a note of that bug I'm going to just copy it and save it somewhere And then next week, we'll carry on with that. Um, if you want to watch the recording of this I don't know how interesting it is to watch a recording of a live stream Uh, but if you want to watch the recording you can do at the WordPress, uh, youtube channel Um, it'll take me a couple of days to get it uploaded to here, but I will upload it this week Uh, and you'll be there's the previous one. You'll be able to find the new recording So if you missed anything or if you want to see anything again, you can check it out there Um, and then yes next week, hopefully you're going well We will set up xdebug and step through that code and see what's going on there Um, in the meantime, if you have any questions around all of this You are welcome to send me a private message in the making WordPress Slack Um, you can find me there at any time Feel free to ping me with any questions around this if you're busy getting the setup If you want to know how to get started with contributing to WordPress You're welcome to send me a ping and I will try and find the answer for you Um, but I think I'm going to wrap it up there I feel like I've done enough today and I've still got 20 minutes left But, uh, I can't think of anything else to do for the next 20 minutes So thank you for joining me today Um, and I hope that I've been able to enlighten you in some way as to the process of contributing to WordPress Okay, that's me done. Bye