QA/Browser Technologies/Services/Releases/BrowserID 04272012

From MozillaWiki
Jump to: navigation, search

Areas for QA Focus

  • [QA] Suggested areas of focus for QA:
    • verify no regression on security issue 741814
    • look for layout bugs on all devices we support, this train has significant UI layout changes (including testing many email addresses)
    • normal regression of closed issues mentioned in ChangeLog
    • test - starting monday 2012.04.30
  • Also:
    • Initial testing of now that it is hooked to Stage
    • confirm all responses from "Accept-Encoding" headers should be gzipped
    • local install and test of the "Care to simulate a session?" in the RP
    • more testing of


  • Train 26: 04-27-2012


Deployment Ticket

  • bug 749756 - QA and deploy BrowserID train-2012.04.27 to production

OPs Ticket and ChangeWindow

Hot Fixes and Other Deployments

  • HotFix 1 and HotFix 2
    • various security fixes



BID Automation

See the following site:




  • webheads
    • /usr/bin/node bin/browserid
    • /usr/bin/node bin/verifier
    • /usr/bin/node /opt/browserid/lib/verifier/verifier-compute.js
    • /usr/bin/node /opt/browserid/lib/bcrypt-compute.js
  • secure webheads
    • /usr/bin/node bin/dbwriter
    • /usr/bin/node /opt/browserid/lib/bcrypt-compute.js
  • keysigners
    • /usr/bin/node bin/keysigner
    • /usr/bin/node /opt/browserid/lib/keysigner/keysigner-compute.js
  • databases: various mysql processes
  • zeus: various zeus processes


  • webheads: /var/log/browserid/
    • browserid.log
    • browserid-metrics.json
    • verifier.log
    • verifier-metrics.json
    • verifier-compute.log
  • secure webheads: /var/log/browserid/
    • dbwriter.log
  • keysigners have /var/log/browserid/
    • keysigner.log
    • keysigner-compute.log
  • databases: n/a
  • zeus: various logs

Local Install - Unit Tests

  • Front-End Unit Tests: PASS
  • Back-End Unit Tests: n/a
  • Headless Front-End Unit Tests: n/a
  • Back-End/Headless Unit Tests: PASS

Local Install - Load Test

  • TBD
    • Example:
      • Term1: CREATE_TEST_USERS=2000 BROWSERID_FAKE_VERIFICATION=1 NODE_ENV=test_mysql npm start
      • Term2: bin/load_gen -u 1/60 -m 60000 -o -s
      • or similar

Stage: Load Tests

Sample Bug and Issue

New/Updated OPs Tickets and Issues


  • Bug 752660 - investigate better entropy sources for bid keysigners
  • Bug 753068 - switch idproxy to use firefox's cacert bundle, and publish this fact
  • Bug 753079 - monitor browserid node processes for restarts
  • Bug 753728 - is on occasion throwing 500 errors (being caught on the load balancer)
  • Bug 753828 - monitor the state of zeus pools

New/Updated Security Tickets and Issues


  • n/a

New/Updated APPs Tickets and Issues


New/Updated Labs Tickets and Issues


  • n/a

New/Updated Localization Tickets and Issues


  • Bug 751642 - Need l10n-preview RP to test
  • Bug 752712 - Welsh (cy) strings not showing up in BrowserID l10n preview


  • 1515: extract strings for train-2012.04.27
  • 1537: Attempting to log in using Chinese or Japanese fails, no browserid dialog
  • 1559: Update config/l10n-prod.json
  • 1563: Update config/l10n-prod.json

Resolved/Closed Bugs and Issues


  • 454: browserid.log: user is authenticated with an email that doesn't exist in the database
  • 702: BrowserID links should look clickable
  • 746: Linux: npm install fails after gpm-devel install
  • 792: BrowserID RPM build on ID2 is throwing Asynchronous errors
  • 968: When the user cancels a log in of an unauthenticated primary account, the email is still marked as most recently used
  • 1105: Locale: [ca] Sign in screen shows issues with various strings and links.
  • 1218: Privacy and TOS links do not work correctly with older Android and stock browser
  • 1246: Backend unit tests failing to connect to mysql
  • 1251: SUMO links off of BrowserID/Persona are out-of-date
  • 1276: Locale: The TOS and Priv content in sign_in is not consistently localized
  • 1383: log timestamp missing year
  • 1384: Dev: (Backend) unit tests failing on PhantomJS portion
  • 1390: IE6 and IE7 errors in communication frame
  • 1396: delay screen needed on main site.
  • 1418: signup/signin/forgot pages from main site should check for cookies
  • 1437: Local install: Need better error messaging when email has no domain
  • 1446: "is this your computer" can show when adding a new email address
  • 1449: 400 requires authentication received for /wsapi/list_emails
  • 1453: cancel link in verification screen for required email does not look like a link
  • 1454: Deploying awsbox browserid with _ in domain name breaks login
  • 1461: remove placeholder text from management screen
  • 1464: [ie8/ie9] IE reporting a problem with test check_registration: user validation with mustAuth result
  • 1484: [Chrome] exceptions thrown on /signup page when cookies disabled
  • 1485: [IE8] error dialog shows up with solid black background (i.e., not just dimmed)
  • 1488: dev rp throws exception if there is no requiredEmail
  • 1496: IE6/IE7: unsupported dialog shows unecessary scroll bar (and sometimes two!)
  • 1530: IE7: RPs are not drawn correctly, throwing more general errors
  • 374: Signing out of while attempting to sign in to beer site causes apparent "hang" condition
  • 377: Fix or redirect the HTTPS version of the beer site
  • 395: Still able to use beer site after email is deleted from Account Manager
  • 396: No obvious way to add several emails at once.
  • 492: Android/Browser: Cancelling sign-in on beer site does not refresh Sign In
  • 595: iOS5: Issues with FF Home
  • 677: Add an "already signed in/up" message to
  • 886: move to the popup the burden of explaining legacy -> BID account conversion
  • 974: IE8: Flashing screen debris signing into
  • 976: iOS: insanely long delay signing in with new email
  • 1076: Win7 and XP: Getting exceptions logging into booze site with FF 10
  • 1150: Logging in to with an already registered e-mail address when logged in with another triggers a verification email
  • 1282: looks bad on the Maple build


  • 2: implement task syncing
  • 6: implement server side sessioning
  • 7: Speed up/correct email verification step
  • 8: Clear the current 123done list after I logout
  • 10: delay of display of sign-in button needs some sort of visual indication
  • 11: include ToS and PP links
  • 12: link "Persona" in the footer
  • 17: Cursor: pointer style should be on "Add" task and "Sign in..." buttons
  • 19: replace "sync state" text with icons and tooltips
  • 20: Fix to redirect to
  • 22: Add TOS and PP to
  • 28: Add stars and other labels to 123done github issues

Reopened or Updated


  • 1258: method to probe dbwriter's database connection health
  • 1390: IE6 and IE7 errors in communication frame
  • 1496: IE6/IE7: unsupported dialog shows unecessary scroll bar (and sometimes two!)


  • 4: site should fail gracefully on IE6 and IE7

Opened Bugs/Issues For This Week


  • 1509: Intermittent Sign Up failures from main site when using a primary email as the first email in a new account
  • 1511: Clicking Sign Up (going through process) is ugly when already signed in
  • 1512: Annoying error console messages in FF and Safari when hitting main site through the IP
  • 1529: IE7: Black screen for
  • 1530: IE7: RPs are not drawn correctly, throwing more general errors
  • 1550: npm test fails on initial run then passes on subsequent runs
  • 1514: /tos, /privacy no longer available with cookies disabled
  • 1528: /signin with cookies disabled still shows the form in the background
  • 1540: clear password field if user changes email address in /sign_in dialog
  • 1542: [Stock-Browser4.0/Android4.0] with cookies disabled, loading /signup does not result in 'requires cookies' screen
  • 1566: [ie8] red line at top of screen for /signin
  • 1567: dialog 'POST /wsapi/interaction_data' gets response 'HTTP/1.1 413 Request Entity Too Large'


  • 1: make site "responsive"
  • 3: site needs to look and work great on IE8
  • 4: site should fail gracefully on IE6 and IE7
  • 5: finish first pass of design
  • 9: (IE support) alter cookie based on hostname
  • 13: replace login button with the new branded one
  • 14: indicate that the user is signed in
  • 15: success message
  • 16: account management page
  • 18: fix button flash when signed in with persona but no session cookie exists
  • 21: target different environments via hostname
  • 23: There does not seem to be any way to uncheck a checked item in the list
  • 24: Ability to drag the list items to change priority/numbering
  • 25: Make font selectable or as part of the user profile
  • 26: Android 4.x: After zoom in for list entry, screen is not redrawn
  • 27: Mobile: Icon and help text are not discoverable/selectable
  • 28: Add stars and other labels to 123done github issues

Other Open Bugs and Issues


  • Bug 750764 - VM times out during remote request
  • Bug 750802 - Create Dev environment ( for testing
  • Bug 750804 - Create Stage environment ( for testing
  • Bug 731856 - needs to host /.well-known/browserid after deployment of Mozilla IdP
  • Bug 747738 - BrowserID logins are forgotten very quickly
  • Bug 728382 - Vinz Clortho the BrowserID IdP Server for Project
  • Bug 752981 - Create delegator stage environment


  • 1505: IE6/dev: unsupported dialog not showing error message.
  • 1506: Fix IE6 and IE7 throwing exceptions in the communication iframe.
  • 1507: IE6 and IE7 fixes for the unsupported dialog.
  • 1508: after password reset verification, dialog does not complete and becomes unresponsive.
  • 1510: Fix reset password completion not generating an assertion.
  • 1513: Make BigTent whitelist configurable
  • 1516: statsd config host and port not used by lib/statsd.js
  • 1517: BrowserID Dialog is too wide to fit in iPad sheet
  • 1518: "unknown path" displayed for "/about", "/TOS", and "/privacy"
  • 1519: Ensure the cookies disabled check does not run on /tos, /about or /privacy
  • 1520: Start the verifyEmailAddress page controller even if there is no token.
  • 1521: shared/user: setComputerOwnershipStatus with true, isUsersComputer fails with "noglobals" checked.
  • 1522: Fix the global variable introduced and other JSHint errors.
  • 1523: Explore DNS as a alternative to Declaration of Support Document
  • 1524: code cleanup: move statsd measurement of bcrypt time into bcrypt
  • 1525: code cleanup: all responses from all apis always return json
  • 1526: code cleanup: validate vs sanitize
  • 1527: verifier doesn't recognize delegation of authority
  • 1531: Create KPI Backend Datastore
  • 1532: `` will call f twice in some circumstances
  • 1533: upgraded to new jwcrypto API, including backend, frontend, and tests.
  • 1534: implementation of interaction data collection
  • 1535: Reusing checkSupport to implement delegatesAuthority in lib/primary.
  • 1536: Remove the mediator and use the hub directly.
  • 1538: make sure server entropy is factored into client
  • 1539: Provide a key wrapping facility
  • 1541: remove extraneous code from lib/keysigner/ca.js
  • 1543: dev: dialog stuck at "communicating with server"
  • 1544: main site syntax error require
  • 1545: dev: IdP support seems to be broken
  • 1546: resources/static/shared/storage.js shouldn't delete storage element
  • 1547: running phantom tests logs Syntax Error to screen a few times
  • 1548: [win7/Chrome] /sign_in dialog can be resized so the screen is (essentially) blank
  • 1549: Issue#1546 Consolidating exception logging, removing delete
  • 1552: IE7/dev: Many exceptions thrown on main site
  • 1553: Partial fix IE6 and IE7 blowing up on main site. These browsers do not have Array.prototype.indexOf
  • 1554: bidbundle.js uses 'const' which blows up IE6 and IE7
  • 1555: User has to type password 4 times when confirming on browser other than initiator
  • 1556: Fix the IE6 and IE7 black screens on the main site.
  • 1557: If user types wrong password in verify email screen, error dialog is displayed
  • 1558: ensure uncaught exceptions are logged
  • 1560: add default env var for mysql password
  • 1561: can now set MYSQL_PASSWORD in env
  • 1562: code cleanup: removed extraneous ca.verifyBundle and ca.verifyChain
  • 1564: and crash on Fx15
  • 1565: RP URL overflows
  • 1568: copy for screen that asks you to re-enter password
  • 1569: Put RP name and logo into the dialog.
  • 1570: Certificate provisioning doesn't time out
  • 1571: Bad failure mode (hang) for production IdPs on dev/beta RPs
  • 1572: User sessions seem to expire more frequently than every two weeks.


  • Lloyd's email:
    • train-2012.04.27 was just branched for a couple weeks of testing before deployment on may 9th, it should be deployed onto our staging environment ( by monday.
    • Changes:
    • The most interesting change in this train is probably the new responsive dialog layout that lets the dialog adjust to various screen resolutions. Please have a look in whatever weird devices you've got, to ensure the layout works well.
    • Second most interesting are perhaps the updates to our "Observer API". It's still experimental, but it seems the feedback has settled a bit. Thanks a ton to everyone for the critical review! You can see the revised API proposal here:
    • Again, by monday you'll be able to try the new api out by replacing "" with "" by monday latest.