Contribute to Open Source. Search issue labels to find the right project for you!

Card hostname can overflow


If ShortURL.jsm can’t process the hostname of a url properly it falls back to using the page title. If the page title is too long then the hostname of the highlights card overflows as shown here.

<img width=“237” alt=“screen shot 2017-10-16 at 1 42 05 am” src=“”>

For reference, the url is this.

This issue is probably quite niche as it (presumably) has to be an unusual tld for the hostname to not be parsed properly (in this case, and the page title has to be long enough.

One other issue the fallback causes is that highlights are no longer deduped by hostname, so all nine cards end up being from the same host, though that’s less of a problem.

Probably a straightforward fix to limit the hostname to one line? Though I’m not sure what would happen if a domain itself happened to be really long.

Updated 16/10/2017 20:37 6 Comments

Update service definitions to use new service IDs


To make sure our code base stays up to date with best practices, we should switch our Symfony services to use the currently available features.

Follow these guides: - - - -

and subsequent chapters

Updated 13/10/2017 21:44

"The miter length is the distance from the point..."


The miter length is the distance from the point where the join occurs to the intersection of the line edges on the outside of the join. The miter limit ratio is the maximum allowed ratio of the miter length to half the line width. If the miter length would cause the miter limit ratio (as set by the style miterLimit attribute) to be exceeded, then this second triangle must not be added.

I think it must be: (as set by the styles miterLimit attribute)

Best Regards Walter Steiner

Updated 16/10/2017 08:21 3 Comments

Add other useful Crates


Crates provide great functionality for Rust - they are essentially libraries that you import using extern ... and also including it as a dependency in the Cargo.toml file!

Search for 1 crate that can spice things up and submit a PR!

Crates guide: Where to browse for new and fantastic Crates:

Updated 13/10/2017 03:56

"Otherwise Cut the line on which start fi..."



Cut the line on which start finds itself into two at start and place a point there, cutting the subpath that it was in in two, and similarly cut the line on which end finds itself short at end and place a point there, cutting the subpath that it was in in two, and then remove all line segments, joins, points, and subpaths tha...

Question: Is —- was in in two —– OK?

Best Regards Walter Steiner

Updated 13/10/2017 20:58 3 Comments

Question: Detecting FullScreen


Hi, I am new to this, and I am trying to rise my first project… The challange I have might be easy for you ;-) I am looking for a way to detect if the viewer is in fullscreen mode or not - based on this I would like to display html contet or not. This is what I have, the if is not working, that why it is commented out:

var viewer = OpenSeadragon({... });
var filenames = [...]; //Array with all my file names of the tile sources
viewer.addHandler("page", function (data) {
    //if (viewer.isFullScreen() == false) {
        document.getElementById("nameprint").innerHTML = filenames[];
Updated 09/10/2017 18:05 2 Comments

Retain keyword search rather than resolved address after query


Currently, after selecting a keyword search e.g, input ‘Mozilla’ and tapping “Search for Mozilla”, we resolve the full URL as expected. On tap of the address bar, and then a keyboard dismissal, we expose the entire URL in the “Search for” field. On tap of that, a search is conducted with the entire search URL, e.g, with Google as my default, the entire search URL is input into the Google search bar.

We should instead retain that ‘Mozilla’ input rather than the entire search URL.

Updated 11/10/2017 02:46 1 Comments

There should not be double scrollbars when the Preferences Pane is open


Currently, two scrollbars show up when the Preferences Pane is open. The correct behavior should be that the outer element should not be scrollable while the Preferences Pane is open, and it should be scrollable again when the pane closes.

<img width=“855” alt=“image” src=“”>

Updated 16/10/2017 18:51 5 Comments

Pixelated toolbar icons


On 2x size it looks like the toolbar icons aren’t rendering correctly.

<img width=“795” alt=“image” src=“”>

<img width=“785” alt=“image” src=“”>

Updated 03/10/2017 16:08 2 Comments

The context menu is not dismissed when a tile is dragged


  • Firefox 57 and up

  • All Windows

  • All Mac
  • All Linux

  • Start the browser and open a New Tab.

  • Click the context menu button for one of the tiles.
  • Drag a different tile and observe the context menu.

  • The context menu is dismissed.

  • The context menu stays in its place.

  • Attached a screen recording of the issue: context menu not dismissed

Updated 16/10/2017 18:51 3 Comments

model the algorithm for normalizing when trait is unknown


Right now in Chalk we don’t have support for types like T::Item; we always require fully explicit types like <T as Iterator>::Item. In particular, the trait is always known. So for example in the AST node, we know the trait. In the lowered IR, a projection references the id of a particular trait item, and hence implicitly specifies a particular trait.

The rules in Rust are a bit hackily implemented but the idea is that we should permit T::Item only if there is a unique trait that could work, selected from the set of in-scope traits. I think the first step for this issue therefore is to model in-scope traits somehow. I’d probably want to do this with a new kind of DomainGoal, something like InScope(ItemId), where ItemId is the id of a trait. We would have to give this some syntax too (e.g., InScope(Iterator)). Then we can model which traits are in scope by adding those facts into the environment (e.g., if (InScope(Iterator)) { .. })).

Here are the steps to add InScope:

Once that work is done, we can do the next half of using the in-scope facts to do something useful.

Updated 10/10/2017 19:42 3 Comments

Unpinning an edited Top Site wrongly renames that Top Site


  • Firefox 58.0a1 Build ID 20170924220116

  • All Windows

  • All Mac
  • All Linux

  • Open the browser and navigate to about:newtab.

  • Edit the title of a Top Site (eg. youtube -> YouTube)
  • Unpin the Top Site and observe its name.

  • The Top Site is unpinned.

  • The Top Site is unpinned, but it is also renamed to what it was called before the edit was made.

Last good revision: 50d08bf45f3df9a5eacfc4531aafd85fd32875fd First bad revision: 40b3b10f78c2d5a72356d21532add0848fc928b2 Pushlog:

  • Attached a screen recording of the issue: unpinned top sites renamed
Updated 04/10/2017 02:39

Some media elements can indefinitely block the document's load event for no reason


When running the resource loading algorithm, if no mode could be computed in step 6, the algorithm fails to set the media element’s delaying-the-load-event flag back to false in:

⌛ Otherwise the media element has no assigned media provider object and has neither a src attribute nor a source element child: set the networkState to NETWORK_EMPTY, and abort these steps; the synchronous section ends.

Updated 12/10/2017 22:12 3 Comments

Labels generated from the cart should be sorted by last name by default


Currently (ver 2.8.10) when you generate labels from the cart, they are sorted by Zip Code, as per line 670 of Reports/PDFLabel.php (function GenerateLabels()):

$sSQL .= 'ORDER BY fam_Zip, per_LastName, per_FirstName';

If one has chosen to generate a PDF file full of labels, this sort order makes it difficult for an office administrator to ‘proof’ the list of labels, especially if the members of the cart are in diverse postal districts.

In our installation I’ve changed line 670 as follows:

$sSQL .= 'ORDER BY per_LastName, per_FirstName, fam_Zip';

Now the labels are properly sorted by last name. I’m not sure how this change would affect the ‘ZipBundleSort’ feature, but that function simply loops through all the labels anyway and checks their zips as it builds the bundles. As long as array_count_values($Zips) in line 451 doesn’t need a pre-sorted array… In which case, I’m not sure including fam_Zip in the ORDER BY clause is even necessary.

Updated 30/09/2017 14:56

Remove hardcoded inputs and outputs in

phageParser/phageParser (PR #243) has file names hardcoded in the input and output. It should be modified to:

  • [ ] accept the input and output filenames as command line arguments, and
  • [ ] have a docstring that explains what the arguments are and what the script does.

See for an example of a docstring (top rows in triple quotes) and accepting arguments.

Updated 05/10/2017 15:26 4 Comments

Audit unused dependencies


Steps to reproduce:

$ npx depcheck

Unused dependencies
* classnames
* fancy-dedupe
* lodash.debounce
* moment
* object-sizeof
* page-metadata-parser
* react-json-inspector
* redux-logger
* redux-thunk
* redux-watch
* reselect
* tippy-top-sites

Was looking through a recent PR and noticed we didn’t seem to be using classnames package anymore (but it still appears to be in the package.json). We may want to quickly troll through the possibly accurate list from depcheck and see if there are any other modules which we aren’t using but still appear in package.json.

Note that there are some false-positives, such as tippy-top-sites which is used in a tippymc:* npm script in package.json (via yamscripts.yml).

Updated 16/10/2017 18:51 5 Comments

Firebase config overwrites unrelated keys


<!– Please don’t delete this template –> <!– Before creating an issue please make sure you are using the latest version of preact-cli. –>

Do you want to request a feature or report a bug? bug

What is the current behavior? Output production on hosting key options

If the current behavior is a bug, please provide the steps to reproduce. With an existing firebase.json file: npm run serve -- --server config --dest .

<!– A great way to do this is to provide your configuration via a GitHub gist. –>

What is the expected behavior? The file is merged only overriding the hosting key. A deep merge of the hosting key might be even better, but I don’t know that it’s really needed.

Merged firebase.json: ``` { “database”: { “rules”: “database.rules.json” }, “hosting”: { “public”: “build”, “rewrites”: [ { “source”: “”, “destination”: “/index.html” } ], “headers”: [ { “source”: “”, “headers”: [ { “key”: “Cache-Control”, “value”: “public, max-age=3600, no-cache” }, { “key”: “Access-Control-Allow-Origin”, “value”: “” }, { “key”: “Access-Control-Max-Age”, “value”: “600” } ] }, { “source”: “/sw.js”, “headers”: [ { “key”: “Cache-Control”, “value”: “private, no-cache” } ] }, { “source”: “**/.chunk.*.js”, “headers”: [ { “key”: “Cache-Control”, “value”: “public, max-age=31536000” } ] }, { “source”: “/”, “headers”: [ { “key”: “Link”, “value”: “</bundle.6acb8.js>; rel=preload; as=script, </style.ba975.css>; rel=preload; as=style, </route-home.chunk.8111b.js>; rel=preload;as=script” } ] } ] } }


If this is a feature request, what is motivation or use case for changing the behavior? When using CI/CD pipelines like Gitlab pipelines this config is going to change when the pipeline runs and should therefore be an automatable. In my case I also have a top level database key that I don’t want overridden.

Please mention other relevant information. - node version 8.4.0 - npm version 5.3.0 - Operating system mac sierra 10.12.6

Updated 26/09/2017 15:15 4 Comments

Chrome: Can't press `Esc` to toggle console when React panel are open


Testing on OS X with Chrome 63 canary.

If I press Esc while React devtools is open, I expect this to open a JS console in a split view with the React devtools. This is how every other tab behaves. Instead, I see the console slide up and immediately back down in a split second.

We should fix this so the console can be used again.

Workaround: Switch to another tab, hit Esc, switch back to React.

Updated 10/10/2017 03:27 2 Comments

Switch ActivityStreamPreferences to Services.prefs


Similar to that was backported via #3067, we should remove dependency on Preferences.jsm. In particular, the class Prefs extends Preferences exposes various helper methods (e.g., get) that would need to be reimplemented.

Probably should be done after #3431 as that clean up will reduce dependency on ActivityStreamPreferences.

Updated 03/10/2017 17:20

Allow user to change the project description without needing to publish their project.


Currently in the publish dialog, there is a Description field. However, it only saves what you put in there at the moment of publishing, which isn’t ideal. Sometimes people don’t want to publish a project, but want to leave a description.

I think we should just auto-save whatever is in the description when a user closes the Publish dialog.

cc @gideonthomas - would this be a good candidate for a Good First Bug? Please add the label if you think so.

Updated 09/10/2017 22:56 16 Comments

If a page is bookmarked multiple times it has to be removed just as many times in order to fully remove it


  • Firefox 57.0a1 Build ID 20170910220126

  • All Windows

  • All Mac
  • All Linux

  • browser.newtabpage.activity-stream.enabled is set to true in about:config on a clean new profile.

  • Have enough history so that all 12 Top Sites are populated.

  • Start the browser with the profile from prerequisites.

  • Navigate to a website and bookmark it in three locations.
  • Open a New Tab and hover the first Highlights card.
  • Remove it as a bookmark.
  • Refresh the page and observe the card’s state.

  • Card’s status is “Visited”.

  • Card’s status is “Bookmarked”.

  • Attached a screen recording of the issue: not all bookmarks of the same page removed

Updated 03/10/2017 17:02 1 Comments

[Question] How to import font-awesome to project with Webpack?


I am a beginner with Webpack and am having a lot of trouble figuring out what to do in webpack.config.js to import font-awesome for use in React components like this:

<span className="fa fa-user" />

I’ve tried following multiple tutorials (for example that use different loaders and rules (i.e. style-loader, css-loader etc.), but nothing has worked for me (I’m sure if I was more knowledgeable about Webpack configuration I’d be able to make it work), and often those approaches introduce bugs with how the project loads all the other css files (i.e. interfering with isomorphic-style-loader).

For now the temporary solution I’ve made is adding this link to Html.js head:


Obviously, I’d rather be using a local font-awesome package.

can someone ELI5 how to set up webpack.config.js to load font-awesome for this project or point me in the right direction?


(P.S if you have the Font Awesome 5 beta and figured out how to get the SVG Framework approach to work with react-starter-kit, that works too)

Updated 07/10/2017 03:43

Add field comparable to firstHtml to the har.request tables


The runs.request tables include a firstHtml field to indicate that the request is for the parent document.

Queries on the har.request tables must join on the corresponding runs table to get this info. There are tens of millions of requests in each table, so the join is expensive.

To simplify queries and make them less expensive, add a boolean field comparable to firstHtml to the har.request tables. It should share the same logic as the runs table; first 200 response with HTML mime type.

Updated 28/08/2017 21:39 2 Comments

Change <title> tag for the default index.html page


Currently both the <title> and <h1> have very similar content. I’ve seen many people start to edit the title expecting to change what they see in the preview because the text matches. It’s a small thing but I think we should change it so that the first change people try to make works more reliably.

<img src=“” width=“300” />

Updated 10/10/2017 17:26 16 Comments

Don't reload the live dev preview when importing files, wait til all files are imported


Was working on a project with a bunch of files, then created a new blank one. In the console it looks like Thimble is still trying to locate / use the files in the previous project…

We discussed this but I’m not sure if we’ve got it filed so here we go.

<img src=“” width=“350” />

Updated 05/10/2017 19:06 14 Comments

Whitespace other than spaces can break inline rule parsing


Consider this inline rule layout: /* jshint strict: implied, unused: true, undef: true, curly: true, browser: true, jquery: true, esversion: 6 */ If there is a tab between the /* and jshint, the entire rule is ignored (not discovered during parsing). The layout above works as long as the only intervening whitespace is one or more spaces. Fortunately, the individual directives on subsequent lines can be preceded by tabs without trouble.

Updated 10/10/2017 05:06 3 Comments

One second of the previously Vimeo video played can be observed when sending another video/track while on Replay/Close screen

  • Firefox 55.0 and up
  • Min-Vid 1.0.10

  • All Windows

  • All Mac
  • All Linux

  • Latest Min-Vid add-on (1.0.10) was previously installed on a clean profile.

  • Open the browser with the profile from prerequisites and navigate to

  • Send a video to the Min Vid player and wait to end.
  • Send another video to the player from “Play now” button and observe what happens.

  • The last video/track sent to the player starts playback.

  • Before the last sent video/track starts playback, one second of the previously played Vimeo video is displayed.

  • Attaching a screen recording of the issue:

vimeo one second

Updated 17/08/2017 19:51

"Permission denied to access property "target"" error is displaye in Browser Console when the player is Minimize or Maximized and also when the video is Paused or Played

  • Firefox 54.0.1 and up
  • Min-Vid 1.0.10

  • All Windows

  • All Mac
  • All Linux

  • Latest Min-Vid add-on (1.0.10) was previously installed on a clean profile.

  • Open the browser with the profile from prerequisites and navigate to one of the supported platforms (e.g

  • Send a video to the player.
  • Play/Pause the video.
  • Minimize/Maximize the Min-Vid player.

  • No errors occur.

  • Error: Permission denied to access property "target" is displayed in the console.

  • Attached a screen recording of the issue:

min-vid data error

Updated 15/08/2017 17:46

The progress bar is pushed down when the player resolution is below the default one

  • Firefox 54.0.1 and up
  • Min-Vid 1.0.10

  • All Windows

  • All Mac
  • All Linux

  • Latest Min-Vid add-on (1.0.10) was previously installed on a clean profile.

  • From about:addons->Extensions set the Min-Vid player resolution to Height 150px and Width 250px.

  • Open the browser with the profile from prerequisites and navigate to one of the supported platforms (e.g

  • Send a video to the player.
  • Click on progress bar in order to skip forward.

  • The user can easily click the progress bar in order to skip to a custom position of the video.

  • If the set resolution is to small, the video source and timestamp are displayed on two rows on the player controls overlay that appears at hover. When this occurs, the progress bar is lowered on the overlay making it almost impossible to be used.

  • Attached a screen recording of the issue:

small resolution

Updated 15/08/2017 17:41

Links must have discernible text


via #139

line 112  col 7   Error  Links must have discernible text                       axe
line 120  col 7   Error  Links must have discernible text                       axe
line 121  col 7   Error  Links must have discernible text                       axe

Not sure what these alleged errors are, or how legit this is. I have a suspicion that they are either icon links (Mozilla, GitHub, Twitter), or possibly links with localized strings injected at runtime using l20n.

Updated 11/10/2017 16:47 2 Comments

Misleading "Just launched" label


When an experiment is new, it shows a Just Launched label on the experiment card that goes away when you visit it:

<img width=“1049” alt=“screen shot 2017-08-01 at 09 12 23” src=“”>

This is unexpected. Visiting a page does not change that an experimented had recently been launched.

Updated 11/10/2017 16:36 10 Comments

"Disable <experiment_name>" red button for graduated experiments is not vertically aligned in the middle of the designed area


[Affected versions]: - Firefox 54.0.1 and above

[Affected Platforms]: - All Windows - All Mac - All Linux

[Prerequisites]: - Test Pilot production add-on was already installed on a Firefox profile. - Change the system date to be July 11th 2017.

[Steps to reproduce]: 1. Open the Firefox with the profile from prerequisite and navigate to page. 2. Click on Page Shot experiment card and click on the “Enable Page Shot” button. 3. After enabled, return system date to current date. 4. Refresh the Page Shot experiment details page and observe the “Disable Page Shot” button position. 5. Scroll down on the page until the button detaches and observe its position.

[Expected result]: - in both cases the button is vertically aligned in the middle of the designed area.

[Actual results]: - In both cases the button is positioned higher than it should in the designed area.

[Notes]: - Here is a screenshot of the issue:

disable button graduation

Updated 28/09/2017 18:18 3 Comments

Remove "abort these steps" wording


In Infra, we have clarified that “return” or “throw” aborts the algorithm it is in. This convention was adopted after much of the prose in the HTML Standard was written, so HTML contains many now-redundant sequences like

then return null and abort these steps


then throw a TypeError and abort these steps.

These should remove the redundant “and abort these steps”. Similarly, cases like

Otherwise, if the new value is the same as the body element, do nothing. Abort these steps.

should be converted to replace “Abort these steps” with “Return”.

Doing so helps set a good example, and reduce confusion for people who read HTML (which is currently a mix of the new style and the old style).

There are currently 427 instances of “abort these steps”. If any of them seem tricky, feel free to leave them in and we can take care of them later. Just getting the straightforward ones is a big enough task.

(This is part of #2053)

Updated 01/08/2017 01:53

[style] use async/await


It might be fun to use async/await syntax on the server.

Here’s a sample snippet:

app.get('/download/:id', async (req, res) => {
  const id =;
  if (!validateID(id)) {
    return res.sendStatus(404);
  try {
    const filename = await storage.filename(id);
    const contentLength = await storage.length(id);
    const timeToExpiry = await storage.ttl(id);
    res.render('download', {
      filename: decodeURIComponent(filename),
      filesize: bytes(contentLength),
      sizeInBytes: contentLength,
      timeToExpiry: timeToExpiry
  } catch (e) {
Updated 09/08/2017 18:47 6 Comments

Small clarity improvements to canvas transform methods


While in the area for #2845, I noticed the following small tweaks that we could make to improve that section of the spec:

  • Replace “abort these steps” with “return” everywhere. (The latter is a more modern convention, per Infra.)
  • Link “multiplying” in the definition of transform(a, b, c, d, e, f) to
  • Re-do setTransform(a, b, c, d, e, f) steps 2-3 to reset the current transformation matrix to the appropriate matrix (a c e / b d f / 0 0 1), instead of resetting the matrix to the identity matrix then invoking the transform() method. It’s bad practice to invoke methods from other methods.

This is a good first bug :)

Updated 20/07/2017 20:05 1 Comments

localize install.rdf


We’ll be able to localize parts of our manifest.json now that we are converting to an embedded webextension. This issue will track if we want to do that/what parts to localize

Updated 08/09/2017 05:01 3 Comments

Don't render empty experiment status messages


Found while doing view-source and throwing it through an HTML linter

Currently we have source like this:

    {subtitle && <h4 data-l10n-id={this.l10nId('subtitle')} className="subtitle">{subtitle}</h4>}

The problem with this is that if {this.statusMsg()} returns an empty string or whatever, we’re left with an empty <h4> tag.

Warning: Empty heading.

  1. From line 6, column 2663; to line 6, column 2684 html ... Tabs</h3><h4 data-reactid="41"></h4><

  2. From line 6, column 3651; to line 6, column 3672 html ... iners</h3><h4 data-reactid="53"></h4><

  3. From line 6, column 4670; to line 6, column 4691 html ...n Vid</h3><h4 data-reactid="65"></h4><

It may be better off checking if this.statusMsg() is truthy before rendering it in a parent <h4> tag, similar to how we render the subtitle

Updated 10/10/2017 14:07 3 Comments

The "Copy element props" feature does not do a deep-copy


The copy props feature was introduced in #837. It’s awesome, but has a substantial flaw: it only copies as deeply as the user has expanded the properties in the property explorer.

Reproduction steps:

  1. Go to Coursera’s home page. If you were logged in, log out.
  2. Open the React extension.
  3. Search the inspector for “FrontPage2016” and select the node.
  4. Copy its props and paste them into a temporary file: before.json.
  5. Expand the naptime prop in the prop explorer. Then unexpand it.
  6. Copy the same node’s props and paste into a temporary file: after.json.
  7. diff before.json after.json
  8. Cry

I have no familiarity with the React DevTools codebase, but I suspect that this is a side-effect of a lazy system designed to minimize communication with the React runtime. Assuming there is a way to say “Recursively eagerly evaluate this piece of data”, there should be an easy fix.

<!– Note: It is much more likely that your issue will get fixed if you also provide a minimal project reproducing it. Thanks! –>

Updated 26/09/2017 21:46 3 Comments

[Dropdown] Add a type="button" on the button.


Current behaviour

A button type is submit by default, and the dropdown doesn’t define a type for its button. So if the dropdown is used in a formMixin, it will trigger the save action when trying to expand the dropdown.

Expected behaviour

The dropdown button should have type button to not trigger a save.


Focus-core: 2.1.1 Focus-components: 2.1.7-1

Updated 01/08/2017 19:26 1 Comments

End screen improvements (cannot drag or send to a tab)


After the video ends, it’s no longer possible to drag the window or click any of the buttons on top (send to tab, minimize). The video isn’t unloaded as you can still click the timeline to return back and then click those buttons, but it’s rather inconvenient.

I would also like to ask about the possibility for like/dislike buttons for YT videos, but allowing to send the last video back to a tab after it’s ended would make that easier too.

Updated 18/07/2017 00:55 1 Comments

"Customize your New Tab page" button overlaps other buttons from A-S New Tab page if Zoom is set to 300%


[Affected versions]: - Firefox 53 and up - Activity Stream Build: 1.15.0-dev-1498669904-155a8b9

[Affected Platforms]: - All Windows

[Prerequisites]: - Latest Activity Stream dev add-on version was previously installed on a profile with history. - Set Zoom to 300%.

[Steps to reproduce]: 1. Start the browser with the profile from prerequisites and open a New Tab. 2. Scroll through the New Tab page and observe the “Customize your New Tab page” button.

[Expected results]: - “Customize your New Tab page” button does not obstruct the user in using other buttons from the page.

[Actual results]: - “Customize your New Tab page” button overlaps with other buttons.

[Notes]: - Attached a screen recording of the issue: overlap

Updated 16/10/2017 16:57 1 Comments

"Close" button overlaps the "Up arrow" button from the scroll bar from New Tab Preferences menu if the Zoom is set to 300%


[Affected versions]: - Firefox 53 and up - Activity Stream Build: 1.15.0-dev-1498669904-155a8b9

[Affected Platforms]: - All Windows

[Prerequisites]: - Latest Activity Stream dev add-on version was previously installed on a profile with history. - Set Zoom to 300%.

[Steps to reproduce]: 1. Start the browser with the profile from prerequisites and open a New Tab. 2. Click on “Customize your New Tab page” button. 3. Click on “Up arrow” button from the scroll bar.

[Expected results]: - “Up arrow” button from the scroll bar is clickable.

[Actual results]: - “New Tab Preferences” menu is closed because the “Close” button is focused when hovering the “Up arrow” button from the scroll bar.

[Notes]: - Attached a screenshot of the issue: close button overlaps scroll up arrow

Updated 16/10/2017 16:58 4 Comments

A few HTML and accessibility/usability errors on



  • [x] The “width” attribute on the “th” element is obsolete. Use CSS instead #436
  • [x] ‘x-ua-compatible’ header was not specified #437
  • [ ] Text of buttons and links should not be repeated in the image alternative #438
  • [x] target="_blank" is missing ‘rel’ values ‘noopener’, ‘noreferrer’ #439
  • [ ] An “img” element must have an “alt” attribute, except under certain conditions #440
  • [ ] Bad value “true” for attribute “hidden” on element “div” #441
  • [ ] Links must have discernible text #442
  • [x] Elements must have sufficient color contrast #443
Updated 28/08/2017 19:16 3 Comments

Regressions with and error reporting


Our search should be finding files in non-standard paths, but this is not happening automatically. We should be able to find and use a at least in any first level path.

Additionally, when we aren’t finding a, we were reporting this to the user. This is not happening either now, instead the user receives a message that an unknown error occured.

Ref #2962

Updated 08/08/2017 22:27 1 Comments

Add flake8 linting


Even if you don’t like PEP8 syntax, it’s good to stick with them, and it’s even better to have tooling in place that forces you to fix things when you don’t use it… and for some reason flake8 won’t run.

Updated 16/10/2017 16:24 2 Comments

[YouTube] Add support for links

  • Firefox 53.0.3 and up
  • Min-Vid 0.3.8-dev (built on 6/14/2017)

  • All Windows

  • All Mac
  • All Linux

  • Latest Min-Vid add-on was previously installed on a clean profile.

  • Open this testcase.

  • Right click on the 1st link and observe the context menu.
  • Right click on the 2nd link and observe the context menu.

Step 2 & Step 3 - The Min Vid context menu option is available.

Step 2 - The Min Vid context menu option is available. Step 3 - The Min Vid context menu option is not available.

  • Both links are for the same video, the only difference is that one is the long link and the other is a short link.
  • Attached a screenshot of the issue: no context menu
Updated 09/08/2017 15:27 3 Comments

Add QR code to Publish Dialog.


A QR code might be a great way to view a project on a mobile device right after sharing. As it stands, it’s somewhat cumbersome to type out the URL of a published project on a mobile device since the URL is quite long. In addition, when using Thimble during a demo session like this weekend, a user can’t just go back to their projects list to continue the work we started.

One helpful participant at the Faire this weekend (Jim) took the time to compile some ways that we could do this and published the information as a thimble project:


Cheers, Jim!

Apparently iOS will be adding in native QR support in the near future, so it’s a capability that a lot more people will have access to soon.

Updated 13/09/2017 17:23 15 Comments

Figure out what exactly we should be downloading from NCBI in terms of bacterial and archaeal genomes


We want all published genomes of bacteria and archaea, but unfortunately NCBI’s standards and file system are not easy to understand. We’ve been skirting this by just using the data from a different CRISPR database, but eventually we’d like to not rely on them and just download directly from NCBI so that we can update whenever we want.

If we could get a list of accession numbers for all the available bacteria and archaea, that would be great. Do we want all the NC_ accessions? What about NZ_? What’s the difference? Is there overlap?

Anyone who knows about this and/or feels like doing some reading up on NCBI is very welcome to help us here!

Feeds into #196.

Updated 14/08/2017 16:36 12 Comments

[YouTube] Tooltips are not displayed after minimizing or maximizing the Player if you hover them very quickly

  • Firefox 53.0.3 and up
  • Min-Vid 0.3.7-dev (built on 5/30/2017)

  • All Windows

  • All Mac
  • All Linux

  • Latest Min-Vid add-on was previously installed on a clean profile.

  • Open the browser with the profile from prerequisites and navigate to

  • Send a video to Min Vid with the “Play Now” option.
  • Click the “Minimize” button and quickly hover a different button.
  • Observe the tooltip.

  • The tooltip for that button appears.

  • If you are quick enough, the tooltip for that button will flash on the screen for a second and then remain hidden.

  • The issue is also reproducible when maximizing the player.

  • The issue is not reproducible with SoundCloud songs or Vimeo videos.
  • Attached a screen recording of the issue: tooltips dont appear minimize and maximize
Updated 28/08/2017 17:56

Fork me on GitHub