Public Project Meeting - January 14, 2021

Continuing the series of bi-weekly public project meetings…

Continuing the series of bi-weekly public project meetings, here is the timeline of the meeting held on January 14, 2021,5:30 PM CET.(Below times are on IST)

Meetings are held on the #selenium-tlc channel on Selenium Slack.

Diego Molina 10:02 PM

Alright, :wave: everyone, let me share the agenda

10:02 PM

  • Overall announcements? New people on committees, with the commit bit, etc?
  • Anything new to report from the last PLC/SFC call?
  • Pending work that needs to be done for the first Beta?
  • CoC, next steps?
  • Any other topics?

10:04 PM

pinging @titusfortner, @AutomatedTester, @mmerrell, @barancev

who else?

Simon Stewart 10:04 PM

@jimevans @p0deje @harsha509

Jim Evans 10:05 PM

i’m already in another meeting at the moment.

Sri Harsha 10:05 PM

m available

Diego Molina 10:05 PM

ok, let’s bring the first topic: Overall announcements? New people on committees, with the commit bit, etc?

David Burns 10:05 PM


Diego Molina 10:06 PM

So, I asked both to the TLC members about adding @luke as a committer, and I also reached out to Luke, both sides are happy with it.

David Burns 10:06 PM


Diego Molina 10:07 PM

Then, I will add Luke during the next couple of days and follow the steps we have in the Governance model

Simon Stewart 10:08 PM

Congratulations, @luke! :tada:

Diego Molina 10:09 PM

great! So, I think we have nothing else to add to this point?

Marcus Merrell 10:09 PM

I’ve got approval emails out to SFC to get the new contractor on the Code of Conduct. It’s time to poke again. We’ve tentatively selected dates for a Chicago SeConf (sometime in September, I believe). We’re still hopeful that with the vaccine, this will be possible. we’ll look to make a final decision, based on numbers, in ~April :parrot:

10:11 PM

We need to consider whether or not to run a virtual conference in the case that it doesn’t work out to have an irl conference

Simon Stewart 10:11 PM

Can that decision also be delayed until April?

Marcus Merrell 10:11 PM

I’m a little uncomfortable waiting that long–not for the hotel and the risk of losing the deposit $$, but because of marketing/CFP stuff let’s say “early April”

Diego Molina 10:12 PM

Great news about the CoC! ok, seems we covered also the “Anything new to report from the last PLC/SFC call?” topic as well, right?

Simon Stewart 10:14 PM

I think so

Diego Molina 10:15 PM

ok, so let’s jump to “Pending work that needs to be done for the first Beta?”

Simon Stewart 10:15 PM

There’s a few things

10:16 PM

I’ve a PR out for the new RemoteWebDriverBuilder, which is one piece. The other big bit for me is the pluggable locators, tying up the local and remote ends bits we already have. That’ll be easier with the RemoteWebDriverBuilder in place.

10:17 PM

(As it’s essentially creating new decorators of the CommandExecutor) I’d also like to ensure that things like the relative locators and script pinning work as advertised, but that’s a relatively slim tranche of work My next hacking days are Monday and Tuesday next week

Diego Molina 10:18 PM

here is a list from the previous status meeting: Client facing changes:

  • Make relative locators return elements sorted by proximity
  • Fix Java Module System problems
  • Allow locator strategies to be pluggable Enable fallbacks for commands
  • Server changes:
  • Enable retries of commands where necessary using failsafe
  • Get the Grid UI looking nice, and returning useful data
  • Allow locator strategies to be pluggable
  • Pipe VNC connectors through the websocket plumbing for live video

10:19 PM

I think this is (partly?) done “Allow locator strategies to be pluggable” and I remember @simonstewart did this “Make relative locators return elements sorted by proximity”

Simon Stewart 10:19 PM

I did The Java Module System thing is a good point, but not a huge amount of work

10:20 PM

Though it’s a little fiddly

Titus Fortner 10:20 PM

is the “pluggable” part a Java specific thing, or something new that the server is going to support that opens up new opportunities for dynamic languages?

David Burns 10:20 PM

@Puja Jagani could probably look at the Java Module work

Puja Jagani

Sure! I can take that up

Simon Stewart 10:20 PM

I can discuss the changes with her

10:21 PM

@titusfortner the remote end bits of the pluggable locators allow us to avoid sending large payloads across the wire for (eg) finding by react But it requires the local end to know in advance that it can use that mechanism Tying the pieces together with a fallback allows the local end to try the efficient way first and then fallback to the inefficient way

10:22 PM

It shouldn’t be a particularly challenging thing to do once the pieces are all nicely lined up, but getting the pieces lined up has taken time :slightly_smiling_face:

Diego Molina 10:24 PM

I am slowly getting more time to work on some open issues and getting some items from that list on the server done, like using failsafe for retries

Puja Jagani

I created a PR to get started on that front for transient errors, please have a look when time permits. I think that might serve as the starting point.

Diego Molina

perfect, will do

Simon Stewart 10:24 PM

I think the BrowserStack folks (particularly @rajendra?) are hacking on the Grid UI and can give an update on that I’m happy to punt the failsafe stuff for the beta, but it really should be in place for the 4.0 release

Diego Molina 10:24 PM

I saw one or two GH issues related to that, if I am faster than @rajendra I can tackle it and get familiar with the UI I would leave this one out as well Pipe VNC connectors through the websocket plumbing for live video

10:25 PM for beta 1 hopefully it could be there for the 4.0 release

Simon Stewart 10:25 PM

I think that’s just a case of adding the video URL to the se:options in the server Should be in the same place as we add the bit for cdp

David Burns 10:26 PM

I had a quick look at the grid-ui in a stream… my CSS sucksbut happy to pair up and fix

Diego Molina 10:26 PM

ah, so the scope is way smaller than what I was thinking

Simon Stewart 10:26 PM

The WebSocket forwarding either works or it doesn’t. If it doesn’t, CDP over the Grid is broken And I already got the CDP over Grid working :slightly_smiling_face:

David Burns 10:26 PM

@Puja Jagani is looking at adding a few more issues with graphql that we can surface

Diego Molina 10:27 PM

so we offer the WebSocket endpoint and the user can use it to stream

Simon Stewart 10:27 PM

Can we “drain” using GraphQL yet?

David Burns

I dont think so

David Burns

we can get the grid ui to call a normal url

Simon Stewart

The idea would be to use GraphQL for the entire UI….

David Burns

We can add it “soon” but since it works we don’t need to block a beta on it. Let’s have a stretch for it

Simon Stewart

But it doesn’t work if you have a distributed grid

Simon Stewart

It’s one of the “tracer bullets” of the graphql stuff, and really does need to be in

Simon Stewart

I want the beta as much as anyone, but there are some corners we should avoid cutting

Simon Stewart 10:27 PM

@diemol it’s a tiny bit more than that, but, yeah

Diego Molina 10:27 PM

I thought we wanted to put that in the Grid UI

Simon Stewart 10:27 PM

We do before 4.0

Diego Molina 10:27 PM

we would need to embed a VNC client in the UI for that

Simon Stewart 10:27 PM

But for the alpha, I’m happy with the endpoint being exposed and being able to wire up a vnc viewer locally that goes through the grid @diemol what did zalenium use?

Diego Molina 10:28 PM

noVNC, but that was something that you need to install on the host, IIRC

10:29 PM

ah, I think it also has a JS library, it “should” work there is also an alternative called “Guacamole”

Simon Stewart 10:29 PM might be useful Ha!

Diego Molina 10:30 PM

right, so I can look at that at some point

Simon Stewart 10:30 PM

Awesome. Thank you

Diego Molina 10:30 PM

coming back to pluggable locators, it is working in Java but we would need the other bindings to implement it, right?

Simon Stewart 10:31 PM

When it’s working in Java, yes :slightly_smiling_face: But I think it’s enough to get them in one binding for the beta, and the others can follow

Diego Molina 10:31 PM

Also, the reworked logic for relative locators has been implemented only in Java?

Simon Stewart 10:32 PM

The reworked logic was in the atom. Everyone has it Yay for the atoms!



Diego Molina 10:32 PM

That’s great! Do we have anything else? I will (for sure) this time create GitHub issues for the different items

Simon Stewart 10:34 PM

And add them to the project plan, please!

Diego Molina 10:34 PM


Simon Stewart 10:35 PM

Thank you

Diego Molina 10:36 PM

Well, I think we do not have other topics, should we cut it short? New

Simon Stewart 10:38 PM

I’m down with that. Thanking for running this! Unless @jimevans has something to add? I see he’s typing

Jim Evans 10:38 PM

re pluggable locators: that’s just having findElement(s) call down the wire using the end point without validating the using and value params, yeah?

Simon Stewart 10:39 PM

That’s what the java code does at the moment

Jim Evans 10:39 PM

cool. .NET can do that too right now, i think (will have to confirm)

Simon Stewart 10:39 PM

I want to land a few more smarts

David Burns 10:39 PM

I expect the python and ruby code can do it to since monkey patching is easy and then add smarts too improve docs ftw

Diego Molina 10:43 PM

ok, seems we are done with the status meeting, thank you everyone!

Jim Evans 10:45 PM

re beta readiness: i have a refactor to .NET i want to do to make CDP via RemoteWebDriver easier/more correct, but it can wait until post-beta1


otherwise, i think .NET is ready for beta.