15:56:28 RRSAgent has joined #webdriver 15:56:32 logging to https://www.w3.org/2025/04/09-webdriver-irc 15:57:36 Meeting: WebDriver 2025 April 15:57:46 Agenda: https://www.w3.org/wiki/WebDriver/2025-04-BiDi 15:57:50 Chair: David Burns 15:57:57 Scribe: David Burns 15:58:05 ScribeNick: AutomatedTester 15:58:28 rrsagent, create minutes 15:58:29 I have made the request to generate https://www.w3.org/2025/04/09-webdriver-minutes.html AutomatedTester 15:59:00 rrsagent, make logs world-visible 16:01:31 orkon has joined #webdriver 16:01:39 present+ 16:01:41 whimboo has joined #webdriver 16:01:43 present+ 16:01:56 present+ 16:02:04 jgraham has joined #webdriver 16:02:05 jdescottes has joined #webdriver 16:02:14 RRSAgent, pointer 16:02:14 See https://www.w3.org/2025/04/09-webdriver-irc#T16-02-14 16:02:16 present+ 16:02:39 spectranaut_ has joined #webdriver 16:02:41 present+ 16:03:34 sasha has joined #webdriver 16:03:54 present+ 16:04:08 join #webdriver 16:04:17 jimevans has joined #webdriver 16:04:22 present+ 16:06:03 jamesn has joined #webdriver 16:06:40 https://www.w3.org/wiki/WebDriver/2025-04-BiDi 16:06:51 present+ 16:07:19 Topic: Add a command to the "webExtension" module to retrieve a list of all the installed webextensions 16:07:29 github: https://github.com/w3c/webdriver-bidi/issues/898 16:07:40 mradbourne7 has joined #webdriver 16:08:51 whimboo: since we the extension install/uninstall. THe webext team wants to start using this. 16:09:18 mradbourne has joined #webdriver 16:09:26 ... they have suggested that we add a new command to get list of exts 16:10:18 ... it would be good to get this commands to improve the testability 16:10:37 ... should we return the lists of all the addons or just the users addons? 16:11:00 ... later we can add a list prefix to get the vendor addons 16:11:42 ... [mentions browser specific issues for firefox] 16:11:44 q? 16:11:44 q+ 16:13:16 rob: I assume addons to not working the same across different browsers. If the addons are installed 16:13:57 Rob has joined #webdriver 16:14:04 orkon: puppeteer has the ability and webdriver bidi has the ability to install/uninstall 16:14:27 q+ 16:14:42 ... I think this sounds good to us, we think that restricted to things that are only installed during the webdriver session but that's due to privacy concerns 16:14:45 ack next 16:14:51 ack next 16:15:45 whimboo: regarding the properties that can be an issue but we need to find fimiliar properties and return that. we need to make sure we don't have clashes between our implemtations 16:16:05 q+ 16:16:09 .. I am not sure if we want to add this for classic or just leave it for bidi 16:16:22 ... as it can help clean up tests correctly 16:16:24 ack next 16:17:03 re: "find similar properties" sure, but I suppose that e.g., Chrome and Edge use different IDs which should be the unique identifier, even if the extension itself is the same across vendors, because we have different "stores" 16:17:04 orkon: we don't need to add this to classic at the moment unless there is a strong need for it for classic 16:18:12 q+ 16:18:14 q+ 16:18:33 q- 16:19:01 q+ 16:19:26 q- 16:19:48 Re: "we think that restricted to things that are only installed during the webdriver session but that's due to privacy concerns" - Agree 16:20:09 q- 16:20:16 q+ 16:21:29 orkon: I think that returning a list of addons that were installed during the session. let's use noncontroversial properties and build off that 16:22:02 q? 16:22:06 ack next 16:22:24 topic: Access downloaded file content. 16:22:32 github: https://github.com/w3c/webdriver-bidi/issues/894 16:22:57 sadym: we had a use case raised where someone downloaded a file and wanted to check the contents 16:23:28 ... do we want to have a mechanism for progress and a way to assert the contents 16:23:38 q+ 16:24:06 q+ 16:24:09 q+ 16:24:16 ... puppeteer/playwright has a way of specifying the directory 16:24:40 q+ 16:25:09 q- 16:25:40 q+ 16:26:55 Automatedtester: I don't think the file contents should be solved by this working group. We should tell people that it is downloaded and where it is and thats it 16:27:01 sadym: what about selenium grid? 16:27:36 automatedtester: we can have a grid endpoint if poeple want to download the file and not have it solved in this working group. it's mostly for intermediary nodes to solve 16:27:48 ack next 16:27:54 ack next 16:28:01 sadym: so we can just a 16:28:15 have capability for the download 16:29:02 jgraham: If people turned on the response bodies then they would be able to go download it 16:29:59 ... if you're wanting it to be downloaded and then access the file then there can be use cases for the client to solve it 16:30:15 ... but I think getting response bodies working better would be the best first step 16:30:16 ack next 16:30:39 misread! 16:31:11 whimboo: what would be important to have a capability for each user context for when tests are running parallel 16:31:19 9I suggest we don't use the term "capability" for things that are actually configurable per user context) 16:31:34 s/9I/(I/ 16:31:39 ... once the session is ended should we delete the files? 16:31:59 ack next 16:32:59 Rob: is download to a local file system is the most important part. or to remote 16:33:15 ... this complicates things for doing the download "twice" 16:34:02 ... if the file is downloaded properly but not accessible it can create a DOS scenario by filling the disk space 16:34:12 q? 16:34:52 q+ 16:35:23 whimboo: about download progess, how often does this get emited? 16:35:38 ... we dont want to emit these too often 16:35:52 ... we could do them in 10% increments 16:36:01 sadym: I will go look and get back to you 16:36:07 For test use cases the download progress notification are a footgun, since they will differ between browsers and test runs 16:36:22 They make more sense for other use cases 16:37:03 AutomatedTester: So it looks the consensus we want an event for progress (how often TBD), event for download complete and we want to have response bodies improved 16:37:11 q+ 16:37:20 ... for downloaded files we still want to figure that out 16:37:21 ack next 16:37:22 q- whimboo 16:37:29 ack next 16:37:33 Even saying 10% increments might be challenging (downloading a 78-byte file - do you emit on every 7.8 bytes?) We would need to be very concrete 16:38:04 q+ 16:38:05 orkon: we should probably add a way to disable downloads 16:38:08 ack next 16:38:36 q+ 16:38:57 Rob: If a person disabled the download, would it prevent the download from hitting the disk since you could probably see the response bodies 16:39:01 ack next 16:39:28 jgraham: technincally that is already allowed. THere is no guarantee what happens to the file 16:40:19 ... in practise clients would complain but there is a lot of undefined behaviour so we need to be a lot more precise 16:40:23 q? 16:40:40 topic: Specify `acceptInsecureCerts` per user context 16:40:54 github: https://github.com/w3c/webdriver-bidi/pull/895 16:41:23 sadym: we have discussed in the PR quite heavily 16:42:06 q+ 16:42:16 .... jgraham has questioned when should we revert the acceptInsecureCerts when the session for that user context disappears 16:42:20 q? 16:42:22 ack next 16:43:19 jgraham: If there was a user context that existed before the session and then set it we should revert it 16:43:28 re: webdriver before-after state being reset: agree 16:43:47 ... there is a security reason for making sure we revert when the session is closed 16:44:09 ... the lifetime of the config should be the lifetime of that session 16:44:12 q+ 16:45:10 ... question is if session a sets X and session b extends it but it's a no op and then close the session does it affect all the sessions on the revert 16:45:14 q+ 16:45:56 ack next 16:46:10 If session A sets the state and then session B sets basically the same state, but it's a noop, and then session A is closed, should it be extended to the lifetime of session B? 16:47:00 orkon: in sadym in PR the config is set when the session is created. are you wanting to move back to setting the config separatrely from the session 16:47:24 jgraham: ok, we don't want the latter, I was just calling this out 16:47:25 s/session is created/user context is created/ 16:47:26 ack next 16:48:26 q+ 16:49:32 1. are we fine with "it's implementation-specific"? 16:49:32 2. Should we allow setting the `setAcceptInsecureCerts` flag only if the cabaility is not set to reduce confusion and overrides? 16:49:36 ack next 16:49:46 jgraham: in terms of t 16:50:03 ... the spec. In classic we say "do this thing" 16:50:36 ... the ideal spec would hook into fetch and explain it does this thing when the navigate happen 16:50:56 ... instead of doing "do an implementation defined thing here" 16:51:59 ... for the capabilities here set here shuld be the default and then allow people to override 16:52:25 ... I think it would be ok to have different behaviour if this is too difficult to implement 16:52:29 q? 16:52:58 topic: Specify `unhandledPromptBehavior` per user context 16:53:07 github: https://github.com/w3c/webdriver-bidi/issues/789#issuecomment-2766759635 16:53:45 q+ 16:54:02 sadym: how should we handle this? I think we should allow this to override the default everywhere 16:54:05 ack next 16:54:32 jgraham: I remember this being very complicated. In general I agree with you here 16:54:34 lauromoura has joined #webdriver 16:55:26 ... I think it will be fine to override here 16:55:49 ... we need to see what would happen when we override in multiple sessions 16:55:58 q? 16:57:01 RRSAgent: make minutes 16:57:02 I have made the request to generate https://www.w3.org/2025/04/09-webdriver-minutes.html jgraham 16:57:08 topic: Add commands to collect and retrieve response bodies 16:57:13 github: https://github.com/w3c/webdriver-bidi/pull/877 16:57:40 jdescottes: we have a PR to impelemt the collect/retrieve response bodies 16:57:54 ... there are still osme questions outstanding? 16:58:18 ... should we allow filtering of URLS to limit what people can do? 16:58:32 ... how should the cache be partitioned here 16:59:17 ... if we only have 1 cache on the remote end that can simplify things but we need to agree 16:59:26 q? 16:59:28 q+ 16:59:31 ack next 17:00:42 ChrisCuellar has joined #webdriver 17:00:49 orkon: for the URL problem filter could be hard but if we do it by max size that would be easier 17:01:02 It's not supported in Puppeteer or Playwright right? If that's true it's not surprising it's not used. 17:01:11 q+ 17:01:16 q+ 17:01:16 ... and if we have it global then it would make life much easier 17:01:20 ack next 17:02:19 jdescottes: there are way that we can try do it to block images 17:02:27 q+ 17:02:29 ack next 17:03:20 jgraham: the HTTP archive crawler is a good example so we might want to filter on mimetype might be better 17:04:26 ... if we are doing things in the global state that it create a lot of problems... like if we add a filter how do we know if we can remove it later? 17:05:01 q+ 17:05:10 ... I am worried we are going to say "it's simpler if it is global" and then realise it was a mistake 17:05:13 q? 17:05:15 ack next 17:05:48 orkon: about the URL, I would like to see if use cases 17:05:57 Happy to start with MIME type. 17:06:10 ... I don't think clients will care if it is left in the cache 17:06:32 ... usually if there is precise control 17:07:00 ... if you don't clear the bodies or the filter, we haven't seen that cause issues as they can clear it up eventually 17:07:02 q? 17:07:04 q+ 17:07:08 ack next 17:07:37 jdescottes: to summarize I will update the PR to use MIME types 17:07:59 ... and if we have global cache then it's less critical 17:08:47 s/less critical/less critical to provide the collector id 17:08:56 RRSAgent: make minutes 17:08:57 I have made the request to generate https://www.w3.org/2025/04/09-webdriver-minutes.html jgraham 17:09:03 Zakim, bye 17:09:03 leaving. As of this point the attendees have been orkon, AutomatedTester, whimboo, jdescottes, jgraham, sasha, jimevans, sadym 17:09:03 Zakim has left #webdriver 17:09:19 RRSAgent, bye 17:09:19 I see no action items