WebDriver/RemoteProtocol/Meetings/2019/12/20
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
frompuppeteer-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
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)