Summary: Gave every device an icon, and use it as fallback in case we don't have a client icon. Added an icon for the Flipper client. This gets (largely) rid of the 'blank' icons
Reviewed By: fabiomassimo
Differential Revision: D26691054
fbshipit-source-id: d83012e755ae5edb230747e88f9b2eac45450b19
Summary:
- populate the state
- will render some UI that you can reload
- next up showing the diff number and title
Differential Revision: D26477472
fbshipit-source-id: d5c5175771c324c9f893a6b6c6a14a40a2f0f0fe
Summary: let's make it easier for users to spot possiblity to jump to source code from flipper
Reviewed By: priteshrnandgaonkar
Differential Revision: D26147686
fbshipit-source-id: 6e248c10e73f3b8fcd937d915af6e91db1fe6abe
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1816
Now that Sandy is the default in OSS builds as well, we can remove the temporarily title bar and switch to small topbar windows in Electron.
This diff removes any remaining elements in the titlebar
- version number went into the title bar
- the update check warning is shown on top of the bottom section of the left rail (orange triangle)
- the development only perf graphs are moved to the left bar as well and are now aligned vertically.
Reviewed By: jknoxville
Differential Revision: D25805957
fbshipit-source-id: fba4b60c246b8f5d99a93087af31af9ac55defe8
Summary: This adds the hub icon to the list of available icons.
Reviewed By: mweststrate
Differential Revision: D25873343
fbshipit-source-id: 0060a1a2e3e6298eb39cb652a5e3dbc71c01367e
Summary:
Bumps [ws](https://github.com/websockets/ws) from 7.3.0 to 7.4.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/websockets/ws/releases">ws's releases</a>.</em></p>
<blockquote>
<h2>7.4.2</h2>
<h1>Bug fixes</h1>
<ul>
<li>Silenced a deprecation warning (d1a8af4d).</li>
</ul>
<h2>7.4.1</h2>
<h1>Bug fixes</h1>
<ul>
<li>Added a workaround for a double <code>'error'</code> event bug in Node.js < 13 which
caused an uncaught error during the WebSocket handshake (38d6ab3b).</li>
</ul>
<h2>7.4.0</h2>
<h1>Features</h1>
<ul>
<li>The callback of <code>WebSocketServer.prototype.handleUpgrade()</code> now takes the
client HTTP GET request as second argument (7d39f19e).</li>
</ul>
<h1>Bug fixes</h1>
<ul>
<li>Read-only properties are now read-only (eabed8fc).</li>
<li>The <code>CONNECTING</code>, <code>OPEN</code>, <code>CLOSING</code>, <code>CLOSED</code>, <code>binaryType</code>, <code>bufferedAmount</code>,
<code>extensions</code>, <code>onclose</code>, <code>onerror</code>, <code>onmessage</code>, <code>onopen</code>, <code>protocol</code>,
<code>readyState</code>, and <code>url</code> properties are now enumerable (2069e684).</li>
</ul>
<h2>7.3.1</h2>
<h1>Bug fixes</h1>
<ul>
<li>Improved <code>websocket.bufferedAmount</code> accuracy (e1349c04, a1629426).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d1a8af4ddb"><code>d1a8af4</code></a> [dist] 7.4.2</li>
<li><a href="48a2349d22"><code>48a2349</code></a> [pkg] Update eslint-config-prettier to version 7.1.0</li>
<li><a href="a2c0d447af"><code>a2c0d44</code></a> [minor] Silence deprecation warning</li>
<li><a href="c171962844"><code>c171962</code></a> [dist] 7.4.1</li>
<li><a href="38d6ab3b06"><code>38d6ab3</code></a> [fix] Handle cases where the <code>'error'</code> event is emitted multiple times</li>
<li><a href="3d5066a7ca"><code>3d5066a</code></a> [test] Check configurability and enumerability of WebSocket properties</li>
<li><a href="eb36a63183"><code>eb36a63</code></a> [dist] 7.4.0</li>
<li><a href="3f185bf34a"><code>3f185bf</code></a> [minor] Use the public <code>binaryType</code> property</li>
<li><a href="2069e68470"><code>2069e68</code></a> [fix] Fix the enumerability of some properties</li>
<li><a href="eabed8fcc3"><code>eabed8f</code></a> [fix] Make read-only properties read-only</li>
<li>Additional commits viewable in <a href="https://github.com/websockets/ws/compare/7.3.0...7.4.2">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1827
Reviewed By: mweststrate
Differential Revision: D25870560
Pulled By: passy
fbshipit-source-id: e71365ab725d18bd89f93854087437703da477c4
Summary: Add a dogfooding tab in the Zero Rating devtools in flipper. The tab shows a list of all carriers and carrier ID (will later allow to start dogfooding after choosing one)
Reviewed By: zaxy78
Differential Revision: D24675379
fbshipit-source-id: 044b6d957976a05bfe2666ca0510531102f9d0f6
Summary: Append the hash when possible to the metadata from the flipper submissions.
Differential Revision: D25283309
fbshipit-source-id: 1e95cdc3e9f2f1a08dc53c746732c46969166d97
Summary:
This diff sets all package version to "0.0.0" except of the root package and changes the bump script to only bump version in the root package. This should reduce possibility of conflicts on release diffs. Anyway we always use the same version for all of our packages, so we can only set it to the root.
Before npm publishing we will set all package versions to the same number as in the root package (we actually already do that) so there will be no differences except we won't need to bump version in more than 100 packages each release.
Reviewed By: mweststrate
Differential Revision: D25162373
fbshipit-source-id: 02fe401bee72845339c67925c130027bdaee559d
Summary:
Ideally, we want to fetch app Icons from the device, but for now, we can at least for Facebook owned apps we can use a hardcoded set of icons, which probably even looks better.
For ` Lite` apps, the colors of the icon and background are reversed, which makes both variations recognizable.
Reviewed By: jknoxville
Differential Revision: D24920161
fbshipit-source-id: 5220093fb3a443ae535faa4c346a2029de9cbbd5
Summary:
Converted the Navigation plugin to Sandy, and updated Locations bookmark accordingly.
This is a prerequisite step of supporting the bookmarkswidgetin the new AppInspect tab.
Updated LocationsButton accordingly, and overal simplified implementation a bit; locationsbutton now reuses the logic of the NavigationPlugin, rather than reimplemting it. This reduces code duplication and also makes sure the state between plugin and location button stays in sync.
Made sure that search providers are derived and cached rather than stored, again simplifying logic
That being said, the navigation plugin is buggy, but all these things failed before this diff as well:
* No events happening when using iOS, despite the plugin being enabled. But these seems to be a long time know issue, looks like it was never implemented
* Not sure if the parameterized bookmarks is working correctly
* screenshots not always happening at the right time (but fixed a race condition where the wrong bookmark might get updated)
* Locations button doesn't show up if the navigation plugin is supported but not enabled (will try to fix in next diff)
Would be great if bnelo12 could do some exploratory testing to verify what ought to be working, but currently isn't.
Reviewed By: cekkaewnumchai
Differential Revision: D24860757
fbshipit-source-id: e4b56072de8c42af2ada0f5bb022cb9f8c04bb47
Summary: Allow using of .env file to pass env vars to be used in dev mode. Currently this allow to configure defaults for enabling fast refresh, automatic opening of dev tools and plugins to load.
Reviewed By: passy
Differential Revision: D24398938
fbshipit-source-id: 30a5d86b7906a7723a404cf84a1b8d50ae497dbc
Summary: Currently we load all the plugins even if they are not required in dev mode, e.g. when you are developing a specific plugin. This diff adds an env var and command-line option to specify exact list of plugins to load. This makes dev mode startup faster and consume less memory.
Reviewed By: passy
Differential Revision: D24394146
fbshipit-source-id: 42a78c1ffb2632e657c2411e34e9c80fff18df3a
Summary:
Some exploratory testing on all iOS and Android plugins, to see how they behave inside Sandy, and fixed some layout glitches (some were also present without Sandy)
General fixes:
* Introduced some niceties like searchbox resizing properly, and toolbars wrapping automatically in Sandy, rather than buttons becoming invisible
* Containers don't grow anymore by default, but take size of contents
* ScrollContainer child is now a Layout.Vertical. Layout.Vertical should be used as default container everywhere (e.g. Tabs, Panels) in the future
* Fixed layout issue if a split container had only 1 visible child
* DetailsSidebar now scrolls vertically by default
* Details sidebar would sometimes render content in-place rather than in the reserved area
* AppSelector dropdown and Plugin list will now properly ellipse (...) if there is not enough space
Plugin fixes:
* Long database / table names in Database plugin would break layout
Also fixes https://github.com/facebook/flipper/issues/1611
Reviewed By: passy
Differential Revision: D24454188
fbshipit-source-id: c60c867270900a1d4f28587d47067c6ec1072ede
Summary:
This diff adds the rough navigation to open pugins, there are some rough egdes still, and tests will be added later, but wanted to keep diffs small, and land the feature early to get some initial dogfooding going on early.
Note that we now also show all disabled plugins to help people with trouble shooting.
Reviewed By: nikoant
Differential Revision: D24418411
fbshipit-source-id: 1402d69efe2e52bc2c81336cfb4f4c9928ea4d80
Summary:
The bridge between Flipper and AMA has been established in previous diff. The goal of this diff - is to actually send data to flipper
{F340648834}
Differential Revision: D22999433
fbshipit-source-id: 72b6ad57bcaa9c0318879a224508397f70e3bc76
Summary:
Render a plugin list
Will add tests once the entire feature is complete
Reviewed By: cekkaewnumchai
Differential Revision: D24079897
fbshipit-source-id: db7250ff612b67ab18dfcacdcb9c44dab596933d
Summary:
Bumps [types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 13.13.0 to 14.11.5.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1575
Reviewed By: passy
Differential Revision: D24136281
Pulled By: mweststrate
fbshipit-source-id: 4d1011e27870891546430913ed6afc5d436828c4
Summary: Enabled all android plugins in Flipper and navigated around. Some additional icons were prefetched.
Reviewed By: passy
Differential Revision: D24138244
fbshipit-source-id: d38ad8b39781bdfea76c849611772de37260d8b3
Summary: If a new code path uses some Ant design based components in classic flipper, they are unstyled before this diff. By making sure that the ant stylesheet is loaded we can safely 'leak' new UI elements into the old UI. For example when we use toasters, dialogs etc.
Reviewed By: cekkaewnumchai
Differential Revision: D24021751
fbshipit-source-id: 3b42d28f1c75e4df441170660027562264e879dd
Summary: This diff introduces the. main sections and restyled resizable panes according to the Figma design
Reviewed By: cekkaewnumchai
Differential Revision: D23758349
fbshipit-source-id: 7f09574f6b5fb54551141c13667c664e1769f09a
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1532
Upgrade to Electron 10, in an attempt to fix random hard Electron crashes. Didn't fix it, but given the changelog of Electron with all the bug fixes, seems to be a good idea nonetheless :)
Changelog: Flipper now uses Electron 10
Reviewed By: nikoant
Differential Revision: D23565000
fbshipit-source-id: 3f07b8cf8c438147bde5314698d20046ac9f94cf
Summary:
I've already removed support for plugin format v1 and thus compilation on startup is not needed anymore and many dependencies can be safely removed.
I actually already removed them before that, but it looks like automerge returned them back somehow.
Reviewed By: mweststrate
Differential Revision: D23735001
fbshipit-source-id: 7b1ae655738a35e388f818fb27f80c5a0e8327de
Summary: Adds support for switching dark mode on the fly. Also added the option to apply certain settings without restarting Flipper, as that isn't needed in all cases.
Reviewed By: cekkaewnumchai
Differential Revision: D23625854
fbshipit-source-id: 82175ba10524daf1b48a65feec8c610460df9418
Summary:
allow-large-files
This makes the Ant.design component library available to Flipper
The CSS setup is unconventional, in the sense that the normal way to do this is to use a webpack loader to dynamically load the right less files, and a babel transform to automatically import the style sheets.
Since we use Metro, which is not very suitable for transforming non-JS(like) files, I figured that the simplest thing is to pre-compile the entire less theme. Which should be fine since we shouldn't be changing the less files very often, and since we don't ship a website, it is probably not too bad to have the full ANT theme for now in there, even though we don't use all components. It is 600 K of css. In the next diff the CSS is loaded conditionally, only if Sandy is enabled.
If the CSS turns out to be too big we can optimise this later to only import CSS for components we use by doing some Metro magic, but it doesn't seem to be trivial (that is, I couldn't get in to work in < 2 hours).
Reviewed By: cekkaewnumchai
Differential Revision: D23625855
fbshipit-source-id: 3ba810b2221dc0c7b719f66310e590c7748cf239
Summary:
- Removed compilation on startup which is not required anymore after switching to plugin spec v2.
- Removed from Node process ("static" package) all the dependencies which are not required anymore: e.g. metro, babel etc.
- Plugin loading code from node process moved to browser process and made asyncronous.
Some expected benefits after these changes:
1) Reduced size of Flipper bundle (~4.5MB reduction for lzma package in my tests) as well as startup time. It's hard to say the exact startup time difference as it is very machine-dependent, and on my machine it was already fast ~1500ms (vs 5500ms for p95) and decreased by just 100ms. But I think we should definitely see some improvements on "launch time" analytics graph for p95/p99.
2) Plugin loading is async now and happens when UI is already shown, so perceptive startup time should be also better now.
3) All plugin loading code is now consolidated in "app/dispatcher/plugins.tsx" instead of being splitted between Node and Browser processes as before. So it will be easier to debug plugin loading.
4) Now it is possible to apply updates of plugins by simple refresh of browser window instead of full Electron process restart as before.
5) 60% less code in Node process. This is good because it is harder to debug changes in Node process than in Browser process, especially taking in account differences between dev/release builds. Because of this Node process often ended up broken after changes. Hopefully now it will be more stable.
Changelog: changed the way of plugin loading, and removed obsolete dependencies, which should reduce bundle size and startup time.
Reviewed By: passy
Differential Revision: D23682756
fbshipit-source-id: 8445c877234b41c73853cebe585e2fdb1638b2c9