Giter Site home page Giter Site logo

nightlytt's Introduction

Nightly Tester Tools

Nightly Tester Tools (NTT) is an add-on for aiding testers of Nightly builds of Mozilla apps including Firefox.

Screenshot

Features

  • Copy the build ID or list of extensions to the clipboard using the toolbar button
  • Insert the build ID or list of extensions into a textbox using the context menu
  • Option to customize the Title Bar

Limitations

There are a couple of known issues due to the limited WebExtensions APIs:

  • The changeset cannot be retrieved
  • The extension list does not include system add-ons
  • The textbox inserting options don't work on some Mozilla sites (including AMO due to a security restriction) as well as with a textbox within an iframe and certain rich text editors
  • Some variables are not available for the custom title template

The following features found in the original XUL-based extension are not yet implemented, and some of them may not be implemented again:

  • Copy about:support to Pastebin
  • Open the profile folder (Use about:support or about:profile page instead to open it)
  • Open the pushlog
  • Screenshot utility (Use Firefox Screenshots instead)
  • Crash options
  • Extension compatibility fixer
  • Menu items under Tools

Compatibility

The current WebExtension version is only compatible with Firefox. Use legacy version 3.10 for Thunderbird and SeaMonkey.

Install

You can install the latest stable NTT from addons.mozilla.org.

To install for development, clone the repo:

git clone git://github.com/mozilla/nightlytt.git

Install the web-ext command line tool:

npm install --global web-ext

To test with Firefox:

web-ext run -s extension

To build for release:

web-ext build -s extension

You can also temporarily install the extension in your Firefox without having to use web-ext.

Development

All bugs and feature requests are filed in the Nightly Tester Tools project at GitHub. You can view the list of open issues, or you can file a new issue. Check out the wiki for a list of current and proposed features and feel free to file bugs and submit patches.

This project uses .editorconfig, which sets defaults for the formatting of the code. So enjoy the use of compatible editor. Just download and install the corresponding plugin.

Also, it's encouraged to use the web-ext lint command to check the code.

nightlytt's People

Contributors

brianking avatar cai0407 avatar davehunt avatar edmorley avatar harthur avatar jcsteh avatar kolanich avatar kyoshino avatar mikkcz avatar mozilla-github-standards avatar ritwikmishra avatar splewako avatar tonymec avatar utilumark avatar whimboo avatar xabolcs avatar yfdyh000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nightlytt's Issues

aboutNightly component does not implement nsIObserver

Error Console says:

While creating services from category 'profile-after-change', service for entry 'AboutNightly', contract ID '@mozilla.org/network/protocol/about;1?what=nightly' does not implement nsIObserver.

By the way, I'm not sure about the observing to profile-after-change is needed.

Implement Suggestion Mechanism on Filing Bugs for Desktop Firefox

Implement a suggestion mechanism to assist the user in filing a bug in bugzilla. A user flow possibly for this could be:

  1. User selects "File a Bug"
  2. Give the user the option to either specify the product or component explicitly or enter this suggestion mechanism flow for help
  3. Prompt the user for a short selection for questions to suggest a location to file the bug
  4. Include suggestions when the user files the bug (what to include)

The underlying problem this is intending to solve is to try to reduce the amount of bugs ending up in the untriaged bucket of Firefox and instead, end up in components other than General and Untriaged. This is suggested as bugs ending up General and Untriaged have a risk of not being looked at by desktop firefox developers, where as bugs in other explicit components will get looked at.

Implement nttAddonManager.jsm - an AddonManager / Extension Manager wrapper

This is an issue based on the talk in #89:

whimboo commented

At the same time I would like to see that we make use of your new ExtensionManager class over on pull #85.

xabolcs commented

Even we could implement an nttAddonManager.jsm which simply imports AddonManager.jsm if exists or uses
an AddonManagerImpl() / ExtensionManagerImpl() inside and exports that as AddonManager.
Hm?
With that module we could do easily:

   Cu.import("resource://nightly/modules/nttAddonManager.jsm");
   AddonManager.someFunction(aParam, aCallback);

Thoughts?

whimboo commented

Sounds great. Lets do that.

Allow users to run automated testcases within their builds

Originally filed as: https://bugzilla.mozilla.org/show_bug.cgi?id=607215

Grafxbot and the mozmill crowdsource extension gave them inspiration here, but It'd be a huge benefit to us if we could set up NTT with a testrunner. Something features of it (from the user perspective):

  • A user can choose the type of automated tests they'd like to run
  • One click start if they want
  • A dashboard page that allows triagers to see what's been submitted per changeset/nightly build and fix automated test reports as necessary

Could be hidecolumnpicker controlled programatically?

Find it out!

This issue is based on the talk in #74

whimboo commented

Personally I would say we should remove hidecolumnpicker="true" and let the user decide which columns he is interested in.

xabolcs commented

As talked on IRC, will leave this attribute as is.
If there is a way to control the value of hidecolumnpicker programatically then a follow-up issue could be filed.

Unique user-defined name in the titlebar for each open window

Originally filed as: https://bugzilla.mozilla.org/show_bug.cgi?id=704015

Attempted to assign a unique name for each current window

Actual results:

it failed. Only one userdefined name is now allowed and it applies globally to all current windows

Expected results:

An option for creating a unique user-defined name in the titlebar for EACH open window, eg, BUGS, 'Problem sites', etc., rather than just 1 user defined text which applies globally.

This would help hugely in managing windows and quickly accessing open pages; we often have 10 or more windows with distinctly different subject matters open concurrently.

There is NO addon usable in FF7 or later which allows the creation and retention of a unique user defined name to be prepended to the URI, URL etc in the TitleBar.

I respectfully suggest that this user defined variable window name option should be a part of FF or an addon, it is a MUST HAVE for power users, nightly build testers and others.

Add pushlog feature to beta builds

I think that we should also add the pushlog feature for beta builds. Those people are also testers and for us it would be good to know what has been checked-in between beta releases.

Release NTT 3.2.2

Tasks for the release:

  • Create changelog history
  • Bump version number to 3.2.2
  • Create 3.2.2 tag
  • Create XPI and upload to AMO
  • Bump version to 3.2.3pre

Reformat aboutNightly in a way that makes nightly users better equipped to test

Originally filed as: https://bugzilla.mozilla.org/show_bug.cgi?id=621793

mockup of the page

The about:nightly page is good promotional material for us, but it's not really usable for most folks. I'd like to suggest some changes in it:

  • Show the build id on the top right
  • Show a list of informative links that'll be helpful for testing on the right side (in a list)
  • Show the atom feed of changes from the last nightly the user was on with the a shortened (i.e. changeset link) and <title> (i.e. bug id and summary)

copy about:support to pastebin menu entry is broken

When you try the above mentioned command you will get the following entry in the Error Console:

Error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIWebNavigation.loadURI]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://global/content/bindings/browser.xml :: loadURIWithFlags :: line 156" data: no]
Source File: chrome://browser/content/tabbrowser.xml
Line: 1358

Bug while taking screenshot on osx

When I take a screenshot with nightlytt on osx a new window will pop-up and show me the screenshot, but at the top I all I see is a drop down menu surrounded by a mess, see screenshot below:

You can see the left side in this image because I randomly clicked there and they appear after being clicked.

There should be an option for disabling the screenshot shortcut Cmd+Shift+S

Originally reported as: https://bugzilla.mozilla.org/show_bug.cgi?id=619306

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:2.0b7) Gecko/20100101 Firefox/4.0b7
Build Identifier: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:2.0b7) Gecko/20100101 Firefox/4.0b7

On most Mac OS applications, the shortcut Cmd+Shift+S is reserved for "Save As...". When the Nightly Tester Tools are installed, this will unexpectedly produce a screenshot.

I think this would best be solved either by disabling that shortcut for Mac OS (the system comes with a handy screenshot mechanism anyway), or by providing an option for disabling the shortcut. For some reason, the standard Mac OS way for disabling this shortcut has no effect here.

Reproducible: Always

Steps to Reproduce:
Press Cmd+Shift+S on Mac OS
Actual Results:
Screenshot

Expected Results:
Save As...

Reorganize folder structure of repository

Similar to our MemChaser extension (https://github.com/mozilla/memchaser) we should reorganize the folder structure for the NTT repository. The extension should live in a sub directory and only global stuff (e.g. the build script, readme...) should exist in the root folder.

I would like to see this for 3.2.2 but would like to wait until the other issues with code attached have been merged first.

Release version 3.3

We have to get version 3.3 out the door. It has some compatibility improvements and doesn't register binary components anymore. This will no longer disable the extension on a Firefox version bump.

Steps to do:

  • Update changelog
  • Bump version to 3.3 and update compatibility versions
  • Create 3.3 tag
  • Release to AMO
  • Bump version to 3.4pre

Integrate User Agent Switching into Nightly Tester Tools

Allow users using nightly tester tools to perform user agent switching with desktop firefox builds to different user agent strings. Functionality would follow similar functionality to existing add-ons for user agent switching. A set of user agents that will need to be included should target areas such as:

  • Webkit-based browsers on desktop and mobile (e.g. IPhone, Android Stock, Chrome)
  • Gecko-based browsers on mobile (e.g. Fennec Native)

Release version 3.4 (and update outdated 3.2.2pre to 3.5preYYYYMMDD in beta channel)

whimboo wrote:

whenever you are comfortable with the state we can do a release

Version 3.3 was released more than 3 months ago, and we have nice enhancements.

Steps to do:

  • Update changelog
  • Bump version to 3.4 and update compatibility versions
  • Create v3.4 tag
  • Release to AMO
  • Bump version to 3.5pre
  • Remove uncompleted issues from Milestone with well-founded reasons (if any)

Optional steps:

  1. checkout the above updatedmaster branch
  2. name it to amo-beta (or simply beta) and merge the non-conflicting pulls into this new branch
  3. Bump version to 3.5preYYYYMMDD
  4. Upload to AMO Beta channel

And lastly push all to mozilla/nightlytt.

[force-compatibility] Detect the application version automatically and setup the right compatibility pref

whimboo comented in #48:

... which has been detected the application version automatically and setup the right compatibility pref? That way we wouldn't have to do any of the above prefs addition anymore.

xabolcs commented in #14:

IMHO if somebody would like to touch nttAddonCompatibilityService.js (read: revamp NTT's force-compatiblity feature) then he/she should consider about Kris Maglione's work in his addon in addition - how to set only the necessary and sufficient subset of extensions.checkCompatibility.* preferences.

Re-write NTT pushlog feature to support regularly switched shared profiles between Aurora and Nightly channel

Originally filed as Bug 716829.

Sorry for the hard-understand-ultralong title, the point is in the Bug 650126 Comment 4 last paragraph:

(In reply to Ed Morley [:edmorley] from Bug 650126 comment #4)

The only problem I can foresee is if someone uses the same profile for
Nightly and Aurora - and regularly switches between the two - since it will
mess up the values for current vs last changeset. I guess these could be
stored as currChangesetNightly currChangesetAurora - or else having a
lastChannelUsed (and if it differs, scrap existing changeset values); but
unless Heather thinks this will be a common use-case, perhaps it can just be
ignored for now.

Another details are in Bug 703208 Comment 10.
Related patch is at https://bugzilla.mozilla.org/attachment.cgi?id=586753&action=diff .

(In reply to Heather Arthur [:harth] from Bug 703208 comment #10)

Hm, this patch confuses me, is this patch necessary for the other 2 patches
in this bug? Or is it just a re-write? If it's not fixing the Aurora bug,
could you file a seperate bug for what it is supposed to fix?

Change the old code to have consistent coding style

Based on talk in #ateam We should update the codebase to conform the coding style introducing in Milestone 3.4.

Fix should address the following

  • 2 char indentation
    use

    var myObject = {
      memberFunction1: function (aParam) {
        doSomething();
      },
    
      memberFunction1: function (aParam) {
        doAnything();
      }
    }
    

    instead of

    var myObject = {
    memberFunction1: function (aParam) {
      doSomething();
    },
    
    memberFunction1: function (aParam) {
      doAnything();
    }
    }
    
  • space between function and the opening ( bracket
    use

    function () {
      ...
    

    instead of

    function() {
      ...
    
  • left brace { at end of first line
    use

    function (aParam) {
      ...
    

    instead of

    function (aParam)
    {
      ...
    
  • named function expressions?
    Please vote!
    For example Coding Style says

    Methods should use the named function expression syntax so that stack traces read better

  • a-prefixed function parameters
    name your params

    function doIt(aElement, aIndex, aArray) {
      ...
    

    instead of

    function doIt(element, index, array) {
      ...
    

Feel free to comment, I will update the above list!

Source: review comments

'Save as...' in Screengrabber is broken due to Bug 795065 (Target Milestone: mozilla18)

Reporter:
JoeG on mozillaZine

Regression Bug:
Bug 795065 - Add privacy status to nsDownload

STR:

  • get Gecko 18 (or newer) based Application

  • open ScreenShot Grabber window: Nightly Tester Tools / Take Screenshot

  • push the Save As... button

  • check Error Consle for errors like in Bug 799529 comment 5:

    Error: NS_ERROR_XPC_NOT_ENOUGH_ARGS: Not enough arguments [nsITransfer.init]
    Source file: chrome://nightly/content/screenshot/screenshot.js
    Line: 184
    

Where Line: 184 is really L151.

Note to Release Engineers: fix for this should landed with the fix for #49.

Add basic Seamonkey support to titlebar customization

@tonymec and I talked a little bit on mozillaZine about how to support Seamonkey.
It isn't trivial. SM has got two window types, at least. :)

Depends on #20 - wait for it's "output", and reuse from modules as much as possible.

This issue was modified to contain BASIC titlebar customization only!
It overlays chrome://navigator/content/navigator.xul only!

Improvements for "List of Extensions" Output

Originally filed as: https://bugzilla.mozilla.org/show_bug.cgi?id=629368

With the release of Stylish 1.1, users now have all Extensions, Themes, Plugins, Styles, & Scripts output and mixed together when selecting Copy/Insert (their) List of Extensions from the NTT submenu. That makes things a royal pain if, like me, the user has many (79 combined) of these items installed.

I have some suggestions for improving this output.

First Possibility:

Separate menu line items for Extensions, Themes, Plugins, Styles, & Scripts.

Second Possibility:

Segregate the output of the current submenu item by Extensions, Themes, Plugins, Styles, & Scripts

Example:

Extensions:
Extension 1
Extension 2

Themes:
Theme 1
Theme 2

Plugins:
Plugin 1
Plugin 2

Style:
Style 1
Style 2

Script:
Script 1
Script 2

Enhance build script to make it easier to create release builds

Beta releases are good for AMO's beta channel.

From #23:

There is a short section in AMO's Maintenance Policy about this process.

I asked that because if you plan beta releases, then the current pre postfix will enough to trigger the beta channel.
But imho an additional information is needed to know: where are the package build from.
It could be a tag (which could be created when doing the AMO release - like I do in my mr2-onair) or could be a commit hash (which could be provided in the building process - like firefox-fuzzyime would do) too.

(On demand) Nightly releases are cool too. :)
Of course it's more complex due to the update.rdf and the xpi file hosting.

Make Tools More Discoverable

This problem is more acute on Windows where we only have the Firefox menu button.

For me, the 'Nightly Tester Tools' menu is hard to get at. I propose:

  1. We add a menu button to the navigation toolbar
  2. We add a menu button to the add-ons bar

This can probably be done with the same code and then users can customise in which place they want it. I propose the add-ons bar by default, and we force show the bar once-only (so users can see it is new) after first install. This is similar to behaviour of an SDK add-on that adds a widget.

Update list of contributors in 'about:nightly'

Currently the list of contributors is totally outdated in about:nightly and needs an update. I wonder if we could do it somewhat automatically by retrieving those from the install.rdf file.

Include the changeset in Insert-able/Copy-able Items

Originally filed as: https://bugzilla.mozilla.org/show_bug.cgi?id=634269

Include the Change Set as an "Insert"-able or "Copy"-able menu item similar to such items as Build ID, List of Extensions, and about:support. The Change Set could be includes with the rest of the Build ID information and/or be a separate menu item.

Since the switch to mercurial, the Change Set may be more important than the (existing) Build ID in the testing of nightly and hourly build and determining the regression range for bugs. At present, a user has to open about:buildconfig to find the Change Set. It would certainly be much more convenient if NTT could extract the Change Set like it can the other information it already does. Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.