From MozillaWiki
Jump to: navigation, search


  • Beta project update (mmucci)
  • Backlog process review (mmucci)
  • Strategy of deprecating puppeteer-firefox (“Juggler”)


whimboo, AutomatedTester, maja_zf, mmucci, ato


Beta project update

Total MVP scope is 70, so far 30% completion. Seven bugs in developemnt, 30 in backlog. Completion rate is nine bugs per milestone. Early forecast completion date is currently 9th April.

We’ve finished M1 with 21 bugs out of the six required. Completion rate was 7.0 at the beginning of the project, but it has now increased to 9.0. This consequently means the minimum milestone throughput has been reduced to 5.0, which takes some load off.


We thought this would happen because we put a lot of contingency in.

Backlog process review

    • MVP Bugs
      • In Development
        • Priority - P1
        • Status - Assigned
        • Assignee - Yourself
        • Whiteboard - [puppeteer-beta-mvp]
      • In Backlog
        • Priority - P2
        • Status - New
        • Assignee - Unassigned
        • Whiteboard - [puppeteer-beta-mvp]
    • Reserve Bugs
      • In Development
        • Priority - P1
        • Status - Assigned
        • Assignee - Yourself
        • Whiteboard - [puppeteer-beta-reserve]
      • In Backlog
        • Priority - P3
        • Status - New
        • Assignee - Unassigned
        • Whiteboard - [puppeteer-beta-reserve]
    • Bugs marked as 'Reserve' should not be worked on while there are MVP bugs available for selection.
    • If a bug marked as 'Reserve' goes into development it will be changed to an MVP bug to account for the time spent on it in the schedule.
    • Contingency will be used to add the new MVP bug.
    • If no contingency is available an existing MVP bug will be swapped out to account for the new MVP bug.

What happens when you put a bug in the reserve backlog? It means it's important, but we're not committing to completing it. If you work on a reserve bug, it gets moved into the MVP because it is what we—as a team—right now think it is most important thing to work on.

We have chosen the MVP bugs at the beginning of the milestone. This means we might risk losing out on some previously-prioritised MVP bugs.
Yes, there’s a risk of that. But it means we accurately reflect what we are working on.
Logging, for example, makes everyone’s life easier.
But having a sense of what is important is the key here. Not everything is equally important, so the initial MVP bug selection was the “optimal”.
Several categories: improving everyone's lives; important unplanned work that turns out (permafailure on a beta simulation, for ex.); using time wisely while you are blocked
Work that is easy to do while avoiding a context switch
Spreadsheet helps with seeing big picture and accountability
This is a tool that is supposed to help us by triggering discussion about priorities. I’m cautious that the tool should not get in the way.
If we think something is important, we should just work on it.
What I’m hearing is that everything eventually gets worked on.
It comes down to what it is high priority and what is not.
This is “nice to have”, maybe consider dropping it into the backlog.
But if something comes up, we may have to swap something out.
I’m under pressure to do some work on the JsWindowActor stuff before the all-hands.
I am also trying to finishing up the device emulation, but it’s going to take more time.
Fission unlocks other things, so I would say returning the device metric emulation to the list.
The issue is that the device metrics emulation blocks a lot of tests.
We can ignore the failing tests. People will look that it works, but not be so interested in the pass rate.

Strategy of deprecating puppeteer-firefox (“Juggler”)

Necessary because download numbers spiked a lot recently.

The download rate for puppeteer-firefox (Juggler) has spiked. People are now aware that Puppeteer works with Firefox, but they are mislead by the npm package.

The question is, what should be done?

Mininum: download Firefox Nightly, integrate test-skips into upstream, deprecation message in puppeteer-firefox npm package.

ACTION for AutomatedTester: Arrange meeting with Mathias to discuss Juggler deprecation.

Some open issues in the Puppeteer issue tracker are related to Juggler, and should be closed. But what is our story?

Can close the Juggler issues stating that it’s nolonger maintainer, new version available later this year.

We are ready to get early feedback from early adopters.

An aside about building on all release channels:

I don't think we can avoid early adopters trying out our implementation…
Follow-up question: what is priority of making it easier to use Puppeteer with Firefox?
Puppeteer with Chromium downloads a Chromium version kind of opaquely to the user, no backwards compat.
For now we can get away with having Puppeteer always download the latest Nightly.
Supporting all the release channels will take six months of preparation, due the patches having to ridee the trains.
Just Nightly for now is OK. Later we can work with Mathias to plan Puppeteer releases with regard to supporting other release channels.
Clarification: building Firefox versus shipping Firefox.
We’re not building the remote agent as part of the release branch so emergency work can come up.
No need to ship anywhere except Nightly.
Will talking with sheriffs help?
I guess we know if the problem happens again, on the next beta simulation, we know we should consider fixing it by preparing to build on all branches.
The core issue is more an annoyance than a problem: we had to disable the TaskCluster job because the browser-chrome harness dislikes having empty test manifests.
In conclusion, this is not a huge problem and we can deal with it when/if it happens again.


None this week due to technical difficulties.


Milestone Status

  • Last week (before Christmas): 48 Total; 42 Open (87.5%); 6 Resolved (12.5%); 0 Verified (0%);
  • This week: 70 Total; 49 Open (70%); 21 Resolved (30%); 0 Verified (0%);

Other indicators


% git log --date=iso --pretty=format:'%ad%x09%H' -- remote/ | awk '$0 >= "2019-12-20" && $0 <= "2020-01-10"' | awk -F $'\t' '{print $2}' | xargs git show -s --format='%h%x09%an%x09%s'
31f6c0ce8ad1    Henrik Skupin   Bug 1596136 - [remote] "Emulation.setUserAgentOverride" should only affect the current target. r=remote-protocol-reviewers,ato
659919a4a79e    Henrik Skupin   Bug 1596136 - [remote] Remove openTab() and openWindow() helpers from target tests head.js. r=remote-protocol-reviewers,ato
71927df9089d    Henrik Skupin   Bug 1607461 - [remote] Implement Network.setCacheDisabled. r=remote-protocol-reviewers,ato
9b0acbb35287    Henrik Skupin   Bug 1596601 - [remote] Skip some more crashing Puppeteer unit tests. r=remote-protocol-reviewers,ato
ae95920b8ac4    Henrik Skupin   Bug 1596601 - [remote] Add place-holder for Page.setInterceptFileChooserDialog. r=remote-protocol-reviewers,ato
b4a22eb08537    Andreas Tolfsen bug 1607500: remote: preserve task name in add_agent_task() r=remote-protocol-reviewers,whimboo
cc9a8b517d2f    Andreas Tolfsen bug 1606612: remote: pretty-print WebSocket JSON payloads when verbose logging r=remote-protocol-reviewers,whimboo
5aef3fa3a6ec    Andreas Tolfsen bug 1606612: remote: stop sanitizing JSON payloads from the HTTPD r=remote-protocol-reviewers,whimboo
ef86cd2cd688    Andreas Tolfsen bug 1598286: remote: upgrade to http 0.2 r=remote-protocol-reviewers,whimboo
d08cfa1bb58f    Henrik Skupin   Bug 1600055 - [remote] Switch from using "outerWindowID" to "browsingContext.id". r=remote-protocol-reviewers,ato
1f8e3b235446    Henrik Skupin   Bug 1605650 - [remote] Temporarily skip test browser_getCookies.js for ccov tests on Windows 10. r=remote-protocol-reviewers,ato
968237412424    Andreas Tolfsen bug 1606818: remote: use nsIHttpServer for unregistering handler r=remote-protocol-reviewers,whimboo
d44dd7b4938f    Andreas Tolfsen bug 1565164: remote: rename Domains DomainCache r=remote-protocol-reviewers,whimboo
1553599075c3    Andreas Tolfsen bug 1565164: remote: rename Targets TargetList r=remote-protocol-reviewers,whimboo
55d9690e9938    Andreas Tolfsen bug 1606834: remote: document fdescribe(), fit(), and Mocha flags r=remote-protocol-reviewers,whimboo
c832e2036249    Andreas Tolfsen bug 1606317: remote: revert "Disable Puppeteer tests in ignorehttpserrors.spec.js which crash the browser." r=remote-protocol-reviewers,whimboo
c1ea3ced4d7c    Coroiu Cristina Backed out 3 changesets (bug 1606317) for build bustage at build/src/security/manager/ssl/nsCertOverrideService.cpp on a CLOSED TREE
a4cb6e59c5fb    Andreas Tolfsen bug 1606317: remote: revert "Disable Puppeteer tests in ignorehttpserrors.spec.js which crash the browser." r=remote-protocol-reviewers,whimboo
e49749c82a08    Henrik Skupin   Bug 1593979 - [remote] Always include global head.js and chrome-remote-interface.js. r=remote-protocol-reviewers,ato
ae7b73ae6784    Henrik Skupin   Bug 1605722 - [remote] Enable target discovery by default for browser chrome tests. r=remote-protocol-reviewers,ato
23858366eee9    Brindusan Cristian      Backed out 2 changesets (bug 1606612) for 'remote' failures at browser_scriptToEvaluateOnNewDocument.js. CLOSED TREE


Development status of Puppeteer beta
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 (❄️)

  • dburns away Monday 6th January
  • ato away Thursday 9th January
  • maja_zf away Jan 6-9