 Welcome. This is May 24th 2023. It's the Jenkins user experience special interest group. Thanks for joining topics. I've got what's happened recently in UI improvements. Keyboard usability and notifying end users of users of end of life. Any other topics we should add to the list. Tim, Alex or Christina, any that you want to be sure we add. No, I'm good. Okay, great. All right, so then the for me the big one is the prototype JS progress. Tim thanks a bunch Jenkins 2.406 as far as I understand it, has removed all the prototype JS references from core. So core JavaScript no longer uses dollars dollars and no longer does all that kind of dirt. Tim, do you need to correct my misstatement or anything. No, it still ships with it so it's still there on every page, but it doesn't use it. Right, so it ships ships prototype JS, but doesn't use it good okay so that's. So now, now we're under the next part which is the sort of the long tail and that's the, the plugin tracking or we can see it we can see it in both places right if we look at the issue in Jira. What we see is, look at these number of green dots on the left of work that's complete. And now we get down to the oh and there are a bunch of plugins that need to have it removed from them. And there are the plugin details for those that don't have an issue in in Jira are also tracked in this plugin tracking sheet where Basel's been recording, which plugins have a release and which don't. Now there's also the feature flag available or the feature toggle available which will allow a user to disable the prototype in core, but right now because script security still has needs to release with the fix and credentials, many places will immediately report that hey you need prototype. Tim anything you want to share there any on the, the topic or how people can help. Just merge PRs and release them in adopt plugins to release ones that need it. Thank you so here's this blog post that Basel had created showing contributors how to do that that kind of work and this is a my sense is prototype JS is a more complicated removal than just a simple search the way he describes in that blog post. You have to look in many different ways and you may see some false positives there may be things where you say, Oh, that's okay. That's not okay. This is this requires a little more thought than the simple delete something. It's terribly complicated. The blog post is pretty. It's got a, it's like a fine crime command or a grip command that should find most instances. And it's got a cheat sheet for how to translate most of them they generally pretty easy. Each goes to for each dollar bracket goes to get element or or query selector. Pretty clear transitions and anyone who is developing with any JavaScripts will not will be using these methods normally. Okay, so these these will not be unfamiliar to a JavaScript developer already they've already been using this thing and so for document dot get element by ID is perfectly natural whereas the dollars function is a is very prototype specific. Well, that one's a bad example because people would have been used to jQuery from back in the day, which is the same thing, but anything else yeah. Okay, showing showing my lack of expertise in JavaScript. Thanks. Anything else you'd like to highlight there Tim. No, I think I haven't looked at the spreadsheet recently but I think it looked like those PR is open for most of them. Yeah, certainly the very popular ones. You can see that the pull requests have been open for the popular plugins and and those that don't have a pull request. Yeah, so it's, there's lots of work to do. And we encourage people to come help do it. I was, I was really pleased to see this comment from a note from Uli Hoffner that he submitted a pull request to enable the built in auto save for on data tables that was previously not feasible because of prototype JS. And so it's already we're seeing a positive in influence on Jenkins in general by this work on removing prototype. Thanks. So I mean even with two dot four six, you'd have to disable prototype on the page, I would assume, unless there's some something Jenkins was doing. If you check the progress itself I would expect. Yeah, you'd actually have to hit the toggle. I would, I would bet you're right. This is, this is, this is for me this is an indication of hope, not a G the perform G it's done right this was the the first indicator oh there's hope that this will not just reduce the amount of old really ancient JavaScript but also give us real improvements to UI. Now, that means you can actually use JavaScript. Well, Jason API is properly. And it doesn't break frameworks and stuff. If you try it like right now if you try and fetch and natively chain and yes, there's plenty of ways right now where it just randomly breaks. Excellent. Thank you. So in terms of LTS availability then as we progress the this would then be in the next baseline after two dot 401 so roughly three months from now. Yeah, and we can probably even change the feature flag default at some point like the code and core is all done as far as we expect. Right. It's just the plugins that need sorting. And that makes the next three months, especially important for those plugins. Right. Plugin fixes, because the more plug in fixes we get in the more likely we are to be able to consider changing the state of that feature flag. Yep. Great. Thank you. Tim anything else you wanted to highlight there. Nope. So on improved keyboard usability Christina had started the, the Pollrich are the issue report with the initial translation and with the German original of the usability report. And I've seen a few support requests already addressing issues reported here. This one was one that was noted. Now Tim, I liked your comment here or I think it was here I'd seen somewhere you had suggested. Hey, could we could we use independent issues like we've done with prototype JS to track the details of each of these transitions each of these steps. Any guidance there. I assume what we need is someone to read the, read the document and identify small chunks of functionality to be done. I'm happy to do that. If no one else has put up their hand that pull request is there. Yeah, so let me say like, I was everyone's in Madrid this week so I was like this is gonna be my week I'll I'll check it out and I'll tackle the accessibility. And I pulled I had done some to make sure that I, you know, would be able to work on it on my local environment pulled it yesterday and I was like, and there's a skip content and the bottlenecks. So thank you so much for whomever worked on that the universe Jenkins universe. And honestly, it'll be a lot faster if the work is done in the community but I'm, I'm super happy and very comfortable if you want me to volunteer to break out that document into smaller issues or tasks. That would that would be a big help in my in my view Tim, does that sound good to you. Yeah, it'd be great like we pulled out into issues and easy for the people to look on. Yeah, I agree with that. Um, is there a tag on those pull requests for accessibility like I'm just wondering if there's a way that I can make sure. Maybe there is you know and I just haven't seen it I'll look, I'll look at it. Because it'd be great if I could kind of see there there isn't as far as I know so let's let's check that. This one for instance. I don't know that we're even using a label for accessibility so bug right emerge yeah could be maybe like, is that possible that we could use an accessibility tag for for this type of work. We've got two two crucial people here Tim Jack home and Alex brand us Tim your comments what would you think. Yeah, yeah fine. That'd be awesome. I assume you'd be okay if we added a label for accessibility. I'm sure if it helps filtering why not. Okay, so I'm going to go ahead and do it live here, because I think I have permission and spell it for me Christina a CCS ESS ID IL it why. Yes, yes. Okay. Great, so let's do label. Thank you so much. All right. Okay, so I'm going to approve accessibility for user interactions. How about that. Is that okay as a description. I guess since this is what more widely visible I think I would for I would specifically put improve accessibility per WCAG guidelines. To make sure it's clear that it's like correlated to a guideline and not just a good okay. And pick your color. I will leave that to you. All right, then it's the color is chosen. All right. Perfect. All right. I'll make sure I follow that label. And let me make sure that I've got a link to that label so that people know that. All right. Is the label. Okay, good. Any, anything else on improving keyboard usability. It looked really great. I was a very, very happy to to pull it down. Great. Okay. Any other any other details on keyboard usability. All right, so next topic then was notifying users of end of life of their operating system. And this one is a poll request that I'd submitted. Thanks Tim. Thanks Alex. You've both reviewed it and approved it. I set the 24 hour clock. In case there are people who object. Otherwise I plan to merge it in the next day or two. We had a discussion as well in the platform SIG about possibly extending this just a little bit so that we can use it to announce the deprecation of container images. When even when the operating system is not deprecated. So for instance, Alma Linux is one that we're considering should we bother delivering a container image for the controller based on Alma when we've already got UBI. So those kinds of things are being considered there. Any guidance either Alex you or Tim want to give on things that need to be done there more than are already covered in the poll request. Nope. Okay. That covered all the topics I had today or there any other topics that people want to add to the agenda. All right, thanks then we'll go ahead and close the meeting for today.