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

Add movement and sound for Primer


First, I consider it as a low-priority enhancement.

Please see the video from 1:36 about priming the engine, in real world primer not just ‘In’ and ‘Out’ two state, it also has a process from out to in, and also a ‘lock’ progress.

To enhance the reality, I suggest add a movement for primer and sound as well.

Updated 20/03/2018 18:57 9 Comments

InfiniteLoader docs have broken code


The code sample here has problems.

columnCount is undefined, and the definition of _infiniteLoaderChildFunction is missing an = resulting in a syntax error.

Also, I’d love it if this example explained what props you should pass into this component, and what it does. Should my definition of isRowLoaded work in the domain of visual rows of the grid, or should it correspond to individual cells instead? Can this scroll in two dimensions or not?

Btw, I’m currently attempting to render a grid with consistently sized cells that scrolls in one dimension, but I’m not implementing it like this. Instead, I’m just doing a regular List InfiniteLoader and rendering multiple items into each row. react-virtualized doesn’t need to know how many items I’m rendering in a row; I’m doing the math to adapt it myself. I just have the renderRow function change how many items it puts in a row depending on your window size. Of course this isn’t going to retain where you were in the scrolling very well, and a custom solution may be necessary. It would be nice if your library supported an InfiniteLoader that worked on something like a thumbnail gallery. Should I look into contributing such a thing?

Updated 16/03/2018 17:11

extend the definition of "clause" that chalk uses


The first-order hereditary harrop predicates that Chalk uses allow for a fairly flexible definition of program clause:

Clause = DomainGoal | Clause && Clause | Goal => DomainGoal | ForAll { Clause }

The intention then is that implications in Goal can reference these clauses in their full generality:

Goal = ... | Clause => Goal | ...

However, Chalk currently uses a rather simpler definition:

This is equivalent to the following:

Clause = DomainGoal | Clause && Clause

We should generalize this to the full form – or at least include ForAll binders. This will require a few changes. For one thing, we’ll have to change environments to store clauses, rather than just domain goals:

Then we have to update the chalk-slg HhGoal type in an analogous fashion:

Presumably extending the Context trait with the notion of a clause as well:

Finally, we have to modify the Context::program_clauses implementation:

In particular, this is the code that finds hypotheses from the environment:

Actually, this code is probably fine as is, we just have to (a) implement CouldMatch for Clause and (b) implement into_program_clause for CouldMatch.

(Note: It might be good to do first, just to limit the amount of code affected.)

Updated 15/03/2018 18:31 2 Comments

Improve documentation for OAuth development setup


The current documentation for local deveopment setup is missing some detailed instructions, when you’re not part of the webcompat Github organization and need to configure an OAuth Client ID & Secret.

I’d suggest to add some deeplinks and a quick guide to setup your own OAuth application.

Something like:

  1. Open
  2. http://localhost:5000 and http://localhost:5000/callback
  3. Save and go to
  4. Click on your just created application
  5. You’ll see your freshly generated Client ID and Secret
Updated 14/03/2018 08:50

(IT) Capitolo 1 – Buone norme di traduzione v.2


Questo issue è lo spazio dove i nuovi volontari possono discutere i miglioramenti da apportare alla prima bozza del capitolo 1-Buone norme di

Il capitolo raccoglie le buone norme universali per la traduzione tecnica, dunque sintassi, punteggiatura, false friend e simili. Per partecipare leggi il capitolo nel paragrafo precedente e scrivi in questa sezione i tuoi commenti, suggerimenti e impressioni. Per citare una parte specifica della guida, copia-incolla la parte rilevante nel campo dei commenti e inserisci davanti il carattere >, come nel seguente esempio:

>In ultimo bisogna evitare le trappole dei false friend (parole straniere che somigliano a termini esistenti italiani, ma hanno un significato diverso). Alcuni dei principali sono:

Vorrei suggerire alcuni *false friend* da aggiungere alla lista…

verrà visualizzato come:

In ultimo bisogna evitare le trappole dei false friend (parole straniere che somigliano a termini esistenti italiani, ma hanno un significato diverso). Alcuni dei principali sono:

Vorrei suggerire alcuni false friend da aggiungere alla lista…

Aggiornamenti per la seconda bozza

  • [ ] #Standard qualitativi “Nel caso di gergo tecnico, è necessario svolgere un’accurata ricerca terminologica su fonti ufficiali o autorevoli ~invece~ e bisogna evitare di rimpiazzare i termini tecnici con equivalenti approssimativi o troppo generici.” (@AndyUrbi)
Updated 13/03/2018 09:38 2 Comments

InterMine app: list of data from all InterMines


A list of of all datasets (and their associated data sources) from all InterMines. Maybe something we can put on

  • Get list of mines from
  • Query each one for list of data sets and associated data sources (see query below)
  • display in a nice report - sort, search etc.
  • once a day, check for updates
  • be able to click through to the InterMine to actually view the data loaded by that dataset.
  • A lot of descriptions are going to be empty, because they aren’t used for anything right now. Help to prompt InterMine devs to update!
<query name="" model="genomic" view=" DataSet.url DataSet.description DataSet.dataSource.description DataSet.dataSource.url" longDescription="" sortOrder=" asc">
Updated 14/03/2018 08:37 9 Comments

Add option to not re-render list rows when scrolling



I’ve been digging into performance of my react-virtualized components lately and am curious about the rendering behavior of List.

It seems that List re-renders every visible row (as well as overscan, presumably) every time it scrolls. This is really hurting my performance because my rows are fairly heavyweight and re-rendering them is non-trivial.

I understand that this is intentional because it allows for the customization of rows via the isScrolling parameter, as in the example code for List: The idea being that you render a simplified row while scrolling and the heavyweight row once stopped. This is ok, but I really don’t like that visual effect for my use case. Instead, I propose that there should be a way to tell List not to continually re-render visible rows when scrolling.

I made this quick pen to demonstrate how often the rows are being rendered. Of course the performance is fine in this simple example, but with more complex rows, scrolling performance starts to suffer.

Updated 20/03/2018 18:28 5 Comments

Remove Microformat Classes from CSS


I wanted to create an issue to fix some of the issues related to errors with structured data.

We talked about these issues as a team, and adding extensive support for Microformats 2 or through microdata or RDFa doesn’t make much sense because of:

  • _s being a starter theme, and it’s hard to know what kind of theme will be built with it. So any support we add may be incomplete.
  • Adding additional classes or attributes pollutes the markup and creates issues when people use the classes for styling.
  • It’s difficult because Core may/may not add additional support and help for structured data.

Going forward:

  • Let’s remove any Microformat-related classes from the Sass/CSS to discourage theme authors from using the classes.
  • Point theme authors toward JSON-LD, which allows for adding support for structured data outside of template files or CSS. See this page from Google on the topic.

PRs welcome on removing all Microformat classes from the Sass/CSS files.

Related issues and PRs for reference:






Updated 03/03/2018 01:40 3 Comments

List/Grid: make measureAllCells more robust/forgiving


This code:

function measureAllCells() {
      var _props2 = this.props,
          columnCount = _props2.columnCount,
          rowCount = _props2.rowCount;

      this._columnSizeAndPositionManager.getSizeAndPositionOfCell(columnCount - 1);
      this._rowSizeAndPositionManager.getSizeAndPositionOfCell(rowCount - 1);

will trigger:

function getSizeAndPositionOfCell(index) {
      if (index < 0 || index >= this._cellCount) {
        **throw Error**('Requested index ' + index + ' is outside of range 0..' + this._cellCount);

when calling the public function measureAllRows() on an empty List.

A simple check should suffice, I think.

Updated 11/03/2018 09:31 1 Comments

v4 Docs - NPM install



All bug reports must contain a test case using our Codepen template; Bug reports without it will be summarily closed: - Codepen template -

Make sure to search for existing issues before opening a new one.

If you are experiencing an issue with the version 3 of this theme, you must know that we are no longer maintaining the old version and we are only accepting PR to fix existing issues. New issues without an associated PR will be closed. More info at


Test Case

N/A Docs


<!– A summary of the issue and the browser/OS environment in which it occurs. If suitable, include the steps required to reproduce the bug. –> I’m I right that the docs has not been updated currectly? If we look at that link under npm, it says you should just install bootstrap - should this not be bootstrap-material-design@4.1.1?

Or am i missing something?

Expected result

<!– Description of expectation, mockup, etc. –>

Additional Information

<!– Any other information you want to share that is relevant to the issue being reported. This might include the lines of code that you have identified as causing the bug, and potential solutions (and your opinions on their merits). –>

Updated 16/02/2018 09:03 2 Comments

Any Mocha docs need to be erased


From #657 . There is already Jest installed so any docs should not include something about Mocha to avoid confusion.

@langpavel Documentation indeed needs improvements

There are still article written about Mocha:

Updated 07/02/2018 02:58 1 Comments

SDL_Init sets up event handlers which SQL_Quit does not release, which prevents GC of the Module instance


In my application, I compile emscripten code via "MODULARIZE" option and thus I am able to create multiple Module instances one after another.

But when it’s time for the Module instance to be garbage collected and release its memory, it doesn’t do so. Instead, it keeps the memory occupied.

I’ve created a small example showcasing the problem.

From what I see, the problem is in the following line:


This line is situated in the class method exposed to the JavaScript and, although the method is never called, it somehow prevents Module instance from being destroyed and releasing its memory. When the line is commented out, everything is garbage collected properly and memory is released.

Is there any solution or workaround for this problem?

Updated 02/02/2018 16:38 3 Comments

The letters are cut at the bottom in input


Test Case


Firefox 58.0 / macOS 10.13.2

When I input letters “qypgj” to <input> they are cut at the bottom by default. If I select text and move mouse down letters become normal

Expected result

Letters must be fully viewed by default

Additional Information

Screenshot that demonstrates the bug:

<img width=“50” alt=“2018-01-25 09 00 40 pm” src=“”>

Updated 30/01/2018 20:43 2 Comments

Extending code snippets


I have a slight improvement for the interface. Code snippets are a great way for helping out the user with basic syntax. While it includes tables, forms, lists, comments and more, I think it’d do great with the addition of the following: a href tag, iframe tag and the button tag. They’re very frequently used. Since having such a big drop down might not be feasible, maybe we could add these in 1 tab called ‘more’ within the code snippet drop down.

If you think it’s alright, I’d love to get started with this!!

Updated 22/02/2018 20:36 5 Comments

Upgrade to Babel 7


Babel 7 is still in beta but very much usable. Let’s use this issue to track what changes are needed on our side when we upgrade.


  • [ ] Remove the transform-builtin-extend plugin. (
  • [ ] OK to use destructuring in for await loops. (
  • [ ] Maybe drop stage-3 in favor of @babel/plugin-proposal-async-generator-functions?

Open questions:

  • [ ] Will the logic of reading .babelrc files change? (
Updated 12/01/2018 18:33

More robust -s parsing


As suggested by @floooh on the mailing list, we could do this in a better way, that doesn’t depend so much on quoting details. The only cases we have are

  • -s X=Y for Y being a number
  • -s X="Y" for Y being a string
  • -s X=["Y1", "Y2", [..]] for Y1 etc being strings

So we could just write our own little parser, that could for example accept -s X=name or -s X=[name1, name2, name3] even without quotes, since there is no risk of ambiguity.

Updated 22/03/2018 16:39 4 Comments

Errors in relative addressing


Using Chrome 62. When using Chrome dev tools in the service worker settings I disabled the “Bypass for network option” so requests always go to the service worker. I created a test with an index.html 2 levels deep in a sub folder, e.g. test/one/index.html I added a style to the style.css file at the root: /style.css ``` / Fonts from Google Fonts - more at / @import url(‘,700’); @import url(‘,700’);

body { background-color: white; font-family: “Open Sans”, sans-serif; padding: 5px 25px; font-size: 18px; margin: 0; color: #444; }

h1 { font-family: “Merriweather”, serif; font-size: 32px; }

.test { color: red }

I added a test.css to the test/one/ folder .test { color: blue } ```

And added a line to the index.html in the sub folder to read a one.css from the current directory (test/one/): <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Test relative addressing</title> <link rel="stylesheet" href="one.css"> </head> <body> <p class="test">This should be blue</p> </body> </html> However in the Thimble Live Preview the text is not red. I can see a 404 in the Network panel in Chrome for {url of root of project}/one.css And then a fetch from the service worker for {url of root of project}/one.css which again returns 404.

This appears to be because the Live preview seems to create an iframe with a href=“{url of root of project}/test/one/index.html” but in the <head> of that page it adds a <base href=“{url of root of project)”> so that all links in this page in a sub folder becomes relative to the root of the project, not the current folder <html data-brackets-id='11'> <head data-brackets-id='12' data-bramble-start-line='2' data-bramble-start-ch='2' data-bramble-end-line='6' data-bramble-end-ch='9'> <base href=""> <script> The link element has been written as <link data-brackets-id="24" data-bramble-start-line="5" data-bramble-start-ch="4" data-bramble-end-line="5" data-bramble-end-ch="42" rel="stylesheet" href="one.css"> So it would be expected that it would try to resolve one.css from the project root.

When the link elements are added the href is relative to this base href, not the current window.location

If I live edit the href attribute in the link element to test/one/one.css the stylesheet is loaded and the elements render as expected.

If I wanted to use relative addressing in test/one/index.html to reference the style.css at the root I’d add a link element such as <link rel="stylesheet" href="style.css">

If I edit the html in thimble to use <link rel="stylesheet" href="test/one/one.css">

Then it previews, finds the stylesheet and renders the elements with the CSS applied.

If I add the following link element to the page in the sub folder test/one: <link rel="stylesheet" href="../../style.css"> Then it tries to fetch the stylesheet from as again the href ../../style.css is relative to the base href of, ie

However when i hover over the href in the link elements above in Chrome Dev. Tools. the URL it resolves to appears to be correct, but that’s not where the css files get requested from

Updated 21/02/2018 23:31 10 Comments

Floating label acting as if input is not readonly when it is


Test Case Simply added a readonly on the input of the sample codepen


On click on a readonly input with a floating label, the label moves up and the help is displayed under the input, as if the input was focusable

Reproduced on Chrome 63, Firefox 57, Edge 15

Expected result

If the input is set to readonly, the label probably should not move and the help should not be displayed?

Updated 06/01/2018 20:20 2 Comments

adb_profile_chrome_startup should make sure that /sdcard/Download exists before recording the trace


I ran into this problem today while trying to run adb_profile_chrome_startup to reproduce #4100. On a newly flashed Nexus 5X, when I ran:

I got:

Capturing 5-second Browser Startup Trace + atrace. Press Enter to stop early...Stopping...
Warning: Exception getting results from Browser Startup Trace:
<class ''>
Traceback (most recent call last):
  File "./systrace/bin/adb_profile_chrome_startup", line 114, in <module>
  File "./systrace/bin/adb_profile_chrome_startup", line 105, in main
  File "/usr/local/google/home/charliea/github/catapult/systrace/profile_chrome/", line 102, in CaptureProfile
    all_results = controller.StopTracing()
  File "/usr/local/google/home/charliea/github/catapult/systrace/systrace/", line 210, in StopTracing
  File "/usr/local/google/home/charliea/github/catapult/systrace/profile_chrome/../../common/py_utils/py_utils/", line 101, in RunWithTimeout
    return timeout_retry.Run(func, timeout, 0, args=args)
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/utils/", line 157, in Run
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/utils/", line 186, in JoinAll
    self._JoinAll(watcher, timeout)
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/utils/", line 158, in _JoinAll
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/utils/", line 81, in run
    self._ret = self._func(*self._args, **self._kwargs)
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/utils/", line 150, in <lambda>
    child_thread = reraiser_thread.ReraiserThread(lambda: func(*args, **kwargs),
  File "/usr/local/google/home/charliea/github/catapult/systrace/profile_chrome/", line 96, in GetResults
    with open(self._PullTrace(), 'r') as f:
  File "/usr/local/google/home/charliea/github/catapult/systrace/profile_chrome/", line 103, in _PullTrace
    self._device.PullFile(trace_file, host_file)
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/android/", line 51, in timeout_retry_wrapper
    return impl()
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/android/", line 47, in impl
    return f(*args, **kwargs)
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/android/", line 1726, in PullFile
    self.adb.Pull(device_path, host_path)
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/android/sdk/", line 474, in Pull
    self._RunDeviceAdbCmd(cmd, timeout, retries)
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/android/sdk/", line 301, in _RunDeviceAdbCmd
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/android/", line 51, in timeout_retry_wrapper
    return impl()
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/android/", line 47, in impl
    return f(*args, **kwargs)
  File "/usr/local/google/home/charliea/github/catapult/devil/devil/android/sdk/", line 281, in _RunAdbCmd
    args, output, status, device_serial) (device: 01fc26471832be6a) adb pull /sdcard/Download/chrome-profile-results-2017-12-15-204238 ./chrome-profile-results-2017-12-15-204238: failed with exit status 1 and output:
- remote object '/sdcard/Download/chrome-profile-results-2017-12-15-204238' does not exist

It wasn’t until I did

adb shell mkdir /sdcard/Download

that the command succeeded. Can we walter adb_profile_chrome_startup to ensure that this folder exists rather than just failing?

@jbudorick do you know how to triage this appropriately?

Updated 12/01/2018 15:33 4 Comments

iPersonNameStyle doesn\'t have a \"Suffix\" option


iPersonNameStyle should have a suffix option so that it’s possible to disambiguate between Jr. and Sr. in the search results.

Collected Value Title Data
Page Name /SystemSettings.php
Screen Size 1080x1920
Window Size 949x1920
Page Size 1171x2150
Platform Information Linux CSHN001 4.4.0-98-generic #121-Ubuntu SMP Tue Oct 10 14:24:03 UTC 2017 x86_64
PHP Version
SQL Version 5.7.20-0ubuntu0.16.04.1
ChurchCRM Version 2.9.2
Reporting Browser Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
Prerequisite Status All Prerequisites met
Integrity check status {“status”:“success”}
Apache Modules core,mod_so,mod_watchdog,http_core,mod_log_config,mod_logio,mod_version,mod_unixd,mod_access_compat,mod_alias,mod_auth_basic,mod_authn_core,mod_authn_file,mod_authz_core,mod_authz_host,mod_authz_user,mod_autoindex,mod_deflate,mod_dir,mod_env,mod_filter,mod_mime,mpm_itk,prefork,mod_negotiation,mod_php7,mod_rewrite,mod_setenvif,mod_socache_shmcb,mod_ssl,mod_status
Updated 27/12/2017 16:12

preamble.js: Pointer_stringify() does not respect length when string is non-ASCII


Regarding: Pointer_stringify(ptr, length)


When the string that ptr points is found to be non-ASCII (the local variable hasUtf is true), UTF8ToString(ptr) is called. Note that the length argument is disregarded in this case. If ptr is not zero terminated, UTF8ToString will basically read outside of the bounds of the buffer.

Related issue: #4693

Updated 08/01/2018 03:11 4 Comments

Reconfigure mobile testing to use 4G speeds


Data from the Chrome UX Report indicates that the vast majority of connection speeds on mobile devices (phone/tablet) are effectively 4G:

  SUM(IF( = '4G', bin.density, 0)) / SUM(bin.density) AS pct_mobile_4g
  UNNEST(first_contentful_paint.histogram.bin) AS bin
WHERE IN ('phone', 'tablet')

Result: 87.95%

Update the WebPageTest configuration for mobile tests to use 4G speeds to more accurately represent real user conditions.

Updated 27/01/2018 02:03 13 Comments

Code Review Manual/Guidelines for contributing document


To set our expectations on a common basis and have uniformity, we should probably write a reference section on how to review code for the project when there is a pull request.

Probably other things, feel free to chime in.

Updated 10/01/2018 11:50 2 Comments

Focus name field on opening New Container sub-panel


In the sub-panel that appears on hitting the “+” (Create New Container) button: * The Name field should be automatically focused * The default Container #xx text in that field should be selected so that typing removes it. (Alternative solution: Have no default text. I don’t know why anyone would use the Container #xx scheme when naming containers, but maybe there’s a reason for it?)

This is a continual “missing stair” issue for me: every time I create a new container, I start typing because I expect that field to be focused. I’m assuming that I’m not the only person this happens to.

Updated 22/01/2018 12:41 6 Comments

Thimble Autocomplete Malfunction


When using Thimble about 18 hours ago I was able to use autocomplete. For example when typing h1 then pressing tab, it would render the open and close h1 tags. Now, instead, it types h1 (or whatever tag, em, strong, etc.) into the live preview field even if it is not in the body or inside a paragraph or ordered list tag. I am also no longer able to access the file I created when using autocomplete, only the files after losing the ability to autocomplete. This problem is consistent across Firefox, Chrome and Edge browsers. ej-grpfnqrq0z-ea5-lo7w

Updated 21/02/2018 22:13 16 Comments

Don't show Brackets errors in the preview console


Updated Ticket Information

It looks like whenever an error or any other activity occurs in the Brackets console (such as problems accessing session storage, CORS issues, etc.) it is propagated to the console we show for the preview window as well (console activity that should only be due to the user’s code). Let’s only show the relevant console logs that will help the user debug their code.

Same Device Info as reported on my Error 404 Issue:

Please keep in mind I use a managed device.

Another error after Error 404?? The preview page is stuck on my index page. screenshot 2017-11-20 at 10 32 04 am screenshot 2017-11-20 at 10 31 54 am

Side Note: Thank you very much to the person that fixed error 404! 👍

Fortunately, my preview will work about 25% of the time but the console just spams this…It’s kinda annoying… It also stops me from viewing my other files apparently… screenshot 2017-11-20 at 10 23 19 am

(Information is subject to change) New Information from Console - Screen picture (cropped) screenshot 2017-11-21 at 4 19 24 pm

Updated 07/03/2018 18:18 14 Comments

Allow default container setting to differentiate between ports


Basically, my email service and something I use for my job run on the same physical server, but at different port addresses. I am unable, as it stands, to get it to use different default containers for these different services.

e.g. -> email -> Personal Container -> work site -> Work Container

I can do it using subdomains, but if I do this I lose SSL/TLS, and this is not something I can work around. As you can imagine I’d rather have TLS than Default Containers, but ideally I’d like both.

Updated 09/01/2018 18:40 1 Comments

An extra favicon is wrongly displayed under the last tab, in the container's tabs list when more than 15 tabs are opened


[Affected versions]: - Nightly 58.0a1

[Affected Platforms]: - All Windows

[Prerequisites]: - Have a Firefox profile with the latest “Multi-Account Containers” add-on version (4.0.3 custom built on 11.08.2017) installed. - Have at least 15 websites opened in the same container.

[Steps to reproduce]: 1. Open the browser with the profile from prerequisites. 2. Click the “Multi-Account Containers” button from the browser toolbar and choose to view the container from the prerequisites. 3. Scroll down the tabs list. 4. Observe the bottom part of the panel right under the favicon of the last tab

[Expected result]: - The bottom part of the panel is correctly rendered.

[Actual result]: - Part of an extra favicon is displayed.

[Regression window]: Last good revision: a4fb78381ea0fe9fddd36a8ea7b74a63062a1bf3 First bad revision: 66ef885f0b66cb680a3f0734bfbfd8fd385fa104 Pushlog:

[Notes]: - The extra favicon disappears after ~5 second. - Attached a screen recording of the issue: rec of the issue

Updated 09/01/2018 18:58

Extra scrollbars are wrongly displayed while editing a container if it has more than 9 websites assigned

  • Firefox 56.0.2 and up
  • Multi-Account Containers v4.0.3

  • All Windows

  • Have a clean Firefox profile with the Multi-Account Containers v4.0.3 installed.

  • Have one container populated with minimum 10 assigned websites.

  • Open the browser with the profile from prerequisites.

  • Click the addon button from the browser toolbar and choose the “Edit container” button.
  • Click on the container’s pencil icon and scroll all the way down.
  • Observe the assignments panel.

  • One vertical scrollbar is displayed in the panel.

  • An additional horizontal scrollbar is displayed.

  • If the horizontal scrollbar is moved to the right, an extra vertical scrollbar appears.

  • This issue is not reproducible if you have under 9 assigned websites to a container, see below a screenshot: 9 websites assigned

  • Here is a screen recording of the issue: scrollbar scrollbar

  • This issue is not reproducible on Mac, nor on Linux.
Updated 23/01/2018 18:40 1 Comments

Disable right click events in the "Long press" context menu


[Affected versions]: - Firefox 56 and up

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

[Prerequisites]: - Have a Firefox profile with the latest “Multi-Account Containers” add-on version (4.0.3 custom built on 11.10.2017) installed.

[Steps to reproduce]: 1. Open the browser with the profile from prerequisites and long press the “Open a new tab” button (“+”) 2. Right click in the context menu and observe the behavior.

[Expected result]: - Nothing happens.

[Actual result]: - The “Tab Strip” context menu is opened.

[Notes]: - Considering the fact that the “Tab strip” context menu options do not affect the “Multi-Account Containers” feature, in my opinion, the right click mouse events should be disabled in the “Long press” context menu. - Attached a screen recording of the issue: rec of the issue

Updated 09/01/2018 19:06

Icon inconsistencies


The icons in the popup and in Options (in Firefox 57) are inconsistent in both appearance and order: Popup Options

Notable inconsistencies: 1. The circle icon is positioned at the end in the popup. 2. The positions of the gift and vacation icons are switched. 3. The cart icon is more “solid” in the popup and has more detail in Options. 4. The dollar icon is contained within a circle in the popup. 5. The briefcase icon is more “solid” in Options and has more detail in the popup. 6. Small detail, but still an inconsistency: In the popup, the Color options are shown before the Icon options, while Options shows Icon first.

Updated 09/01/2018 18:58

/* global */ list accepts spaces in identifiers


/*global window, document, require, externData alert, machineID:true, externJSON $*/

produces the output

'externData alert' is defined but never used (W098)

except that isn’t a legal identifier because of the embedded space. (It should have been “externData, alert' but sloppy typing on my part, which led to the warning.)

The warning should be more along the lines of ‘Illegal JavaScript identifier,’ should it not?

Updated 27/12/2017 02:16 4 Comments

"Multi-Account Containers" toolbar button is wrongly active in Private Window


[Affected versions]: - Multi-Account Containers 4.0.3 - Firefox 58.0a1

[Affected Platforms]: - All Windows - All Mac (No longer reproducible 58.0a1-20171102100041) - All Linux

[Prerequisites]: - Have a Firefox profile with the latest “Multi-Account Containers” add-on version (4.0.3) installed.

[Steps to reproduce]: 1. Open the browser with the profiles from prerequisites. 2. Open a new Private Window (Ctrl+Shift+P). 3. Click the “Multi-Account Containers” from the browser toolbar and observe.

[Expected result]: - Nothing happens.

[Actual result]: - The “Containers” panel is opened.

[Regression Window on Windows]: - Last good revision: 71ea88d938e5d68c5843a3689b5ddc0fda38a063 - First bad revision: dda6098cc5161046af377ef69bae69099255b098 - Pushlog

[Regression Window on Mac]: - First good revision: a0334f789772302ba5cfb6fd61290408842c7432 - Last bad revision: 0a50066b2de805de843762b9787b2b3d2d5bf93f - Pushlog: - It seems that the backed out from this pushlog made the issue no longer reproducible.

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

Updated 23/01/2018 18:54 1 Comments

A container tab can wrongly be moved to a new window even if it's the only opened tab


[Affected versions]: - Multi-Account Containers 4.0.3 - Firefox 56 and up

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

[Prerequisites]: - Have a Firefox profile with the latest “Multi-Account Containers” add-on version (4.0.3) installed.

[Steps to reproduce]: 1. Open the browser with the profiles from prerequisites. 2. Open a website in the “Personal” container and close other tabs if they exist. 3. Click on the “Multi-Account Containers” button from the toolbar. 4. Click on “View Personal container” button (>) and observe the “Move tabs to a new window” button.

[Expected result]: - The button is greyed out.

[Actual result]: - The button is active.

[Notes]: - In our opinion this option should be greyed out because its effect uses system resources and does not do anything. - In the same context, “Move to a new window” option from Firefox context menu is greyed out. - The issue is reproducible with all containers. - The issue is also reproducible with the TxP version of “Multi-Account Containers”. - Attached a screen recording of the issue: new window

Updated 30/01/2018 18:42 1 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 09/01/2018 02:21 3 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 05/02/2018 18:30

Unable to call prototype's method for empty values



Thank you for this template engine!


It looks like a nunjucks bug. I have a simple template ```twig {% extends “views/layout.njk” %}

{% block content %} {% set slicedUrl = ctx.originalUrl.slice(ctx.mountAbsolutePath.length) %} <li class=“{{ ‘active’ if slicedUrl.startsWith(‘/history’) }}”> <a href=“#”>Test</a> </li> {% endblock %} which causes the error Unable to call slicedUrl["startsWith"], which is undefined or falsey `` whenslicedUrl=‘’`.

Steps to reproduce

In other words, this ```twig {% extends “views/layout.njk” %}

{% block content %} {% set slicedUrl = ‘’ %} <li class=“{{ ‘active’ if slicedUrl.startsWith(‘/history’) }}”> <a href=“#”>Test</a> </li> {% endblock %} or this twig {% extends “views/layout.njk” %}

{% block content %} <li class=“{{ ‘active’ if ‘’.startsWith(‘/history’) }}”> <a href=“#”>Test</a> </li> {% endblock %} ``` cause same error.

What is expected?

The code snippets above should work.

Helpful info

  • nunjucks@3.0.1
  • node@8.3.0
Updated 17/01/2018 07:28 2 Comments

[query] Field retrieval optimization


Consider a query like

[:find [?url ?description]
                    (or-join [?page]
                      [?page :page/url ""]
                      [?page :page/title "Foo"])
                    [?page :page/url ?url]
                    [?page :page/description ?description]]

In other words: find bindings for ?page, then retrieve some values for that binding.

We currently produce the following SQL:

SELECT `datoms01`.v AS `?url`,
       `datoms02`.v AS `?description`
FROM `datoms` AS `datoms00`,
     `datoms` AS `datoms01`,
     `datoms` AS `datoms02`
WHERE ((`datoms00`.a = 97 AND `datoms00`.v = $v0)
    OR (`datoms00`.a = 98 AND `datoms00`.v = $v1))
   AND `datoms01`.a = 97
   AND `datoms02`.a = 99
   AND `datoms00`.e = `datoms01`.e
   AND `datoms00`.e = `datoms02`.e

If :page/url and :page/description are unique, or — as in this case — we’re returning a single tuple, we could instead produce two subqueries to represent the values, and filter out nulls:

SELECT `?page`,
       (SELECT v FROM `datoms` WHERE a = 97 AND e = `?page` LIMIT 1) AS `?url`,
       (SELECT v FROM `datoms` WHERE a = 98 AND e = `?page` LIMIT 1) AS `?description`
  SELECT `datoms00`.e AS `?page`
  FROM `datoms` AS `datoms00`
  WHERE ((`datoms00`.a = 97 AND `datoms00`.v = $v0)
      OR (`datoms00`.a = 98 AND `datoms00`.v = $v1)))

(obviously eliminating the interior LIMIT for unique attributes).

I’m not sure if there’s a speed win there, but it would be interesting to see if alternative representations of individual patterns could yield better queries.

Updated 22/03/2018 22:51 1 Comments

Adopt flat bundles


Are there plans to use rollup and generate flat bundles for Relay (similar to what react did in It would be nice to get smaller bundles and it looks like this would also address the performance regression in server side rendering (

Is this something that could be accepted as a pull request without access to internal FB infrastructure?

Updated 13/03/2018 10:54 13 Comments

feature request: dont show Components with regards to arbitrary exclude list (basically, hide repetitive High-Order Components from the Tree)


Based on #211.

It would be nice, to have a exclude list of components, which i dont want to see in my react tree.

Exclude list have to be configurable and persistent.

Exclude list: [/GetContext*/, /Jss*/]

Tree Before: jsx <ButtonGroup> <GetContext(Jss(Button))> <Jss(Button)> <Button> <span>one</span> <Button> <Jss(Button)> </GetContext(Jss(Button))> <GetContext(Jss(Button))> <Jss(Button)> <Button> <span>two</span> <Button> <Jss(Button)> </GetContext(Jss(Button))> <GetContext(Jss(Button))> <Jss(Button)> <Button> <span>three</span> <Button> <Jss(Button)> </GetContext(Jss(Button))> <ButtonGroup>

Tree After:

Updated 09/03/2018 22:23 7 Comments

Indicate which file/folder we are dragging over in filetree on dnd


In I’m rewriting the drag-and-drop code in Brackets, and one of the new things it does is allow a user to drag files/folders over top of items in the filetree and use that path. For example, you can drag over a folder, and the folder will open, then drag down to a sub-folder, and it will open too; then you can drop and your files will get imported into that dir/sub-dir path vs. the project root.

However, we don’t have any UI code to help you know that this is happening. It would be nice if while dragging the filetree nodes were highlighted or flashed or did something visual. @flukeout might have some good suggestions.

This code is somewhat similar to what @Th30 is doing in I’m assigning this to @Th30, who is looking for a bug in this part of the code.

Updated 03/01/2018 01:27 3 Comments

[tx] Accept [a v] notation for lookup refs in entity position


This is follow-up tracking In #382, I accept only (lookup-ref a v) for lookup-refs in both entity and value position (e and v in a [:db/add e _ v] assertion). That’s contrary to Datomic, which accepts embedded vectors like [a v] in both locations, treating ambiguity in some ad-hoc way. (See the discussion in #183 for notes on this ambiguity.)

This ticket tracks accepting an embedded vector [a v] in the entity position only. We suspect that the majority of lookup refs are entity refs in this form, and it’s both shorter to type and handy to agree with Datomic.

To implement this, you’ll need to:

1) verify that entid_or_lookup_ref_or_temp_id is still used only to parse entity positions; 2) add a vector_lookup_ref function accepting [a v] around; 3) use your new function around; 4) add tests demonstrating you can used nested vectors in entity position and that you can use nested vectors in value position – but they’re not interpreted as lookup refs. This latter may already be tested by the existing tests!

Updated 22/03/2018 22:59

[tx] Test that datom flags are written to SQL store correctly


This is follow-up to #267 and similar to #268. What we want is tests to ensure the datoms table gets the correct index_* flags set, based on the attribute flags. The datoms schema is around

To test this, use the existing transact code to transact assertions using some of the bootstrap attributes. Then use raw SQL to query the datoms table, following the examples in (You might add a helper there to produce EDN for the “full” or “raw” datoms, making this a little easier to test, and possibly helping later on when we want to compare other parts of the raw tables.)

The interesting cases are: - attribute is :db/index true => datom has index_avet = 1 - attribute is :db/valueType :db.type/ref => datom has index_vaet = 1 - attribute is :db/fulltext true => datom has index_fulltext = 1 Note: this can’t be tested yet, since fulltext datoms aren’t yet supported! - attribute is :db/unique :db.unique/value => datom has unique_value = 1

Check the positive and negative cases for each of those, and we’re good! This is a pretty good first bug, I think, since there’s lots of code similar to this in the tree already.

Updated 22/03/2018 22:56

Improve frontend of new organization sites


The current state of the organizations work is on Pages like need some styling work done.

Testing/development process in a development VM (branch master): [can also be done on, but then changes won’t be visible of course] - Log in or create a test account (on librecores.devel) - Click on the top-right username and click on “New Organization” - Create an organization named “fossi”. - Go to http://librecores.devel/fossi to see the organization page in the “owner” view. Possible improvements: - Format the “name/display name/description” properties in a way that makes their meaning clear without having “Name: ”, etc. prefixed on them. - Make actions (such as “join organization”) more recognizable as such (e.g. use buttons) - Add description what supporters/members, etc. are. PR #101 has a description of that. - Have a look at the other links/actions on this page and refine styling as necessary.

@berndca is this something you could have a look at? Let me (or @eliaskousk) know if the description isn’t sufficient yet.

Updated 20/02/2018 06:52 2 Comments

Thimble and JS: TODOMVC Starter Kits


The TodoMVC examples are good ways to learn about different frameworks and approaches to solving a common problem: creating a TODO app in the browser.

It would be nice to migrate some of these over to Thimble, so our users could play with them. The main thing we want here is something that works well within Thimble with a complete Tutorial, and learning/reference material. A few to consider are:

  • Vanilla JS:
  • React:*
  • Vue:
Updated 01/03/2018 00:32 15 Comments

Get rid of system_stub


system_stub can probably be replaced with usage of mock and/or pyfakefs instead, in a vein similar to We can probably use mock for the patching, and use pyfakefs if there’s any deep filesystem stuff that needs to be faked.

This is an extended port of a bug from Chromium that I’m going to archive, which pertained specifically to desktop_browser_finder, which is one of the largest users of system_stub.

Updated 28/12/2017 22:09 3 Comments

Use DOM methods instead of innerHTML


There are a few places where production code uses innerHTML. They should use DOM methods instead. - tracing/base/base.html - tracing/ui/analysis/single_object_instance_sub_view.html - tracing/ui/base/radio_picker.html - tracing/ui/base/dom_helpers.html - Can createScopedStyle be removed altogether? Do its two callers really need it? - tracing/ui/extras/drive/index.html - telemetry/support/html_output/results-template.html (Nevermind, this is dead code.) - dashboard/templates/edit_sheriffs.html - dashboard/elements/quick-log.html - dashboard/elements/test-picker.html - dashboard/static/debug_alert.html - dashboard/elements/autocomplete-box.html

@nedn , I noticed this when I was reading radio-picker while reviewing lpy’s CL. Can I ask you to fix at least that one? :-)

Updated 12/02/2018 18:50 11 Comments

Add support for thin archives


Thin archives contain only symlinks to the actual object files. They’re created by specifying the T modifier when invoking ar (e.g. emar crsT foo.a foo.o). While emar has no issue creating them, emcc complains about an unknown format at link time.

ERROR:root:foo.a: Unknown format, not a static library!

If supporting thin archives isn’t desired, could remove the T modifier from the command line passed to llvm-ar.

Updated 22/01/2018 21:59 3 Comments

/migrate_test_names should list path the test will be migrated to


Right now, when you go to /migrate_test_names, it lists the tests that will be migrated, but not what paths they will be migrated to. This makes it way too easy to incorrectly configure the migration. We should change the UI so that it shows both the test path that will be migrated and the test path it will be migrated to.

Currently, the listTests() function in migrate_test_names.html does an xhr to /list_tests:

We should implement a simple endpoint in which calls list_tests.GetTestsMatchingPattern() directly and calls _GetNewTestPath() on them to show the new path.

Updated 05/03/2018 19:22 10 Comments

Data download script: don't download if version is the same.


Currently the download script will download everything then compare, removing if a duplicate. The InterPro files are too big to use this method.

Jun 02 12:54:57 [INFO  ] Starting data download for InterPro protein family and domain data
Jun 02 12:54:57 [DEBUG ] Downloading match_complete.xml.gz (11.21G) from to /tmp/XW5FI3DSZ2
Jun 02 13:00:56 [DEBUG ] Copying '/tmp/XW5FI3DSZ2' => '/micklem/data/interpro/match_complete/2016-06-02/match_complete.xml.gz'
Jun 02 13:02:50 [DEBUG ] Extracting /micklem/data/interpro/match_complete/2016-06-02/match_complete.xml.gz
Jun 02 13:02:50 [DEBUG ] Executing: gunzip /micklem/data/interpro/match_complete/2016-06-02/match_complete.xml.gz
Jun 02 13:19:26 [DEBUG ] Downloading protein2ipr.dat.gz (3.88G) from to /tmp/gb0h8edAq9

We can get the version (see the biogrid script). We just need to get the version first and only download if it’s new.

@rachellyne until this ticket is complete, we’ll have to run the InterProProtein source manually.

Updated 12/03/2018 09:37 2 Comments

WebIDL Binder: take Prefix into account when generating JavaScript


The ‘Prefix’ keyword only affects the generated C++ glue code. This leads to name collisions inside the WebIDL Binder when multiple inner classes or classes inside namespaces share the same name. Also the generated JavaScript glue code does not in any way take the prefix into account.

This is for example problematic when dealing with C++ code compiled from Cap’n Proto schemas. For each message type there will be a C++ class with an inner Reader and Builder class. These inner classes are the ones through which the reading and composition of Cap’n Proto messages is done. Getters for various types also return a Reader for that type. So pretty much every class for which we would want to generate glue code in this scenario will either be called ‘Reader’ or ‘Builder’. This causes the WebIDL Binder to complain of duplicate definitions, although they are actually distinct classes. Generated JavaScript also only uses the name ‘Reader’ or ‘Builder’ without any further qualification.

Would it be possible to have the WebIDL Binder take the Prefix into account, so that it would treat interfaces adorned with different Prefixes as distinct types and generate ‘fully qualified’ JavaScript names (by prepending the Prefix to the name for example)?

Updated 22/01/2018 21:11 7 Comments

Fork me on GitHub