15:52:01 RRSAgent has joined #webdriver 15:52:01 logging to https://www.w3.org/2021/07/14-webdriver-irc 15:52:06 RRSAgent: stop 15:54:39 Meeting: WebDriver-BiDi 15:54:44 Chair: AutomatedTester 15:54:55 Agenda: https://www.w3.org/wiki/WebDriver/2021-07-BiDi#Agenda 15:55:09 ScribeNick: AutomatedTester 15:55:19 RRSAgent: Make minutes v2 15:55:19 I have made the request to generate https://www.w3.org/2021/07/14-webdriver-minutes.html jgraham 16:00:47 jimevans has joined #webdriver 16:01:44 present+ 16:01:58 present+ 16:02:07 present+ 16:02:13 Honza has joined #webdriver 16:02:37 present+ 16:02:46 present+ 16:02:46 present+ 16:02:54 present+ 16:04:27 present+ 16:04:42 topic: Navigation status update 16:05:14 drousso has joined #webdriver 16:05:32 jgraham: this is an FYI 16:05:33 present+ 16:05:47 ... the initial patches have landed in webdriver and html spec 16:05:59 ... one change that occured during code review 16:06:13 ... if you abort a navigation then there is a specific event for that 16:06:24 ... before it was treated an error 16:06:47 The HTML side of this can be seen mostly in https://html.spec.whatwg.org/#navigate, search for "WebDriver BiDi" and references to https://html.spec.whatwg.org/#concept-document-navigation-id 16:06:52 ... From that I am currently rebasing the `reload` command 16:07:08 ... for `force reloading` I am doing a lot of hand waving 16:07:38 ... for `traversing the history` that requires a change to the http version 16:08:13 ... we need to make sure that the relevant events, like `pageShow` etc are sent 16:08:43 ... if there are concerns, please let me know or raise issues otherwise we will see about merging 16:08:47 q? 16:08:50 s/http version/html spec/ 16:09:02 q+ foolip 16:09:06 ack foolip 16:09:22 foolip: traversing history is nack and forward? 16:09:32 jgraham: yes, that is correct 16:09:37 s/nack/back/ 16:10:08 jgraham: in a pervious meeting we said that we were going to allow people to move via a delta 16:10:29 ... so it's slightly different but aligns well with other automation frameworks 16:11:00 ... it's not how CDP works but since the clients are doing this it feels like we should follow them 16:11:05 q? 16:11:44 topic: WebDriver BiDi documentation on MDN 16:11:52 https://bugzilla.mozilla.org/show_bug.cgi?id=1720275 16:12:01 https://github.com/mdn/content/issues/4721 16:12:59 whimboo: normally we speak about the spec in this meeting, however I would like to bring up how we are going to communicate with the browser 16:13:23 ... historically we had some docs on webdriver http 16:13:46 ... so I would like to propose that we keep this up to date 16:14:10 ... historically, MDN used to be a wiki but now this is all done via github using MD 16:14:40 This is https://github.com/mdn/browser-compat-data 16:14:46 ... and it would also good to keep track of what features are in which browser 16:14:58 ... this is in the MDN BCD repository 16:15:02 There is actually some data for WebDriver there: https://github.com/mdn/browser-compat-data/tree/main/webdriver/commands 16:15:12 q+ 16:15:42 ... I have linked the meta bug on Mozilla Bugzilla so that we can see what is happening 16:15:46 q? 16:16:04 foolip: I am looking at the MDN content issue 16:16:20 ... you talked about webdriver bidi or generally for all webdriver ? 16:16:38 whimboo: I think let's focus on webdriver bidi to start and then we can back fill 16:16:57 foolip: there are 2 things here: 16:17:20 ... 1) details of what is doing. 16:17:41 ... 2) for web devs... 16:18:10 ...1) we need to make sure that we hit the minimum bar of shipping 16:18:39 ... and for 2) I don't think webdevs would care since it's not a public API. Am I correct? 16:18:41 I guess this the same thing that I wonder about in https://github.com/mdn/content/issues/4721#issuecomment-844227457 I see now 16:19:39 q+ 16:19:39 whimboo: not sure how many peopl.e would benefit from this? For target audience, we wouldn't be aiming for webdev, it's for client devs 16:19:51 ... the folks at Selelenium are able to do this quickly 16:19:55 q+ 16:20:08 ... but outside of them I don't think there are many or who they might be 16:20:09 q? 16:20:20 ack foolip 16:20:27 q+ foolip 16:20:33 ack jgraham 16:21:05 17 million 16:21:17 jgraham: Yes, this is only for client developers and that there are probably 100 of them compared to web developers 16:21:56 ... but there is a spec and we need to think about 16:22:22 ... and the spec has a lot more detail than the previous spec or cdp viewer 16:22:59 ... one approach could be to have no normative sections that generate 16:23:07 q? 16:23:16 ack foolip 16:23:33 foolip: even if the audience is narrow it could still be useful 16:23:49 s/no normative/non-normative/ 16:23:56 ... we just need to be approach how we are going to review it 16:24:02 https://github.com/openwebdocs/project/issues/42 16:24:04 RRSAgent: make minutes v2 16:24:04 I have made the request to generate https://www.w3.org/2021/07/14-webdriver-minutes.html jgraham 16:24:32 ... and another way is prioritising it via a companies ttech writers or via open web docs 16:24:43 ... I have linked to q3 planning 16:25:30 ... q3 is the calendar 16:25:37 q? 16:26:14 Topic: Side effects of navigator.webdriver 16:26:29 whimboo: THis is an issue that came up in a few places 16:26:39 ... I follow in a few places 16:27:26 ... in Firefox 88 we made a change that stopped people turning off navigator 16:27:56 ... especially folks doing it 16:29:10 ... `navigator.webdriver` is in the spec to allow websites to handle instances when this causes problems 16:29:11 see https://www.dropbox.com/sh/2fzqorqhviocerx/AAAApaT_H-pEkM0Rg7D8-utMa?dl=0 16:29:34 ... i've seen that web pages stop loading 16:30:11 ... there are people getting around with webextensions 16:30:47 ... if there are logins, then websites never allow the login page to load using redirects 16:31:21 ... do we know if puppeteer, etc have the same issue 16:31:27 https://github.com/microsoft/playwright-python/issues/527#issuecomment-785155678 16:32:12 q? 16:33:43 q+ 16:36:12 automatedtester: I believe chrome does allow it to be turned off via a command line flag. It was added at the request of amazon and gmail to stop spamming and people breaching T&Cs. 16:36:36 q+ 16:36:40 ... I think we should ask the folks from playwright and other to move to us rather than allow them to help breach T&Cs 16:36:48 q? 16:38:04 jgraham: I had a look at Chromium source, by default when you set the remote debug port then it sets the `navigator.webdriver`... so puppeteeer is the same 16:38:24 ... I think the agreement that we are not going to change this behaviour 16:38:43 ... if people are motivated enough they can get around that 16:39:09 ... do we want to make sure that feature is unforgeable? 16:39:10 q+ 16:39:17 ack jgraham 16:39:34 Chromium briefly used [LegacyUnforgeable] here: https://chromium-review.googlesource.com/c/chromium/src/+/2556519 16:40:13 ... on the cookie issue, that is a real issue and that is fixed in bidi 16:40:21 ... and I think is unrelated 16:40:51 ack jimevans 16:41:22 jimevans: as another data point, there are many commercial sites that work very hard to block automation against the site 16:41:39 Also, Puppeteer will be default have `navigator.webdriver` be true. I found https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth which does a lot of stuff to avoid being detected as automated. 16:41:43 ... and there are companies that sell software 16:42:48 ... the webdriver flag is a good thing and we don't want webdriver to support a use case that allows scaping sites that don't want to be scraped 16:42:52 q? 16:43:06 ack foolip 16:43:25 foolip: it does turn it on by default with puppeteer 16:43:50 ... there was a unforgeable added it in the past 16:44:26 ... but then people wanted to copy the entire `navigator` object and then popped the webdriver key 16:45:22 ... if firefox being too strict or too lax? 16:45:34 whimboo: people are complaining that it is too strict 16:46:13 jgraham: People are upset we made them have to work hard to do bad things 16:46:27 `Object.defineProperty(navigator, 'webdriver', { value: false })`still works, right? 16:46:45 Yes 16:46:58 action: automatedtester to speak to other frameworks about supporting `navigator.webdriver` 16:47:00 i think we have `true` or `undefined` 16:47:04 q? 16:47:14 We previously had a pref that just prevented the webdriver property being defined at all, because there was concern about compat risk when first shipping 16:47:27 topic: Refactoring work on sessions 16:48:02 jgraham: people might have noticed that I put a few large PR s to both specs 16:48:45 ... the motivation is ... we have previous discussed about how people might conenct to the browser 16:49:02 ... and we want to make sure that we support direct connections or upgrades 16:49:49 ... the other motivation is to allow multiple connections (1 tool for perf, 1 tool for automation) 16:50:08 ... there are going to be options about what people can do 16:50:35 ... the patches allow people to pick and choose what they want to do here 16:51:49 ...[discusses details in patch] 16:54:08 ... this is largely non-normative changes 16:54:40 and a few spec bug fixes 16:55:10 q+ 16:55:40 ack whimboo 16:55:59 whimboo: is this for http or for bidi? 16:56:23 jgraham: it's for both. bidi relies on changes into http 16:56:39 q? 16:58:07 RRSAgent: make minutes v2 16:58:07 I have made the request to generate https://www.w3.org/2021/07/14-webdriver-minutes.html jgraham 16:58:23 Zakim, bye 16:58:23 leaving. As of this point the attendees have been AutomatedTester, whimboo, jgraham, jimevans, foolip, Honza, brwalder, sadym, drousso 16:58:23 Zakim has left #webdriver 16:58:27 RRSAgent: Stop