 Welcome to Jenkins documentation office hours. It's the 29th of November. Topics that I had on the agenda include the 323 that the 2.323 change log status report on the site being broke site generation being broken for Jenkins.io triage team status Jenkins 2.319.1 upgrade guide and change log. And then a topic we've deferred for two weeks now, high level discussion on the opening content of managing and configuring Jenkins. Hi, Kristen. Hey, how's it going? Just great. So any, let's see, we've got, or I guess any topics you want to add to the agenda Kristen or Meg. Nope. I don't think I can. I can't think of any. Okay, cool. So, Okay, if we start, make anything from you. Yep. Okay, let's start in on the first thing then let's review that change log so. All right, so here's what we've got. Okay, a developer item. Oh, and so this means we've got. So we take notes, work, have to be done changes to be done. After the release. And this was move developer topic to end of changeless of change log. Okay. So we've got run this stream no longer eagerly loads all build records. I'm not sure that's actually a developer topic. Because eagerly loading all build records is disastrous for performance. Kristen should we appeal that one and say no we don't think this is developer this is. Yes, I would. Yeah, I think this is a performance problem. Okay, so I'm going to go let's go to core and find it. Okay, PR. And here. Okay, we'll just borrow this one for now. Okay. See and then Jesse says. Oh no it was all like that mentioned it on. It's like a saying that performance so maybe that's a sign. Okay good so you so the two of you are okay if we take this one out of developer and call it just a bug. Yes. All right, great. Okay, that's that solves that one good. Okay. I think J and our politics from three dot 1111 to three dot one dot 11 to three dot one dot 12 typically do you want to leave the text the same for that other one. Oh good question for me. I mean it's so whoops, you're right now that it's that I mean I can think about it and say yeah that probably helps performance but if we're leaving it for performance that's kind of a wonky way to say it. Yeah, so if we said. Okay then improve performance by delaying by lazy loading of build records. Yes I'd say yeah I think lazy loading is a good term there. And we probably don't need to then mention run less stream, because that does seem very particular. Yeah how about how about like this so that if he if he's concerned we say. Okay, like that. So what performance is that pipeline performance is it also freestyle is it build performance is that no it's probably. Yeah, I would guess it's UI rendering right because it's anybody that uses a this run this stream method. And I don't know if anybody actually uses it so I can't, I can't constantly say which part of the code could be positively affected. So the two of you are okay with that as a rephrasing. All right, cool. All right, good. Okay, so then, next one 5948. This is a library bump, I think we should just make it skip users won't know what to do with it. Right. Next cut jeb 2324 customizable header and this one really is a developer one isn't it says there's a new extension point as interface that allows you to just render a header, and a default implementation. It's an RFE is that. Yeah, but it's following it up. It is an RFE in the sense but for me it's an RFE that's only interesting to a developer. Okay. But I'm open to it certainly is an RFE it absolutely is. Okay, and actually that's a good one we ought to include a link to the jet. Afterwards, add link to jeb 235 in the RFE for extension, the header extension. Okay. Back to the question should this be. Should we call this developer there at this point there isn't anything a user will see different with it. It's just the addition of an API. Okay. That API documented somewhere. It is in this in this Jenkins enhancement proposal and we'll provide a link in the, in the, in the reference section will provide a link. The documentation of the other header stuff been updated for this or that's a really good point. There isn't other header stuff to update that's okay. This is adding something that didn't exist. What was happening was cloud bees was having to do sort of what might you call it patches after the fact. Okay. And this is a way of allowing a plug in to reply to do something better so that they don't have to do patches to Jenkins core code every time they ship. Cool. Is there any objection to me making that a developer. Oh, it is it is flagged as developer. Oh, cool. All right so we just need to market correctly here and then move it to the end. And that one is 5909 as developer and move to the end. Okay, good. All right. Next then. J cask support for managing log recorders. Okay, this one needs as full stop on the end of the line. Oh, does this one need a full stop on the end of the line. Yes, it does. Okay. Sorry, just a minute back here. Edit. Then this one was 4538. Let's look at how long live that pull request is. And it is. Here we go. Add there we go managing log records okay and I for one I'm delighted with this because I really need that in mind. Okay, anything any other change there. 5926 add path the form elements giving stable selectors for UI test. I'm going to stop. Okay, then. Okay update remoting from 411.1 to 4.11.2 to fix code signing. Usually when we've done remoting upgrades updates like this. We've included a link to the change log as a reference. Okay. This one doesn't have a change log so maybe the answer there is add a change log for remoting 4.11.2 and link to it. Luckily it doesn't sound like that's a very big problem right like it's just maybe it just sounds like someone didn't sign there for something else but right this this actually is not a code change at all. And all this is is when we delivered 4.11.1 from a from a security development path and the security development path didn't go through the usual code signing process. Okay. So what Daniel did is just created a 4.11.2 that is 4.11.1 with signed code. Yeah, there you go. All right, and view as plain text from the polling log was behind the top bar view as plain text shows correctly in the polling log page needs a hard stop but other than that. Okay, any concerns or complaints there. Does that mean the text view is whatever that text is what wasn't displaying correctly. Or it does yeah hang on I'll show you I'll show you what he's fixed. So the I think his screenshot has a foreign and after. So no here's the here's the after you see this blue text on the right hand side where it says view as plain text. Before his change. It was hidden. It was partially obscured by the gray bar that's above it. Exactly what it says it is. Yeah, so here's the, here's the, here's the example. Notice that view as plain text that you cannot see. Yeah, because it is completely hidden by the, you know, it's yes, if you're really careful you could click it really careful. Yeah. Get right on the just the right pixel. Exactly. And I was frightened by it and thought oh no is this a new thing introduced by UI changes but I checked and it has been there at least for the last three long term support releases so. Okay, this is not a new bug. Let's see and did I get that full stop entered onto the line yes okay good. So, any, any other changes there and then other things. I think that looks good. How about we generate the change log then might not wait a sec. I thought there was a way to run. Oh no this is Jenkins that I oh sorry. We have to go to core. We have to do some sort of actions. And here change log drafter we say run the workflow now. Great. Okay, so it's done. Anything else on that change log. All right, next topic then broken Jenkins I'll build. So we've got a problem with the extensions indexer discus. So the extensions indexer indexer script uses more disk than our agents have by default. So that means over 25 gigabytes by that job. And that's because it downloads the source code for every plug in every Jenkins plug in, and need to increase the disk disk space or find another machine or dedicate an agent to that task. Nothing I think for us to do I worked on it today Daniel Beck helped with the investigation and I'll ask Damian to to help guide it. Any questions been asked already. Any questions there. Nope. Okay triage team. So, Meg I think we need to have you accept the invitation just a minute let me double check to be sure that you haven't already accepted it. I have not seen the invitation so no. Well there's a good reason for us to do this then so I may need to resend the invitation. Let's look at teams here. And we look for triage, because dirage had also not accepted yet. So Kristen is in the team. Oh legs in the team and I am. And there are now where do we see. Oh here it is to pending. Okay so, so you have not received an invitation email mag. I think I just had to go to mine, not to the cloudies. Yeah that worries me that. So, could you log into your GitHub account and double check where your emails going. Yes, that's exactly what I was proposing. And if you'd like, we can have you share your screen and then we'll Kristen and I will coach you as you go through clicking. Oh, okay. So I just do that here. Yeah if you don't mind. And then it'll probably much faster than us guessing what you're seeing. Right. I think security is set up so you can share yes it is. So I should go back and share. Let's see. And. Okay now that's good where now we need to find out where do you find invitations. Where does GitHub. Oh my invitations. Oh cool. Okay. So, Meg, on your top on your URL or URL bar. Uh huh. Do github.com slash org or g or or gs. Okay I was thinking my email. No, yeah, just where do I want to see I see I see your GitHub. And so on the end that URL bar the stack overflow people say open up github.com slash or gs so orgs. Okay. Okay. slash Jenkins dash infra slash invitation. Invitation singular. Singular. Try that. Okay. This is what stack overflow says we'll see if it works. Hey, nice. Nice. Now who would have ever guessed that was the way to go. Okay. Interesting. Okay so now you have to know you've been invited and go and see. I've never received an email. That's a different problem. Right. So, so that that I agree it's that's a problem, but it's a different problem. So now the question is, does it show up for me that you have, have joined the triage team, or is there still something more we have to do. You are now a member of the triage. Nice. Yeah. I think we added her because I was like, I bet we're going to have to like add another like do it again like send another email or something. Right. So, so okay so just a minute now. Meg joined live during the session by opening because we'll need the same thing for dirage so I've pasted that URL into the notes and it was Jenkins dash infra. Perfect. Okay. And yeah my email set for my personal. Yeah so you should you should have received it. I don't know maybe it went into your spam who knows I've been checking spam because stuff's been going into I haven't seen it but who knows. Weird. Well, glad that welcome to the team. That's great. That's great. So this means I should theoretically get notification when new things come up that need to be triaged. Oh that's a good question what does it mean if I remember right what the triage team permissions mean is, let's see. I think you notified right like if you do if the reviewers allowed to do triage as a review of pull requests and issues. I don't know, however, if you're able to so here, I'm going to create a new issue and let's see if the two of you get notified. Okay. No that didn't help. Let's do it this way. Jenkins. So issues. And new issue. This is what something we want to do we want to say how about something about a wiki migration. We don't have an issue yet for incorporating jcask into the managed Jenkins. Oh good. Okay. I started to do too many issues for security says then I didn't do any for managing so very good. All right. The Jenkins config configuration is code. Seriously, I cannot spell that is embarrassing. Fingers get it done. Okay, so, again, needs introductory documentation. In manage Jenkins with links to detail documentation. In the, and it's not a plugin. Whoops. Oh no it is a plugin in the plug. Okay, good. So now if this works. Let's have, well actually make I'm going to paste this into the chat into the zoom chat. I'm going to try opening this and share your screen with this and let's take a look at it. And see what, what you can do as a member of the triage team. So you'll need to share your screen. Okay. And then I will confess that I have not logged in. Oh, you haven't logged in to get up on my chrome chrome just on Firefox. Oh, you can bring up Firefox. That's, we'll see either screen. Well, that's what, yes, that's when I only my. Okay, let's go back and try. We select select all but that does not copy all control C. Okay, let's try this again. There we go. And that works been really flaky all weekend again. Interesting. Well, we can always switch and see if Kristen could do it for us and then see what her her for me. That's interesting. It's opening Atlassian. Okay, so that's different. This is trying to open wants me to log into Confluence. You shouldn't need to. This is doing an Atlassian log in that shouldn't be needed at all. So, so paste your, your HTTP URL or your GitHub URL into that again. I mean the same one or. Yeah, github.com. Yeah, that thing. Yeah. Okay, there. All right, so now what feature what things do you get that you didn't have before. Can you. Oh, yeah, click on labels. I mean, then I say I got an email. You can assign it, you could assign it. So for instance, a Sinai is there. You could assign it to me. And you can label it. Ah, nice. Can I sign it to myself. Sure. Absolutely. Since I started writing it and then discovered that it was more complicated than I thought. Material I could steal wasn't needed some work. I did say like I just checked my email and I did get notification about it. So, or I don't know if I'm, it's just because I'm already on chicken. It's like, it sends me everything anyway, but we'll see. Okay, now I must be able to add. Oh, there we go. And now the other thing that you can do is that right below that label selection, there is also a link this to a link this to a pull request. So when you're ready to submit a pull request, you could, if you mention it, this thing by a number in the comment, you know, in your description is number 4735. It will link it automatically otherwise you could come here and link it yourself. And then when you, when the request is merged and the bug, the issue is automatically closed. Okay. Great. Excellent victory triage team works. Thank you. Okay, we can I steal back screen sharing now. Thank you. Thank you. Okay, and you've seen enough of my screen I assume. Yeah, and I, I hope you can now see mine. And here it is. There we go. Okay. Okay, good. All right. So we need to have dirage accept the invitation as well at that same URL. Okay, next topic was the 2.319.1 upgrade guide and there's nothing that I need to report other than a new, a new build is available. That includes several more changes. And Mark will send comments to the developer list. Inviting other people to test it. Still on track to release on Wednesday. Okay, Meg, we got the topic, high level discussion of the opening. All right. What would you like to talk to it? Okay, well first, I wanted to say, um, actually, maybe I should go back and share screen and that's. Actually, why don't you do it? Why don't you go to go to Jenkins? I was going to say, look at, let's look at what's there. Okay, I can do that. Everybody else agrees that it's kind of unacceptable. Okay. Okay. So you want to see Jenkins.io and you want to see manage Jenkins. Yeah, just the madman or managing. Managing Jenkins. Okay, man. All right, so this one. All right, got it. Okay, here we are. And I find this sort of content free. Now, if you go into the first section configuring the system. We get blank. Okay, now go to the, there is a PR that was submitted. More than a year ago. Okay. And that's this right here from John, the UI changes. So it does not reflect those. It's still the old laundry list thing that we have under managing Jenkins sort of. So this was him copying. Oh, he was copying the content from the wiki page or from, yeah, I think this was a wiki migration content created as recommended on this issue. Just a minute. Oh no, this was, this was, we just, we gave an outline and Jonathan did it. Okay. So make back to your, how would you like to, how would you like to. What I would like to do is I would like to under managing Jenkins describe describe briefly that it is, it has been modernized in the tiles and all this, and go through those blocks that are now on there. And with a one or two line description of each one, and then link from there into subsequent most of them are here. I don't know if there are any that aren't have each, like, so from there, from there we get a link into configuring the system, and, which actually should be global configuration I think now. So, when that we would tell it you know you can do all the stuff there and go here for details, and then in global configuration, it would step through all those fields, and tell how you fill them out and what the ramifications are and links where appropriate. So the, I like that. Just to be sure I'm understanding your, your, the picture it for me was managing Jenkins gets much of its inspiration from this page here the manage Jenkins pages that I understand. Now there are a number of things which are outside of the scope of this page like features controlled with system properties but those we would retain. But are you thinking we would start with the first this first this top level page or the top level plus this one that describes hey here's the UI. There's a configure system global tool configuration manage plugins. Is that what it's sort of sort of what you're saying that sort of now the one in general because I think that's the first place people are going to go. So one of the properties is one that a little bit and then okay there's a relationship there's a system administration section to. There is sort of, you know, I think it might be a little bit arbitrary what is administration and what is managing. Yeah, this has a lot of things that are not on the managing Jenkins screen so one thought. I'm not sure I've seen any place where we just tell them how you start Jenkins up and what the system properties are and how you do those. It may be someplace but you will so by start do you mean initially administer it or do you mean when you want to initial the command line the Java dot jar command line where you put the system properties. Is there any place where we tell them how to do that. There is there's this thing here which is the war files instructions and says, download it and run it with this command. But are you talking about all the flags that are possible like do we have the flags documented anywhere. Like all the different options. Is that what you're talking about for the running with a war file. Oh, there's there's all sorts of places where you see in the docs that if you're doing this you can add this command line. But even there we tell them to run it but we don't tell them that would be a nice place to say you can add a lot of options that control how this runs and link them off to where it's discussed. I feel like we had that on the wiki. As bad as it sounds you know this is like I feel like that somewhere on the wiki but I'm not sure if it's something that we did migrate over maybe. Well let's let's let's look for. No, I don't see anything here in the search. So I was assuming there would be a search a searchable thing but this is a completely different topic so yeah so I think you've got a good point mag. I think the idea being, let's go back there so the idea was here, or in the installing either is great or installing on more, we may want someplace to link them to here are all the, or here's how you discover the command line arguments that are available in your Jenkins war file right, and here's the documentation for the ones in a specific version of Jenkins. The HTTP port option for instance is one of those and there are many others. Right. Right as I was like I swear I've had to look them up before and I think it took me to the wiki, which is why it's like I think we had in the wiki, but I'm not sure that it's. Oh, there. Yeah, that's at least something. So here is well and let's see where is this oh so this is in the installing Jenkins book Jenkins parameters are installing Jenkins section chapter, and it lists the networking parameters. There are various parameters and properties. Yeah now. I'm not sure I would call this anything I'd be proud to send a novice to but it, it certainly is attempting to describe it. Now, would this meet your need mag of. That's a good question. Okay, what is in under managing Jenkins. What about system properties. Oh this talks about very special trap doors that people can use to disable this or that feature. That looks to me like we've got the split that looks like that could move into system administration. Am I do you. Yeah, no, no objection for me the challenges wherever you move it we risk breaking hyperlinks from other places. Right. I would be prone to say, let's leave it here and move it to the bottom. Okay, move it down the priority list move it down. Yeah. And, and then for the PR now. One thing is I could do one PR that does the index file and links to other files that are already there. And call that done and close it, merge it, and then go in and do other files, you know do other PRs for the other files that we add. The alternative is to do stub files for everything we want to reference. Yeah, and I'd rather I think it gets messy I think it'd be dead or off to have get the index file done, but do you agree. I think I think the first method you're proposed is healthier for us because stub files, like, like this one live for a very long time without getting content. Right, much better do something all the way down get it merged and go to the next thing. Right. And I can, and I can, I think I can structure it in such a way that everybody walk through that managing Jenkins. Screen at the hand you can say we can I can give them a short paragraph or something about the system properties and what they know those and these are described here. Yes. And I might at that point also link them back to the piece that's an install because if I'm looking for that information. The we're not going to get it completely together but we can at least link back and forth between it. And I might go into that install list also and give them a link here say there are others that you can use for more sophisticated uses and go here. I mean, having having the war files thing here. Link to a place that says for more details of command line arguments, see this in this location. Yeah, make sense in there where you, where it has the initial settings. Yeah, you said initial settings. There this one. Yeah, very nice thing. Yeah. There's a file to there and then from here we can say there are, you know, other things you can do down the way and those are discussed over in that other file. Great. And, and then a separate separate question that I'm not going to buy this week is how complete that other list how long it's been since that thing's been updated. You mean this list, or someone know that that one maybe is more I might trust more than the one under managing Jenkins. So by list here you mean these topics, Jenkins features controlled with system properties. Oh, that one actually that's maintained by Daniel back it's actually really, okay, reasonably current. Okay, that's good. It's it Daniel's good to know. Okay, yeah when when Daniel when Daniel has to insert a trap door. He will. What's an example of one of the escape hatches that we just had it was something about remote. Yeah, here it is. This is one. So this one was first added in Jenkins LTS 2.303.3. Escape hatch. Yes, that's, that's a fun label. It's a escape hatch instead of an escape. I like that. Actually, this is a great one for our, our Torah history, it should be the scapegoat. Yeah, exactly. Oh, sorry. But, but escape hatch. Okay. Yeah, so that's I've not seen that one before that's that's really cute. This guy I'm maybe instead of this being Jenkins features should it be hidden features. I mean you're on Jenkins IO do I need in the title of a subsection. Yeah, I think I think he brought that over intentionally, but it's a good question we could certainly ask it because it might be that it's really just features features controlled by system properties yeah I don't think that making it hidden features. See, but many of them are not hidden. For instance, the let's see what's a what's an example of I could I could find you several places the introductory text just says they're all kind of it applies that they're all hidden. Yeah, and so that may be right I just maybe this because it's the quotes on it you know the quote unquote hidden. Well, I think you know where it's like it's not really default or like not really you're probably don't need to use it, but you can. Yeah, yeah, that's a good, you've got a good point Maggie really does say that they are hidden features so maybe the better phrasing here would be hidden features control the system properties. Yeah. Hey, can any of these be enabled without using the system properties. I mean what's the technical definition of hidden that they're not on the UI. So, and yes, there I'm sure in this list. There's at least one thing that also has a UI representation somewhere. Yeah I swear I saw one that actually referenced flitter. So like, or you know, like it was maybe a UI thing so there's the, the why you I debug. Yeah, I tweak tweak the URL I don't know if that the footer URL. Yeah, I don't know. That's fun. Good, good question. I could say something these things are set by system properties and most of them are not on the UI or something like that just really mouth it a little bit. Well, and I think, I think this is a fair description, they are hidden in that sense so I wouldn't wouldn't change it but I think you've got a good point. Maybe this should be just hidden features. And then maybe CLI rather than being Jenkins CLI should be command line interface without the word Jenkins starting it. Yeah, right. Obviously we're in context of a chapter managing Jenkins. Yeah, good insight. Okay. And then I don't know what the status is of securing Jenkins that PR still sitting there. And I think Daniel's right Daniel's just been booked and so I think we just let it let it ride there and we may want to poke and say hey, anything more we need to do. Is there anything that we can help you with like for like, other reviews stuff. I mean, clearly like no one is saying like, can't help with it like just like a reread. Okay, like a read through to say like, oh, I didn't understand this one thing because it's super. Yeah, I'm not as familiar with it. Okay, I'll look at it very useful because I know sometimes at least for me like when I'm getting into it like it everything makes sense, but but it might not make sense to someone else. You know, you're separate set of eyes. Yeah, I imagine one thing although Daniel's pretty good. Right. That would, you know, it would be really good for somebody who hasn't dug into this to make sure that. Okay, cool. Yeah, that would be wonderful. And now this one anywhere on anything with logic requested changes. Have you made those changes. Oh, Oh, yes you have, you have because you resolve them. Okay, so it shows that I think I I think you've committed this fix these changes right because they're listed as resolved. Uh huh. So I think what we want to do is just request a new review from him. Okay Kristen offer to suggestion. Yeah, I'm sure that let's see that make I will go in this evening and make sure that every all the comment and all of them have been. Yeah, it's been like, I sort of for a while I was checking every two days and nothing was happening and I decided to add storm it and move on. So when after you've confirmed it just click this request, we request review over here on the right hand side. I'm going to go back up to to Vodek because the little icon here says he's asked for changes. Once you've made the changes the way you trigger and say, I want you to look at it again as you click this, this thing to say review it again. I did not know how to do that. Perfect. Yeah, so that. Okay, yeah, because it may be that Daniel is thinking about exam maybe hammered out as bad as Daniel is that if I like approved it then we can go ahead, you know, and you can certainly ask that question. Right, you can ask that question. Because then I've got some other PRs that we can't touch till we get this thing there because it's such a BMS. Yes, and Kristen this is much larger than a PR should be. Oh it's all good. Sometimes things spiral out of control I totally get it and then it's like especially we're certain things is like well I need this piece before I can do this. And then all ends up coming together I totally I totally get how things can grow. Yeah when you're moving around a bunch of files there's just I have never found a way to do it with small PRs. Yeah, so. Okay, I think that does it for me I know I can so I can go off and I will get some work done on that this week and hopefully a lot of work so that we're ready to move forward. Great. Excellent. Okay. Great discussion. You had the question on Jenkins configuration as code documentation. And I think I got an answer from Tim Jacome. So, Tim recommended. He's one of the maintainers of that plugin recommends an intro in on www.Jenkins.io, but details in the plugin. I like that because there's a lot of details and we don't want to try to keep those up in the docs. Right well and, and, and you have a set keeping the docs close to the code seems like it's more likely to be up to date. Then if we allow them become separated to different repositories. I'm not making him directly, because what I have, I, I worked a little bit with the cloud bees cask. But I don't see anything here on how I get started for cloud bees you can set it you know you can have a master or a controller, and you install this and it makes your bundles, and you have all your files and then you can go in and start editing those. I don't know if I can do that, or if I have to start with a blank file and fill in all the information you start with a blank file. Yeah, you know. And there and nothing about getting this and then checking it into your SCM and all I, I have not found that any place. It might be someplace but and that's what I think belongs in the intro in the main docs. Yeah, this, this thing that the dirage did gives you that kind of introduction to it information right well it, it's a five minute or a two minute video clip that says, Hey, this is how you do this, watch me do it. And the hope was it will inspire people. Oh okay it's not that hard I can do it. And start with that maybe expand it and put pros around it and we'll and we'll call that video. Right. And. Yeah what I'd been doing. Sorry, Kristen you had a comment. Oh no I was just saying like I think that market said the videos were good for getting people to stay on the pages and review stuff so I'm glad we have a video of that. Well, and, and we've been using that technique now with with some that Darren had done, Darren Pope had done some videos and we just embed his videos he's given us permission says hey if I post it publicly you are welcome to embed it on the, on the site and so we've done that with where will I find it. I know there's one in node in managing nodes. There we go yeah this one. Perfect. And, and, and really, at least for me I find that quite attractive. It's oh yeah here's a video I can click it or if I'm not a video type. The words are right below it. Yes. Great. And, or if I watch the video and get the idea, I'm going to some of this stuff that's only video. So then I'm going back to the video and I'm sitting here with a piece of paper having to write down these long lines. Yep, after I find the right spot and get it paused at the right time so I can read it. Yes. All right. The streets for the week. Great. Excellent. So the interest on the modernizing a plug in blog post. Jean Marc Mison from cloud bees is adopt it has adopted a plug in and use the rough draft the workshop material to guide him. And so he's willing to review and we've got several other new adopters. We've just got somebody who offered to adopt the role strategy plug in. And so we're, we're, we're making progress much better progress than we have in the past on getting people to adopt plugins. Okay. Having that tutorial out there probably makes it a more scary thing to do. Yes, that are that are the, the, yeah, I hope so. And if not, if nothing else just the noise about adopting plugins tends to make people think oh maybe I should adopt a plug in. Right. Would it help to get like a little quote from him about like now that you know I've talked to the plug in and it's not scary like something along those lines of just. Yeah, well and actually Jean Marc is going to is writing a blog post. Oh perfect okay good because I was like that but also maybe be a thing where maybe people are nervous about it because it does feel like a huge responsibility right like especially some of the some of them or or it feels it has a lot of downloads I mean we're not talking at the level of you know some like the like some of the get plug in or anything like that but yeah some of them just it does kind of like oh my goodness these people are relying on this. I'm releasing it sounds a little bit audacious I mean who am I to adopt a plug right exactly so it'd be nice to have a oh look you know I went through the process it's like it's not intimidating it's just it's I like that I can help make things like deal and some positive from a recent adopter so well and you know I gotta check but on the Jenkins IO page we talked about getting started with contributing and we tell them about the things that are out there for you know a first timer, but we never tell them what to do beyond that. Once you get your feet wet, and I would think adopting a plug in unless you unless you had a specific feature that you were working on or something, but then adopting a plug in would be a good second step for some people. Right. And, and that's a good what what's next for me, as soon as we have a series of small steps like this, what's next becomes easier for people to identify oh I've done that I've done that but I haven't done that what what's that about. Yeah, good. Right. And there I would put in I mean some of the stuff that I've been doing. Look through the main Jenkins IO documentation and look for sections that don't have content. Right, right. That would be another direction you know after you do getting things there's multiple directions for you. So, cool. Very good. All right. So, so still, still, I'm behind on this one but continuing so just I have to I have to tout it. Mark adopted the priority sorter plug in and fixed a real bug. I know I know it seriously. It's not just well I, I realized, okay this was one of those satisfy your own own interests. I realized reading this reading a bug report that scared me I thought oh dear we've got a new a new breaking film, investigated oh no it's been there for a while, then realized that's weird why would it be broken like this and then spent hours doing partitioning and binary search to find what was and still don't understand the details this was really a wildly cool investigation I've never had a bug that perverse that I had to chase. Why html class could possibly affect. Java serialization. I have no idea what. Exactly. Why can that possibly be doing what yes. I have no concept of it, but Tim Jacob said he'll eventually take a look at it see if he can understand what's going on I, I threw up my hands and said that's weird. I know how to fix this by removing some text. Yes. Exactly. All right, I think we're set for our session any other topics for today. I'm good. You too. Thank you make thank you Kristen, both of you have a great time. Thank you. You too. See you next week. Bye bye.