WebDriver/RemoteProtocol/Meetings/2019/12/20

From MozillaWiki
Jump to: navigation, search

Last meeting of the year!

Agenda

  • Actions
    • ato to update planning Q1 2020 planning document
    • whimboo and ato to triage remaining APIs to assess which they are blocked by Fission
  • Beta status update (mmucci)
  • Summary of planning discussion on Monday
  • Demo and lightning talk at All_Hands/Berlin2020

Roster

Present
mmucci, whimboo, ato, maja_zf, AutomatedTester
Regrets

Minutes

Actions

Delayed until next meeting.

Summary of planning discussion from Dec 16th

Continued planning discussion from Remote/Meetings/2019/12/13 and we concluded that are goals for Q1 2020 are, in no particular order:

  • Get Puppeteer client Firefox-ready
    • Running Firefox in Puppeteer CI
    • Update skip annotations in test suite
    • Firefox-specific code path in case of CDP divergence
  • Fission
    • Many new APIs we want to add require content browser traversal
    • Some APIs wee have are fundamentally limited, even broken, due to lack of Fission support
  • Network events
    • Add support for network events we know we can support easily first
    • Talk to a Network/DevTools peer about events we are unsure whether we can support
  • Initial specification draft
    • Aim to present draft of a cross-browser bi-directional remote debugging protocol at W3C Browser Tools- and Testing Working Group meeting in Q2
    • Useful to document semantics as we do implementation (see for example recent problems with Network.getCookies)
  • Port remaining Juggler code to Gecko, opportunistically/as appropriate
    • Not written with site-origin isolation in mind, and we don’t want to add to the laundry list of work we need to do for Fission
    • Doesn’t implement CDP, but has an API surface more similar to Puppeteer
    • We should file bugs to track remaining non-ported code

Discussion

On priorities
AutomatedTester
Do the things that we need to do, but Fission doesn't give us anything tangible so also work on things that show off the Fission work.
maja_zf
Focus on things that are demonstratbly wonderful? Concrete things that we can show.
ato
You mentioned the Puppeteer examples. Do you want us to add this to the list of priorities?
AutomatedTester
The examples are nearly done, so not necessarily.
Mentor developers from external CDP-using frameworks to gain Firefox support.
maja_zf
New whiteboard tag in Bugzilla, puppeteer-high-priority, independent from mmucci's planning bugs to help team decide what to work on next. https://wiki.mozilla.org/Remote/Milestones#High_Priority_Subset
On porting Juggler
whimboo
We shouldn’t go out of our way to port all Juggler code to Gecko.
ato
Regarding Juggler, it would be good to summarise what has already been ported over and what are good candidates for porting.
whimboo
Worth noting that the user agent override in Juggler is not Fission compatible.
ato
The sooner we identify that we rely on a Fission-incompatible API the better.
We will run into more cases as we move forward. Will be blocked by other teams fixing their APIs. Fortunately is a high priority all over Mozilla.

Beta Status Update

Good shape, on target. Completed six bugs so already ahead of schedule.

If taking additional PTO, let mmucci know since it impacts the forecast if no one is available for reviews for whimboo, who returns before the rest of us in January.

Demo & Lightning Talk in Berlin

Two pieces of good news:

  • Demo accepted at All Hands
  • We’ve signed up for a Firefox lightning talk

Discussion followed about what to show and how:

  • Three computers: one for showing a rolling slide deck, one running the Puppeteer unit test suite in a loop, and one to run individual demos on
  • Page.printToPDF and screenshots would make good individual demos
  • popper.js might be usable by this point, we’re just missing Page.setViewport
  • Slides could be shared for the lightning talk to reduce preparation work
  • Aside: need to check status of Puppeteer unit tests in Nightly vs. Juggler

Demo audience is a bit different from lightning talk audience. The lightning talk audience will primarily consist of Gecko- and Firefox developers, who might want us to answer why we’re adding a third remote protocol to Firefox, or what will happen to Marionette. The demo audience will be all developers from Mozilla, including prospective Puppeteer users.

ACTION for ato to create slide deck to work on

Other actionable items not assigned:

  • Draft slides
  • Find out what extra Puppeteer scripts we need in addition to examples
  • Key questions to answer

Review MVP versus Reserve bugs

AutomatedTester
Could team identify nice-to-have bugs that can be moved into puppeteer-beta-reserve from puppeteer-beta-mvp?
Of course it's fine if everything needs to stay in MVP, but a shorter list would be better.
ato
I agree with defining our priorities more clearly, it forces us to stay more focussed.
Moving something to the reserve list doesn't mean that you can't work on reserve bugs right away if it makes the most sense.
Also important to remember other people within our organisation are paying attention to these lists, so what is in them also communicates beyond our team what our priorities are.
AutomatedTester
There are is large number of contigency bugs for this reason (working on reserve bug dips into contingency number); can also swap bugs between mvp and reserve

Other metrics

maja_zf has started tracking Puppeteer unit test progress in a spreadsheet linked in our meeting wiki template.

This is another metric we could use to measure and track our progress towards full Puppeteer support.

It is possible to retroactively refill this data if we forget to run the test suite one week, by checking out a commit from the Friday and running ./mach puppeteer-test. maja_zf will land some local test skips in central to make this possible.

Recording

https://mozilla.zoom.us/rec/play/v5UsIuqv_Ts3EtfE4QSDV6ArW9W_fPqshiBL-vsFnU7gUXQAYQGnMLcQZeIpFjS90iM0TFNfs6iKWjhk?continueMode=true

Progress

Milestone Status

  • This week: 48 Total; 42 Open (87.5%); 6 Resolved (12.5%); 0 Verified (0%);

Other indicators

Changelog

hg log -M -r 4a36df9e03e9::central --template "{node|short} {author} {desc|firstline}\n" remote

4a36df9e03e9 Henrik Skupin <mail@hskupin.info> Bug 1588622 - [remote] Implement "layoutViewport" and "contentSize" for Page.getLayoutMetrics. r=remote-protocol-reviewers,maja_zf
11891679d4e9 Andreas Tolfsen <ato@sny.no> bug 1600330: remote: add fail() browser-chrome test helper r=remote-protocol-reviewers,maja_zf
309384fdbe94 Andreas Tolfsen <ato@sny.no> bug 1600330: remote: test nsIRemoteAgent r=remote-protocol-reviewers,maja_zf,whimboo
ac0df4ca8d54 Maja Frydrychowicz <mjzffr@gmail.com> Bug 1603266 - Flush irrelevant events when testing context creation; r=remote-protocol-reviewers,whimboo
7d76a0d3d402 Kris Maglione <maglione.k@gmail.com> Bug 1596918: Part 3a - Scripted rewrite of most ContentTask.spawn calls to SpecialPowers.spawn calls. r=mccr8,remote-protocol-reviewers,ato
603e887cc955 Kris Maglione <maglione.k@gmail.com> Bug 1596918: Part 3b - Run code formatters on files changed by previous patch. r=mccr8,remote-protocol-reviewers,ato
10a1344257fd Henrik Skupin <mail@hskupin.info> Bug 1600053 - [remote] Add registry for managing references to streams. r=remote-protocol-reviewers,maja_zf
8140a12324b1 Henrik Skupin <mail@hskupin.info> Bug 1600053 - [remote] Implement IO.read. r=remote-protocol-reviewers,baku,ato,maja_zf
0d87151679c2 Henrik Skupin <mail@hskupin.info> Bug 1600058 - [remote] Implement IO.close. r=remote-protocol-reviewers,ato,maja_zf
44c5a2312fd6 Henrik Skupin <mail@hskupin.info> Bug 1599994 - [remote] Implement Page.printToPDF. r=remote-protocol-reviewers,ato,maja_zf
6f014beafb34 Mohit Singh <mohitsingh1930@gmail.com> Bug 1601037 - initialized option parameter present in 3 methods to default {} r=remote-protocol-reviewers,ato
7b207b360a5d Andreas Tolfsen <ato@sny.no> bug 1603451: remote: document add_task() r=remote-protocol-reviewers,maja_zf,whimboo
f61815665e1f Andreas Tolfsen <ato@sny.no> bug 1603451: remote: preserve test name from original task r=remote-protocol-reviewers,maja_zf,whimboo
78569ad39033 Maja Frydrychowicz <mjzffr@gmail.com> Bug 1600959 - Implement Runtime.executionContextsCleared r=remote-protocol-reviewers,whimboo,ato

Work

Milestones
Development status of Puppeteer alpha
Development status of Puppeteer beta
Puppeteer Alpha Dashboard - Completed
Puppeteer Beta Dashboard - In Development
Bugzilla queries - Puppeteer Beta
All project work currently in development
Available MVP work
Completed MVP work
Available Reserve work
Bug overviews
Gutenberg dependency tree
Puppeteer examples dependency tree
Complete Puppeteer dependency tree
All ze boogs

PTO (đŸŽ…đŸ»)

  • maja_zf back on Friday 10th January 2020
  • ato away until Monday 6th January 2020
  • whimboo away from Dec 24th to Jan 1st 2020 (maybe around on Dec 27th)