 Welcome everyone. This is the Jenkins user experience special interest group. It's the 9th of November 2022 Topics on the agenda that I see user feature flags Vodek ux futures talk Tim and young Web components in the Jenkins UAC by Torsten Security reviews for UX pull requests request Vodek open UX regressions possible review and Hacktoberfest results if we want to discuss them and if time allows what other topics yam Do you and Tim need a segment for any recent things that need to be highlighted? I think we're good today. Okay, great. All right So Tim had warned that he's only available for the first 30 minutes So we'd like to prioritize things to be sure that those topics that need hot discussion Come first. So I propose we move this one down So that we've got web components and user feature flags is the top two top two for discussion Anyone object like to my show we get through security reviews as well. Oh good. Okay, so let's get that one in there Okay, so do we want to even put that one first because that one may be more of a yeah, I'd like to Okay, we could if it could good. All right any other adjustments to the agenda All right, then let's go ahead and get started so Security reviews for UX pull requests. So Tim you would extract. Is there a concern there? Is there something you wanted to highlight? Yeah So there's at least one if not more That have been pending for at least three weeks and had multiple pangs and no response So I'm not sure if the security reviews are really ongoing at the moment or what's happening there Do you have the link to the request? Yeah, okay, so let me open that Okay, so this is the tepee one good, okay There's also like so the tepee one is the main one, but Currently there's a lever and open They are pending and I think I've raised it before that If you're waiting on something or it should really be clear that we should we shouldn't have anything sitting in need to review if It's not being reviewed for some reason Yeah, by default we are waiting the pull request to be in good shape to start the review for security aspect But yeah, we can post more comments I will discuss with the team about what we want to do in term of a prioritization No, there's another one here. That's been has had to has been approved by two people and it's been sitting For 20-23 days will need security review and had follow-up pings so All right, so vatic, you've got the action item to to prioritize to see what you can do to prioritize it So is is it vatic? Your your sense is still that we should continue Honestly, I have some doubt at the point as well. So it's something I need to discuss with him But what we want to do in terms of effort is it worse to continue or not? To be defined exactly we also discuss what we want to do with the hosting request at the same time We are spending a lot of time on things that have Perhaps not the best efficiency return on investment at the moment to be defined Okay, great Thank you All right, so tim does that does that address your concern at least let's get it up there and we can we can see what progress we can make Yeah, I feel like either way the tippy won't probably want a look at anyway, but if we can prioritize that one that would be good Sorry prior to oh the tippy one this one. Yeah, okay Well and getting rid of yahoo any any piece of yahoo ui is certainly high value. Great. Thanks All right anything else on the security review topic Okay, next topic then user feature flags vodek you want to take us through a discussion Would you like me to open up the poll request? No, no, I will just do the quick demo about the thing That would be easier Okay Okay, you should be able to share Good So normally you can see the stuff. I do not see what you are seeing so I expect it to be working So you can see here a regular user just to be sure it's still connected and at the bottom We have some feature flag that are proposed only for that user Meaning it's not a system property that you have to enable as an admin It's something that you can enable or disable as a user That's really the key point for the ui aspect there because it's not something that should have an impact on the system But only on you interface your experience in general Example there with the demo flag if I enable it And save I can use it to do things in terms of ui for example that part and I will use this Inform you but the code that is necessary for that You have a jelly tag with a bit of zoom You have a new jelly tag especially for that you enter the class of your flag and then you can use the value of your flag to Disable or enable the feature that you want The idea with this kind of approach is to let the ui team working at their pace at their progress in terms of Evolution of the design the different feature that you want to introduce Without having to wait for a full concentration for the full community Which perhaps will never come in a sense But with that you have a way to enable the development of the future And to propose one poor request to start another poor request to go on on the different step instead of waiting too long Typically waiting for security review and this kind of thing as well as long as it's sufficiently isolated It could be also a good way to reduce the potential impact there The idea with that is that we can introduce some progressive development delivery about the different features We can start by providing that as a disabled feature letting some people enabling it For a beta then once it's sufficiently adopted or after three six months this kind of thing We enable by default with the possibility to roll back if there are some regression And then we can just remove the flag and enable the feature by default without the wait My idea is also to introduce some telemetry as well there so that we can retrieve some data About the adoption of the different features so that we are not spending time maintaining something that is not used at the Typically what was done with the previous new header that was removed completely at some point because It was perhaps not used And this kind of thing should be more I will say backed with data that could be interesting at that point Instead of just getting some feedback like the one that are very negative or very positive I would like to see more what is really the adoption from the community for these different Any question feedback idea relative to the topic? So Is the flag class name the place where the the state of the value is set per user? I'm not sure what the flag flag class name or maybe others already understand it and it's The flag itself is just a way to retrieve and to serialize and deserialize the value inside the user property So the user property it's mainly The user experimental flag property that is keeping a map of the different flags If you have done nothing from your side that property will be empty If you enable 10 flag you will get a map with 10 item and the different flags retrieving the value doing their stuff with that That's a big idea Okay, so so there isn't a java class in my plug-in or in some other place that actually represents that It's just a name that she used to associate it into this into this map. Thanks For example that one. It's a flag I created one just for the demo and you can put The the idea of the flag so that you see which one is inside the map What is the default value? I'm just using boolean flag at the moment But you can implement some for integer float any form and data that you want to store And you can see for example the short description and the name That are displayed at the bottom So the id the name and the the description You can see here for boolean three different state Default meaning you follow what is coming from the code enable or disable if you want to force the behavior And due to the question I got related to the pre-state there for my point of view the default is especially interesting in terms of telemetry So that we know if someone wanted to get that before or wanted to hold back after this kind of thing Or to just do nothing. It's more like the blank vote if you want Thanks vadek any questions from others on on what vadek has shown so far So yarn yarn as What I would assume is a primary consumer or torst torst and you do you see it as helpful Is it something you can see how you could apply it or Not yet So That actually leads us to the next topic. So I'm not basically It's like I'm not the the one that actually consumes too much index jellies, right? But I see it useful in in in the current setup, you know, so that you actually can have A quick integration That would be the question is the plans for example to abstract that for example to use some There are for example in cloud piece. There are some provider for for flex so that Those flex could be reused from an external provider or is is the the whole thing Bound to to the plugin or the user space you just defined At this point, I do not expect to expand the system outside especially as a system flag It's not a feature flag per se. It's really a per user flag Typically what you can think about feature flag in general It's more something that you want to have to enable or disable the feature A cross for different customer or user in general in this case It's for a single instance to enable a beta behavior if you want in terms of design So it's a big difference. We can have something evolve over time for sure It's just the first step that I wanted to have due to the different regression We have seen in terms of UI If it's in a beta you can enable it you will not be impacted by the regression potentially Or it's a way to roll back and to avoid issues So limited scope I will say the Yeah Yeah, can I send can I send something really quick? Yes, Alex. Go ahead, please. Yeah, as someone who reviews a lot of yarns PRs. Thanks for that I think the feature flags are definitely a right step into the correct direction Because that would allow only a small amount of people to review these PRs Instead of involving more people for larger components and allowing us to ship them In a weekly per weekly per weekly base Instead of having something open for several months because if I remember correctly the Yeah, who to TPJ SPR has often since marched this year And the feature flags we could have likely shipped it a bit earlier It's okay It's also something that will help Especially before the LTS release Because we expect no big pull requests to be merged just before LTS selection If it's behind a feature flag, you can do that at any time because it's not enabled by default So it's also good Thanks. All right anything else on feature flags Okay, then let's shall we switch to our next topic? Tor I believe and I'm sure I'm mispronouncing your name. Is the h sounded or not sounded? It's like Depends on how you're in which language you're going so in in German. German it's tossed Okay, great. It's not really sounded Okay, so so I'm I'm attempting to do to do it in German. That's that's fair enough So I believe you were our next topic web components Yeah, so so basically Actually, having seen the the the session on on on the dev ops today I actually need to maybe rethink the whole integration path that That I actually think about so To to make it long server short. So I'm a dedicated front end developer and for me having to use jelly Is something that's in a in a modern Components web application. It's not traditional. Let's say there's no one else Learning jelly because he wants to write a front end code, right? It's like jelly is something exclusively Born in Jenkins and and actually, you know used there. It's like Correct me if you're wrong. There's maybe two other Or three other different application, but Basically, the point is why not trying to not implement our own component But reusing something As a first step black standard, right? So Basically right now, for example, I I took the liberty to create a small pr Or a branch basically to to rewrite our checkboxes implementation And instead of using our default css and everything I encapsulated everything in using a web component Provided by by google as as a mvc checkboxes And it's it's based on material UI. So basically you have baked in there all the Usability and the css and everything. So there's no import rather than only Yeah Small import and into npm if you want mark, can you share the There's the second PR because the first PR I actually introduced a development Framework to actually create quickly and work with web components in Jenkins as a Jenkins plugin, but Basically more or less as a standalone solution to have an entry point and then hand over Via jelly the The load right and then actually do the We don't hear anymore Is this what you wanted me to show? I'm not sure I'm highlighting the right thing for it No, it's like you had before the document open Right now I mean So This one no, you might be sharing the wrong stream Yeah, I think so. Oh, oh, okay. I made a mistake in my frantic attempt to share correctly. Stop share Share screen. Okay All right, and here we're going to try to share this one. You should now see This document is yes, and if you click on the on the second one second one this one, okay So basically that that's the diff right and and you see there there's a just small Change actually in the underlying code, but basically I you see don't you don't see me changing any css. You don't see me changing Anything else than the the Hudson be able to make the default magic word but basically this is The the checkbox that we know until now right but based on material is in a web component and my my point in in using web component is I want to reach to some kind of Standard in in in the usage of our implementation of those special components, right? And I would actually rather delicate those things to for example a web component Why a web component? Yeah, basically we don't need to actually I didn't had to change any css because if I would edit just material css And then implement or try to implement the whole thing myself, right? I would run not only into the implementation problem. I need time to do that And further that I actually need to have to adapt the core much much more to allow me to do that So here basically This would be one way to quickly update to something and I took right now the material library as an example because in cloud piece we are right now Striving to support material UI, right? And and use that as as a base a baseline for our development And then the the example based on on on material But it could be any other given web component. So For me web component is Is a way to actually have like a nice baseline in in in what we have as a component And the second step actually it's a more Yeah, a little bit more abstract and and that's the reason why I said like I want to see first the The source code of what what I have seen today in in the presentation and what's coming next for the UI Because basically what I actually think What it's needed? It's a split of back and in front end So jelly In itself Shouldn't be used anymore because it's it's a server side rendering technology and We should actually strive for to actually have like a two tier application so basically classic Jenkins responses in in jason And then we actually can create a customized front end actually for it Challenging there is basically extension point right and and the way that we right now actually integrate and use Jenkins And those things but yeah that those actually I need to synchronize with I think the current development Undergoing to you know to be much more in line and yeah future proof for it And basically it's just an idea. I Want to get feedback and and maybe a small questions about the whole approach Basically from from from this meeting So then the result if you want I actually I can share quickly my screen, but basically the checkbox right now is according To material right and only the checkbox nothing else so Tim or Jan any any insights there I assume Tor torston when you said that you need to review what was presented that that may shape and refine and alter this This idea that you've got is the general idea of web components likely to to continue still that that's the idea you're thinking of is web components as a as a key part the Go ahead. So so so web components for myself is it's basically just an api contract All right, you can implement web component in react or you can implement web component with JavaScript pure or with lit or there's million different ways and frameworks where you can actually The outcome is a web component what compound basically means that I have Like a formal api between me and my front end right That would mean I could create a back end that actually looks The same with with the front end Centric for focus code right, but there was using the same rendering and the same way actually of presenting the data So I have harmonizing I can harmonize the whole appearance of of the whole outcome That makes sense I guess my initial Sorry continue if you want Yeah, and I was like and and and the chancellor right now is like as I understand What what what this was showing as what is coming next, right? It's not based anymore on on layout jelly and the whole jelly thing or Maybe it is but you're using in the end react as I as I said as you wrote in in the kitchen Okay, so I guess yeah my initial so the What's been done so far is just a prototype. It's just a clicking prototype. It's not Using Jenkins itself or anything. It's just static data Assume the plan is to backport that into jelly itself At some point and some of the initial concepts have been tested in the pipeline graph view plugin Although that does to react, but that's really an implementation detail Um Next I don't think I think yeah web components. Maybe a good thing to trial out a bit more for being tried a bit in the Jenkins project um, and they would allow you to Yeah, write in more modern front-end technology for the components Uh, certainly say I'm not sold on material design. I think that would be a Big change and I don't really think it's the best fit. Jenkins has a kind of component design framework Which is not which it means there's more work for us But I just think that material design. I'm just not sold on it fitting in um, and I guess the last thing about the front-end and back-end split. I think that would Definitely allowed to fix a lot of issues But I think it's kind of goes back to where where blue blue ocean happened and what went wrong in blue ocean Which was that it didn't bring along the plugins for the ride And mean would mean like complete re-implementation of all the ui for the plugins rather than just Rather than being able to use jelly and fit in so I mean, I think we're amazing if someone did do something like that, but I think it's just um, so we're currently focusing on Jenkins classic ui or whatever you want to call it the Jenkins ui And trying to modernize that drop drop technical debt and bring components into Being modern components Um, I guess that's my initial thoughts anyway Yeah, I would echo what Tim said about bringing plugins along for the ride. I think if we we start a concerted effort to Migrate the entire ecosystem to a new framework. I think that would be great And also a lot of work But having only part of the ecosystem in one paradigm and the rest in a different paradigm Leads to more complexity and Makes maintenance more difficult. So I'd rather stay in one paradigm Overall than to introduce multiple paradigms Thanks. So I assume that the ongoing discussion here will be around Exactly that that those kinds of how do we fit The concepts that torsten is proposing into The jenkins ui and not leave behind plugins or or what what is the approach? Torsten, have you had had thoughts on that? Is it a so so what what actually What is well somebody explains me right now for example? There is already a movement by giving that by giving right in jenkins io To actually expose and use web component, right? So Basically for me it would be actually interesting Where he actually is using them and where we can see the usage for it, right? So it is actually to to try to actually See because I I feel there is a need to actually enhance The the whole ui right and I actually had been One of those to actually roll blue ocean back in the day And I actually always said we need to split front and from back end in the end. We didn't do that For enough, right? So what right now is seen as the big Problem of blue ocean, right? It could have been prevented if we would have been Doing a little bit different, right? So for example Using the rest api as response to expose for example web components that would render configuration and do they think but On a loosely basis, right? So really encapsulated or try to encapsulate it back and from front Right to say like I can contribute to the front end page And so the challenge as as you pointed out to me is really how can I with less, you know, update effort Enable all the plugins to really do the Exposing and yes for me basically web components Actually is the secret source But I still need to to formulate that I think in code to actually Bring it over the line. So that's visual for you to actually be touchable, right to to say that right there that makes sense But yeah, something like the the config manage page in In Jenkins would be a good start to say that, right? If I can do that, right with let effort for Plugins to you know extend, but it's still in a completely different way than we have right now Maybe I can I can better make the whole point that I'm trying to make But yeah, as I said, it's like it's heavily as well influences with the next version of Jenkins because I expect there's some some bigger changes in in underlying technologies and such so yeah I think that the tables to divs migration could be one example of how to do that in a compatible way where Prior to introducing divs plugins were prepared to support both tables and divs during a transition period and At that point once enough plugins have been prepared we could make the change in core to switch to divs and then eventually Once those plugins adjusted their baseline To a newer core version that used divs then the tables code could be deleted And that's a general pattern that we use whenever we make an api change that affects plugins is We try to prepare the plugins to support both the old api and the new api At the same time based on their core baseline And then eventually drop The support for the old api once that migration period is over We've done this for a variety of projects including the icons the tables to divs project even the guava project So really the the main part of the work is just doing all the preparation and if at the scale that you're describing which is changing the views for All plugins I imagine that would be a sizable amount of preparation Any other any other comments on the topic? Tim thanks for thanks for being with us for the 30 minutes. We could have you that's that's wonderful Okay, next next topic then was the ux futures talk This one yawn. I just wanted to highlight that yawn and tim are presenting this talk tor torsten already alluded to it It's been presented once in europe timezone today. It will become available Later today as well in the us time zone go to the devops world site Event site and You should be able to see it. I think it starts yawn if i'm correct It starts in an hour or less or maybe it's 90 minutes from now that your your presentation is visible Yeah about 90 minutes time So thanks very much torsten for highlighting and and that there were interesting things there and thanks to To yawn and to tim for creating the presentation Any any insight you wanted to share there yawn or ideas or things that this group should hear from you and be able to talk back and forth about um I mean, um I'm not too sure to be honest any feedback that anyone has and what they see later would be really well received. Um It's really early days for the kind of Kind of redesigning quotes. Um So there's a lot of exploration going on. Um, so we're really all there to different ideas or different approaches. Um You know, there's some kind of crazy ideas like why not? Um Help shape the kind of future I guess So and that discussion it's okay if it's in the Gitter channel. Where where would you prefer that or is it? um, there's a there's a chat um during the event Which is a great place for questions just to get some kind of uh user involvement um But I guess like prolonged chat. I guess to get uh, uh, probably the best place for that Thanks. Okay Questions from any others on on the ux futures talk I I I have a millions but Toaster go ahead Yeah, just just one quick question. So So basically, you know, Cyclopes has their their own plugins and and sometimes they hook in in predefined Dome that we actually know exists, right? And for example the header We have a customer header. So Seeing the future for example What would it make for our plugins to be Comfortable against, you know, the next version of Jenkins so basically as we talk The effort on actually, you know opting in opting out of something like that Yeah, um So still lots of very early days for kind of those sorts of things already. Um, so kind of implementation of Well, how we implement such a design is is still to be kind of Answered, um But I don't it should be just as customized as what we have now. So if you have cloudbies are kind of Looking at certain elements that that'll still be supported in the future. Um Just might be under different kind of Jelly jelly components that I'm not too sure yet to be honest Thanks Thanks, Sean any any other questions Comments or or ideas on on the topic of the ux futures Yes, I have one Is that the new ua Means that That we will have to update all the 80 edges I would assume so the acceptance test harness is strongly coupled to user user user layout, right? If I remember correctly, Yana, I should let you answer other than me No, I mean, yeah, the answer perfectly really. Um, yeah, I'll probably have to be An update of the test basically. Um But I imagine it is going to be quite a slow of transition, uh to To a new interface, it's not going to be like a big bang approach where it changes overnight It'll probably be much like it is now where kind of new components kind of drop in every month or so. Um Up until its class is done So so your your envisioned path is still an incremental path To get from where we are today to this future state You're painting a a future state that's a long ways out And yet we've got as you can see a series of steps that we can take to incrementally get from here to there Yeah, yeah, um just like right now Basically, there's a lot of PRs floating about kind of updating things at a component level Such as we had a new search bar drop in recently Fat icons and buttons and whatnot. So very slow incremental changes But that'll eventually kind of add up as we go along to to kind of Create that new design basically A little bit there Thanks, okay So Fran did that address your question? Yes, thanks Okay Anything else on on the ux futures topic Okay, next next topic then was open ux regressions And I have to stop sharing my screen briefly because anytime I open JIRA in a public environment I'm an administrator and there are things I can see that may not be good to show So just a minute. I'm going to stop sharing briefly Open that and see that it's okay Thank you filled it Uh, sorry. Yeah vodek. I don't I don't want to don't want to cause troubles for others By showing something I shouldn't show All right, so back to sharing that screen Okay, so And I think this should be the correct screen. You should see the ux regressions graph. This was Daniel's Daniel's picture, but I think more of the concern was Nope, you're not showing the correct one. You're showing the wrong screen again Let's try developing mark skills Share screen Okay, and the one we want to see is This one three got it. Okay, you should see it now. Yep Okay So I think the the question was not so much the graph I'm I'm not concerned about the graph as regressions as the regressions on the right hand side Are there any here that participants in this meeting want to flag? I've got one and I've closed it now So the one I closed is 2.375 has removed the intentionally removed the hyperlink from the current page Link in the in the bread crumb bar and it's intentional for accessibility purposes But as a user I was surprised and realized how often I clicked that link as a way to refresh the page And it really was I know it's a refresh of the page But the practical reality is reading the comments from james nord and from daniel beck and from yan and from tim It was an intentional choice to improve accessibility And so one of the things that I as a user now need to adapt to is I've got to use the browser's refresh To refresh that page instead of using a link that I became conditioned to with my oh pick that to refresh the page So young I think it's intentional I know it's intentional and and I like tim's observation that really we probably shouldn't go back on that because It's been reviewed by four people who are very skilled in that area and just go forward any comments you want to give on that one I actually have one as like I'm not involved, but why not create a refresh button Is no we removed that feature some time ago There was a link with auto refresh that was there for 10 years It took I think two years for the public quest from daniel to be merged After three or four attempts So if we can avoid this kind of internal feature, it could be better for the sanity of some people Yeah, I think auto refresh is different than what this thing was. So vadak, I agree with you I don't think we want auto refresh to come back but Tor to torsten to your your comment I think it could be done. I'm just not sure it's the right thing to do and I think that was what yan and tim were and James and daniel were leading us to is it's really not the right thing to do yan your comments Yeah, um, sorry about that um It's only done just just for kind of accessibility really. Um Just of what having a link to the to the active page really um Yeah, I could see how that might be annoying after after years of kind of doing that So what is is there is is there in an II? rule to not have like a refresh button on the page because I think mark's Use case is valid, right and you may want to expose actually, you know, just a button Floating somewhere in the menu. For example, it's like refresh the the page Somebody not finds the refresh button on the browser. You know what I mean? Yeah, at least for me, I think I'm not sure that the refresh button because the refresh button will naturally be in a different location And those years of physical conditioning that I developed to click to a specific This is really embarrassing to say it this way, right? It sounds like I'm a monkey or I'm a pavlovian dog But the reality is I'm I'm sort of conditioned to look for it in a certain place I'm not sure that adding a refresh button would solve my my behavioral thing I have to solve my behavioral thing by by learning that control r refresh is a page and I can just do that So so torston, I'm hesitant to lobby for a refresh button just because I'm not sure where it would go on the on the layout And if it goes there, I would expect somebody like jesse glick would remind me mark You should be submitting bug reports for things that are not updating themselves with a jacks automatically And and I have to shake my head and say jesse's right. I should submit bug reports for those things and I haven't Is there a need to have injecting any javascript into the page? Maybe just to bring that functionality back just feel use case Oh, I hadn't thought of that interesting I Yeah, I That's that's very creative idea. I hadn't considered it I I don't know when Considering my limited javascript skills. I'm confident I would not be able to do it Or what it's worth. I had the same muscle memory um conditioning and it took me about a week or two to adjust, but I think I've adapted now to um this change and I use control r now to refresh the page so I think over time people will adjust to it Okay, thanks Any any other any other ux regressions or hot concerns that need to be discussed with this group? I had to um The first one was seven zero zero two three And the second was six nine five eight seven Okay, so you said two three Oh, oh, yeah, this one's a fun one and the other one was six nine five eight seven So I think these are the two most reported from users Both of these have been reported on the change log voting page and the first one Is I think a one line fix There's a variable that appears to have been renamed by accident to a non-existent variable um, which is Turns out to be null if it doesn't exist in jelly. So it causes a null pointer exception um, if you scroll down, I've identified the commit that introduced the problem and The line of code that needs to be corrected so this was A regression in A fairly old release. It was in the 330s. I think Um, but it would be good to get a fix for this. Um, if we do if we do get a fix I would propose for it to be backported since I think it It's a general problem that affects any avatars. So it would be good to get that fixed um The pipeline console. This is another one the users have been voting um That has come up on the change log. So um People seem to not like the fact that tailing the log creates a lot of bouncing in recent releases By tailing the log I just mean scrolling to the bottom and watching build live which is I think a lot of us have done this when we're nervously waiting for test results to come in And we're just tailing the end of the log file um And so I've identified the line of code that Causes this regression. It's it's one line. Um So again, I think this would be another one that users would be happy to see fixed So and no issue it for anybody to submit I guess yarn with your expertise are the reasons why we would not Make these changes are the things that we should be aware aware Um, the only one for this one is the smooth scrolling will probably affect the configure job screen And that kind of scrolls smoothly as you click on the side. Um But I can I can change that so it can do a different way basically if it's impacting other pages Ah, okay, and and that's that's that's relative to that's why this is caused by link should have told me something there it That was this this This ticket is the one that shows the transition from a top level bar to across the left-hand side And that change. Yeah, I I really like that change, but it's using smooth scroll to get to navigate around Yeah, I see um, see I'll I'll mean both those Issues, I'll I'll put up a PR later. That's all right. Um The events don't try identifying them really I'm sure every week I look through the um, the change locks to see what what's Been complained about by users and and what hasn't so these are just the the two that I found the most kind of low hanging fruit Thank you. Yeah, when when When Basel says change log, I think of this this help thing right there, right? Those those are the things and sometimes we'll get useless ones like dash two, right or dash 69 or dash 4 20 whatever Yeah, exactly Thanks Anything else with regard to your x regressions? All right. So last topic I have then was hacktoberfest results Jean-Marc messon is prepping a blog post if there's anything you would like to be sure is included in that blog post of places where You're aware someone From the hacktoberfest Contributing community did something that really helped the jankens project. We would love to put that story in there I'm aware of the content security policy improvements Vodek and the security team created 16 tickets To to encourage people to submit content security policy improvements For jankens plugins and 12 of those tickets were resolved So Great thanks to the community for doing it. If you've got other highlights You could send them to me. You could post them in the uxsig getter channel Either of those is great Any other topics we should review before we close for today All right. Thanks everybody. Thank you very much Thank you for everything