16:03:56 RRSAgent has joined #webdriver 16:04:01 logging to https://www.w3.org/2023/10/11-webdriver-irc 16:04:07 chair: David Burns 16:04:22 Meeting: WebDriver October 2023 Monthly Meeting 16:04:40 Agenda: https://www.w3.org/wiki/WebDriver/2023-10-BiDi 16:04:47 scribe: David Burns 16:04:53 present+ 16:04:58 scribeNick: automatedtester 16:05:05 present+ 16:05:09 present+ 16:05:11 present+ 16:05:16 present+ 16:05:53 RRSAgent, start the meeting 16:05:53 I'm logging. I don't understand 'start the meeting', gsnedders. Try /msg RRSAgent help 16:06:18 present+ 16:06:26 present+ 16:06:26 present+ 16:06:28 present+ 16:06:38 present+ 16:06:45 present+ 16:06:45 present+ 16:07:07 Topic: Future of browsingContext.locateNodes 16:07:20 github: https://github.com/w3c/webdriver-bidi/pull/547 16:07:44 RRSAgent, make these logs public 16:08:20 GitHub: https://github.com/w3c/webdriver-bidi/pull/547 16:08:35 Jim Evans: We have reached the point in this PR that gives us the bare minimum to hava locators of elements to map over classic 16:08:49 ... this was initially discussed at TPAC 16:09:23 ... there are some questions around the PR. Do we want to land as is or do we want to start discussing command batching? 16:09:52 q+ 16:09:55 ? 16:09:59 ack next 16:11:07 github: https://github.com/w3c/webdriver-bidi/pull/547 16:11:15 jgraham: My last comment on the PR is that I can see both sides on this. When looking at PR and in particular text locators is that its not what Selenium, playwright, or puppeteer do 16:11:32 ... I am concerned that we will standardise prematurely here 16:11:49 ... and the PR is closer to what Selenium does. 16:12:37 ... and if we standardise prematurely that people might not use it and inject JS to get around it 16:13:31 ... so I have a specific question that I have is "looking at the PR for the command batching does this look like a good use of the protocol?" 16:14:23 ... I see 2 approaches. Have a generic batching command system or we have one for each command as it appears 16:14:36 q+ 16:15:03 ... so I see that this conversation should happen in parallel to this conversation 16:15:09 q+ 16:15:23 RRSAgent, draft the minutes 16:15:24 I have made the request to generate https://www.w3.org/2023/10/11-webdriver-minutes.html gsnedders 16:15:32 ... i feel like with actions we should have built a more generic appraoch 16:15:49 ScribeNick: jgraham 16:16:02 q- 16:17:02 present+ 16:17:05 q+ 16:17:25 q+ 16:17:53 AutomatedTester: I don't want us to derail too much. To your point of this could be a fun engineering problem, I think there's a concern that we spend too much time prematurely optimising to get batching correct. I hope we can get something working and can build the more generic implementation later. With locators, I'm worried that if we carry on with the "inject js where we need it" we're relying too 16:17:59 much on the community to build the functionality. Selenium don't have the capacity to build something here. 16:18:00 q+ 16:18:07 ScribeNick: AutomatedTester 16:18:13 ack next 16:18:24 ack next 16:19:50 shs96c: a couple of points; firstly it's a very important feature to have. We should get it landed and iterated over that. secondly, in classic we did talk about moving to innertext that we could hide behind capability 16:20:05 q+ 16:20:11 ... thirdly 16:20:21 ack next 16:21:45 q- jgraham_ 16:22:08 jgraham_ (IRC): how close is it to classic? It's pretty close but classic is a lot less flexible. and to David's comment it was 20 lines of code so it's not to be hard 16:22:45 shs96c: but you did mention that it can't do ShadowDOM and that needs to be handled. There might be other places that this could come up, we just know this 1 place 16:23:39 q+ 16:23:51 jrandolf: regarding batching. Looking at how batching generally works. Why cant we just have the generic and just let the server handle it like 16:25:22 shs96c: Selenium wants the batching because they mostly use service providers. This means they use the client and a large amount of the internet. 16:26:33 jrandolf: my thought is that has made a client could inject the batching and then the server just reads it and breaks it down. 16:26:44 ... so each driver could do this 16:27:28 shs96c: if each driver made their own there wouldn't be great interop. There are also providers who are trying to route this round and then having to figure things out could be extra complex 16:27:39 ... and I agree with jgraham 16:27:53 q? 16:28:09 ... one command output could be the input for the next command 16:28:15 ack next 16:29:29 orkon: about the PR and landing it. We could land things here and we don't have objections of landing but we would need to do a final review and prototyping 16:29:38 ... and batching we need it to be it's own discussion 16:29:41 ack next 16:30:26 jgraham: the use is to remove latency and there are user flows 16:31:10 ... 16:32:05 ... it's kinda like a Promise graph that needs to be sent across the wire. But if people see there is a lot of value in getting it landed let's do that 16:32:05 q+ 16:32:09 ack next 16:33:40 Jim Evans: as I mentioned in the issue around batching is that if we do it then I think it will open a wealth of new features but I have a lot of ideas and use cases that I can collaborate with. I think this could be a really massive game changing feature 16:33:40 q+ 16:33:42 ack next 16:34:03 q+ 16:34:04 q+ 16:34:04 q- 16:34:31 shs96c: Do we have someone that is able to do this feature or is it going to be a nice to have and won't be worked on in 3-6 months 16:34:40 q+ 16:35:14 ack jrandolf 16:35:16 q- 16:36:01 Topic: Make context/navigable id per session 16:36:46 github: https://github.com/w3c/webdriver-bidi/pull/565 16:37:00 ScribeNick: orkon 16:37:08 (I will note that the question later in the agenda of "Should we make setFiles part of performActions instead?" is exactly why I don't like that we have these one-off commands that enable sequencing multiple things) 16:37:50 jgraham_: +1 16:38:27 whimboo: describes the issue about if ids are shared between the sessions, there are pros and cons for this approach and we can start a discussion if ids should be the same 16:38:30 q+ 16:38:30 q? 16:38:42 ack next 16:39:08 ack next 16:39:41 jgraham_ (IRC): I wrote the PR to make context ids isolated so that different sessions don't know about each and if you want to share the data between two clients you can use the same session 16:39:45 q+ 16:39:51 ack next 16:40:00 ScribeNick: jgraham_ 16:40:34 we lost meeting? 16:40:38 Uh 16:40:50 please just rejoin 16:41:17 sorry... 16:41:21 I have restarted it 16:41:25 :) 16:42:31 orkon: There could be cases where it's interesting to not have isolation for context id e.g. debugging so you can tell if objects are the same or not. it might be nice to have it as an option, but I don't know if it's possible. 16:42:40 ScribeNick: orkon 16:42:53 q? 16:43:16 q+ 16:43:23 ack whimboo 16:44:14 whimboo: if we can use the same session if the client needs the same id. If we do not need it, then a new session can be created 16:44:17 q+ 16:44:33 ack next 16:45:44 jgraham_ (IRC): is it easier to debug if the browser state is a global shared state, not known about other sessions and perhaps we should have revises the decision about the node ids? 16:46:12 jgraham_ (IRC): on the other hand, I worry if there will be a security risk here. But perhaps a session should not be a security boundary. 16:46:16 q+ 16:46:23 ScribeNick: jgraham_ 16:46:26 ack orkon 16:47:47 orkon: Isolating node ids seems OK, but I'm not sure what the difference is between contexts and elements. Maybe it's because events are bound to context ids. I think there would still be ways to identify the same tab / frame. No strong opinion. 16:47:55 ScribeNick: orkon 16:48:30 q? 16:49:12 Topic: Standardize errors thrown when a command needs to be aborted (GitHub issue) 16:49:18 jgraham_ (IRC): lets discuss on the PR, it sounds like PR could be landed. 16:49:21 github: https://github.com/w3c/webdriver-bidi/issues/540 16:50:23 whimboo: there are problems with Puppeteer: how should we handle commands that are interrupted? For example, script evaluation can be interruped by a navigation. For those cases we don't have anything in the spec and it would be great to have a specific error 16:50:40 whimboo: so that the client can decide on the abort error what to do with the command 16:50:59 q? 16:51:01 whimboo: right not it is not possible for the client to have a correct behaviour 16:51:03 q? 16:51:14 q+ 16:52:26 jgraham_ (IRC): I agree we need this. From the spec point of view it is a bit tricky. I guess what we need a generic handler in the spec that if unload handler is invoked, then each running command is abort. Except maybe navigation commands because it should not be aborted. To begin with we could put a vague wording. 16:52:34 q+ 16:52:39 ack 16:52:39 ack next 16:52:47 jgraham_ (IRC): we should have a DocumentNavigated error to know that the command was aborted 16:52:56 ack gsnedders 16:53:14 Sam Sneddon [:gsnedders]: we cannot use the unload handler because the unload handler can be cancelled in some circumtances. 16:53:35 jgraham_ (IRC): I was thinking in the spec terms to be after there is no possibility to cancel the unload 16:54:01 jgraham_ (IRC): in gecko we get a notification that a context is being destroyed 16:54:10 Sam Sneddon [:gsnedders]: I think the complexity will be on how to spec this 16:54:55 Topic: input.setFiles 16:55:08 github: https://github.com/w3c/webdriver-bidi/issues/494 16:55:16 ScribeNikck : jgraham_ 16:55:33 orkon: In classic this is doen via sendkeys, which is part of actions 16:55:47 s/ScribeNikck/ScribeNick/ 16:55:55 q+ 16:55:59 ScribeNick: orkon 16:56:00 q+ 16:56:21 ack next 16:56:47 ack next 16:56:55 ScribeNick: orkon 16:57:20 jgraham_ (IRC): I think it does not need to be part of actions. Like Henrik said element send keys is a separate command. 16:58:13 jgraham_ (IRC): the implementation can distinguish between the cases and invoke setFiles because in the clients it is not possible to send keys as part of the input sequence 16:58:31 jgraham_ (IRC): I suspect if you send key events in classic while focused on an input element, probably nothing would happen 16:58:33 q? 16:59:17 jgraham_ (IRC): will take a look at PRs 16:59:42 RRSAgent: make minutes 16:59:44 I have made the request to generate https://www.w3.org/2023/10/11-webdriver-minutes.html jgraham_ 17:01:19 RRSAgent, bye 17:01:19 I see no action items