Labs/Jetpack/Weekly Meeting/2011-07-19

From MozillaWiki
Jump to: navigation, search

Agenda

Minutes

FlightDeck 0.9.7 status

  • bug fixes, polish
  • should be done by friday (12-14 bugs outstanding)
  • otherwise, we'll need another week
  • afterward, we'll start on roadmap
  • 0.9.7 is scheduled to ship next Wednesday, freeze is on Friday
  • 0.9.7 will be shipped whether or not the remaining bugs are fixed
  • next release is 0.9.8
  • two week cycle, 0.9.8 ships two weeks after 0.9.7
  • we know what makes addon testing and downloading slow
  • https://builder-addons.allizom.org/services/graphite/prod
  • bright purple spikes on graph are queue time
  • something is going wrong occasionally with process of putting packaging job into "rabbit" queue (service for queuing requests)
  • when it doesn't go wrong, 6-8 seconds with good connection
  • when it goes wrong, a minute and a half
  • working on this to try to resolve the problem by this friday, ship it in 0.9.7
  • two separate perf problems: the occasional glitch, and the "normal" time of 6-8 seconds (want it to be under 4 seconds)
  • cfx xpi doesn't seem to be the issue (takes less than a second)

SDK 1.1 status

  • Irakli
    • submitted bug regarding module exports that are supposed to be frozen but aren't, bug 672199, creating potential for malicious code to overwrite APIs; created bug, attached patch, brian to review
    • another bug is adding strict mode to our modules, bug 553434
    • brian: turn on strict automatically rather than "use strict"?
    • irakli: we decided to turn it on for just our modules
    • test failures; i could reproduce two errors, myk was supposed to push to mozilla-central to see if third is still reproducible
    • myk: i haven't done so but will do so today
    • bug 672087: module search has complex algorithm for finding a module
    • talked about explicit require statements so no search for SDK's own modules
    • irakli created patch; brian to review; patch might need updating to trunk
    • bug : last week we talked about developer ergonomics...
    • console.log is almost useless
    • pull request that changes console.log behavior to dump object in way that gives access to properties and values
    • brian: like Python's pdump?
    • irakli: like nodejs
    • brian: depth restriction?
    • irakli: not sure, but it's configurable
  • Matteo
    • working on selection bug
    • finally found a workaround that makes it work for multiple selection
    • not sure if i have to create a bug for the firefox platform or for the SDK
    • (some discussion)
    • multiple selection doesn't work well in the platform, not in HTML, not in text fields
    • there might be an API design issue here; selection module returns first range by default
  • Alex
    • content proxy: submitted multiple review requests to irakli
    • multple issues with customized toolbars: tried to reach folks on #developers, but without much success
    • will try to reach another guy
    • uninstall event: submitted some requests for comments on google groups, needs feedback from brian, may require a change in linker, related to discussion about e10s
    • bug about uninstall is bug 571049. content script/proxy ones are 666547,612726,669884,667949. customize toolbar issues are 660857,660860
  • Will
    • looking into removing the cfx docs server
    • current idea is to generate static docs locally and open them in web browser
    • the problem is that it'll be slow the first time you run cfx docs
    • brian: i like it, seems cleaner
    • will: code is simpler, will make it easier to get away from python
    • brian: time to build docs?
    • will: several seconds to build them from scratch
    • brian: i'm happy with that, as long as there is progress marker
    • will: and that's one time only
    • brian: and we should be able to regenerate only changed docs
    • the other thing i've been thinking about is migration guide for XUL developers
    • trying to figure out what that should have in it and how to explain limitations
    • that you can't manipulate browser chrome to the same extent
    • brian: we need to figure out which of these restrictions are policy vs. priority vs. technical
    • will: yes, and it'd be nice to have a UI guideline for addon developers, not necessarily related to the SDK
    • (discussion about extent to which you can do what the SDK doesn't provide APIs for)
  • Gábor
    • built an XPCOM component, packaged it into XPI, installed it, made it work
    • bit tricky because of lack of documentation
    • built Mozilla from source, set up Windows development environment
    • Windows development painful, mostly because of VM, issues with shared folder
    • but in the end it worked, mostly just took a lot of time; tuned it to use six cores to reduce build times
    • tried to reproduce sandbox leak, so far have not been able to reproduce
    • digging into it, it's complex, feel a bit lost, but i will get there
  • Eddy
    • did a few measurements today about how long it takes to create a tab within content process
    • jetpack process takes 70-90ms to create
    • content process 120-150ms, if you also create tab is 210-240ms
    • content process memory footprint is 22mb without tab, 27mb with tab
    • talked to bsmedberg, he thinks we can do better than 27mb
    • talked about content processes, he thinks it isn't necessarily a bad idea, but it might be expensive
    • so there are possibilities, but for him it was more a big deal that we'd have to share addons between processes instead of one addon per process
    • whereas with jetpack processes, we could have a one-to-one mapping
    • and that's a harsh price to pay
    • so he would like to see if we can do both, i.e. use content processes but have one process per addon
    • his suggestion is next step is to post to dev.platform
    • so i will make summary of tests and circulate it in email
    • tomorrow is my day off; plan to make post by tomorrow or thursday morning at latest
    • next week i want to get as much feedback as possible
    • so we can move forward and make a decision
    • one more thing: friday i'll be visiting an office location in utrecht area
  • Myk
    • working on test automation issues
    • not much progress
  • Brian
    • not much to report, just got back from trip
    • various cleanup tasks, want to hear back from dcm about priorities before jumping in on the larger items

Development Process Proposal

    • get your feedback in to Myk

Roundtable

  • Alex
    • would like to have feedback from Brian and Irakli on how to handle uninstall events
    • Alex to cc: Brian and Irakli on the bug
  • Irakli
    • simpler module loader: last week we talked about simplifying things
    • i got so excited i worked on simplified module loader over weekend
    • it uses platform's "JavaScript module" loader instead of our own loader
    • it can load all modules in SDK
    • but it needs some changes on the linker side, because our test infrastructure, doesn't rely on linker, it uses runtime linking
    • started a thread on the mailing list, asked for feedback
    • cc:ed Brian on pull request, interested in getting feedback
    • this change has potential to fix issues like XPI unpacking and merging cuddlefish, securable-module, bootstrap, and harness scripts
    • feedback welcome!
  • Daniel
    • alex, have you had time to look at pulling out the client-side linker for use by FlightDeck?
    • alex: i started looking at how to build an addon for the SDK that would provide command line interface like the current SDK
    • alex: but i haven't started looking at the client-side linker
    • Daniel: when your internet connection is bad, Builder packaging is a problem
    • Brian, Myk: it isn't clear that packaging is actually the issue, if packaging on the server is cheap, and if you have to push the files down anyway
    • Daniel: ideally, the files will be pushed down already, when you start editing the addon
    • Brian: can you cc: me on the bug so i can talk to Dietrich about the problem?
    • Daniel to cc: Brian and Myk on the bug
    • Alex: i looked at the bug, and there is one missing API that is easy to do that would let us start experimenting with alex's prototype
    • Daniel to talk to Piotr about providing that API

Minutes