Summary: It's handy to copy images URI to paste it in other tools
Reviewed By: mweststrate
Differential Revision: D20221861
fbshipit-source-id: 09074b434d5c1277bb83daa7846b885717c5ee8d
Summary:
Adds a visual indicator of layout nodes when using an archived device.
The "device" window isn't movable for some reason. I've tried the movable and draggable attributes but with no luck. It would obviously be good to fix that but I think its probably shippable as is, and I don't have any more ideas about how to do it.
Reviewed By: passy
Differential Revision: D19885719
fbshipit-source-id: 186ba38c85afee18ce111e30187bdccd9b919025
Summary: Fixed a bunch of key errors in the network plugin, when a plugin is selected
Reviewed By: passy
Differential Revision: D19980275
fbshipit-source-id: 0ae61ed3b655c03d11c848d3502f455a409dcdcf
Summary:
This issue fixes a bunch of performance issues:
* The introduction of a context menu around every _row_ in D18808544 breaks the internal contract between lists and rows that react-window has, causing empty element to appear during scrolling, and some optimizations not working. Fixed by wrapping the context menu at the right level
* Every time a new row is created for the listview, it gets fresh event handlers and column configurations. THis has been fixed by precomputing the column configuration and avoiding the need to close over the row data in the event handlers
* Added some stricter immutable typings to make sure we don't break the immutable contract somewhere
* Fix the introduction of on the fly styling generation, which isn't needed
Reviewed By: passy
Differential Revision: D19853595
fbshipit-source-id: dc82b6586889f4e8c7a437cfdc27a50dc33ba2a2
Summary:
This diff turns the DevTools plugin from a normal plugin in a device plugin. The reason for that can be seen at the end of the test plan in the first stack of this diff: Regardless on which client you open the devtools, you are always looking at the react tree of the app that happens to listen at the appropriate port, unrelated to the actively selected app. This diff moves the plugin from being a client plugin to a device plugin, a Metro device plugin to be precisely, as of the latter there is only one and they should typically correspond (which is why we can trigger reload as done in the previous diff)
Currently we have a Flipper plugin inside the iOS / Android apps with one purpose: to select different ports to listen to on different devices. But this functionality was never implemented, nor seems there to be much demand for. So these plugin don't offer any actual value. The widely used standalone version of the react devtools (https://www.npmjs.com/package/react-devtools) doesn't offer port customization either, so this limitation seems to be acceptable.
To make sure that this change is backward compatible, we make sure to show the metro device if we find metro, regardless whether it is new enough to support log forwarding and reload commands (previously we only showed the device if it has the /events endpoint).
The only case I can think of we are killing with this approach is where people are debugging a RN app, but with having metro running. I doubt that is an actual case, but probably rickhanlonii knows more about that.
Furthermore this diff makes sure that the devTools can connect to physical android devices. Also, making it to the end of this explanation means that you have done most of the reviewing for this diff. The actual code diff is shorter.
Reviewed By: passy
Differential Revision: D19878605
fbshipit-source-id: 3f33e59d4f6e4cce39102420f38afee10018999f
Summary:
To connect to the React Devtools, the app has to be reload (or the dev menu opened).
This diff does force a reload if the React Devtools don't connect timely
Reviewed By: passy
Differential Revision: D19878172
fbshipit-source-id: 0b3e22f70c9d24dae1fdbf0cc351d23367654ae1
Summary: In many cases the React DevTools fail to show up for RN. usually that is because the app didn't enter devMode yet. This diff adds the necessary logic to query the state of the DevTools and communicate back the current connection status
Reviewed By: passy
Differential Revision: D19878127
fbshipit-source-id: f5c3f5a92b23c87c87d778a468122210325eed17
Summary:
The Metro control buttons are now in the titlebar. This has a few benefits:
- the buttons are accessible if you are inspecting other metro plugins
- the buttons are even usuable if you selected an app on the actual device. This should help with reducing the cognitive dissonance of having apps both as 'android' app and metro device
- killed the Metro plugin again :)
Reviewed By: nikoant
Differential Revision: D19789455
fbshipit-source-id: 476fd0af1d3fc7b51a33f1af6d3fc3578aeeefae
Summary: Show metro logs using the standard logs plugin
Reviewed By: passy
Differential Revision: D19697439
fbshipit-source-id: 032a9a6aa2d987945d2058e0ea494d74e5aa310e
Summary: Introduced Metro device and the possibility to directly connect to running Metro instances
Reviewed By: jknoxville
Differential Revision: D19445623
fbshipit-source-id: 31978d966a56007c48f795076d6651e23de0e38d
Summary:
In order to link to this plugin multiple times, we want to be able to clear the existing search term on entry.
This change adds a check to the `componentDidMount` section of `Searchable` to see if we want to update the existing search term from the saved state, or use the one inherited from props.
We call it from the Network tab depending on if an explicit default search term has been set, so normal navigation to and from the plugin still preserves the default behavior -- only when we enter from a `selectPlugin` call does this overwrite the existing term.
Reviewed By: mweststrate
Differential Revision: D19794860
fbshipit-source-id: 4a2b1221acc0732ffc321a16a5eee8348da019f5
Summary: In order to select IDs in a different manner, I am introducing functionality to the Network plugin to allow it to accept more than just IDs that it has assigned, and add the ability to select this plugin with a default search term. I hope to use this to allow for selecting rows by request name.
Reviewed By: mweststrate
Differential Revision: D19702494
fbshipit-source-id: 58ea397fa30eb7d80e9640a4c92905de22bb27d4
Summary:
The structure of the page is:
```
<FlexColumn>
<Toolbar />
<Content />
<Toolbar />
</FelxColumn>
```
When Content is a FlexColumn, it doesn't play well with the others and uses all the space, to you don't see the bottom toolbar.
Changing it to a FlexRow fixes this. Also added an inner FlexColumn to make sure the behaviour for things inside Content isn't changed (flex-direction needs to be column in there).
Reviewed By: nikoant
Differential Revision: D19766120
fbshipit-source-id: 2872561bbc954db0d4dc3d7040f60c3eec6e3ff2
Summary:
Getting the error
```
$ /mnt/btrfs/trunk-hg-fb4a-fbsource-86184178-1580774714/xplat/sonar/node_modules/.bin/tsc --noemit
src/plugins/network/index.tsx(180,59): error TS2349: This expression is not callable.
Type 'Number' has no call signatures.
error Command failed with exit code 1.
```
EDIT: This error was a red herring from another commit I was based on. Either way, `Number` is discouraged by the Typescript standard (https://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html), so let's move these to `number` instead.
Reviewed By: mweststrate
Differential Revision: D19712113
fbshipit-source-id: b754780063a1c429724abcd343da06514671bc83
Summary: Update the deps as proposed by greenkeeper, to check if they indeed break the build
Reviewed By: passy
Differential Revision: D19620346
fbshipit-source-id: 9e273012373f7091180d90c368a8193572b7155a
Summary:
Having a key shortcut to execute the query you're typing helps to speed up the edit-run cycle.
## Changelog
In the database SQL execution tab, you can now execute queries with Ctrl+Return instead of pressing the 'Execute' button.
Pull Request resolved: https://github.com/facebook/flipper/pull/761
Test Plan:
I typed a query into the textarea, and while it was focussed, press Ctrl+Return, and the query executed.
Mousing over the 'Execute' button displays a tooltip informing you of this keyboard shortcut.

Reviewed By: mweststrate
Differential Revision: D19578527
Pulled By: passy
fbshipit-source-id: be131e44e293caa578d48e324fc43b457edb1e4e
Summary: The navigation plugin threw exceptions, as the defaultPersisted state was not mixed into the already stored state, making some fields unreadable
Reviewed By: jknoxville
Differential Revision: D19554291
fbshipit-source-id: 57f045aa1eae10682e44d479b9aecb51f0391b9e
Summary:
on databases section, queries marked as "favorite", are not persisted. With this changes, they will be saved at localStorage and persist from refresh.
Improves on parse json values from databases.
## Changelog
Pull Request resolved: https://github.com/facebook/flipper/pull/738
Reviewed By: mweststrate
Differential Revision: D19330218
Pulled By: passy
fbshipit-source-id: 673b2d0bbee9b3ef4544defaca0e3c5547a992a2
Summary:
## The devDependency [jsdom](https://github.com/jsdom/jsdom) was updated from `15.2.1` to `16.0.1`.
This version is **not covered** by your **current version range**.
If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.
---
**Publisher:** [domenic](https://www.npmjs.com/~domenic)
**License:** MIT
<details>
<summary>Release Notes for Version 16.0.1</summary>
<ul>
<li>Fixed Node v10 and v11 support when <code>runScripts</code> was set.</li>
<li>Fixed the behavior when changing an <code><input></code>'s <code>type=""</code> attribute.</li>
<li>Fixed input validation behavior for <code><input type="range"></code> when <code>max=""</code> is less than <code>min=""</code>.</li>
</ul>
</details>
<details>
<summary>Commits</summary>
<p>The new version differs by 52 commits.</p>
<ul>
<li><a href="afc85c80df"><code>afc85c8</code></a> <code>Version 16.0.1</code></li>
<li><a href="6472db466a"><code>6472db4</code></a> <code>Fix Node v10 and Node v11 support</code></li>
<li><a href="16c9856649"><code>16c9856</code></a> <code>Improved "expected fail" messages for web platform tests</code></li>
<li><a href="e2dbad8183"><code>e2dbad8</code></a> <code>Add support for reverse range validation</code></li>
<li><a href="94b40d3ebf"><code>94b40d3</code></a> <code>Implement type state switch logic</code></li>
<li><a href="c292572cd7"><code>c292572</code></a> <code>Add comment about radio button activation muddiness</code></li>
<li><a href="52109d5b23"><code>52109d5</code></a> <code>Clean up typeMismatch constraint validation</code></li>
<li><a href="4a374e5b99"><code>4a374e5</code></a> <code>Clean up _defaultStepBase in </code></li>
<li><a href="92e9adbf41"><code>92e9adb</code></a> <code>Consistently use ._value for constraint validation</code></li>
<li><a href="11664cabd4"><code>11664ca</code></a> <code>More consistent applicability checking for attributes</code></li>
<li><a href="b097c0a000"><code>b097c0a</code></a> <code>Roll Web Platform Tests</code></li>
<li><a href="d240291edb"><code>d240291</code></a> <code>Remove unnecessary dependencies</code></li>
<li><a href="902b69e15a"><code>902b69e</code></a> <code>Version 16.0.0</code></li>
<li><a href="020539ed3f"><code>020539e</code></a> <code>Remove document.origin and add window.origin</code></li>
<li><a href="678141f58e"><code>678141f</code></a> <code>Use mutability as a measure for valueMissing constraint</code></li>
</ul>
<p>There are 52 commits in total.</p>
<p>See the <a href="c3f0f2756b...afc85c80df">full diff</a></p>
</details>
---
<details>
<summary>FAQ and help</summary>
There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>
---
Your [Greenkeeper](https://greenkeeper.io) bot 🌴
Pull Request resolved: https://github.com/facebook/flipper/pull/753
Reviewed By: nikoant
Differential Revision: D19469099
Pulled By: passy
fbshipit-source-id: 78de63ebb15843b27818dcbcbbe78ce5d5964ae9
Summary:
This diff is part of the bigger task T60496135
This diff is based on D18706643, extracting only the react native module parts
It implements the entire Android client api for JavaScript, so that there is feature parity. However this implementation is happy path only, and edge cases will be handled in separate diffs
Reviewed By: jknoxville
Differential Revision: D19310265
fbshipit-source-id: 589716fe059952bdde98df84ed250c5c6feaa118
Summary:
Firefox client is no longer maintained. This is the last official version we can use.
Pull Request resolved: https://github.com/facebook/flipper/pull/743
Test Plan: Greenkeeper.
Reviewed By: mweststrate
Differential Revision: D19390048
Pulled By: passy
fbshipit-source-id: cf37e69bc650d932db102545ccbc41c28beed96a
Summary: This allows `adb b2g-info` command to get more detailed data and not just the amount of free memory
Reviewed By: jknoxville
Differential Revision: D19348298
fbshipit-source-id: ecb705c328c53f2d8c643496f0ed4204a31a745e
Summary: This slows down the phone less. In the future, it'd be nice to get timestamp on X axis.
Reviewed By: passy
Differential Revision: D19097154
fbshipit-source-id: e145f1b911dec368a6bb7de32790d6280c696eda
Summary:
This is what I wanted to have the functional component for. This makes it super easy to keep track of the sections we've loaded and then make a side-effecting logging call "on mount" to keep track of the impressions different sidebar extensions get.
This should also save some CPU cycles when calculating what to show in the sidebar. Not sure how meaningful that is, though.
Reviewed By: jknoxville
Differential Revision: D19331682
fbshipit-source-id: 44f83006634f50d8f7437286b8915b63f9c47d40
Summary: Refactoring a bit to make a change easier.
Reviewed By: jknoxville
Differential Revision: D19330542
fbshipit-source-id: 5926b110d04d73e109ea287cacd4e120ea8c9986
Summary:
File watcher gives deletion events as well, so this is needed to avoid
attempting to read nonexistent files.
We're getting ENOENT errors from this code, and I suspect this is the reason.
Reviewed By: nikoant
Differential Revision: D19329894
fbshipit-source-id: 46734ea17874e1448d67cc086b363e0abdf07258
Summary:
## The dependency [deep-equal](https://github.com/inspect-js/node-deep-equal) was updated from `1.1.1` to `2.0.1`.
This version is **not covered** by your **current version range**.
If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.
---
**Publisher:** [ljharb](https://www.npmjs.com/~ljharb)
**License:** MIT
[Find out more about this release](https://github.com/inspect-js/node-deep-equal).
---
<details>
<summary>FAQ and help</summary>
There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>
---
Your [Greenkeeper](https://greenkeeper.io) bot 🌴
Pull Request resolved: https://github.com/facebook/flipper/pull/706
Reviewed By: mweststrate
Differential Revision: D19141026
Pulled By: cekkaewnumchai
fbshipit-source-id: e89050bf9e83f072a03f79e9b7772269be6efb9d
Summary: Replacing this with promisify-child-process, which is better.
Reviewed By: mweststrate
Differential Revision: D18954702
fbshipit-source-id: 2dad756a2cd4dd21b2efc8b1780d589607d6ff05
Summary: React 16 is not compatible with react-emotion 9 (it prints warnings, see also https://github.com/emotion-js/emotion/issues/644). So we should upgrade to 10.
Reviewed By: mweststrate
Differential Revision: D18905889
fbshipit-source-id: c00d2dbbadb1c08544632cb9bfcd63f2b1818a25
Summary: Performed with `react-codemod rename-unsafe-lifecycles`. I'll taskify the components next. This change means that things will still work with React 17 but only if we opt-out from "strict mode".
Reviewed By: mweststrate
Differential Revision: D18810459
fbshipit-source-id: 6954f4e7bb91dbd7fc8b839895308fc193cc4aa0
Summary: This diff fixes the issue with occasionally not workin search by response body in Network plugin
Reviewed By: mweststrate
Differential Revision: D18784394
fbshipit-source-id: 5927919d919625e214fddd1a8b32522694b714ec
Summary: See D18783129, we now want to always link to the new form
Reviewed By: passy
Differential Revision: D18807766
fbshipit-source-id: 2389470b12dc36159cab5d61dbb67dfb56c2408f
Summary:
Some lifecycle methods are deprecated now. Where they can be replaced easily I replaced them. Where they can't be updated easily I marked them as unsafe, as if a bigger refactoring is required for those components, we'd better convert them to function components instead.
Didn't update the plugins as they are ideally updated by their owners.
Didn't update styled components, there is a separate task for that.
Reviewed By: jknoxville
Differential Revision: D18780579
fbshipit-source-id: 132a3789875ab6a3caee582b0e5f7feb7dc4a4c1
Summary: All subfolders of src/plugins/ need to have a title in their package.json, in this case it doesn't add anything but it's a rare case, so at least stops the linter from complaining.
Reviewed By: mweststrate
Differential Revision: D18764161
fbshipit-source-id: 7a3d7e3dba7633107d9e43c021986ecdf22d3c28
Summary: This diff refactors the `exportpersistedstate` and few of the functions in exportData.tsx to just expect the Redux State instead the store object.
Reviewed By: mweststrate
Differential Revision: D18733011
fbshipit-source-id: 56739917b49142ba4b6e79e7c16378fe60d6ac3b
Summary:
It's camelCase for props in JS.
Would be good to have a linter for this in place.
Pull Request resolved: https://github.com/facebook/flipper/pull/646
Test Plan: yarn flow
Reviewed By: jknoxville
Differential Revision: D18613822
Pulled By: passy
fbshipit-source-id: 9cf03b2a02c7802853edb15cbde8df998df5deb2