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

Guess better file names for downloads

mozilla-mobile/focus-android

An issue that came up in Play reviews and in my own testing, file names from many different domains (Google Drive, Dropbox, etc) are guessed using URLUtil.guessFileName and are often “guessed” as long random strings of letters + numbers or something else not representative of the file. Would be good to investigate if there’s a better way to do this (and if so, replace where we guess the file name).

<img width=“282” alt=“screen shot 2017-08-17 at 10 16 51 am” src=“https://user-images.githubusercontent.com/25442310/29424681-82ac154c-8335-11e7-89f8-da9baa5f2f26.png”>

Updated 19/08/2017 03:17 1 Comments

Should apply lint for client codes.

lunchclass/absolute

There are too many lint errors in client side codes. To resolve this issue, we should fix all lint errors and then add lint_client task in gulpfile.babel.js.

/Users/zino/absolute/client/app.js 17:1 error Expected ‘single’ syntax before ‘none’ syntax sort-imports 18:1 error Imports should be sorted alphabetically sort-imports 18:8 error ‘Push’ is defined but never used no-unused-vars 19:18 error Member ‘MandatoryOption’ of the import declaration should be sorted alphabetically sort-imports 29:1 error Unexpected var, use let or const instead no-var 30:1 error Unexpected var, use let or const instead no-var 31:1 error Unexpected var, use let or const instead no-var 32:1 error Line 32 exceeds the maximum line length of 80 max-len 32:1 error Unexpected var, use let or const instead no-var

/Users/zino/absolute/client/service-worker-manager.js 2:41 error Missing semicolon semi 4:1 error Unexpected var, use let or const instead no-var 6:1 error Missing JSDoc comment require-jsdoc 28:54 error Unexpected space before function parentheses space-before-function-paren

/Users/zino/absolute/client/service-worker.js 3:1 error Unexpected var, use let or const instead no-var 17:52 error Unexpected space before function parentheses space-before-function-paren

/Users/zino/absolute/client/product/product.js 19:3 error Missing JSDoc for parameter ‘cost’ valid-jsdoc 19:3 error Duplicate JSDoc parameter ‘product’ valid-jsdoc 19:3 error Expected JSDoc for ‘name’ but found ‘product’ valid-jsdoc 24:14 error Unexpected space before function parentheses space-before-function-paren 32:11 error Unexpected space before function parentheses space-before-function-paren 39:11 error Unexpected space before function parentheses space-before-function-paren 48:3 error Duplicate JSDoc parameter ‘product’ valid-jsdoc 48:3 error Expected JSDoc for ‘product’ but found ‘base’ valid-jsdoc 48:3 error Expected JSDoc for ‘name’ but found ‘product’ valid-jsdoc 48:3 error Missing JSDoc for parameter ‘cost’ valid-jsdoc 54:14 error Unexpected space before function parentheses space-before-function-paren 62:11 error Unexpected space before function parentheses space-before-function-paren 69:11 error Unexpected space before function parentheses space-before-function-paren 78:3 error Duplicate JSDoc parameter ‘product’ valid-jsdoc 78:3 error Expected JSDoc for ‘product’ but found ‘base’ valid-jsdoc 78:3 error Expected JSDoc for ‘name’ but found ‘product’ valid-jsdoc 78:3 error Missing JSDoc for parameter ‘cost’ valid-jsdoc 84:14 error Unexpected space before function parentheses space-before-function-paren 91:11 error Unexpected space before function parentheses space-before-function-paren 98:11 error Unexpected space before function parentheses space-before-function-paren 107:3 error Duplicate JSDoc parameter ‘product’ valid-jsdoc 107:3 error Expected JSDoc for ‘product’ but found ‘base’ valid-jsdoc 107:3 error Expected JSDoc for ‘name’ but found ‘product’ valid-jsdoc 107:3 error Missing JSDoc for parameter ‘cost’ valid-jsdoc 113:14 error Unexpected space before function parentheses space-before-function-paren 120:11 error Unexpected space before function parentheses space-before-function-paren 127:11 error Unexpected space before function parentheses space-before-function-paren

/Users/zino/absolute/client/push/notification_manager.js 19:16 error Missing JSDoc comment require-jsdoc 28:3 error Missing JSDoc for parameter ‘event’ valid-jsdoc 39:36 error Expected parentheses around arrow function argument arrow-parens 43:22 error Missing trailing comma comma-dangle 49:3 error Missing JSDoc for parameter ‘event’ valid-jsdoc 56:3 error Missing JSDoc for parameter ‘event’ valid-jsdoc 62:23 error ‘clients’ is not defined no-undef

/Users/zino/absolute/client/push/push_key.js 3:1 error Line 3 exceeds the maximum line length of 80 max-len 3:107 error Missing trailing comma comma-dangle 4:4 error Missing trailing comma comma-dangle 5:2 error Newline required at end of file but not found eol-last 5:2 error Missing semicolon semi

/Users/zino/absolute/client/push/push_manager.js 19:16 error Missing JSDoc comment require-jsdoc 28:3 error Missing JSDoc for parameter ‘subscription’ valid-jsdoc

Updated 16/08/2017 19:00 1 Comments

Switch from accepts to fluent-langneg for language header parsing

mozilla-services/screenshots

We currently use the ‘accepts’ npm library to get an ordered list of user-preferred languages from a request.

The ‘fluent-langneg’ library just added an API in 0.0.3 to parse an accept-language header, a function called acceptedLanguages.

We should switch to dogfooding the new ‘fluent-langneg’ API.

I’m not sure the output will be the same in all cases, particularly the case of “Accept-Language: *”, so we’ll need to test that. Manual testing is fine; headers can be tweaked from FF devtools. Unit tests would be swell. Also note that an express request object is passed into accepts, while just the header should be passed into acceptedLanguages.

Updated 17/08/2017 15:47

Tweaks to the header

whatwg/html

I think the following would be nice slight improvements to the header:

  • Make “One-Page Version” first
  • Change the sub-text and link for “Multipage Version” to “/multipage” (I guess the link should be “/multipage/”)
  • Change the sub-text and link for “PDF Version” to “/print.pdf”
Updated 13/08/2017 07:34 3 Comments

Remove the CSS rules for quotes

Automattic/_s

These rules remove the default quotes set up by browsers. Most theme authors don’t add anything to style the q tag. I think these rules should be removed, so the browser defaults are used. At least the defaults handle nested quotes nicely. With these rules, no quotes at all!

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
}

blockquote,
q {
    quotes: "" "";
}
Updated 18/08/2017 19:29 4 Comments

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

meandavejustice/min-vid
  • 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 www.vimeo.com

  • 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

github package should respect tab width editor preferences

atom/github

Description

When viewing diff of a file, the github diff should respect atom settings for Tab Length or at least, use 4, which is the most common width.

Steps to Reproduce

  1. Edit a file and include a \t hard tab in the file.
  2. In Unstaged Changes, click on a changed file

Expected behavior: Observe that the diff view shows the hard tab as defined in Atom Editor preferences Tab Length or default to 2 or 4 characters. (Nobody really uses 8 characters)

Actual behavior: Observe that the diff view shows the hard tab as 8 characters.

Reproduces how often: 100%

Versions

atom --version: Atom : 1.18.0 Electron: 1.3.15 Chrome : 52.0.2743.82 Node : 6.5.0 apm --version: apm 1.18.1 npm 3.10.10 node 6.9.5 x64 python 2.7.12 git 2.7.4

Updated 09/08/2017 17:15

"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

meandavejustice/min-vid
  • 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 www.youtube.com).

  • 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

Add 'About Lightbeam' side panel

mozilla/lightbeam-we

We currently don’t have any in-application information for users to learn more about Lightbeam, how data in the app is used, Mozilla’s privacy policy, etc.

The legacy Lightbeam had a side panel slide out from the right when the user clicked an info icon on the top right corner of the screen.

screen shot 2017-08-08 at 9 04 29 am

Updated 09/08/2017 01:02

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

meandavejustice/min-vid
  • 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 www.youtube.com).

  • 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

ViewportDimensions gatherer should use built-in Promise.resolve

GoogleChrome/lighthouse

mac osx, lighthouse 2.3.0, chrome 62.0.3178.0 (Official Build) canary (64-bit), installed with npm install -g lighthouse and using chrome-debug to run canary

running with lighthouse URL --port PORT --disable-device-emulation --disable-network-throttling --view

port is the port I got from running chrome-debug.

here’s the relevant log:

[...]
  status Evaluating: Content is sized correctly for the viewport +0ms
  Runner:warn ViewportDimensions gatherer, required by audit content-width, encountered an error: Promise.resolve is not a function +1ms
  content-width:warn Caught exception: Required ViewportDimensions gatherer encountered an error: Promise.resolve is not a function +0ms
[...]
  status Evaluating: Offscreen images +14ms
  Runner:warn ViewportDimensions gatherer, required by audit offscreen-images, encountered an error: Promise.resolve is not a function +0ms
  offscreen-images:warn Caught exception: Required ViewportDimensions gatherer encountered an error: Promise.resolve is not a function +0ms
[...]
  status Evaluating: Properly size images +0ms
  Runner:warn ViewportDimensions gatherer, required by audit uses-responsive-images, encountered an error: Promise.resolve is not a function +0ms
  uses-responsive-images:warn Caught exception: Required ViewportDimensions gatherer encountered an error: Promise.resolve is not a function +0ms
[...]

audit failures

EDIT: to be clear, I ran the same test on the same page using the Lighthouse chrome extension, and I didn’t run into these errors (the audits returned information successfully)

Updated 07/08/2017 23:32 6 Comments

Lighthouse blocked urls ignored by WPT

GoogleChrome/lighthouse

Filling the same bug overhere as well: https://github.com/WPO-Foundation/webpagetest/issues/913

Lighthouse needs to have better support for setting blocked urls from the command line (currently intended for use through the node API only and isn’t very smooth, setting just one blocked URL breaks things for example)

Force yargs to always fallback to an array even it has one item.

Updated 07/08/2017 20:58

Make a 'first run' page

mozilla/lightbeam-we

The legacy Lightbeam has a ‘first run’ page the first time Firefox is run after installing Lightbeam. This helps to explain to the user what to expect and how to make the most of it.

This is a good idea that should be implemented in this updated version of Lightbeam.

Here’s the legacy add-on’s first run page as a reference:

lightbeam-first-ff-run

Updated 09/08/2017 01:04

Links must have discernible text

mozilla/send

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 16/08/2017 17:50

Bad value “true” for attribute “hidden” on element “div”

mozilla/send

via #139

line 75   col 1   Error  Bad value “true” for attribute “hidden” on element “div”.                                                                                                 html-checker
line 93   col 1   Error  Bad value “true” for attribute “hidden” on element “div”.                                                                                                 html-checker
line 106  col 1   Error  Bad value “true” for attribute “hidden” on element “div”.                                                                                                 html-checker

When fixing this, also make sure you search for Boolean instances of .attr("hidden", ...) in /frontend/src/*.js since we toggle the hidden attribute using jQuery as well. ❤️

Updated 16/08/2017 17:50 4 Comments

"defined in the auxclick specification"

whatwg/html

https://html.spec.whatwg.org/multipage/infrastructure.html#dependencies

The following features are defined in the auxclick specification:​ [AUXCLICK]

The auxclick spec has been folded into the UI Events spec and no longer exists independently. See https://w3c.github.io/uievents/#event-type-auxclick

Updated 03/08/2017 07:34

Misleading "Just launched" label

mozilla/testpilot

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=“https://user-images.githubusercontent.com/23885/28829916-f286ab9a-769a-11e7-9921-a8ebb5830184.png”>

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

Updated 07/08/2017 16:52 4 Comments

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

mozilla/testpilot

[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 https://testpilot.firefox.com 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 14/08/2017 02:18 1 Comments

Remove "abort these steps" wording

whatwg/html

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

or

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

Wizard is completely broken (no errors)

bvaughn/react-virtualized

When you visit the wizard I expected that checking the boxes would do something and I’d have an idea on which components to use for a full page, infinite scrolling, list of items with an unknown height.

This image shows that no matter what I do nothing changes. I checked the console and saw zero errors. I made sure all my content blockers were not affecting some possible data.json or similar that might have powered it and saw nothing was being blocked at all. 2017-07-31-react-virtualize-wizard-broken

Are you asking a question?

No

Are you reporting a bug or runtime error?

Yes. There were no errors

Are you making a feature request?

No.

Updated 01/08/2017 22:32 2 Comments

Improve the Save, Download & Cancel buttons for RTL

mozilla-services/screenshots

Current state: <img width=“515” alt=“current state” src=“https://user-images.githubusercontent.com/18016656/28755346-6adaa5d2-7561-11e7-8f69-58e8da24c18f.png”>

Desired state: <img width=“515” alt=“desired state” src=“https://user-images.githubusercontent.com/18016656/28755351-78283844-7561-11e7-9f61-f41efd4ea6c3.png”>

Changes made in the latter screenshot: 1. The buttons group was moved to the left side as is, underneath the frame (the order of the buttons is okay also in the current state) 2. The cloud icon within the “Save” button is located to the right of the button’s text

Updated 17/08/2017 18:24

Simplify InexorCore debugging experience

inexorgame/inexor-core

Currently we have a slight problem when trying to debug inexor-core (the C++-part): We must start inexor-core through our “launcher” (inexor-flex). Hence you need to: * build target “INSTALL” (to copy all shit from ./build/bin to ./bin) * start inexor-core through inexor-flex * attach-to-process in visual studio

What we want is:

You press the usual “Start” button and it automatically starts Inexor-Core in a debug session.

setting it up

The routine for setting up the debugger in visual studio after this issue is resolved will be: * Install flex globally (once) * Visual Studio: Set the startup project (once) * you need to do this for cmake projects otherwise it tries to start ALL_BUILD * Visual Studio: Set the debugging startup-parameter (once) for the to-be-debugged project * background: the only main arg inexor-core takes is a portnumber * inexor-core set ups a server to communicate with inexor-flex on that port * usual startup is: flex starts core, passing core a port as parameter for where flex expects a server to appear

Todo:

Core - [ ] create util/debugging.hpp and util/debugging.cpp * [ ] create function is_debugger_attached() * windows * unix * [ ] if inexor-core is started in the debugger (is_debugger_attached) * and we built in debug-mode (#ifdef DEBUG ..) * start inexor-flex inside inexor-core (in the main() function before the first metapp.initialize()) * .. go on as usual (wait on inexor-core side for flex now, .. startup .. loop..)

Flex * [ ] find a way to invoke flex globally from C++ code * [ ] find a way to tell flex to create a new instance globally from c++ code * (alternatively:) * [ ] add parameter to flex for the binary_folder * [ ] add a parameter to flex for the grpc port

This seems like a good first bug (the flex part needs a helping hand probably - ignore it)

Updated 09/08/2017 11:47 2 Comments

[style] use async/await

mozilla/send

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 = req.params.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) {
    res.status(404).render('notfound');
  }
});
Updated 09/08/2017 18:47 6 Comments

[Enhancement] The cursor should have a Ø symbol in order to better represent the invalid action

mozilla/send
  • Firefox 54.0 and up

  • All Windows

  • All Linux
  • All Mac

  • Open the browser and navigate to https://send.dev.mozaws.net/.

  • Select a text and drag it on the Drop area.
  • Observe the cursor.

  • The cursor is changed and shows a Ø symbol.

  • Nothing happens.

  • As it stands now, some users might not understand why dropping text (or links, images) does not work, because there is no feedback for them.

  • Here is a screen recording with the issue: change cursor for invalid actions
Updated 11/08/2017 12:04 4 Comments

Remove "onhide" from obsolete attributes

whatwg/html

As pointed out by @GPHemsley in IRC, we list

-label on menu elements - contextmenu on all elements - onshow on all elements - onhide on all elements

To implement a custom context menu, use script to handle the contextmenu event.

However, onhide never existed, as can be seen from the pull request that removed the context menu feature, https://github.com/whatwg/html/pull/2742. The first mention of it is in fact introduced there, erroneously.

We should remove this misleading reference to onhide as an obsolete attribute.

Updated 18/08/2017 16:47

Small clarity improvements to canvas transform methods

whatwg/html

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 https://drafts.fxtf.org/geometry/#matrix-multiply
  • 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

Use the inexor logo as a windows icon

inexorgame/inexor-core

The window of Inexor does currently not have an icon.

Notice: * we use cmake * the folders dist and cmake * we don’t have a native windows installer yet (less work for you!) [we have that for development]

We should * render the inexor logo to a windows .ico file * add an .rc file (reference the icon there) and add it to the inexor executables.

Updated 17/08/2017 21:03 11 Comments

Don't render empty experiment status messages

mozilla/testpilot

Found while doing view-source and throwing it through an HTML linter https://html5.validator.nu/.

Currently we have source like this:

<header>
  <div>
    <h3>{title}</h3>
    {subtitle && <h4 data-l10n-id={this.l10nId('subtitle')} className="subtitle">{subtitle}</h4>}
    <h4>{this.statusMsg()}</h4>
  </div>
  {this.renderFeedbackButton()}
</header>

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 24/07/2017 21:47

Find on page search shows the count next to search term

brave/browser-ios
  • Did you search for similar issues before submitting this one? Yes

  • Description: Find on page search shows the count next to search term

  • Device (iPhone5, iPhone6s plus, iPad 3, ?): iPhone 7+ (iOS 10.3.3)

  • Brave Version: 1.4 (17.07.12.19)

  • Steps to reproduce:

    1. Open any page
    2. Tap on the URL bar, tap on Find on the page
    3. Enter search term and tap on the up/down arrow
    4. The search count jumps next to the search term
    5. Subsequent search doesn’t repeat it
  • Actual Behavior Find on page search shows the count next to search term

  • Expected Behavior Should always show the search count next to the up/down arrow

  • Is this an issue with Beta build? Yes

  • Is this an issue in the currently released version? yes

  • Can this issue be consistently reproduced? Yes

  • Extra QA steps:

  • Website problems only:

  • did you check with Brave Shields down?
  • did you check in Puffin/Dolphin/iCab/Firefox (UIWebView-based browsers)?

  • Screenshot if needed: image

  • Any related issues:

Updated 27/07/2017 20:23 1 Comments

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

facebook/react-devtools

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 19/07/2017 12:48 3 Comments

Connection to port 8097 fails, failed to send WebSocket frame

facebook/react-devtools

When I run react-devtools, it seems to have trouble connecting as it keeps changing from “Waiting for React to connect…” to “Connecting to React…” and back. The connection message typically flips back pretty quickly, and then throws this error to the console:

WebSocket connection to ‘ws://localhost:8097/’ failed: Failed to send WebSocket frame.

It will go through this loop quite a few times (sometimes up to 60, sometimes just a few times) before successfully establishing a connection. If I use the Chrome extension, that works fine, but this standalone shell seems to have trouble connecting when I try to debug on Safari. Any help is definitely appreciated, let me know if I can provide more info.

System details: macOS 10.12.5 react-devtools@2.5.0 Safari 10.1.1

Index.html: <!doctype html> <html lang="en"> <head> <script src="http://192.168.39.243:8097"></script> Changing the script to <script src="http://localhost:8097"></script> has no impact on the issue.

Updated 13/07/2017 15:41 3 Comments

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

KleeGroup/focus-components

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.

Versions

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)

meandavejustice/min-vid

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

Flow type components

devtools-html/perf.html

It would be great to get more flow coverage over our components. Here’s a list of components that don’t have Flow in them. The docs for flow are pretty great. This would be great to tag team. If you want to grab a component comment below and we’ll assign it to you. If you have any questions hit us up on Slack in the #perf or in this issue.

  • /components

    • /components/app

      • [x] Initializing.js (taken by @piq9117)
      • [ ] ProfileFilterNavigator.js (taken by @DanielNill)
      • [ ] ProfileSharing.js (taken by @DanielNill)
      • [x] TabBar.js (taken by @derekm)
    • /components/calltree

      • [x] FilterNavigatorBar.js (taken by @brisad)
      • [x] ProfileCallTreeFilterNavigator.js (taken by @brisad)
      • [x] ProfileCallTreeView.js (taken by @brisad)
    • /components/header

      • [x] OverflowEdgeIndicator.js (taken by @brisad)
      • [x] ProfileThreadJankOverview.js (taken by @brisad)
      • [x] ProfileThreadTracingMarkerOverview.js (taken by @brisad)
      • [x] SelectionScrubberOverlay.js (taken by @brisad)
      • [x] ThreadMarkerOverlay.js (taken by @brisad)
      • [ ] ThreadStackGraph.js (taken by @gregtatum)
      • [ ] TimeRuler.js
      • [ ] TimeSelectionScrubber.js
    • /components/log

      • [x] ProfileLogView.js (taken by @piq9117)
    • /components/markers

      • [ ] ProfileMarkersView.js (taken by @piq9117)
    • /components/shared

      • [ ] ArrowPanel.js
      • [ ] ButtonWithPanel.js
      • [x] Draggable.js
      • [ ] StyleDef.js
      • [ ] VirtualList.js
      • [ ] WithSize.js
    • /components/summary

      • [ ] ProfileSummaryView.js
      • [ ] SummarizeLineGraph.js (taken by @derekm)
      • [ ] SummarizeProfileExpand.js (taken by @derekm)
      • [ ] SummarizeProfileHeader.js
      • [ ] SummarizeProfileThread.js
    • /components/tasktracer

      • [ ] ProfileTaskTracerView.js
Updated 25/07/2017 15:54 25 Comments

[minor] Dialog title mismatch for Preferences/Settings

aperezdc/revolt

Steps to reproduce:

  • Open Revolt in GNOME
  • Click on application name to get action dropdown
  • Select “Preferences”

What should happen:

  • “Preferences” dialog opens

What happens instead:

  • Action dropdown appears, lists “Preferences” (correct)
  • Dialog opens (correct)
  • Dialog title is “Settings” not “Preferences”

Notes:

Probably best to change dialog title to “Preferences”, rather than change the dropdown item to “Settings”: * “Preferences” is the typical name in GNOME apps (as far as I know, let me know if I should look for HIG citation) * helps distinguish Revolt “Preferences” from “Riot Settings”

Updated 04/07/2017 14:23 1 Comments

[feature] Option to disable status icon

aperezdc/revolt

User story: I am an everyday GNOME user, I am used to apps that follow the GNOME HIG. When I start an application I do not want a legacy status icon, as this is redundant and confusing.

Suggested solution: In Revolt Preferences dialog, add a “Use status icon” checkbox. If checked (default), the status icon appears. If unchecked, the status icon does not appear. Notifications work as normal either way.

(I suggest the option be checked by default as it seems that a status icon is the expectation of the majority of users, including GNOME power users who are patiently waiting for better notifications in GNOME as described in #41 )

Notes: * This is an attempt to make a concrete suggestion to address the GNOME HIG issue discussed in #41 without compromising UX for other users.

Updated 04/07/2017 12:30

Choose one style of interacting with GTK+ widget instance attributes and refactor code accordingly

projecthamster/hamster-gtk

GTK+ allows for various ways to interact with instance attributes. We should pick one for consistency and refactor the codebase accordingly. This should also be added to the docs and styleguide.

The GTK+ project does not seem to have a recomendation about which style to use. The following is from #gnome-hackers @ freenode (2017-06-30)

(14:41:29) elbenfreund: there :) I am a bit unsure about current GTK+ best practices interacting with widget instance attributes. I know about *.props.ATTRIBUTE as well as the corresponding setter methods (see also https://stackoverflow.com/questions/15180320/editing-gtkwidget-attributes-properties) (14:41:35) muelli hat den Raum verlassen (quit: Ping timeout: 182 seconds). (14:42:32) elbenfreund: what I am not clear about is what is the recommended thing to use when both are present. (14:42:48) ebassi: elbenfreund: Whichever makes more sense in the code base you’re working on (14:43:17) ebassi: props.foo will call g_object_set_property(), which will likely cally set_foo() (14:43:42) ebassi: Which one you use is entirely up to your taste (14:43:53) elbenfreund: my usecase is a fresh codebase that has the luxury of trying to establish best practices from the get go :) (14:44:13) ebassi: Then you get to pick one :-)

Updated 30/06/2017 14:17 2 Comments

View Push/Pull operations output

atom/github

First of all, great work this plugin works very well! I just have one small comment that would be very useful: I would like to see the output of the push and pull operations, to see which files were changed (specially on the pull). This might be something that already exists and I missed, if that’s the case, please let me know.

Updated 02/07/2017 11:28

A few HTML and accessibility/usability errors on send.firefox.com

mozilla/send

Ref: https://github.com/mozilla/send/issues/139#issuecomment-320333492

  • [ ] 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
  • [ ] Elements must have sufficient color contrast #443
Updated 11/08/2017 18:09 3 Comments

Possible Viewer 2.0 Improvements

GoogleChrome/lighthouse
  • Reduce asset sizes:

    • [ ] Minify or dedupe report renderer js, css, and templates (included twice, for report rendering but also in a browserified bundle of ReportGenerator for html saving). Minifying just the JS before inlining would save about 75KB in viewer and lighthouse-background.

      This could either use the assets already in the page (but we’d need a non-awkward/maintainable way to do so) so they only appear once, or we could replace brfs with a transform that minifies the JS/CSS/HTML before inlining it as a string (this approach would also fix #2014)

    • [ ] Resize lh_logo_bg.png closer to the size it appears on screen (formerly ~#1569~)
    • [ ] Minify in-page CSS (formerly ~#1552~)
  • [ ] Experiment with versioned viewer/report scripts so old JSON results can still be loaded in viewer. May be less of a priority since we want to maintain some level of backwards compatibility so that DevTools can load old JSON reports.

    Could do this with a script that checks the version and redirects to a specific URL per LH version (easy), or could split viewer and report into separate bundles and load the right report bundle based on json version (harder).

  • [ ] PWAify Viewer

  • [ ] Switch Viewer to use event-based ga and logging, like report does.

  • [ ] Explore CSP options (for extension and HTML report, as well)

  • [ ] Verify that report is actually isolated to its container so that when the container is cleared the report is actually cleared. It’s likely that event listeners, references, etc remain every time a new report is loaded.

  • [ ] Viewer could easily be added to the report compile step since they’re designed to be loaded in the page at the same time. Would need to write idbKeyval and firebase externs.

Updated 24/06/2017 01:14

Media audit: check that every media source element has a valid type attribute

GoogleChrome/lighthouse

Every audio and video source element should have a valid type attribute.

The type attribute allows the browser to select a media source without downloading media to test if the format is supported. To see this in action, compare network activity for simpl.info/video/noautoplay with simpl.info/video/notype.

To test, check that every source element for every video or audio element on a page has a valid type attribute.

Updated 29/06/2017 15:42

Video audit: check for excessive dropped frames

GoogleChrome/lighthouse

If a page includes a video element, video should be played back without missing out frames.

For a video element, webkitDroppedFrameCount measures the number of frames that have been decoded by not displayed. This should generally be zero.

To test, play a video served on the page and check webkitDroppedFrameCount after (say) 10 seconds.

Advice: warn if non-zero and suggest that the resolution should be lowered and a codec should be provided that can be hardware-decoded.

Updated 29/06/2017 15:43

Media audit: check that server supports range requests

GoogleChrome/lighthouse

Range requests are required for smooth media playback performance and scrubbing. Range requests are supported by default by most servers, but there may be misconfiguration (e.g. by a hosting service) that means they’re turned off.

If a page has an audio or video element, check that range requests are supported by the server serving the media.

To test, make a head request for a media resource loaded by a media element on the page, then check that the response headers include Accept-Ranges: bytes (and not Accept-Ranges: none).

Updated 29/06/2017 15:44

Primary color on a tag in panel title

FezVrasta/bootstrap-material-design

Test Case

CodePen: https://codepen.io/erfansahaf/pen/YQQGxL

Summary

There is a problem with panels title. I used a hyperlink in the colored panel title (Info, Success, Danger, Warning, Primary) but it has Primary color on hover/focus that makes it unpleasant and hard to read.

Expected result

Have white or gray color in hover/focus mode.

Updated 26/06/2017 10:00

Regressions with conf.py and error reporting

rtfd/readthedocs.org

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

Additionally, when we aren’t finding a conf.py, 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

DOM "insertion steps"

whatwg/html

https://html.spec.whatwg.org/#dom-trees

A node A is inserted into a node B when the insertion steps are invoked with

Per https://dom.spec.whatwg.org/#concept-node-insert-ext , “insertion steps” are supposed to be algorithms, but the HTML spec does not define any explicit insertion steps algorithm(s). It just says “A \<conceptual event> [occurs] when the insertion steps are invoked with \<conditions>” a few times, with which set of insertion steps “the insertion steps” refers to being unclear.

I would instead expect something more like:

For all nodes, the insertion steps, given a node node, are to run \<good algo name here> for node.

To \<good algo name here>, given a node node, run these steps: 1. If \<conditions>, then […] 2. Etc…

Updated 28/06/2017 13:47 4 Comments

Add a loader during pre-commit hook process

atom/github

Hello

Could you add some loader for pre-commit hooks? When I commit my changes I have a hook that takes a time to be done, and there’s no way in current interface to understand that something is happening now. Of course, after the hook is done the commit text and staged files are gone, and it’s clear that I can commit, but in my opinion loader will be very clear and user-friendly feature)

P.S. This feature is awesome, thank you

Updated 20/06/2017 17:16 1 Comments

[YouTube] Add support for youtu.be links

meandavejustice/min-vid
  • 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

[YouTube] Playlists from the Related section do not have an overlay option

meandavejustice/min-vid
  • 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 the browser with the profile from prerequisites and navigate to a www.youtube.com.

  • Click on a video.
  • Search the related videos section for a playlist thumbnail and hover it.
  • Observe the playlist thumbnail.

  • The Min Vid overlay appears.

  • The Min Vid does not appear.

  • Both context menu options exist and work as expected.

  • Attached a screen recording of the issue: overlay on related playlists
Updated 16/06/2017 19:28 1 Comments

Add "checkout" command to checkout new and existing branches

atom/github

Currently there are no registered commands for checking out new and existing branches. Although the status bar tile is a pretty easy way to check out different branches, it would be nice to perform the same actions in Atom without leaving the keyboard.

I noticed there are already callback functions for checking out and creating new branches in the branch menu view, so it seems possible to register commands that use those existing callback functions (or something similar).

Updated 20/06/2017 17:17 2 Comments

False positive blocking scripts

GoogleChrome/lighthouse

Scripts loaded after the main load event are considered as blocking if they are prefetched in the head.

It is exemplified in this gist, where in the document’s head a html <link as="script" src="/main.js" rel="preload"> tag is present and at the end of the body the preloaded script is added by javascript document.createElement('script') script.src = '/main.js' document.head.appendChild(script)

(Opened after https://github.com/google/WebFundamentals/issues/4694)

Updated 15/06/2017 23:09 5 Comments

format the entire codebase

inexorgame/inexor-core

we have a little problem with inconsistent formatting through the codebase. E.g. spaces are mixed with tabs, sometimes new code accidentally used void functionname { instead of void functionname {

a clang format file should be created to be used for automatic formatting of the codebase. Sadly, https://github.com/inexor-game/code/wiki/Coding-Standards has very little information as a base for that as yet.

So anyone doing this, would need to make the decision for each bullet point in that config file by reading through some old code (best is to base the decisions mostly on the legacy codebase in e.g. inexor/fpsgame or inexor/engine).

But maybe thats a good way to get in first touch with the code?

Updated 19/07/2017 16:01 6 Comments

Feature Request: option to print deposit comments on deposit summary

ChurchCRM/CRM

Printing deposit summary

Collected Value Title Data
Page Name /SystemSettings.php
Screen Size 900x1440
Window Size 799x926
Page Size 1100x1156
Platform Information Linux oin 3.2.61-grsec-modsign #1 SMP Tue Aug 12 09:58:26 UTC 2014 x86_64
PHP Version 5.6.29
ChurchCRM Version 2.6.3
Reporting Browser Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Prerequisite Status Missing Prerequisites: [“PHP 7.0+”,“PHP Phar”,“Mod Rewrite”,“FileInfo Extension for image manipulation”]
Integrity check status
Updated 14/07/2017 20:38

Add QR code to Publish Dialog.

mozilla/thimble.mozilla.org

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:

  • https://thimbleprojects.org/jimholgate/286159/

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 05/08/2017 05:57 11 Comments

Refactor keyboard selection code to be unit-testable

facebook/react-devtools

The skipWrapper and getNewSelection functions have been extremely prone to mistakes. See https://github.com/facebook/react-devtools/pull/781 and https://github.com/facebook/react-devtools/pull/788.

This is partly because they need to account for nested Wrapper components (such as the case with arrays in React Fiber).

We need to figure out a way to make them unit-testable, and actually write a regression suite ensuring keyboard navigation works in all directions from different points of the tree. I’m not sure how to approach it—you’d need to figure out the best way to do it.

Updated 09/06/2017 19:31

[query] Add type-hinting functions

mozilla/mentat

It would be convenient to have a way to constrain the types of variables explicitly:

[:find ?x :where
 [(uuid ?v)]
 [?x _ ?v]]

This hinting/constraining would be useful for queries like the above — find all entities associated with any UUID — but also allows for ground (and potentially other functions) to accept ambiguous EDN input. We don’t have a good way right now to distinguish between 10 the Long and 10 the entid.

These functions are very straightforward to implement.

Updated 16/06/2017 19:17 1 Comments

generate html API docs for artifacts, driver, etc

GoogleChrome/lighthouse

generated API docs could be very helpful, preventing the need to dive into multiple gatherers just to see what they provide in their artifacts, for instance. Ideally these would be generated from source with a single npm command.

  • It may not be necessary (or even helpful) to have html docs for everything, but docs for key pieces would aid those developing Lighthouse core and/or their own extensions of it. Driver, the artifacts returned by all the core gatherers, and maybe things like the Audit and Gatherer base classes would be a great first start. OTOH, things like GatherRunner may not be helpful to many (but it does have that sweet execution outline)

  • One issue is that the existing jsdoc declarations are a little spread out and not always complete. Driver is more or less documented in place, but the artifacts returned by gatherers often aren’t, and instead you’d have to look to the closure externs for those types. Hopefully efforts to document all of this will help suggest how to better document the different parts of our architecture in a way that’s maintainable and stays current.

  • It’s not clear how the docs should be laid out. It probably makes sense to do more of a logical grouping than one based on file location…e.g. you don’t want to have to navigate to 20 different pages to see all the different artifact types, but Driver should probably be a page on its own. Again we want something maintainable, but also something that humans will be able to easily browse.

Updated 07/06/2017 22:24 2 Comments

Can't edit fontWeight in RN Style Editor

facebook/react-devtools

Here’s the current value:

<img width=“183” alt=“screen shot 2017-06-06 at 3 59 17 pm” src=“https://cloud.githubusercontent.com/assets/810438/26835879/309e6cf6-4ad1-11e7-93f8-9a6324f660ea.png”>

If I try to set it to 200 I get this: <img width=“308” alt=“screen shot 2017-06-06 at 3 59 22 pm” src=“https://cloud.githubusercontent.com/assets/810438/26835885/3c620746-4ad1-11e7-83ae-f9763725dc84.png”>

If I try to set it to string '200' I get this instead: <img width=“313” alt=“screen shot 2017-06-06 at 3 59 35 pm” src=“https://user-images.githubusercontent.com/810438/26835893-43dfe8bc-4ad1-11e7-84f7-a7416d782ebc.png”>

How do we fix it?

Updated 06/06/2017 15:00

Fork me on GitHub